meine perfekte Programmiersprache
da steht "meine" denn ich spreche hier natürlich nicht für die Allgemeinheit sondern ich schreibe hier nur mein persönliches empfinden. eigentlich sollte das klar sein nur manche verstehen das wohl nicht. aber das ist ein anderes Thema.
Ich bin sicher nicht der beste um eine "gute" Programmiersprache zu beurteilen, denn ich halte mich als nicht für einen sehr guten Programmierer und ich denke, dass es sehr wichtig ist, sich selbst richtig einzuschätzen. Dennoch verdiene ich mein geld damit und habe spaß daran.
um mir arbeit zu sparen, könnt ihr euch in jede der folgenden aussagen ein "eigentlich" rein denken.
ich mag PHP. es ist einfach und man macht schnell sichtbare Fortschritte aber ärgerlich sind die Inkonsistenten APIs:
array_key_exists($key, $array);
vs.
property_exists($class, $property);
oder
str_replace($search, $replace, $subject);
vs.
substr($string, $start, $length);
mit PHP 7 soll das ja alles besser werden. mal schauen.
das mit den datentypen ist auch so eine sache. und mit dem vergleich von dingen. man macht permanent so dinge wie if(intval($var) > 0)
um sicherzugehen das zahlen auch wirklich zahlen sind.
was mich persönlich auch sehr stört ist die tatsache (die man auch als vorteil auslegen kann), dass php immer nur einen request überlebt. ein CMS/Framework muss dann bei jedem request seine plugins suchen usw.
So kam ich auf node.js. Da stört mich aber die callback hölle. Man kann natürlich auch ohne callback hölle überleben aber die Sprache verleitet einen halt dazu. https://www.destroyallsoftware.com/talks/wat und https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript.
google go ist irgendwie nett aber auch seltsam. ich bin da noch nicht so ganz durch das ein oder andere konzept durchgestiegen. außerdem habe ich da noch die Sorge, dass es irgendwann stirbt.
Erlang und Haskell sind sicher auch toll aber erstens muss man mal die Denkweise drauf haben und zweitens: die syntax entstand wohl als eine katze auf der tastatur rumgehüpft ist:
fac(0) -> 1;
fac(N) when N > 0, is_integer(N) -> N * fac(N-1).
schreibt mir gerne mal Vorschläge was ich mir sonst noch für sprachen anschauen soll. So wirklich glücklich bin ich aktuell mit keiner, die ich bisher ausprobiert habe.
PHP, Javascript, Node.js, Java, Python, Google Go, Erlang, Haskell. irgendwas hab ich bestimmt vergessen.