AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

"C" versus Pascal

Ein Thema von ATS3788 · begonnen am 5. Jan 2014 · letzter Beitrag vom 8. Jan 2014
Antwort Antwort
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: "C" versus Pascal

  Alt 5. Jan 2014, 09:38
Zunächst einmal: Das was Popov in den Tiefen seines Gedächtnisses herausgefischt hat, stimmt soweit (jedenfalls, wenn ich das mit dem Zeugs korreliere, was sich in den Niederungen meines Gedächtnisses befindet).

'C' ist ein etwas besserer Macroassembler: Eine Zuweisung hinterlässt das Ergebnis meist auf dem Stack und so ist auch 'a = b+c' ein Ausdruck, mit dem weiter gerarbeitet werden kann: 'if x == a=b+c'. Praktisch. Damit war in den frühen 70er Jahren eine Programmiersprache/Makroassembler entwickelt, mit dem sich sehr kompakte und schnelle Programme schreiben ließen.

Kernighan und Ritchie haben bei Unix das Ziel verfolgt, das sich das OS ruhig verhält und den Spezialisten, die es bedienen, so wenig wie möglich auf den Sack geht. Wenn also etwas funktioniert, wollten sie kein 'Operation Successful' sehen. Ähnlich wurde 'C' konzipiert: Sie viel wie möglich sollte machbar sein und Spezialisten (eben die beiden) wollten mit wenig Zeichen viel ausdrücken: In 'C' kann man sehr kurze Programme schreiben, ohne überflüssigen Schnickschnack wie 'var','then', 'procedure', 'function', 'do', 'begin', 'end' usw. Unlesbarer werden die Programme damit ja nicht.

So und nun meine Theorie: Da die meisten Programmierer Abkürzungsfetischisten sind (anders kann ich mir die bescheuerten Bezeichner 'ptr' 'chr' sowie die ungarische Notation nicht erklären) fanden viele diese Sprache natürlich total cool, denn wer meinen Code nicht versteht, ist eben nicht so cool wie ich. Blöderweise lässt der C-Compiler so ziemlich jeden Murks durchgehen, weswegen extra Lint entwickelt werden musste, das den gröbsten Quark moniert.

Lustig finde ich, das C-Programmierer beinahe zwnghft Abk vw. Alleine dafür gehört C verboten. Oder die Programmierer umgeschult. Auf Gesetzestextautoren

Man kann in C allerdings auch hervorragend lesbaren Code schreiben. Wenn man will. C ist durch seine fehlende Strukturierung (kein Unit-Konzept, Klassen etc.) nur für kleine Projekte geeignet. Wenigstens durch die Header-Dateien hat man in Ansätzen das Unit-Konzept von Pascal eingefrickelt.

Fazit: Man sollte C können, wenn man mitreden will, und für µC und den hardwarenahen Bereich allgemein ist es eh Standard. Man muss ja nicht der Abkürzeritis und der Endloscodezeilenverwurst verfallen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#2

AW: "C" versus Pascal

  Alt 5. Jan 2014, 10:49
Fazit: Man sollte C können, wenn man mitreden will, und für µC und den hardwarenahen Bereich allgemein ist es eh Standard. Man muss ja nicht der Abkürzeritis und der Endloscodezeilenverwurst verfallen.
Was ich da so in Delphi schon gesehen habe...
C macht es zwar deutlich einfacher unlesbaren Code zu schreiben, aber es gibt genug Programmierer, die das auch in Delphi schaffen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
vagtler

Registriert seit: 9. Jul 2010
Ort: Köln
667 Beiträge
 
Delphi 2010 Professional
 
#3

AW: "C" versus Pascal

  Alt 5. Jan 2014, 23:06
[...] C macht es zwar deutlich einfacher unlesbaren Code zu schreiben, aber es gibt genug Programmierer, die das auch in Delphi schaffen.
A bad programmer can write C in any language!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: "C" versus Pascal

  Alt 6. Jan 2014, 01:15
Die ungarische Notation hat bei einer nicht typisierten Sprache schon Sinn. In C kannst du einem Char auch einen Integer zuweise, ohne dass der Compiler meckert. Nur ob dann auch das herauskommt, was du eigentlich beabsichtigt hast, ist was anderes. Die ungarische Notation hilft solche Fehler zu vermeiden. weil man "sieht" was die Variable für einen Datentyp hat.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#5

AW: "C" versus Pascal

  Alt 6. Jan 2014, 07:07
Die ungarische Notation hat bei einer nicht typisierten Sprache schon Sinn.
Is klar. Aber mit Lint wär das nicht passiert. Aus Sicht eines C-Programmierers ist das natürlich ein Schattenparkertool.

Imho hat das (ungarische Notation) hat aber eher etwas mit schlechtem Codestil zu tun: Wenn ich nicht sofort sehe, was für ein Typ eine Variable ist, dann hab ich im Code etwas sehr falsch gemacht. Typisch für C ist komplexer, kompakter, dreckiger Code mit sehr kurzen Variablennamen. Das man dann in die Vorwärtsverteidigung geht und wenigstens die Variablen per Namenskonvention einem Typ zuordnen kann, ist typisch für die C-Fraktion.

Aber C hat natürlich auch Vorteile ('#define' ist einer davon).
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#6

AW: "C" versus Pascal

  Alt 6. Jan 2014, 08:19
Imho hat das (ungarische Notation) hat aber eher etwas mit schlechtem Codestil zu tun
Bei normalen Variablen ja, eindeutig.

Bei visuellen Komponenten sehe ich das anders. Niemand weiß die Namen aller Komponenten auf allen Formularen auswendig. Wenn die aber mit der ungarischen Notation bezeichnet sind, braucht man nur schreiben btn und hat alle Buttons. Die Liste dürfte bei den meisten Formularen komplett in die Quelltextvervollständigung passen oder zumindest kurz genug sein um diese sofort zu überblicken.

Deshalb spart man sich so den Blick auf das Formular, wenn man den Code dahinter schreibt. Und auch im Objektinspektor findet man die Komponenten so sehr schnell.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#7

AW: "C" versus Pascal

  Alt 6. Jan 2014, 19:39
Leicht OT, muss ich aber hier mal loswerden:
Ich persönlich finde Sprachen wie Python, die mir vorschreiben, wie ich Quellcode einzurücken und zu formatieren habe, viel viel schlimmer und nerviger als ungarische Notation, curly braces oder C im Allgemeinen.
Ohne einen angepassten Editor / IDE oder Autoformatter sind solche Sprachen der Graus (für mich...) und in meinen Augen die echten "Unfälle", auch wenn z.B. Python sonst eine geniale Sprache wäre.

Dagegen finde ich den (mentalen) Wechsel zwischen C-Notation und Pascal-Notation relativ leicht machbar.
Ich programmiere µCs eigentlich gerne mit C und könnte mir da auch irgendwie kein Pascal vorstellen, im Gegensatz zu den Desktop-Anwendungen zu den µC-Projekten.

Geändert von blackfin ( 6. Jan 2014 um 19:45 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: "C" versus Pascal

  Alt 6. Jan 2014, 20:01
Bei visuellen Komponenten sehe ich das anders.
Komischerweise sehe ich das auch so wie Du. Weiß auch nicht warum.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: "C" versus Pascal

  Alt 5. Jan 2014, 22:56
'C' ist ein etwas besserer Macroassembler:
C war ein besserer Makro-Assembler. Wer einmal in den Unix V6 Quellcode (siehe Internet) gesehen hat, wird das bestätigen. Besonders die Structs ... gruselig.
Auch der Abkürzungswahn hatte Gründe, die z.B. bei den Linkern zu suchen waren. Nach 6-8 Stellen war denen der Rest des Namens egal.
Das war gestern.

Heute kenne ich keine Stelle z.B. in der Typsicherheit, wo modernes C wirklich Nachteile gegenüber Pascal hätte.

Geändert von BUG ( 5. Jan 2014 um 23:00 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz