{"id":2121,"date":"2013-08-21T10:21:31","date_gmt":"2013-08-21T08:21:31","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2121"},"modified":"2013-08-21T12:20:00","modified_gmt":"2013-08-21T10:20:00","slug":"an-oliver-andreas-und-torsten-ct-und-closures","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/08\/an-oliver-andreas-und-torsten-ct-und-closures\/","title":{"rendered":"An Oliver, Andreas und Torsten (c&rsquo;t und Closures)"},"content":{"rendered":"<p>Die c\u2019t, an sich ein starkes Magazin, kommt dieses Mal mit einem peinlichen Artikel \u00fcber Closures (Lambda-Ausdr\u00fccke) in Java 8 daher: <a title=\"Closures in aktuellen Programmiersprachen - c't-Archiv, 17-2013, Seite 168\" href=\"http:\/\/www.heise.de\/artikel-archiv\/ct\/2013\/17\/168_Variablen-to-go\">Closures in aktuellen Programmiersprachen &#8211; c&#8217;t-Archiv, 17-2013, Seite 168<\/a>, <a title=\"c't - Inhalt 17-2013 - Seite 168\" href=\"http:\/\/www.heise.de\/ct\/inhalt\/2013\/17\/168\/\">c&#8217;t &#8211; Inhalt 17-2013 &#8211; Seite 168<\/a>. Obwohl die Syntax sehr lange bekannt und festgeklopft ist, basiert der Artikel auf Aufs\u00e4tzen und Publikationen, die vor Jahren ver\u00f6ffentlicht wurden, namentlich auf <a href=\"http:\/\/www.javac.info\/closures-v05.html\">http:\/\/www.javac.info\/closures-v05.html<\/a>. Der Aufsatz stammt von 2007, ist also fast sieben Jahre alt. Wenn der c\u2019t-Artikel 2007 erschienen w\u00e4re, super! Jetzt nur peinlich. Schon September 2011, immerhin fast 2 Jahre her, machte Brian Goetz die <a href=\"http:\/\/mail.openjdk.java.net\/pipermail\/lambda-dev\/2011-September\/003936.html\">C#-Syntax bekannt<\/a>, was ein Wechsel der Symbole (jetzt -&gt; statt vor Jahren =&gt;) bedeutete. Auch Implementierungsdetails sind v\u00f6llig anders und inkorrekt sagt der Beitrag:<\/p>\n<blockquote><p>Intern erzeugt der Compiler draus eine Interface und eine anonyme Klasse mit einer einzigen Funktion [\u2026]<\/p><\/blockquote>\n<p>Nein, das macht der Compiler nat\u00fcrlich nicht. Erst einmal gibt es in Java keine \u201cFunktionen\u201d, sondern nur Methoden, und dann nutzt der Compiler das in Java 7 eingef\u00fchrte <a href=\"http:\/\/cr.openjdk.java.net\/~briangoetz\/lambda\/lambda-translation.html\">Invoke-Dynamic<\/a>.<\/p>\n<p>Der n\u00e4chste Fehler im Artikel betrifft try-mit- Ressourcen, was in Java 7 schon l\u00e4ngst implementiert wurde.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die c\u2019t, an sich ein starkes Magazin, kommt dieses Mal mit einem peinlichen Artikel \u00fcber Closures (Lambda-Ausdr\u00fccke) in Java 8 daher: Closures in aktuellen Programmiersprachen &#8211; c&#8217;t-Archiv, 17-2013, Seite 168, c&#8217;t &#8211; Inhalt 17-2013 &#8211; Seite 168. Obwohl die Syntax sehr lange bekannt und festgeklopft ist, basiert der Artikel auf Aufs\u00e4tzen und Publikationen, die vor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-2121","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2121","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2121"}],"version-history":[{"count":5,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2121\/revisions"}],"predecessor-version":[{"id":2130,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2121\/revisions\/2130"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2121"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2121"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2121"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}