it-swarm-eu.dev

Warum gibt es so viele Programmiersprachen? Warum werden immer noch neue Sprachen erstellt?

Warum gibt es so viele Programmiersprachen?

Und was veranlasst jemanden, Programmiersprachen zu erstellen, obwohl bereits andere Sprachen existieren?

51
Moshe

Programmiersprachen entwickeln sich weiter

Neue Programmiersprachen lernen häufig aus vorhandenen Sprachen und fügen Funktionen auf neue Weise hinzu, entfernen sie und kombinieren sie. Es gibt einige verschiedene Paradigmen wie objektorientierte und funktionale und viele moderne Sprachen versuchen, Funktionen aus beiden zu mischen.

Es gibt auch neue Probleme, die gelöst werden müssen, z. die Zunahme von Multi-Core-CPUs. Die häufigste Lösung dafür waren Threads, aber einige Programmiersprachen versuchen, das Parallelitätsproblem auf andere Weise zu lösen, z. das Schauspieler-Modell. Siehe Erlang - Software für eine gleichzeitige Welt

37
Jonas

Es ist ein Zyklus. Sie beginnen eine neue Sprache und können sich von all der schlechten Syntax und den schlechten Entscheidungen Ihrer Vorgänger lösen. In Version 1 sieht die Sprache großartig aus, da sie nichts von diesem Gepäck hat und die Arbeit erledigt. In neueren Versionen beginnen Sie dann, mit Funktionen zu experimentieren, die möglicherweise nicht funktionieren, oder Sie bringen Funktionen aus anderen, neueren Sprachen ein, die dazu führen, dass Ihre Syntax etwas unübersichtlich ist. Und siehe da, nach ein paar weiteren Versionen stellen Sie fest, dass Ihre Sprache jetzt genauso kompliziert ist wie die, die Sie ersetzt haben, mit albernen Syntaxproblemen und altem Gepäck. Und plötzlich merkt man, dass man all das reparieren könnte, wenn man eine neue Sprache erstellt ...

23
RationalGeek

Aus dem gleichen Grund gibt es Hämmer, Schraubendreher, Handsägen, Bandsägen, Presslufthammer, Brechstangen und eine Vielzahl anderer Werkzeuge: Nicht jede Sprache ist für jede Aufgabe perfekt. Einige Sprachen sind auf bestimmte Problembereiche ausgerichtet: R eignet sich besonders gut für statistische Analysen, C eignet sich besonders gut zum Schreiben von Betriebssystemkernen, Haskell eignet sich besonders gut für mathematikintensive oder finanzielle Berechnungen, Erlang eignet sich besonders gut für die gleichzeitige Programmierung usw.

Aus dem gleichen Grund, dass Hemden in verschiedenen Farben erhältlich sind: Manche Leute mögen einfach den "Stil" einer Sprache gegenüber einer anderen.

Und natürlich finden es viele Programmierer lustig, eine neue Sprache zu erfinden, nur um zu sehen, was passiert, oder vielleicht, weil sie etwas über Sprachen wissen und einen Juckreiz kratzen oder einige Ideen ausprobieren möchten.

11
mipadi

Weil sie alle saugen (so oder so).

Derzeit haben wir ungefähr 5000 Sprachen erstellt, um natürliche Probleme zu beschreiben, und keine davon steht zum Schreiben von Programmen zur Verfügung (ein Beispiel wäre "Englisch").

Bis jemand einen Weg findet, eine Programmiersprache zu erstellen, die ausdrücken kann, was Sie in einem Satz in einer natürlichen Sprache ausdrücken können, wird er weiter kommen.

8
Aaron Digulla

Offensichtlich ist eine wichtige Motivation für die Schaffung einer neuen Sprache, etwas Besseres als die bereits vorhandenen Sprachen zu erreichen. Und da es immer Raum für Verbesserungen gibt, wird es immer neue Sprachen geben.

Kommerzielle Interessen sind ein weiterer wichtiger Grund. Ich glaube, es ist zum Beispiel Microsoft wichtig, dass sie eine Sprache für jeden Bedarf anbieten können, damit Unternehmen und Entwickler ihre Plattformen bevorzugen.

6
Carlos

Legacy-Code. Wenn Sie eine neue Sprache beginnen, müssen Sie nicht alle Beschwerden anhören/berücksichtigen, wenn Sie eine alte Sprache ändern. Selbst wenn alle zustimmen, dass die neue Implementierung besser ist, kann sie den alten Code nicht brechen. Und da draußen gibt es viel alten Code.

6
JeffO

weil es Spaß macht, neue Sprachen zu erstellen auch wenn sie keinen wirklichen Nutzen haben

Eine esoterische Programmiersprache (manchmal abgekürzt als esolang) ist eine Programmiersprache, die entwickelt wurde, um die Grenzen des Entwurfs von Computerprogrammiersprachen als Proof of Concept oder als Witz zu testen.

4
jk.

Das Erstellen einer Programmiersprache macht ziemlich viel Spaß. Es kommt einer reinen kreativen Arbeit nahe, da Sie nicht auf frühere Anforderungen beschränkt sind. Die Implementierung ist nicht mehr so ​​schwierig, da Sie immer zu C kompilieren und den C-Code für eine angemessene Leistung kompilieren können, wenn Sie zuerst einen Compiler schreiben.

Natürlich haben die meisten von uns weniger gute Ideen als wir denken, so dass sie oft enttäuschend sind oder von niemand anderem als dem ursprünglichen Designer geliebt werden.

Denken Sie an jede Programmiersprache, die Sie kennen. Sie können sich leicht einige Dinge einfallen lassen, die Sie nicht mögen, oder? Sie haben vermutlich Ideen, wie diese behoben werden könnten. Wenn Sie nur ein wenig mehr Impulse geben und davon ausgehen, dass Sie viel über das Erstellen von Compilern wissen (und viele Leute dies tun), können Sie möglicherweise damit beginnen, Ihre eigenen zu entwerfen und sogar zu implementieren.

3
David Thornley

Kurze kurze Antwort

Das Rad neu erfinden ... Was ist der aktuelle Trend ...

Langweilige Antwort

Viele Leute vergessen, dass "eine andere ähnliche neue Sprache für alte Programmierer" "eine einfache neue Sprache für neue Programmierer" ist.

Was meine ich dafür?

Nun, für "mehrere Jahre" Programmierer kann Java oder C # eine zusätzliche Programmiersprache zu vorhandenen Cobol (OO/Procedural) Basic, C/C++ sein, während für "neue" Programmierer = Java oder C # sind neue Sprachen, während Cobol, (OO/Procedural) Basic, C/C++ für sie nicht existiert, so dass es eine häufige Sache ist, das Rad neu zu erfinden ...

Und wenn es einen neuen Technologietrend gibt, können die Leute eine neue Programmiersprache entwickeln, die auf diesem Trend basiert, wie Ecmascript/Javascript für das Web und funktionale Programmierung ...

Prost.

2
umlcat

neue Programmiersprachen werden aus vielen verschiedenen Gründen erstellt, hauptsächlich weil es ein neues Programmierparadigma gibt oder weil die Hardware weiterentwickelt wird. Menschen erstellen eine neue Sprache, um die neuen Hardwarefunktionen wie Multitasking usw. zu nutzen.

in meinem Fall baue ich normalerweise aus besonderen Gründen kleine Compiler (mit einer neuen Programmiersprache). Wenn ich viele Spiele mache und ich glaube, dass eine Programmiersprache, die speziell für die Spieleentwicklung entwickelt wurde, zu einem kleineren, schnelleren Code und einer schnelleren Entwicklung führt, dann erstelle ich sie. und am Ende stellt sich heraus, dass es auch für andere Allzweckprogrammierungen verwendet werden kann.

Ich denke, die meisten Leute, die Programmiersprachen erstellen, haben einen bestimmten Zweck im Auge, es gibt diejenigen, die sie von Anfang an für allgemeine Zwecke erstellen. aber die meisten sind es nicht.

Ich denke übrigens, es gibt viel zu viele Programmiersprachen, aber es werden immer Hunderte neuer herauskommen. Einige aus Spaß, andere aus Nischengründen, als Schulprojekt oder aus Hunderten anderer Gründe. und früher oder später wird ein neuer populär werden. Es wird niemals enden.

1

Es gibt einige Gründe, die meisten sind, weil die Leute denken, dass das, was existiert, es nicht einfach macht, einige Probleme zu lösen. Einige sind nur zum Spaß oder für akademisches Interesse.

Ich denke, es gibt ein solides Argument dafür, dass die Frage, wie Sie die perfekte Sprache entwerfen, noch nicht gelöst ist (und möglicherweise nie gelöst wird). Solange die Leute neue Ideen haben, was eine großartige Sprache ausmachen würde, werden die Leute es weiter versuchen. Einige dieser Versuche werden coole neue Räume wie Erlang abbilden und andere werden floppen, aber solange etwas aus dem Flop gelernt wird, ist das auch in Ordnung.

0
Zachary K

Aus dem gleichen Grund gibt es so viele <was auch immer> und wir erstellen immer wieder neue <was auch immer>

Es gibt zum Beispiel ein Dutzend PHP MVC-Frameworks, aber die Leute werden immer neue erstellen, um bestimmte Anforderungen zu erfüllen, um nicht von einem anderen Team abhängig zu werden oder um einfach zu versuchen, etwas Besseres zu erstellen. Das gleiche gilt grundsätzlich für jede Art von Werkzeug oder Anwendung.

Es ist eine sehr gute Sache, meiner Meinung nach eine Win-Win-Situation für alle.

0
Fosco

Universitäten tragen viele Programmiersprachen bei, ebenso wie sehr große Unternehmen wie Ericsson (Erlang = Ericsson-Sprache), Bell Labs (B- und C-Sprachen) und Google (Go-Sprache seit einigen Monaten). Viele von denen, die im Rahmen der universitären Forschung geschrieben wurden, werden nicht viel verwendet. Es gibt jedoch einige bemerkenswerte Ausnahmen. Ich nehme an, das Schreiben Ihrer eigenen Sprache/Ihres eigenen Compilers ist ein gutes Thema für Doktorarbeiten von Menschen, die CS-Theorie oder verwandte Disziplinen studieren. Es fällt mir auf, dass Python eine der ersten Sprachen ist, die aus der gemeinsamen Online-Anstrengung verschiedener Programmierer um eine einzige Idee heraus entstanden sind.

0
ixtmixilix