Nehmen Sie dieses Szenario:
Ein Programmierer erstellt eine Sprache, um ein Problem zu lösen.
Anschließend gibt er diese Sprache frei, um anderen bei der Lösung solcher Probleme zu helfen.
Ein anderer Programmierer entdeckt, dass es für eine andere Kategorie von Problemen tatsächlich viel besser ist.
Aufgrund dieser neuen Anwendung wird die Sprache dann hauptsächlich für diese Anwendung populär.
Gibt es Fälle, in denen dies tatsächlich vorkommt?
Anders ausgedrückt: Hat der beabsichtigte Zweck einer Sprache einen Einfluss darauf, wie sie tatsächlich verwendet wird oder ob sie populär wird? Ist es auch wichtig , dass eine Sprache hat einen angekündigten Zweck?
programming-languages
history
Jon Purdy
quelle
quelle
Antworten:
Lisp . McCarthy hat Lisp ursprünglich in einem Artikel spezifiziert, um zu zeigen, dass wenige einfache Notationen ausreichen, um eine vollständige Sprache zu erstellen. Er war überrascht, dass Lisp in Maschinencode implementiert werden konnte (Steve Russel führte die erste Implementierung des Lisp-Interpreters durch). Lisp wird häufig für die AI-Programmierung verwendet.
quelle
Java war ursprünglich für die Programmierung eingebetteter Systeme vorgesehen. Aus Wikipedia "Java wurde ursprünglich für interaktives Fernsehen entwickelt" . Aber es wurde sehr beliebt für die Anwendungs- und Webprogrammierung.
quelle
Lua wurde in erster Linie als Konfigurationssprache entwickelt und fand schließlich eine Nische als beliebteste Skriptsprache für Spiele (weil sie klein, schnell, leistungsstark, portabel, einfach zu erweitern und einzubetten ist und eine benutzerfreundliche Syntax aufweist). Das beliebteste Spiel, World of Warcraft, verwendet es nicht einmal für die Konfiguration, sondern XML.
quelle
Larry Walls ursprüngliche Absicht für Perl war eine " universelle Unix-Skriptsprache zur Erleichterung der Berichtsverarbeitung ". Die Manpage beschreibt die Sprache wie folgt:
Und natürlich sagt uns die Manpage auch, dass Perl für Practical Extraction and Report Language steht (der tatsächliche Name ist eine falsche Schreibweise des ursprünglichen Namens Pearl , der geändert wurde, als Wall eine bereits vorhandene PEARL-Sprache entdeckte ).
Perl hat seitdem einen langen Weg zurückgelegt, da es die Sprache ist, aus der die Götter das Universum erschaffen haben .
quelle
Ich würde vermuten, dass JavaScript auch in diese Frage passt, weil ich nicht glaube, dass Brendan Eich sich in den Netscape-Tagen jemals vorgestellt hat, dass zukünftige Versionen seines LiveScript zur Erstellung der heutigen sogenannten Web- "Anwendungen" verwendet werden könnten .
JavaScript hat sich von einfachen Formularüberprüfungen und Image-Rollovers zu einem leistungsstarken Tool entwickelt, das in Funktionalität und Schönheit mit Offline-Anwendungen mithalten kann.
Leider denke ich, dass viele es immer noch als Spielzeug ansehen.
quelle
Erlang. Es wurde vor langer Zeit in den Labors von Ericsson erfunden, um Telefonieanwendungen zu entwickeln, wahrscheinlich für deren Vermittlungs- und Zugriffsgeräte. Jetzt hat es sich zu einer vielversprechenden dynamischen Allzwecksprache mit einem interessanten Konzept der Nebenläufigkeit entwickelt.
Es wäre interessant, wenn in Zukunft mehr Sprachen aus der Telekommunikationswelt ihre Grenzen zur IT-Welt überschreiten und sich von dort aus weiterentwickeln würden, insbesondere Sprachen, die ursprünglich für die Modellierung und Verifizierung von Protokollen entwickelt wurden.
quelle
Pascal. Erstellt, um die Programmierung zu lehren.
quelle
Ursprünglich bedeutete PHP " Persönliche Homepage" , heute wird es jedoch auch für einige etwas größere Webanwendungen verwendet.
quelle
<?php
Tag am Anfang der Datei!Ich bin mir ziemlich sicher, dass VBScript nicht zum Schreiben von Malware gedacht ist, obwohl dies eine sehr häufige Verwendung ist.
quelle
Ursprünglich als Methode entwickelt, um Code allgemeiner zu gestalten, erwies sich die Template-Metaprogrammierung in C ++ als vollständig und wird bis heute verwendet, um die C ++ - Sprache durch Bibliotheken wie boost erheblich zu verbessern.
quelle
BASIC ist ein weiterer berühmter Fall. Der Name ( Anfänger -Symbolischer Allzweckanweisungscode) weist auf seine Herkunft als Lernsprache hin, ist aber seitdem ziemlich gewachsen.
quelle
VHDL und Verilog (aka VerilogHDL) wurden ursprünglich beabsichtigt zu beschreiben digitale Schaltungen und Komponenten. Sie dienten als Dokumentationsform und zur Simulation des Verhaltens der Komponenten. Später entwickelten Synopsys und andere eine Technologie, die (eine Teilmenge) dieser Beschreibungen in eine Netzliste von Gattern umwandeln kann, die wiederum zur Herstellung echter Hardware verwendet werden kann.
VHDL und Verilog werden aus historischen Gründen als Hardware Description Languages (HDLs) bezeichnet. Heute werden sie tatsächlich als Hardware- Design- Sprachen (gleiches Akronym) verwendet.
quelle
ML begann als Sprache für die Entwicklung und Skripterstellung eines Theorembeweisers. Es war die "Metasprache" des Theorembeweisers.
quelle
C
Ursprünglich wurde es für die Verwendung mit dem Unix-Betriebssystem entwickelt. Aber die Sprache wurde so populär, dass Dennis Ritchie überrascht war.
In seinem berühmten Buch Die C - Programmiersprache . Ritchie gibt an, "dass es sich weit über seine Ursprünge als Sprache des UNIX-Betriebssystems hinaus verbreitet hat." und wie überrascht er war, als es populäre Sprache für die Anwendungsentwicklung wurde.
quelle
C ++ wurde ursprünglich als "C mit Klassen" entwickelt, um die objektorientierte Programmierung in C ++ zu erleichtern.
In einer späteren Version wurden dann Vorlagen bereitgestellt, um die Implementierung stark typisierter Containerklassen zu ermöglichen. Es wurde erst später bemerkt, dass diese Vorlagen tatsächlich eine Turing-vollständige Programmiersprache zur Kompilierungszeit darstellen.
Infolgedessen verwenden viele Anwendungen C ++ nicht mehr als objektorientierte Programmiersprache, sondern als algorithmisch gesteuerte Programmiersprache, die stark auf Polymorphismus und Metaprogrammierung während der Kompilierung beruht.
quelle
const
sind die beiden wichtigsten Gründe, warum ich C ++ benutze.ADA - ursprünglich im Rahmen des DoD-Vertrags für Avionik entwickelt. Obwohl es in dieser Anwendung immer noch verwendet wird, ist es beispielsweise auch für Echtzeit-Business-Middleware beliebt.
quelle
"Hat der beabsichtigte Zweck einer Sprache einen Einfluss darauf, wie sie tatsächlich verwendet wird oder ob sie populär wird?"
Ich denke nicht, dass der beabsichtigte Zweck einer Sprache einen großen Einfluss auf ihren tatsächlichen Gebrauch und ihre Popularität hat: Es gibt einige großartige Sprachen, die von Anfang an als innovativ, flexibel und vielseitig konzipiert wurden, aber nie so verbreitet oder populär wurden, außer in sehr spezialisierte vertikale Märkte - zum Beispiel Eiffel. OTOH, Basic, Pascal, C usw. usw. dominierten jahrelang die Landschaft, obwohl sie ursprünglich für begrenzte, spezifische Zwecke entworfen wurden.
IMO-Marketing- / Finanz- und Support- Überlegungen spielten immer eine wichtige Rolle bei der Verbreitung und Erweiterung bestimmter Sprachen. Zum Beispiel: Borland bietet TurboPascal an und verpackt, vermarktet und unterstützt es. MS wartet mit C # und Paketen auf, vermarktet und unterstützt diese. Infolgedessen wurden diese Sprachen populär, es entstanden Werkzeugindustrien von Drittanbietern und immer mehr Entwickler und Unternehmen sprangen auf den Plan.
Aber in den letzten Jahren haben sich die Dynamik von OpenSource-Sprachen und -Tools geändert, und Sprachen werden heute eher aufgrund von "Verdiensten" als aufgrund von Marketing populär - zum Beispiel Ruby, Python und Perl. Dies liegt jedoch nicht an der "Absicht" der Erfinder, sondern vielmehr an dem Potenzial der Sprache zur Erweiterung und zweckmäßigen Verwendung.
quelle
Ich glaube nicht, dass es eine populäre Sprache gibt, die nicht von ihrer ursprünglichen Absicht abgelöst wurde. Sogar C wurde ursprünglich geschrieben, um ein tragbares Betriebssystem (Unix) zu erstellen.
Jeder Versuch, eine wirklich generische Programmiersprache ohne ein bestimmtes Ziel zu schreiben, würde wahrscheinlich kläglich scheitern, da es an Zurückhaltung und Fokussierung mangelt.
quelle
Ich habe gehört, Ruby wurde als Sprache zum Schreiben von Gedichten entwickelt. Es stellte sich heraus, dass Sie auch sehr schönen Code darin schreiben können!
quelle