Die Qualität des in jeder dieser Sprachen entwickelten Codes basiert auf diesen grundlegenden Philosophien und weniger auf den einzelnen Entwicklern
Jede Sprache hat eine Kultur, weil jede Sprache aus einem Grund von jemandem mit einer Agenda und einer Philosophie entwickelt wurde, warum ihre Sprache in etwas besser sein würde als das, was zu der Zeit existierte, wurde erschaffen.
Wie Religionen ziehen auch Programmiersprachen Menschen an, die bereits die gleiche Veranlagung zu den Grundprinzipien und -philosophien des Sprachschöpfers haben.
Beispiel für die wahrgenommene Qualität von Lösungen
In einem Microsoft-Camp haben Sie:
Die C # -Philosophie lautet, dass es eher objektorientiert ist, modernere Redewendungen fördert und mehr Wissen erfordert, um es richtig zu machen, und daher qualitativ hochwertigere Lösungen liefern sollte. Das zieht die Leute über VB an.
Im anderen Microsoft-Camp:
Die Philosophie von VB ist, dass ich schnell und mit wenig Wissen oder Aufwand etwas bauen kann, mit dem jemand auf eine Schaltfläche klicken und etwas Nützliches und von geschäftlichem Wert tun kann, wie es funktioniert, ist nicht so wichtig. Das zieht die Leute über C # an.
Hier sind einige Zungenbrecher, die Sprachen und ihre Philosophien aufgreifen:
Perl-Leute neigen dazu, sich um das genaue Gegenteil zu kümmern.
Java-Leute legen Wert darauf, Geld zu verdienen.
JVM-Sprachen (Groovy, Scala) kümmern sich um die JMV und nicht um Java, die Sprache.
Bei allen Microsoft-spezifischen Sprachen (VB, C #, F #, verwaltetes C ++) geht es in der Regel darum, unter Windows Geld zu verdienen.
Erlang-Leute kümmern sich um Dinge, um die sich alle anderen Menschen nicht kümmern müssen, und schätzen nicht, was sie nicht wissen.
Lisp-Leute interessieren sich nicht für das, was andere für sie interessieren.
Was diesen Gruppen wichtig ist, prägt die Sprache, ihre Entwicklung und ihre Gemeinschaft.
Philosophien ändern sich mit Erfahrung und Bedürfnis
Ich habe ASM und BASIC übernommen, weil Sie 1983 nur so viel hatten. Ich wollte Spiele und Demos schreiben, das waren die Werkzeuge dafür. Meistens ASM für Demos.
Ich habe C und dann C ++ übernommen, als es die einzige Möglichkeit war, Dinge wie 3D-Rendering und so ziemlich alles andere zu schreiben, das räumlich und zeitlich kritisch war. Es war nicht ASM, also habe ich es gelernt.
Ich habe mich für VB entschieden, um Geld zu verdienen. Dies war die engste Verbindung zu den Entwicklungsumgebungen von Scala, Director und CanDo, die ich auf dem Amiga gewohnt war. Ich stimmte der Philosophie der schnellen Entwicklung zu
Ich habe Java frühzeitig eingeführt, um besseres Geld zu verdienen. Ich habe mit VB bis 1999 Geld verdient und es hinter mir gelassen, als Java 1.2 stabil und ausgereift wurde und das Web bis dahin voll in Gang gekommen war. Ich hatte 4 Jahre Java-Erfahrung, als die Leute anfingen, es wirklich ernst zu nehmen. Ich war einmal mit dem Schreiben einverstanden. Führen Sie das Programm so aus, dass es umso einfacher ist, es zu verkaufen, je mehr Stellen mein Code ausgeführt wird. Philosophie.
Ich habe Python erst spät im Jahr 2005 eingeführt, weil es einen Juckreiz verursacht hat, den Java nicht hatte. Ich musste schnell Code schreiben, um einige Bibliotheken zu verwenden, die nur in C verfügbar waren. Außerdem musste ich schnelles Webservice-Prototyping durchführen. Python war schneller und weniger Code, um dasselbe in Java zu tun. Etwas ging in die Produktion, als Java einige Python blieben, viele Sachen schafften es nie in die Wildnis. Ich war damit einverstanden, dass die Batterien enthalten waren, sowohl einzelne Redewendungen als auch die anderen.
Ich habe mich für Lua entschieden, als ich eine kompakte Skript-Engine in meine C ++ - und Java-Programme integrieren wollte. Dies war lange vor der JSR233-Unterstützung in Java. Ich stimmte der Einbettung einer voll funktionsfähigen Skriptsprache zu, die einfach zu bedienen ist und der einfachen Lua-Philosophie entsprechen sollte.
Ich habe Erlang im Jahr 2006 eingeführt, als ich anfing, massive Skalierbarkeit und relativ schmerzlose Multi-Core-Ausführung bei hochparallelen Problemen zu benötigen und plattformübergreifende Ausführung zu haben. ** Ich bin damit einverstanden, dass es keinen gemeinsamen Status, keine Weitergabe von Nachrichten und eine unveränderliche Statusphilosophie gibt. * 8
Ich habe Objective-C übernommen, als ich anfing, OSX- und iOS-Anwendungen zu erstellen. Ich bin damit einverstanden , dass C genau das Richtige für die Objektorientierung hinzugefügt wird, um die Philosophie zu verbessern. Auch um besseres Geld zu verdienen.
Ich habe JavaScript 2009 offiziell eingeführt, weil ich der CouchDB-Philosophie zugestimmt habe und JavaScript verwendet. Immer noch mag ich kein JavaScript, wenn ich mit dem DOM zu tun habe.
Ich habe Lisp noch nicht offiziell adoptiert, werde es aber irgendwann tun! Ich bin damit einverstanden. Diejenigen, die lisp nicht kennen, sind dazu verdammt, die Philosophie neu zu erfinden .