foo::Book
)
...alternative Formulierung:
Namen (fooBook
, Kommentar foo // Book
)
...alternative Prüfung: Tests
Für statische Typisierung spricht vieles.
Es funktioniert auch seit Jahrtzehnten (Algol 1960, ML 1970, C++ 1980, Java 1990 usw.)
Was dagegen?
(Bsp: keine polymorphen Container in C)
Programmierer kann Absicht nicht ausdrücken
(Bsp: kontravariante Typargumente in Java,C#)
Programmierer muß Sprachstandard lesen und verstehen und dazu Konzepte (z.B. aus Vorlesung) kennen
der Bastler zum selbsternannten Programmierer
so auch bei Programmiersprachen:
entworfen
von oder für Leute ohne (viel) Fachwissen
(like Perl but ...simpler, more limited, less consistent.)
ECMA-Script (Javascript)
semantisch ist das LISP (z.B. Funktionen als Daten), syntaktisch ist es Java
(z.B. kann oder will keine JRE)
aus verständlichen Gründen (Anzeige von Werbung)
aus ebenfalls verständlichen Gründen :
...was ist mit Microsoft? Die haben auch viel Geld und clevere Leute? -- Ja:
TypeScript adds optional types, classes, and modules to JavaScript.
Personen: Luke Hoban, Anders Hejlsberg, Erik Meijer, ...
https://github.com/facebook/hhvm/blob/master/hphp/doc/bytecode.specification
Julien Verlaguet: Facebook: Analyzing PHP statically, 2013, http://cufp.org/2013/julien-verlaguet-facebook-analyzing-php-statically.html
vgl. Neil Savage: Gradual Evolution, Communications of the ACM, Vol. 57 No. 10, Pages 16-18, http://cacm.acm.org/magazines/2014/10/178775-gradual-evolution/fulltext
2015-08-17