Ich möchte mich wirklich darauf konzentrieren, warum einige neue Programmiersprachen in den Mainstream übernommen werden und andere relativ nisch bleiben. Ich würde gerne etwas über bestimmte Anwendungsfälle, Abwärtskompatibilität oder einige neue Funktionen sowie über einfache oder komplexe Implementierungsschwierigkeiten erfahren. Spezifische Beispiele wären wünschenswert, aber lassen Sie uns hier nicht über die genaue Definition von "Mainstream" oder "Nische" auf dem Laufenden bleiben.
programming-languages
DeadMG
quelle
quelle
Antworten:
Wenn jemand es wirklich wüsste, wären sie sehr reiche Leute.
Das heißt, hier ist meine Vermutung:
Verfügbarkeit
BASIC ist eine schreckliche kleine Sprache, die bei der ersten Veröffentlichung von (allen?) PCs mitgeliefert wurde. Der Apple II (der Standardcomputer für viele High Schools) und der ATARI 400/800 (der erste supergünstige Heimcomputer) waren beide mit BASIC ausgestattet.
Wenn Sie eine UNIX-Maschine hatten (entweder AT & T System V oder Berkeley's), hatten Sie C. Wenn Sie die Maschine programmieren wollten, mussten Sie diese verwenden.
EDIT : Mit dem Aufkommen und der Allgegenwart des Netzes verwandelt sich diese Anforderung in:
Einfache Umstellung
Java ist hier ein gutes Beispiel. Wenn Sie mit C-Programmierung vertraut waren, war Java kein großer Schritt voraus, und dennoch gab es viele der Funktionen, die C fehlten, und C ++ konnte sie nicht sauber bereitstellen.
C ++ war aus offensichtlichen Gründen ein einfacher Schritt vorwärts von C, und es war einfach, es als "verbessertes" C an das Management zu verkaufen.
Perl war ein Zusammenschluss von C, awk, sed und anderen Unix-Dienstprogrammen in einem Paket. Vor seinem Erscheinen wurde der Großteil der Systemadministration durch Shell-Skripte durchgeführt, die alles auf unbefriedigende Weise zusammenfügten. Es war ein Glücksfall, mit den Datenstrukturen und der Kontrolle einer C-ähnlichen Sprache alles unter einen Hut zu bringen.
Füllt einen Bedarf
C hat sich durchgesetzt, weil Sie auf diese Weise eine montagenahe Effizienz erzielen konnten, ohne in der maschinenspezifischen, schwer zu wartenden Montagewelt hängen zu bleiben.
FORTRAN startete, weil es die einfache Übersetzung mathematischer Ideen in Code ermöglichte, ohne sich in den Details der Maschine verlieren zu müssen.
Ebenso für LISP und symbolische Manipulation.
Python entstand aus der Notwendigkeit eines "besseren" Perl. (Ich bin voreingenommen, deshalb werde ich nicht mehr sagen.)
PHP war im Wesentlichen das BASIC für das Web - es wurde standardmäßig auf vielen Webservern installiert, und es war einfach, schnell etwas Nützliches zusammenzubauen.
Anwaltschaft, Benutzerbasis, Code beigesteuert
Seien wir ehrlich, Haskell wäre nirgendwo so beliebt wie in einer nicht in Produktion befindlichen Sprache, wenn nicht die unermüdliche Fürsprache der Entwickler und der Anwenderbasis dahinter steckt.
Viele Sprachen haben einen Personenkult hinter den Schöpfern der Sprache, und wir alle wissen, wer sie sind.
FORTRAN verfügt über eine Vielzahl etablierter und überprüfter Mathematik-Codes. Gleiches gilt für Java und die Web / System-Integration / MVC-Systeme. Gleiches gilt für Perl und CPAN. Gleiches gilt für T E X und Dokumentenverwaltung. etc.
Der It- Faktor
Aus irgendeinem Grund scheinen einige Sprachen nur die richtige Menge an Neuem zu haben , mit einer Anspielung auf das Alte , mit einer Art, die es einfach oder nötig erscheinen lässt. Das heißt, es macht seinen eigenen Fall. Und wer weiß, wie das passiert?
Wie auch immer, das ist meine beste Vermutung, warum manche es schaffen. Was den Grund angeht, warum manche nicht ... Nun, wenn sie die oben genannten Kriterien nicht erfüllen, ist dies wahrscheinlich der Grund, warum sie versagt haben.
quelle
Sprachen werden populär, weil sie einen Vorteil gegenüber vorhandenen Sprachen in einem Bereich haben, der benötigt wird.
Java
PHP
JavaScript
Ziel c
Rubin
C #
ActionScript
Erlang
quelle
Ich werde ein Zyniker sein: Geld und damit Marketing.
Es ist kein Zufall, dass C # von Microsoft, Java von Oracle und Objective C von Apple unterstützt wird. Nur Go von Google hat sich noch nicht wirklich verbessert.
Natürlich ist Geld nicht der einzige Grund, aber tiefe Taschen helfen dabei, Ihre Sprache auf den Markt zu bringen.
quelle
Auf der einen Seite geht es um Marketing, genauer gesagt um Präsentationen, Blogs usw. Es ist wichtig, Funktionen zu haben, mit denen sich Mainstream-Programmierer identifizieren und Vorteile gegenüber dem, was sie wissen, erkennen können (Java vs. C ++ - Garbage Collector vs. Memory Management). Last, but not least muss die Eintrittsbarriere niedrig sein - Beispiele, gute Dokumentationen, nahtlose Installation, gute Community und Unterstützung, dynamische Entwicklung.
quelle
Fast alle Sprachen hatten nicht triviale, reale Problemlösungsprogramme, die sehr früh in ihrem Leben mit ihnen geschrieben wurden.
Unix wurde in C geschrieben, genau wie die Tools unter Unix, als C noch sehr jung war und sich weiterentwickelte.
Anaconda (RedHats Installationsprogramm) wurde in Python geschrieben, als Python noch jung war und nicht die Popularität von heute hatte.
Dies sind die Dinge, an die ich mich ohne weiteres erinnern kann. Diese Liste könnte jede der Sprachen berühren, die ihre Gründungsjahre überstanden haben.
Dann kann eine groß angelegte Übernahme an den Universitäten die Langlebigkeit einer Sprache verbessern. Java ist als Unterrichtssprache an Universitäten sehr beliebt. In gewissem Maße genießen auch Lisp und die Dialekte von Lisp diesen Status.
quelle