pluto hat geschrieben:da ich mich zwischendurch auch mit Arduino befasse, muss ich zwangsläufig auch mit C Arbeiten.
Fürs Studium darf ich ein Betriebsystem auf einem Atmel AVR Mikrokontroller in C bauen, keine andere Sprache stört mich so wie C. Extrem einfache Programme werden unfassbar kompliziert mit den ganzen Defines und Preprozessor Statements (statt konstanten oder inline funktionen). Die Reihenfolge der Includes in Datei A entscheidet ob Datei B Kompiliert obwohl Datei B nur indirekt auf A referenziert, die Underscore notation ist kompletter Müll, und ich könnte mich noch ewig weiter darüber auslassen. Allerdings für manche Dinge kommt man um C schlicht weg nicht herum.
pluto hat geschrieben:Die Unterschiede sind einfach enorm. Pascal finde ich immer als Saubere und einfache Programmier Sprache. Ich kann zwar auch für C Code schreiben, der Sauber geschrieben ist, aber es verleitet einfach dazu, mal eben was auszuprobieren was dann nicht so Sauber ist.
Z.B. die Tatsache das man Variablen überall im Code Definieren kann oder die Groß Kleinschreibung stört mich am meisten. Habe ich es jetzt Groß geschrieben oder klein? Ich finde das soll ein und abschaltbar sein.
Davon kann man halten was man will. Manche haben es lieber strukturiert und übersichtlich, andere verwenden lieber nur die hälfte an Zeilen. Es ist schon ganz lustig wenn man mal eben statt in Pascal 10 Zeilen und 2 oder so braucht.
pluto hat geschrieben:Oder das mit den Vergleichsoperator oder Zuweisungsoperator. Damit sind sogar die ESA Programmierer angeblich durcheinander gekommen.
Das beste ist aber, dass der C Compiler keine Fehlermeldung wirft, weil in einem Vergleich kann man Variablen auch ein Wert zuweisen.
Das liegt nun daran dass C keinen Boolean Typen kennt. Zum einen kann man damit extrem viel code Sparen, zum anderen ist es natürlich wieder ein Fehler herd. Ich finde das Schlimmste ist das = der Zuweisungsoperator und == der Vergleichsoperator ist. Andersrum (oder := wie in Pascal) wäre es deutlich einfacher, denn ein = statt einem == passiert einfacher als anders rum, aber ein vergleich statt einer Zuweisung erkennt in den meisten Fällen sogar der Compiler.
pluto hat geschrieben:Die meisten "neueren" Sprachen verzichten ja ganz auf Datentypen. Was ist nun E? Ist ein Integer? Ein String? ein Object?
Nein tuen sie nicht, sie haben immer noch die selben Datentypen wie C oder Pascal, nur werden diese Impliziet vom Compiler erkannt. Manche Sprachen wie Python sind sogar Typ streng. Zwar kann/muss man den Typen nicht angeben, aber einmal festgelegt kann man ihn nicht so einfach hin und her wechseln. In Javascript z.B. gibt es impliziete Typcasts. Z.B. Ein Edit feld in dem eine 1 steht enthält den Wert als String. Möchte man diesen nun als Integer haben kann man einfach mit 1 multiplizieren. Javascript erkennt dass es dann ein Integer ist und convertet dann.
Wer effektiv mit diesen Sprachen Programmieren will muss sich dennoch mit Typen auskennen. Letzendlich ist es nichts anderes als in C oder Pascal, man muss nur mehr tippen.
pluto hat geschrieben:Ich finde es schaden, dass Pascal nicht mehr Aufmerksam erhält. Immer nur C basierte Sprachen, was ja die meisten sind, gelingt der "Aufstieg".
Das liegt aber denke ich mal nicht an der C Syntax, sondern einfach daran dass diese Sprachen etwas richtig machen. Z.B. C# welches ein Riesiges Framework bietet und noch dazu idiotensicher ist, oder Java welches einfach Cross Plattform zum ersten mal Konsequent implementiert hat.
pluto hat geschrieben:Ich mache ein Großteil auch mit Lazarus. Wobei mir ist aufgefallen, dass der Editor immer langsamer wird. ich schreibe recht schnell.
Aber das ich so schnell schreiben, dass SynEdit damit Probleme hat, kann ich mir nicht vorstellen. Habe schon alles deaktiviert was möglich ist.
Das ist jedoch ein anderes Thema.
Langsamer prozessor?
pluto hat geschrieben:Wenn ihr von Pascal redet, meint ihr nicht eher Object Pascal?
So wie bei C und C++?
Naja der Unteschied zwischen Object Pascal und Pascal zu C und C++ ist, dass C und C++ Unterschiedliche Sprachen sind die beide viel und unterschiedlich eingesetzt werden. Bei Pascal ist es so dass eigentlich ausschließlich Object Pascal verwendet wird. Heutzutage wird das alte Pascal höchstens noch zu lehrzwecken verwendet, praktisch findet es kaum Anwendung. Zumal es auch keinen wirklichen Vorteil gibt Pascal statt Object Pascal zu verwenden. C ist wenigstens deutlich schmaler und schneller als C++.
pluto hat geschrieben:Man müsste Firmen von FPC/Lazarus überzeugen.
Wie in meinem Ersten Post in diesem Thread bereits erwähnt ist mMn das Problem das Pascal nicht grade sehr Lukrativ ist, da die Native Cross Plattform Framework Nische nicht grade wichtig ist. Wer schnell Software implementieren will nutzt eher Javascript und HTML oder C# oder Java. Wer Performance Braucht nutzt eher C. Wer native Bibliotheken und Features braucht nutzt C++. Pascal hält sich irgendwo in der Schnittmenge davon auf, ist aber nichts davon wirklich, sondern von allem ein bisschen.