Was ist falsch bei C(++) Programmierern

Für sonstige Unterhaltungen, welche nicht direkt mit Lazarus zu tun haben
Antworten
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Was ist falsch bei C(++) Programmierern

Beitrag von Warf »

Erstmal vorab, dieser Beitrag ist um Frust abzulassen, also nicht so ernst nehmen ;)

Zu meiner aktuellen situation: Eine software die ich verwende nutzt LLVM, läuft aber nur mit 3.4. Da APT nur noch neuere Versionen unterstützt, muss ich es selbst bauen. Aufgrund mangelnder Dokumentation (von der Software die LLVM verwenden wird) wusste ich noch nicht wie ich LLVM bauen muss (mit welchen Argumenten). Also einfach mal drauf los kompilieren.

Insgesamt bin ich grade beim 5ten Versuch.

Das kompilieren braucht mehr als 30 Minuten in meiner Linux VM. Rein aus Interesse habe ich mal cloc angeworfen und die LoC von LLVM und vom fpc gezählt. LLVM knapp 100 Tausend (50 Tausend davon reiner C und C++ Quelltext ohne Header), FPC 430 Tausend (300 Tausend Zeilen Reinen Pascal code) Zeilen Code. FPC kompiliert bei mir in weniger als 5 Minuten.

Da stellt sich mir die frage, wie halten das C++ Programmierer aus? Ich habe heute bereits knapp 3 Stunden nur mit C Code kompilieren verbracht, komplett unfähig in dieser Zeit irgend etwas Produktives zu machen. Das kann doch nicht der Standard für C++ Entwickler sein

delphifreak
Beiträge: 23
Registriert: Di 10. Mär 2015, 19:08
OS, Lazarus, FPC: Mint 21.2 Lazrus 3 Win10/Win11 Delphi 11.x Alexandria

Re: Was ist falsch bei C(++) Programmierern

Beitrag von delphifreak »

Gute Frage,
ich habe auch keine Ahnung wie die das aushalten :D
Hatte z.B. auch kürzlich eine Diskussion mit einem C#-Entwickler.

Ich habe ihm gesagt, dass ich das Feature "CaseSensitive" in einer Programmiersprache eigentlich als überflüssig erachte.
Er hat mir da ellenlange versucht zu erklären, wofür das nützlich sein könnte.
Meine Argumente:
- "Ich hab's in Object Pascal während den letzten 20 Jahren noch nie vermisst" oder
- "Damit kann man mehr Fehler produzieren"
wollte er nicht hören.

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Was ist falsch bei C(++) Programmierern

Beitrag von Warf »

delphifreak hat geschrieben:Gute Frage,
ich habe auch keine Ahnung wie die das aushalten :D
Hatte z.B. auch kürzlich eine Diskussion mit einem C#-Entwickler.

Ich habe ihm gesagt, dass ich das Feature "CaseSensitive" in einer Programmiersprache eigentlich als überflüssig erachte.
Er hat mir da ellenlange versucht zu erklären, wofür das nützlich sein könnte.
Meine Argumente:
- "Ich hab's in Object Pascal während den letzten 20 Jahren noch nie vermisst" oder
- "Damit kann man mehr Fehler produzieren"
wollte er nicht hören.


Vor allem wenn es dann die namensgebungskonventionen gibt wie Variablen immer Klein, Typen immer groß und jedes neue Wort in einem Bezeichnet Groß (also camel hop). Daran halten sich die meisten C# oder C++ Programmierer. Aber eigentlich macht das das Feature Case sensitive nutzlos. Wenn der bezeichnerMitNameX immer so geschrieben wird, sich nur die Groß und Kleinschreibung des b ändert je nachdem ob es ein Typ oder eine variable ist, was bringt einem dann die Tatsache das die Sprache Case Sensitiv ist? Die mögliche Anzahl an bezeichnen der länge X ist mit diesen Konventionen genauso groß wie die bei Pascal man gewinnt also nichts (außer die Möglichkeit außversehen bezeichnerMitnameX zu schreiben und dann nen Fehler zu kassieren).
Ein T vor einen Typen zu schreiben ist ja nicht die Welt (und lustigerweise werden Interface Namen auch in case sensitiven Sprachen mit I und Pointer mit P angefangen, also genauso wie in Pascal). Und einen Buchstaben pro Typ mehr tippen zu müssen, oder eine Zusätzliche Fehlerquelle, da entscheide ich mich doch für das extra T

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Was ist falsch bei C(++) Programmierern

Beitrag von Mathias »

Aber eigentlich macht das das Feature Case sensitive nutzlos

Dies hat auch seine Vorteile in Pascal kann man schreiben:

Code: Alles auswählen

zahl := 1;
Zahl := 1;
ZAHL := 1;
zaHL := 1;

usw.
Damit wird ein Code auch unübersichtlich.

Ein T vor einen Typen zu schreiben ist ja nicht die Welt

An dies Regel halte ich mich, mühsam ist wen man fremden Code hat und in diesem nicht an die Regel gehalten wurde.

Code: Alles auswählen

Das kompilieren braucht mehr als 30 Minuten in meiner Linux VM.
Damit habe ich auch Mühe, da C/C++ fast ein Schaltjahr braucht für einen Code.
Auch FPC ist nicht unbedingt eine Rakete, wen man bedenkt, wie schnell Turbo-Pascal compilierte und dies auch mit 8088er :shock:

Da stellt sich mir die frage, wie halten das C++ Programmierer aus? Ich habe heute bereits knapp 3 Stunden nur mit C Code kompilieren verbracht, komplett unfähig in dieser Zeit irgend etwas Produktives zu machen. Das kann doch nicht der Standard für C++ Entwickler sein
Wieso geht es Jahre, bis ein Games fertig ist. :mrgreen:
Die meisten Spiel sin in C/C++ geschrieben.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

siro
Beiträge: 730
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: Was ist falsch bei C(++) Programmierern

Beitrag von siro »

irgendwie habe ich generell den Eindruck, dass die Compiler, egal ob C oder Pascal sich
reziprok proportional zur CPU Geschwindigkeit verhalten..... :mrgreen:

Wenn ich an das Turbo Pascal denke auf nem 4,7MHz Rechner....
Hab den Finger kaum von der Entertaste losgelassen und fertisch.
Nun habe ich aber auch nie diese Größenordnungen von Programmcode gehabt.

The fastest C++ compiler:
https://www.quora.com/What-is-the-fastest-C++-compiler
https://insights.dice.com/2013/11/04/sp ... compilers/
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Benutzeravatar
Maik81SE
Beiträge: 308
Registriert: Fr 30. Sep 2011, 14:07
OS, Lazarus, FPC: Debian 12 (L 3.0.0.3 FPC 3.2.2); Windows 10 (L 3.99.0.0 FPC 3.2.0)
CPU-Target: x86-64; arm; avr
Wohnort: Lübeck
Kontaktdaten:

Re: Was ist falsch bei C(++) Programmierern

Beitrag von Maik81SE »

Hmmm,

Dann muß ich mich wohl mal als Hybrid mehr outen, als ich es ohne hin schon bin :lol: :mrgreen:

ich arbeite mit fpc (Lazarus) und C/C++ (Only µC)

um da mal ein Faires Feedback von meinen Erfahrungen zu geben.
Beides hat seine Vor- und Nachteile, welche sich unterm Strich für meine Verhältnisse wieder ausgleichen, jedoch für sich speziel einen dazu zwingen genauer zu arbeiten.

Durch ein µC projekt wurde ich mehr oder weniger gezwungen, definitionen Sehr genau zu schreiben. da wie schon erwähnt bei C/C++

Code: Alles auswählen

unsigned Zahl <> unsigned zahl
ist.
fpc dagegen ist es egal, ob wir

Code: Alles auswählen

Zahl: byte;
schreiben, aber mit

Code: Alles auswählen

ZAHL, zahl := xyz
weiterverwenden.

Code: Alles auswählen

label.caption:= 'gnublin.no-ip.info'
Debian 12 (L 3.0.0.3 FPC 3.2.2);
windows 10 (L 3.99.0.0 FPC 3.2.0)

Antworten