tag:blogger.com,1999:blog-5270715379840717905.post1625321750645972331..comments2023-06-01T08:37:36.310+01:00Comments on Klick um Klick: Groovy und JavaScript und die Kunst, geschweifte Klammern zu setzenBernd Schifferhttp://www.blogger.com/profile/05678172815709840976noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-5270715379840717905.post-49771629272953514002010-01-15T15:21:43.547+01:002010-01-15T15:21:43.547+01:00Das wichtigste an meinem Kommentar war der zwinker...Das wichtigste an meinem Kommentar war der zwinkernde Smiley am Ende: Es war nicht sehr ernst gemeint, mir entfleuchte beim Lesen Deines Beitrages nur der Gedanke, dass es ein Kuhhandel sei, wenn man keine Diskussion mehr über die richtige Klammersetzung mehr hat, dafür aber sich darüber streiten kann, ob es richtig ist, dass in einer Programmiersprache Whitespaces wichtig sind.<br><br>Beim Stellenwert von Whitespace in Programmiersprachen sehe ich ein Spektrum: Java auf der einen Seite, Groovy/Ruby/Javascript in der Mitte, Haskell/Python am anderen Extrem.<br><br>In Java trennt Whitespace Tokens. (Fast) niemand murrt darüber oder will das diskutieren.<br><br>In Groovy/Ruby/Javascript ist die Einrückung nicht relevant. Was aber relevant sein kann, sind Zeilenumbrüche, da diese ein Semikolon als Befehlstrenner ersetzen können.<br><br>In Python werden durch Einrückung Blöcke gekennzeichnet und Zeilenumbrüche können als Befehlstrenner benutzt werden. Haskel kenne ich nicht so genau. Soweit ich es verstanden habe, ist es dort ähnlich wie in Python, nur dass es gar kein Zeichen wie ein Semikolon gibt, welches man anstatt eines Zeilenumbruches verwenden kann.<br><br>(Genaugenommen sind auch in Java Zeilenumbrüche nicht ganz so egal, wenn man mal an Zeilenkommentare und String denkt, aber das steht auf einem anderen Blatt. Wer will schon dogmatisch sein? ;-) )<br><br>Interessanterweise pflege ich in Java eher einen "kompakten" Programmierstil z.B. ohne Zeilenumbrüchen vor öffnenden Klammern, aber dort wo ich eine Sinngrenze aufzeigen will. Gleichzeitig mag ich es, wenn bei Programmiersprachen Whitespace relevant ist, da sie mich dabei unterstützen die Struktur eines Programmes mit wenigen Blicken zu erfassen.Marko Schulzhttp://www.blogger.com/profile/04224847600703674167noreply@blogger.comtag:blogger.com,1999:blog-5270715379840717905.post-20732524069462062932008-07-16T19:54:00.000+01:002008-07-16T19:54:00.000+01:00Das wichtigste an meinem Kommentar war der zwinker...Das wichtigste an meinem Kommentar war der zwinkernde Smiley am Ende: Es war nicht sehr ernst gemeint, mir entfleuchte beim Lesen Deines Beitrages nur der Gedanke, dass es ein Kuhhandel sei, wenn man keine Diskussion mehr über die richtige Klammersetzung mehr hat, dafür aber sich darüber streiten kann, ob es richtig ist, dass in einer Programmiersprache Whitespaces wichtig sind.<BR/><BR/>Beim Stellenwert von Whitespace in Programmiersprachen sehe ich ein Spektrum: Java auf der einen Seite, Groovy/Ruby/Javascript in der Mitte, Haskell/Python am anderen Extrem.<BR/><BR/>In Java trennt Whitespace Tokens. (Fast) niemand murrt darüber oder will das diskutieren.<BR/><BR/>In Groovy/Ruby/Javascript ist die Einrückung nicht relevant. Was aber relevant sein kann, sind Zeilenumbrüche, da diese ein Semikolon als Befehlstrenner ersetzen können.<BR/><BR/>In Python werden durch Einrückung Blöcke gekennzeichnet und Zeilenumbrüche können als Befehlstrenner benutzt werden. Haskel kenne ich nicht so genau. Soweit ich es verstanden habe, ist es dort ähnlich wie in Python, nur dass es gar kein Zeichen wie ein Semikolon gibt, welches man anstatt eines Zeilenumbruches verwenden kann.<BR/><BR/>(Genaugenommen sind auch in Java Zeilenumbrüche nicht ganz so egal, wenn man mal an Zeilenkommentare und String denkt, aber das steht auf einem anderen Blatt. Wer will schon dogmatisch sein? ;-) )<BR/><BR/>Interessanterweise pflege ich in Java eher einen "kompakten" Programmierstil z.B. ohne Zeilenumbrüchen vor öffnenden Klammern, aber dort wo ich eine Sinngrenze aufzeigen will. Gleichzeitig mag ich es, wenn bei Programmiersprachen Whitespace relevant ist, da sie mich dabei unterstützen die Struktur eines Programmes mit wenigen Blicken zu erfassen.Marko Schulzhttps://www.blogger.com/profile/04224847600703674167noreply@blogger.comtag:blogger.com,1999:blog-5270715379840717905.post-48129287297686340862008-07-16T00:33:00.000+01:002008-07-16T00:33:00.000+01:00Huch, ein Kommentar. Die Benachrichtigungs-E-Mail ...Huch, ein Kommentar. Die Benachrichtigungs-E-Mail scheint der Spamfilter geschluckt zu haben. Sorry, Marko, für die späte Antwort.<BR/><BR/>Bin mir nicht sicher, ob ich Dich da richtig verstanden habe. In Python und Haskell ist die Einrückungstiefe und damit auch die Whitespaces entscheidend. Bei Groovy und JavaScript ist Whitespace bzgl. der Einrückung nicht entscheidend.<BR/><BR/>In all diesen Sprachen (Haskell, Groovy, JavaScript, Python) ist Whitespace entscheidend: Jede dieser Sprachen unterscheided per Whitespace zwischen einem Keyword und einem Bezeichner. In Groovy ist z.B. die Zeile "deffoo = 1" in einem Skript etwas anderes als "def foo = 1".<BR/><BR/>Bin mir nun nicht sicher, was genau Du mit dem Satz "Ist es richtig, wenn ..." gemeint hast. Etwas von dem, was ich da gerade geschrieben habe. Oder noch etwas ganz anderes?<BR/><BR/>Ich möchte wirklich <I>keinen</I> (!) Glaubenskrieg vom Zaun brechen. Auch nicht klammheimlich und versteckt, wie man es vielleicht herauslesen könnte :-) Über diese Phase der "Sich-die-Programmierhörner-abstoßen" bin ich wirklich drüber hinweg. Ich fand es halt nur interessant, dass es unter ganz bestimmten Umständen tatsächlich nachweisliche Argumente auf Sachebene gibt, die gegen ein konsistentes Verhalten eines Klammersetzungsstils spricht. Aber selbst dieses Argument kann man spielend entkräften, indem einer angibt, so komische return-Konstrukte niemals anzuwenden...<BR/><BR/>Müßig, solche Glaubenskriege...Bernd Schifferhttps://www.blogger.com/profile/05678172815709840976noreply@blogger.comtag:blogger.com,1999:blog-5270715379840717905.post-62340088678112133992008-07-06T13:28:00.000+01:002008-07-06T13:28:00.000+01:00Na, da machst Du aber gleich den nächsten Glaubens...Na, da machst Du aber gleich den nächsten Glaubenskrieg auf: Ist es richtig (oder ein Designfehler?), wenn in Sprachen wie Python/Javascript/Groovy die Menge/Art/Platzierung von Whitespace eine Bedeutung hat? <BR/><BR/>Meiner Meinung nach ist das tatsächlich hilfreich, aber bestimmt gibt es auch Ignoranten, die das anders sehen. Bestimmt die gleichen Bornierten, die den Allman-Stil propagieren. ;-)Marko Schulzhttps://www.blogger.com/profile/04224847600703674167noreply@blogger.com