Frage von mAin0x, 41

Ist Pascal eine leichte Programmiersprache?

Expertenantwort
von TeeTier, Community-Experte für programmieren, 21

Ich finde diese Sprache - im Vergleich zu "geklammerten" Sprachen - etwas ausladend mit Ihren begin ... end Blöcken, und viele Anfänger wissen oft nicht wann sie wo ein Semikolon setzen müssen. Der Punkt am Ende einer Unit ist auch gewöhnungsbedürftig.

Dennoch ist die Sprache erstens sehr effizient Kompilierbar, es steht mit ObjectPascal eine sehr sehr leistungsfähige Implementierung auf allen gängigen Plattformen zur Verfügung, und die IDE Lazarus enthält alles, um zügig grafische Oberflächen zusammenbauen und mit eigenem Code "verdrahten" zu können.

Dennoch: Die Sprachfeatures bleiben hinter denen der Konkurrenz (je nach Standpunkt vor allem C++ und Java) zurück und die IDE wirkt altbacken, obwohl ich zugegebenermaßen sehr gern damit arbeite. Ein weiterer Minuspunkt ist, dass an vielen Stellen versucht wird, die Windows API (z. B. GDI) nachzubauen, und man selbst als Anfänger schon in den ersten Tagen auf massive Inkompatibilitäten oder einfach ganz klare Bugs stoßen wird.

Die original Delphi-Implementierung von Embarcadero ist da DEUTLICH sorgenfreier, kostet aber auch mehr, als die meisten Leute pro Monat verdienen.

Also wenn man schnelle und effiziente Programme schreiben möchte, und hartgesotten im Bezug auf (etwas) schräge Syntax ist, halte ich ObjectPascal für sehr empfehlenswert. Zumal man auch auf Funktionen, die mit C oder C++ geschrieben wurden, zugreifen kann, oder eigene Funktionen für C/C++ Programme in Form von Bibliotheken exportieren kann. Die Performanz von Pascal-Programmen ist ein ganz wichtiger Pluspunkt!

Wenn man GUIs mit Fenstern bauen will, ist Lazarus auch sehr zu empfehlen, solange man nicht zu tief in die Interna der grafischen Benutzeroberfläche abtaucht. Ich habe mal aus Jux und Dallerei alle gängigen Swing-Layout-Manager in ObjectPascal-Units portiert und das war sogar ziemlich geradlinig. Was hingegen weniger Problemlos verlief, war die Entwicklung einer "Bildschirmlupe" unter Lazarus, da bis zum heutigen Tage eine dafür benötigte Funktion Fehler enthält. Ich habe zwar einen Workaround gefunden, aber toll ist so etwas natürlich nicht. Immerhin läuft es unter Linux. :)

Wenn man richtig tolle neue moderne generische Sprachfeatures sucht, dann guckt man sich C++11 und C++14 an. Java bietet diese zwar leider nur kleckerweise, aber immerhin ist die neue JavaFX-API für die Entwicklung von grafischen Oberflächen ein absoluter Genuss bei Klicki-Bunti-Fenstern, die mit 2D und 3D Effekten absolut überladen sind. Für einfache (die Betonung liegt auf "einfach"!) Spiele und Lernsoftware ist JavaFX erste Wahl.

Groovy, Scala und Clojure bieten übrigens auch Zugriff auf die Java-API, aber haben darüber hinaus noch wesentlich mehr syntaktischen Zucker zu bieten. Eine Listeninitialisierung, die unter Java eine sehr lange Zeile ist, ist z. B. mit Groovy schön schlank darstellbar.

Fazit: Ich muss zugeben, dass ObjectPascal nicht meine aller liebste Lieblingssprache ist, aber für einfache plattformübergreifende GUIs, die zackig reagieren und evtl. noch ein paar flinke Berechnungen durchführen sollen, ist das Ganze absolut zu empfehlen! Allerdings sollte man immer ungewöhnliche Konstrukte der Syntax und Schwierigkeiten wenn man "tiefer in Windows-basierte Funktionalitäten abtaucht" im Hinterkopf behalten.

Außerdem sind die Binaries recht aufgeblasen und kommen gut und gerne mal auf 7 bis 8 Megabyte. Die kann man dann zwar strippen, aber selbst durch Spielereien in den Compilereinstellungen kommt man selten auf unter 2 Megabyte, selbst bei kleineren Programmen. Gezippt oder in Form eines Installers ist man dann aber trotzdem oft unter einem Megabyte, was noch akzeptabel ist. (Trotzdem sind die Abhängigkeiten schon krass, wenn man sich mal die dynamisch geladenen Bibliotheken mit "ldd" anguckt.)

Also ich weiß nicht, was du vor hast, aber ich würde ObjectPascal mit Lazarus immer wieder neu lernen, weil es einfach ein unglaublich praktisches Werkzeug ist, was sich prima in die Nischen einfügt, in denen man C#, Java, C++, etc. aus anderen Gründen nicht nutzen kann. :)

Antwort
von spaghetticode, 25

Ich drehe die Antwort von Herb3472 um und sage: keine Programmiersprache ist leicht. Das liegt zum einen daran, dass Programmiersprachen unserer Alltags-Ausdrucksweise entgegen stehen; Prozessoren können hervorragend rechnen, aber sie können nicht interpretieren oder Beschreibungslücken selbständig aus dem Kontext ergänzen. Um mit Prozessoren zu sprechen, muss man sich vollkommen exakt ausdrücken. Das zu lernen braucht seine Zeit.

Zum anderen liegt es daran, dass man nicht nur die Syntax und das Vokabular einer Sprache lernen muss, sondern auch das Programmieren an sich - wie drücke ich das, was ich will, in einem Algorithmus (einer Rechenvorschrift) aus? Wie kann ich auch komplexere Probleme so in eine Programmiersprache übersetzen, dass ich bei mehr als 1000 Codezeilen nicht den Überblick verliere?

Programmieren lernen ist mit keiner Sprache leicht - aber es gibt Sprachen, die einem weniger Steine in den Weg legen als andere.

Pascal wurde ursprünglich speziell als "Lehrsprache" entworfen, das heißt, der Hauptanwendungszweck von Pascal war es, das Programmieren zu erlernen. Von daher ist die Sprache sicherlich keine ganz schlechte Wahl.

Antwort
von DepravedGirl, 17

Ich habe mal ein bisschen Free Pascal ausprobiert gehabt.

Ich mochte diese Programmiersprache nicht sonderlich, deshalb hatte ich sie schnell wieder aufgegeben.

QBasic / QB64 mag ich da lieber.

In Free Pascal hatte ich persönlich den Eindruck, dass im Vergleich zu QBasic / QB64 alles umständlicher zu verwirklichen ist.

Kommentar von mAin0x ,

Danke! das hilft mir weiter... wieder eine weniger, die ich lernen will :)

Kommentar von DepravedGirl ,

Ok

Antwort
von Herb3472, 41

Ich verstehe die Frage nicht. Keine Programmiersprache ist schwer, wenn man sie beherrscht.

Keine passende Antwort gefunden?

Fragen Sie die Community