Was gilt als die schwierigste Programmiersprache und wieso?

8 Antworten

Zunächst: Die Frage nach der schwierigsten Programmiersprache sollte nicht verwechselt werden, mit der Frage nach der Programmiersprache, mit der uns das Programmieren die meisten Schwierigkeiten bereitet.

Berücksichtigt man nur Programmiersprachen, die in der Industrie auch tatsächlich zum Einsatz kommen (und einen Compiler erfordern), so dürfte 

  • Assembler die sein, mit der es am schwierigsten ist, umfangreiche Programme fehlerfrei zu schreiben.
  • Die Sprache aber, die - wenn man sie wirklich hinsichtlich all ihrer Möglichkeiten nutzen will - von ihrer Vielfältigkeit her am schwierigsten zu handhaben ist, könnte gut C++ sein (nur Algol 68 war wohl noch unübersichtlicher und detailreicher - hat sich aber gar nicht erst durchgesetzt).

Dass C++ so komplex wurde, hat vor allem historische Gründe kombiniert mit der Anforderung, dass jede neue Version einer Sprache mit all ihren Vorgängerversionen aufwärtskombatil zu sein hat. Gerade diese Aufwärtskompatibilität aber hat ganz entscheidende Vorteile: Es wird so niemand dazu gewungen, stets die neueste Version einsetzen zu müssen (so wie das z.B. bei der Sprache Deutsch der Fall ist).

An sich kann man davon ausgehen, dass eine Sprache mit zunehmender Maschinennähe für den Menschen immer schwieriger les- und schreibbar wird. 

Doch kann eine Definition von Schwierigkeit auch durch andere Kriterien bewertet werden.

  • C++ oder Objective-C beinhalten bspw. eine große Anzahl an Zeichen / Schlüsselworten, die die Sprache sehr komplex machen.
  • Die Art des Konzepts, an Probleme heranzugehen, kann als schwierig gelten. So sind deklarative Sprachen wie Haskell oder Common Lisp eher gewöhnungsbedürftig oder ebenso das objektorientierte Grundprinzip von JavaScript.
  • Einige esoterische Sprachen haben irgendwie sogar das Ziel, schwierig durchschaubar zu sein. Beispiele sind Brainfuck, Ook! oder SPL.
  • Sprachen, die durch ihre Art, viele Möglichkeiten zu erlauben, können schlechten Stil fördern und damit die Lesbarkeit und Wartbarkeit verschlechtern. Ein Beispiel ist Perl mit seinen zahlreich möglichen Kürzeln. Deswegen gibt es übrigens auch den jährlichen Obfuscated Perl Contest https://de.wikipedia.org/wiki/Obfuscated_Perl_Contest).

Es gibt keine "schwierigste" Programmiersprache. Falls du am aufwändigsten dafür am schnellsten meinst ist natürlich assembler die "schwierigste" Programmiersprache.

Aber es kommt immer drauf an was dir wichtig ist nach solchen Kriterien solltest du deine Sprache wählen.

Im Sinne von umständlich? Oder penibel? Kommt doch drauf an, was du damit machen willst, oder?

Schwierigkeit von Programmiersprachen ist kein Ziel.

Es fällt den meisten Menschen schwer, größere Programme in Assembler zu schreiben. Noch schwieriger ist es, direkt in Hexadezimalcode zu programmieren.