Forum: Offtopic Ein sachlicher Vergleich Pascal <-> C


von Bernd K. (koesters60) Benutzerseite


Lesenswert?

Anläßlich der unsäglichen Diskussion im Thread 
Beitrag "Pascal Compiler für PIC - ist wirklich Freeware" , die in einen 
Glaubenskrieg Pascal <--> C mündete,
poste ich mal was zur Versachlichung.

Hier ein Artikel von einem Fachmann, der sichtlich etwas von dem Thema 
versteht

http://www.bernd-leitenberger.de/pascal-und-c.shtml

Ich empfehle allen C-Freaks sich das mal in Ruhe durchzulesen und erst 
dann zu posten und nicht gleich die Totschlag-Keule zu schwingen.

Da ich den Artikel gelesen habe, gleich meine Meinung dazu:
Was Pascal betrifft spricht er mir aus der Seele und deshalb werde ich 
bei Pascal bleiben, zu C sage ich nix weil ich's nicht benutze.
Für mich im Hobbybereich immanent wichtig: Meinen Pascal-Code verstehe 
ich nämlich sofort, wenn ich nach vielen Jahren problemlosen Einsatze 
Änderungen einbauen möchte, bei C wäre ich mir da nicht sicher.

So, nun haut euch die Köpfe ein. Aber bitte erst den Artikel komplett 
lesen.

koesters60

: Verschoben durch User
von Peter II (Gast)


Lesenswert?

Bernd - ist wieder gegangen schrieb:
> So, nun haut euch die Köpfe ein. Aber bitte erst den Artikel komplett
> lesen.

man braucht in nicht komplett zu lesen. Wenn er hat zwar Ahnung von 
vielen dingen aber nicht von C. Und wie soll er das etwas sachliches 
über C schreiben?

> StringToUppercase
ist das beste beispiel, kein C programmierer würde so jemals so 
schreiben. Immerhin gibt es die funktion wie toupper

von hilmar (Gast)


Lesenswert?

Volle Zustimmung!

Den Artikel kenne ich und finde ihn sehr objektiv.
Laß dich nicht runtermachen. Ich arbeite auch mit beiden Sprachen (C 
vorwiegend auf dem AVR und Pascal bzw. Lazarus auf dem PC). Und ich muß 
immer noch sagen, daß Pascal um Größenordnungen logischer und intuitiver 
ist als C. Aber der verlinkte Artikel zeigt eben die Unterschiede auf, 
und das ignorieren die reinen "C-Leute" völlig. Das ist schon fast eine 
Religion :-)

von Thomas L. (thomas_hx)


Lesenswert?

hilmar schrieb:
> Volle Zustimmung!
>
> Den Artikel kenne ich und finde ihn sehr objektiv.
> Laß dich nicht runtermachen. Ich arbeite auch mit beiden Sprachen (C
> vorwiegend auf dem AVR und Pascal bzw. Lazarus auf dem PC). Und ich muß
> immer noch sagen, daß Pascal um Größenordnungen logischer und intuitiver
> ist als C. Aber der verlinkte Artikel zeigt eben die Unterschiede auf,
> und das ignorieren die reinen "C-Leute" völlig. Das ist schon fast eine
> Religion :-)

Was heisst hier fast?

von Blackbird (Gast)


Lesenswert?

Naja, zur "Versachlichung" trägt das nicht bei. Steht schon in der 
Überschrift des verlinkten Artikels.

C, Basic, Pascal oder was auch immer - die Erwartung an die Sprache ist 
das Kriterium zur Auswahl. Und da gibt es mindestens soviele Erwartungen 
wie Anwender.
Es ist Jedem seine eigene Entscheidung. Alles andere ist missionieren.

Blackbird

von amateur (Gast)


Lesenswert?

Wie diese Diskussion enden wird hat Peter der 1,9-te ja schon 
angedeutet.

>StringToUppercase
>ist das beste beispiel, kein C programmierer würde so jemals so
>schreiben. Immerhin gibt es die funktion wie toupper

...der natürlich weiß, dass es vergleichbare "fertige" Funktionen in 
Pascal auch gibt.

von J. S. (engineer) Benutzerseite


Lesenswert?

Interessant ist mal ein Vergleich von Pascal und VHDL. Dämmert da etwas?

von Hundt (Gast)


Lesenswert?

Ich habe als Schüler ein Pascal-Programm geschrieben um meine 
Lateinvokabeln zu trainieren.

Ich musste dann das Programm in zwei Programme aufteilen, weil er in 
einem Programm nicht genug CASE-Fälle bearbeiten kann.

Ich habe das Programm mit CASE-Fällen geschrieben.

Also wenn es da schon nicht ausgereicht hat, dann ist das wohl eher 
nichts für den professionellen, hardware-nahen Einsatz.

C ist was für Profis. Wie willst du als PASCAL-Coder dich zu 
Objekt-orientertem Programmieren weiterbilden!?

von Peter II (Gast)


Lesenswert?

amateur schrieb:
> Wie diese Diskussion enden wird hat Peter der 1,9-te ja schon
> angedeutet.
>
>>StringToUppercase
>>ist das beste beispiel, kein C programmierer würde so jemals so
>>schreiben. Immerhin gibt es die funktion wie toupper
>
> ...der natürlich weiß, dass es vergleichbare "fertige" Funktionen in
> Pascal auch gibt.

richtig, warum sollte ich also dinge vergleichen die schon fertig in der 
Sprache existieren.

Somal die C funktion auch noch fehlerhaft ist und nur die ersten 256 
zeichen varbeiten. Vermutlich weil er wie von Pascal gewöhnt ist das 
String nicht länger sein können.

von Uwe (Gast)


Lesenswert?

Vergleich mal Pascal und Ada und VHDL

von Peter II (Gast)


Lesenswert?

Hundt schrieb:
> C ist was für Profis. Wie willst du als PASCAL-Coder dich zu
> Objekt-orientertem Programmieren weiterbilden!?

mit Delphi oder ObjectPascal?

von Sebastian (Gast)


Lesenswert?

Richtig, Object Pascal ist eigentlich schon lange bekannt. Wird auch von 
FPC / Lazarus unterstützt.

von hilmar (Gast)


Lesenswert?

> Wie willst du als PASCAL-Coder dich zu
> Objekt-orientertem Programmieren weiterbilden!?
Schonmal was von Object-Pascal gehört? Das ist die Sprache, die Delphi 
und Lazarus benutzen...

von Peter II (Gast)


Lesenswert?

für leute die immer noch glauben der vergleich ist sinnvoll:

[...]
Unions
gibt es nur in C. Es sind Bitfelder mit denen man die einzelnen Bits 
eines Bytes ansprechen kann.
[...]

soviel zu seinen Kenntnisse in C.

von hilmar (Gast)


Lesenswert?

> ...Vergleich von Pascal und VHDL

Pascal ist für das Schreiben von Programmen gemacht (sequentielle 
Abarbeitung)

VHDL ist eine Hardwarebeschreibungssprache.

Das ist ungefähr das gleiche wie:
"Was fährt schneller, ein Auto oder meine Kaffeetasse?"

:-)

von amateur (Gast)


Lesenswert?

@Hundt

Wenn jemand Probleme mit zu vielen case-Abfragen hat, ändert der Wechsel 
der Sprache bestimmt nichts...
Ich war immer der Meinung, egal ob ich C oder Pascal programmiert habe: 
Spagetti gehören in den Topf und nicht ins Programm.

von oldmax (Gast)


Lesenswert?

Hi
@Bernd
Warum ignorierst du eigentlich nicht einfach diesen "Glaubenskrieg"? Ich 
selbst spreche auch nicht "C" und lebe in Ruhe und Frieden und ich 
vermisse gar nichts. C ist für mich kein Thema weil ich wie du auch im 
Hobbybereich mit Controllern arbeite. Und Ja, ich spreche neben Pascal 
und Basic auch Assembler. Pascal (Delphi) und Basic (VB) sind Werkzeuge 
für den PC. Der Controller selbst wird in der Regel mit Assembler 
programmiert. Solange keine mathematischen Denksportaufgaben anstehen, 
reicht das auch.
Zum Thema Programmiersprache hab ich ja auch schon genug gesagt. Verfall 
jetzt nicht auf die gleiche Schiene wie einige C-Freaks und verteidige 
"PASCAL". Das hast du doch gar nicht nötig. Wenn sie in C sprechen, 
sollen sie ruhig. Es ist ihr gutes Recht, genauso wie deines das 
"Pascal" ist. Programmieren hängt nicht an der Sprache, es läuft im Kopf 
ab. Die Sprache ist nur ein Werkzeug. Sicherlich mag es Vorzüge geben, 
aber mir ist es genauso wie den anderen 99,9% der Programmierer wichtig, 
mein Program zu verstehen. Das es ein anderer lesen kann ist erst einmal 
zweitrangig. Und nebenbei: wer eine Aufgabe nicht klar in ein 
xbeliebiges Programm umsetzen kann, der braucht auch nicht irgendeine 
Sprache favorisieren. Und vielleicht tröstet es dich: Die 
Eisenbahnanlage in Hamburg ist soweit ich mich erinnern kann, auch mit 
Delphiprogrammen (Pascal) gespickt. Und sicherlich nicht, weils eine 
tote Sprache ist.
Es wär schade, wenn du dich hier deswegen ausklinkst und uns eventuell 
interessante Applikationen dadurch verloren gingen.
Gruß oldmax

von J. S. (engineer) Benutzerseite


Lesenswert?

hilmar schrieb:
> VHDL ist eine Hardwarebeschreibungssprache.
>
> Das ist ungefähr das gleiche wie:
> "Was fährt schneller, ein Auto oder meine Kaffeetasse?"

Es ging mir um die Ähnlichkeit der Sprache, denn VHDL hat sich u.a. aus 
Pascal heraus entwickelt und zunächst war diese ja eine reine 
Simulationssprache. Dass die Synthese sowas auswertet, kam erst später.

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Das schreibt er zu Aufzählungstypen, danach hab ich aufgehört den an den 
Haaren herbeigezogen Schwachsinn zu lesen...

Auch C bietet eine Simulation des Typs als enum. Doch damit hören die 
Gemeinsamkeiten auf. In C ist es nichts anderes als, dass man etliche 
#define Zeilen einspart. Da diese Typen intern als Zahlen gespeichert 
werden, kann man ihnen jede Ganzzahl zuweisen, auch z.B. wahl = 10, 
obgleich wir nur 4 Farben definiert haben. In Pascal geht die Zuweisung 
einer Zahl über eine Typkonvertierung und löst einen Fehler aus. Hier 
wird auch deutlich, dass die fehlende Typisierung von C kein Vorteil 
ist. Denn: Welchen Sinn soll es ergeben, 10 an eine Variable eines Typs 
zuzuweisen, für den nur 4 Werte definiert sind? Dann müsste man entweder 
manuell eine Fehlerprüfung einführen oder den Typ erweitern, oder man 
arbeitet gleich nur mit #defines und einem unbeschränkten Ganzzahltyp 
wie int.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ich habe gerne und viel in Turbo Pascal damals auf dem PC geschrieben 
und es ging alles was man wollte: Interrupthandling, Hardware über I/O 
Adressen ansprechen usw. Die Kompilate waren klein und liefen selbst auf 
286ern schnell und sicher.
Es ist eben auch eine Frage der Verfügbarkeit. Heute gibt es so gut wie 
keine eleganten Kompiler mehr, wie Turbo Pascal es damals war, das ist 
aber kein Grund, die Sprache zu verteufeln. Mit Sicherheit kann man in 
Pascal die gleichen Programmieraufgaben lösen wie in allen anderen 
Sprachen auch. Heute ist es eben C und C++, die einfach weiter 
verbreitet sind. Eine Menge Leute würden vermutlich in Pascal schreiben, 
wenn es doch bloss 'Visual Pascal Express' gäbe, hehehe.

von hilmar (Gast)


Lesenswert?

> ...VHDL hat sich u.a. aus Pascal heraus entwickelt

Das wußte ich nicht :-)
Wieder was gelernt... Danke!

von J. S. (engineer) Benutzerseite


Lesenswert?

Der Vorteil von C war für mich immer, dass man es so gut erweitern kann. 
Besonders mit dem pointer-Management lassen sich Sachen machen, die in 
Pascal nicht möglich sein, auch wenn komplizierte, sich selbst 
aufrufende Funktionen und Datenbäume nicht zum alltäglichen gehören.

Man muss immer ein Auge darauf haben, wann etwas wofür entwickelt wurde.

Nikolaus Wirth würde sein Pascal heute auch komplett anders anlegen.

von B. S. (bestucki)


Lesenswert?

Bernds N-Bahn schrieb:
> http://www.bernd-leitenberger.de/pascal-und-c.shtml

Das klingt für mich nach einem langjährigen Pascal-Programmierer, der zu 
dumm/faul/eingebildet (unzutreffendes durchstreichen) ist, um C richtig 
zu lernen, bzw. umzudenken und die Philosophie der Sprache zu erkennen. 
Von C hat er keine Ahnung. Viele aufgeführte "Fakten" sind falsch und 
Vorteile werden als Nachteile beschrieben, bzw. nicht als Vorteil 
erkannt.

bestucki, der in C programmiert und Pascal nie erlernt hat.

von Stephan S. (Gast)


Lesenswert?

Diese Diskussion ist überflüssig.
Wenn es mir in einem Lokal schmeckt, dann ist es mir egal, wie die Köche 
ausshen.
Und nun dürft ihr darüber streiten, welche Nahrungsmittel mir schmecken 
und welche nicht...
Und wer den Vergleich nicht versteht, sollte weiterhin zu Mc Doof gehen.

von hilmar (Gast)


Lesenswert?

> bestucki, der in C programmiert und Pascal nie erlernt hat.
                                     =======================

Wieder ein Blinder, der von Farben spricht.
Viele hier programmieren in beiden Sprachen, können also beide Sprachen 
beurteilen und zeigen beiden Sprachen ihren Respekt. Du hast nie Pascal 
gelernt, wie du selbst sagst, schimpfst aber darüber. Was soll das?
Beurteilen kann man doch nur das, was man auch kennt, oder? Alles andere 
ist nur gedankenloses Nachplappern...

von Julian W. (julian-w) Benutzerseite


Lesenswert?

hilmar schrieb:
> Beurteilen kann man doch nur das, was man auch kennt, oder? Alles andere
> ist nur gedankenloses Nachplappern...

Er hat doch gar nix über Pascal gesagt ;) Nur ein bisschen über den 
Autor des Artikels spekuliert wobei ich mich seiner Meinung anschließen 
würde... Bei nahezu allen Vergleiche wurde C absichtlich schlecht 
dargestellt bzw. eigentlich geniale Konzepte als "fail" dargestellt, nur 
weil der Autor sie nicht versteht.

von mar IO (Gast)


Lesenswert?

hilmar schrieb:
> Du hast nie Pascal
> gelernt, wie du selbst sagst, schimpfst aber darüber.

NOP, der hat doch nur über die C-Kenntnisse des Autors gemeckert und 
sich NICHT an Pascal ausgelassen.

von Pascal (Gast)


Lesenswert?

be stucki schrieb:

> bestucki, der in C programmiert und Pascal nie erlernt hat.

Gratuliere dem Sieger des Armutszeugnisses der Woche.

von B. S. (bestucki)


Lesenswert?

hilmar schrieb:
> Was soll das?

Lesen ist wohl nicht deine Stärke. Ich habe nur die "Fakten" über C der 
oben aufgeführten Seite kommentiert und mir aus dem gesamten Kontext 
eine Meinung über den Verfasser gebildet. Wo bitte schimpfe ich über 
Pascal? Beweise bitte!

von amateur (Gast)


Lesenswert?

>bestucki, der in C programmiert und Pascal nie erlernt hat.

Weshalb er auch ausgesprochen kompetent für Aussagen wie:

>Von C hat er keine Ahnung. Viele aufgeführte "Fakten" sind falsch und
>Vorteile werden als Nachteile beschrieben, bzw. nicht als Vorteil
>erkannt.

ist.

...und bei der Gelegenheit, uns auch gleich mit Beispielen nur so 
erschlägt.

von Peter D. (peda)


Lesenswert?

Bernds N-Bahn schrieb:
> Meinen Pascal-Code verstehe
> ich nämlich sofort, wenn ich nach vielen Jahren problemlosen Einsatze
> Änderungen einbauen möchte

Na siehste und genau so ist es bei mir mit C.
Was man öfter benutzt, kennt man auch besser.

Ich hatte auch mal erst unter CP/M, später DOS3.3 mit Turbo-Pascal 
angefangen.
Aber ich habe dann mal Turbo-C installiert und es gefiel mir besser. Ich 
bin dann dabei geblieben.

Und später kam dann Keil C51 dazu. Wenn was auf dem MC nicht lief, habe 
ich es auf dem PC debuggen können (als DOS-EXE).

Die Verwendung von Sonderzeichen als Kontrollelemente finde ich sogar 
sehr gut. Es strukturiert den Code besser in eigenen Text (Variablen, 
Funktionsnamen) und C-Syntax, macht ihn also besser lesbar.

Dem Autor des Artikels ist es aus jeder Zeile anzumerken, daß er zwar 
die C-Syntax kennt, aber nicht sonderlich viel in C programmiert hat.

von Peter II (Gast)


Lesenswert?

hilmar schrieb:
> Du hast nie Pascal
> gelernt, wie du selbst sagst, schimpfst aber darüber. Was soll das?
> Beurteilen kann man doch nur das, was man auch kennt, oder?

er schreibt aber auch keine großen Artikel über den vergleich von C und 
Pascal.

Und genaus das werfe ich dem Herr Leitenberger vor, er hat keine Ahnung 
von C und schreibt solche Artikel.

von Blackbird (Gast)


Lesenswert?

Von allen Programmiersprachen, die ich gelernt habe, ist mir C am 
schwersten gefallen. Basic und Pascal waren viel leichter zu lernen und 
anzuwenden.
Jetzt könnte ich sagen: "C ist Sch....!".
Aber warum soll ich etwas verdammen und schlecht machen, wenn ich nur zu 
dämlich war, das richtig zu verstehen?

Was ich bisher zu lesen bekommen habe in diesem Thread waren nur 
persönliche Animositäten.

Das erwartete Ergebnis (das fertige Projekt, das Gerät und alles was 
damit zusammenhängt ..) bestimmt die Auswahl der Sprache und nutzt die 
darin enthaltenen Erleichterungen, Vorzüge, usw.

Naja, manchmal bestimmt die Auswahl auch die eigene Unzulänglichkeit, 
sich eine wandere Programmiersprache anzueignen. Aber da sollte man dann 
darüber schweigen.

Blackbird

von old man (Gast)


Lesenswert?

Bernds N-Bahn schrieb:
> http://www.bernd-leitenberger.de/pascal-und-c.shtml
>
> Ich empfehle allen C-Freaks sich das mal in Ruhe durchzulesen und erst
> dann zu posten und nicht gleich die Totschlag-Keule zu schwingen.

Es gibt hier aber nur Totschlagargumente. Jedenfalls bei kleinen 
Controllern ohne Speicherverwaltung. Hier hat der Programmierer 
gefälligst dafür zu sorgen dass er weiß was wo in seinem Speicher (RAM) 
steht. Ich würde mich nicht auf einen Compiler verlassen der dann z.B. 
String-Variablen dynamisch anlegt und irgendwie verwaltet. Die 
Syntaxunterschiede in der Sprache sind doch nicht so gravierend dass es 
sich lohnt darüber zu streiten. Wem die Pointer zu schwer und 
unverständlich sind, der soll sich auf den Hosenboden setzen und das 
lernen. Oder es ganz lassen. Oder wie will jemand DMA auf einem 
Controller benutzen der noch nie was von Pointern gehört hat? Wer sich 
aufs LED-Blinken beschränken will für den sind Pascal und Basic auf 
Controllern ausreichend, für alles andere ist C/C++ alternativlos. Alles 
andere ist wie Klavier spielen nur mit den weißen Tasten.
Im PC-Umfeld oder da wo die Hardware über das Betriebssystem 
angesprochen wird und auch eine ordenliche dynamische Speicherverwaltung 
und genügend Resourcen vorhanden sind, spricht nichts gegen eine 
alternative Programmiersprachen. Aber eben nur dort.

von Udo S. (urschmitt)


Lesenswert?

Pascal ist ne nette Sprache, damit habe ich programmieren gelernt und 
sie auch noch lange gerne benutzt.
Aber eine Sache verhindert ganz einfach den professionellen Einsatz:
Stringbeschränkung auf 255 Zeichen.

Der Hit ist der Satz des angeblichen Fachmanns der den oben im ersten 
Beitrag verlinkten Artikel geschrieben hat. Zitat:

"Pascal ist auch sehr gutmütig, wenn man bei Copy, Delete und Insert 
mehr Zeichen angibt als in den String hineinpassen. Hier wird einfach 
soviel kopiert, wie die Länge hergibt und der Rest abgeschnitten."

Das ist nicht gutmütig, daß ist der absolute Worst Case. Dann schneide 
ich halt einfach sang und klanglos wichtige Informationen ab.
Was würdet ihr sagen, wenn die Bank mal schnell euer 6 Stelliges 
Guthaben auf dem Sparbuch zu einem 4stelligen macht?

Sorry aber dieser angebliche Fachmann ist nicht mehr als ein Fanboy.

C hat sich durchgesetzt weil es hier neue effizientere Wege eröffnet hat 
als Pascal, auf mehr Plattformen verfügbar war und es bessere Compiler 
gab.

Inzwischen gibt es je nach Anwendung auch wieder bessere Konzepte und 
Programmiersprachen als C.

von Holm T. (Gast)


Lesenswert?

Warum nicht einfach Praxisorientiert?

Zählt mal auf für welche hier gebräuchlichen Mikrocontroller (Hallo 
Topic!)
es entweder frei oder kommerziell verfügbare Compiler für die 
enstsprechende
Sprache gibt. Das es Assembler dafür gibt, davon gehe ich erst mal aus 
:-)

Ich habe auf CP/M, Dos und einer VAX 11/780 (K1840) unter Unix mal mit 
Pascal hantiert, wobei das an der VAX nur noch rein aus Interesse war.
Ich habe es völlig verlernt indessen..

Gruß,

Holm

von Jeeehoo Juppieyeei (Gast)


Lesenswert?

> Eine Menge Leute würden vermutlich in Pascal schreiben,
wenn es doch bloss 'Visual Pascal Express' gäbe, hehehe.

Es gibt heute Delphi. Und viele Leutze benutzen's.

>Pascal ist ne nette Sprache, damit habe ich programmieren gelernt und
sie auch noch lange gerne benutzt.
Aber eine Sache verhindert ganz einfach den professionellen Einsatz:
Stringbeschränkung auf 255 Zeichen.

Das waren die sShortstrings, aus 386 Zeiten. Sehr praktisch fuer Buffer, 
denn man musste sie nicht allozieren, es wurden 256 byte freigehalten. 
Heute gibt es zusaetzlich die normalen Strings mit 2^32 kapazitaet, die 
muss man allerdings allozieren. Darueber dann ANSI Strings. Widestrings, 
usw.

von amateur (Gast)


Lesenswert?

@Udo

Strings sind ein schlechtes Beispiel für --Pascal.

Es gibt schon seit langem (Wide)Strings die diese Beschränkung nicht 
haben.

Übrigens: Gerade, wenn man viel mit Zeichenketten arbeitet, macht sich 
die "integrierte" Länge positiv bemerkbar.

von Hans-Georg L. (h-g-l)


Lesenswert?

Mit dem feinen Unterschied, das C schon immer erweiterbar und brauchbar 
war und somit toupper zur Sprache gehört.
Wirths Pascal war rein akademisch und unbrauchbar für die reale Welt.
Erst mit den Borland Turbo Pascal Erweiterungen ist es brauchbar 
geworden.

Aber jeder soll mit dem programmieren was ihn glücklich macht ich habe 
da keinerlei Sendungsbewusstsein ;)

von Holm T. (Gast)


Lesenswert?

Ich gebe zu ich habe jetzt erst in den verlinkten Artikel oben 
hineingelesen,
ich habe dann aufgeöhrt, so ein Quatsch.
Im Prinzip klagt der Autor ständig das er die Übersicht verliert und das 
C keine Typprüfungen hat. Der Abschnitt mit kein brauchbarer C-Compiler 
unter CP/M ist völliger Käse. Zortech-C, Supersoft-C und BDS-C fallen 
mir ad hoc ein. Die Nörgelei über das break in der switch/case Anweisung 
zeugt auch nur von Unverständnis, ich benutze genau das fehlende break 
in einer Statemachine in der Software an der ich gerade bastele. Es 
ändert sich halt im vorhergehenden case Zweig die variable und dann 
genau möchte ich auch den nachfolgenden Abschnit ausführen ohne erst 
noch über Los zu gehen, ich habe die Wahl, bei Pascal aber nicht.
Den Abschnitt mit der Cray möchte ich auch gerne in Zweifel ziehen wobei 
ich mir da nicht 100% sicher bin. So lange ich denken kann liefen 
"relevante" Crays unter UniCos und das ist Unix, BSD-artig .. in Pascal 
geschrieben? Naja.

Ob man eine Schleife abbricht abhängig davon ab eine Bedingung wahr oder 
Falsch ist, ist Jacke wie Hose, der Hauptunterschied ist meist ob da ein 
"<" oder ">" in der Bedingung steht. Was soll das?

Der die Großbuchstabenfunktion ist lächerlich.. usw. usf.
Ich habe die Lust verloren ,der Vergleich ist nicht fair. Ich nutze C 
und habe vorher mal Pascal benutzt, stehe diesem nicht irgendwie 
feindlich gegenüber, aber dieser Artikel beweist nur das der Schreiber 
weder den Sinn noch die Syntax von C begriffen hat und warum es keine 
standardmäßigen Typprüfungen gibt.

Gruß,

Holm

von Harry L. (mysth)


Lesenswert?

Hans-Georg Lehnard schrieb:
> und somit toupper zur Sprache gehört.

toupper ist nicht Bestandteil der Sprache C sondern des stdlib!
C selbst kennt ohne Library kein toupper.

von Udo S. (urschmitt)


Lesenswert?

Hans-Georg Lehnard schrieb:
> Erst mit den Borland Turbo Pascal Erweiterungen ist es brauchbar
> geworden.

Und auch das hatte noch die Beschränkung auf 255 Zeichen. Zumindest bis 
Turbo Pascal 4.
Danach bin ich (auch wegen Diplom und Arbeitgeber) auf C umgeschwenkt.
Wenn die Beschränkung inzwischen nicht mehr da ist schön, aber in der 
Zeit als C groß wurde gab es sie definitiv.

Was bei Pascal am meisten genervt hat waren die "begin end", warum kann 
man das nicht einfach mit einer Klammer lösen.

von Hans-Georg L. (h-g-l)


Lesenswert?

amateur schrieb:
> @Udo
>
> Strings sind ein schlechtes Beispiel für --Pascal.
>
> Es gibt schon seit langem (Wide)Strings die diese Beschränkung nicht
> haben.
>
> Übrigens: Gerade, wenn man viel mit Zeichenketten arbeitet, macht sich
> die "integrierte" Länge positiv bemerkbar.

Doch Strings sind ein sehr gutes Beispiel für Pascal, die gab es im 
Original überhaupt nicht das kam alles erst mit Turbo Pascal dazu.

Vorher gab es Hilfskonstruktionen wie: "varying char of" und das nicht 
bei allen Pascal Compilern.

von mar IO (Gast)


Lesenswert?

Ich vermute mal, dass das Ergebnisse eines Vergleichs von C und Pascal 
folgendes ganz gut treffen könnte:
1
Eine Entscheidung, welche Programmiersprache der anderen vorzuziehen ist, 
2
bleibt meist dem Geschmack oder aber wirtschaftlichen Faktoren überlassen.

Quelle: 
http://www.iai.uni-bonn.de/~manthey/SS06/Abschlussvortraege/FolienImhoff.pdf

von Hans-Georg L. (h-g-l)


Lesenswert?

Harry L. schrieb:
> Hans-Georg Lehnard schrieb:
>> und somit toupper zur Sprache gehört.
>
> toupper ist nicht Bestandteil der Sprache C sondern des stdlib!
> C selbst kennt ohne Library kein toupper.

Deshalb muss man bei C ja nicht die Sprache vergewaltigen, wenn man was 
sinnvolles dazu fügt.

Deshalb kann ich immer noch meine uralten C Quellkodes mit aktuellen C 
Compilern problemlos übersetzen.

von Olaf (Gast)


Lesenswert?

Wie waer es mal mit einem neuen Standpunkt im Streit? :-)

Ich kenne beide Sprachen. (Angefangen mit UCSD-P, TP5, ueber MSC, Pearl, 
Forth, nach gcc, iar-c, Renesas-c)

Ich denke das so langsam der Zeitpunkt kommt sich von C zu verabschieden 
und C++ zu programmieren. Microcontroller sind heute so leistungsfaehig, 
haben solche Resourcen und die Projekte werden immer dicker, das C da 
einfach irgendwann unuebersichtlich wird. Da bietet sich eine 
Objektorientierte Sprache an, einfach weil die Aufgaben die man heute 
loesst SEHR weit vom blinken einer LED entfernt sind. Gleichzeitig wird 
man aber nicht auf die Hardwarenaehe wie sie C bietet verzichten wollen. 
Also sollte man darueber nachdenken auf C++ umzusteigen.

Oder vielleicht eine neue Sprache C--, welche im Prinzip wie C++ ist, 
aber ein paar abgefahrene Sachen fallen laesst die auf Controllern 
problematisch sind (z.B den Heap :-) und dafuer ein paar Dinge aufnimmt 
die sinnvoll. (direkte Unterstuetzung von Multitasking fuer 
Mehrkernprozessoren) (vgl:Propeller)

Aber natuerlich ist der Hauptvorteil von C das jeder C kann, das es fuer 
jeden Controller einen C-Compiler gibt, das die letzten 15Jahre in der 
Industrie ausschliesslich C verwendet wurde und es da bergeweise 
Altprojekte gibt. Wenn man bedenkt welche Vorteile es hat das man 
innerhalb eines Tages die Firma, den Controller, die Oberflaeche und den 
Compilerhersteller wechseln kann ohne gross was neues zu lernen, dann 
nimmt man vielleicht ein paar Nachteile gerne in kauf.


Olaf

von Hans-Georg L. (h-g-l)


Lesenswert?

Den einzigen wirklichen Vorteil von Pascal ist:
wenn man auf VHDL umsteigt kommt einem die Syntax etwas bekannt vor ;)

von Karl H. (kbuchegg)


Lesenswert?

Harry L. schrieb:
> Hans-Georg Lehnard schrieb:
>> und somit toupper zur Sprache gehört.
>
> toupper ist nicht Bestandteil der Sprache C sondern des stdlib!
> C selbst kennt ohne Library kein toupper.

Aber die stdlib ist Teil der Sprachdefinition C.
toupper gehört damit genauso zu einem C-System dazu, wie es eine 
for-Schleife tut.

von Bernd K. (koesters60) Benutzerseite


Lesenswert?

Leute,
tut uns einen Gefallen und redet nicht nur über mehr oder weniger lage 
2^32 große Strings.
Wir sind hier in einem Microcontroller Forum und da geht's um den 
Einsatz von den kleinen Dingern und nicht um PCs oder andere 
Großmaschinen.

In meinen Prozesssteuerungen (eine PC gesteuerte sehr große 
Modellbahnanlage) brauchte ich, solange es nicht um "Bildschirm" ging, 
keine Strings.
Mit der Hauptgrund warum ich bei Pascal gelandet war, war aber dass ich 
ein Real-Time Kernel brauchte, um vernünftig strukturiert real-time 
Anforderungen zu erfüllen. Und da es nur ein für mein Hobbybuget 
erträgliches Kernel gab, das aber ein Pascal Interfaces hatte, war's 
also Pascal.

Bei meinen PIC Projekten (für Funktionsdecoder und Fahrpulte) hatte ich 
auch zunächst mit ASM begonnen und auch recht anspruchsvolle Anwendungen 
mit Interrupts geschrieben. Nur als ich den PMP Pascal Compiler fand für 
lau und anfing Teile meiner existierenden Programme auf Pascal um zu 
schreiben (was wegen meiner TP Erfahrung sehr schnell ging), bemerkte 
ich dass in der ASM Version unentdeckte Fehler steckten, die mir 
nachträglich so manches "unerwartete" Verhalten erklärten.
Was ich schätze, ist dass man sich bei der Benutzung eines Compilers, da 
unterscheiden sich C und Pascal allerdings nicht, keine Gedanken machen 
muß über Bankumschaltungen, Kontext Sichern in ISRs, in welchen Banken 
lege ich Daten ab, wie optimiere ich Boolsche Variablen, wie verwalte 
ich Indices (bei Vektoren und Arrays), überhaupt das ganze Thema 
Tabellen...usw usw, aber das Gesagte gilt für C genauso wie für Pascal, 
also eigentlich hier offtopics weil es um den Vergleich geht.
Da ich durch das Umschreiben auch sehr gut verfolgen konnte, wie sich 
ASM Code in Pascal änderte, habe ich gelernt dass wenn man in einer 
Hochsprache mit der Assembler-Brille programmiert, man dem Compiler sehr 
viel arbeit abnehmen kann und eine Optimierung durch den Compiler oft 
nicht mehr nötig ist bzw. nicht viel bringt.

Also alles mehr oder weniger Argumente dafür, eine Hochsprache mit einem 
guten Compiler zu benutzen, egal obs nun C oder pascal ist.
Assembler bringt sehr oft bei unseren Hobbyanwendungen bezüglich 
hardware-naher Programmierung nicht viel.

Und mal an Appell an die "Profis":
dies ist ein Hobby-Forum, denke ich mir mal. Beruflich werden sich wohl 
kaum Programmierer in einem Internetforum tummeln, um mich weiter zu 
bilden oder ihre Probleme zu lösen, Studenten mal ausgenommen.
Und deshalb lasst uns gegenseitig bitte so antworten, dass es ALLE 
nachvollziebar verstehen. Das kann man nicht mit Kurzpostings die ein 
Zitat und einen Einzeiler enthalten und schon gar nicht indem man sein 
Gegenüber für blöd hält, und ihn das permanent wissen läßt.

Eine schönen Abend

von Pascal (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Harry L. schrieb:
>> Hans-Georg Lehnard schrieb:
>>> und somit toupper zur Sprache gehört.
>>
>> toupper ist nicht Bestandteil der Sprache C sondern des stdlib!
>> C selbst kennt ohne Library kein toupper.
>
> Aber die stdlib ist Teil der Sprachdefinition C.
> toupper gehört damit genauso zu einem C-System dazu, wie es eine
> for-Schleife tut.

Bestimmt nicht, denn dann müsste toupper im Syntaxdiagramm auftauchen.

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Meine erste Programmiersprache nach Assembler/MC war Pascal.

Nervig ist die episch ausufernde Schreibweise, da ist C herzerfrischend
kurz und präzise. 1 Seite Pascal = 1 Zeile C. Dementsprechend einfacher
ist der Code auch zu lesen.

von Karl H. (kbuchegg)


Lesenswert?

Pascal schrieb:
> Karl Heinz Buchegger schrieb:
>> Harry L. schrieb:
>>> Hans-Georg Lehnard schrieb:
>>>> und somit toupper zur Sprache gehört.
>>>
>>> toupper ist nicht Bestandteil der Sprache C sondern des stdlib!
>>> C selbst kennt ohne Library kein toupper.
>>
>> Aber die stdlib ist Teil der Sprachdefinition C.
>> toupper gehört damit genauso zu einem C-System dazu, wie es eine
>> for-Schleife tut.
>
> Bestimmt nicht, denn dann müsste toupper im Syntaxdiagramm auftauchen.

Schau in die ISO-Norm. Die definiert was C ist.
Die ganzen Funktionen aus der stdlib sind dort aufgeführt, inklusive 
exakter Beschreibung wie sie sich zu verhalten haben. Sie SIND Teil der 
Definition dessen, was C ist. Wie zum Beispiel auch die Definitionen 
über den zur Verfügung zu stellenden Zeichensatz. Der taucht auch in 
deinem Syntaxdiagramm nicht auf.

Was ist denn da drann neues, das Teile einer Sprache in der Sprache 
selber geschrieben werden? Das gibt es doch bei anderen Sprachen 
genauso!

von Kelvin S. (Firma: Keine) (dtx)


Lesenswert?

oldmax schrieb:
> Programmieren hängt nicht an der Sprache, es läuft im Kopf
> ab. Die Sprache ist nur ein Werkzeug. Sicherlich mag es Vorzüge geben,
> aber mir ist es genauso wie den anderen 99,9% der Programmierer wichtig,
> mein Program zu verstehen. Das es ein anderer lesen kann ist erst einmal
> zweitrangig. Und nebenbei: wer eine Aufgabe nicht klar in ein
> xbeliebiges Programm umsetzen kann, der braucht auch nicht irgendeine
> Sprache favorisieren.

Ich habe jetzt beide Beiträge verfolgt und finde das ist mal ne wirklich 
objektive aussage.

Ich spreche zwar nur "gebrochen" c (da ich gerade erst mit µC's anfange) 
und habe mit Pascal keine erfahrungen da ich mich verstärkt mit 
Webanwendungen beschäftigte als ich meine anfänge im bereich 
"Programmierung" hatte.

Meine anfänge dort fand ich recht schnell in php. (Nein das soll jetzt 
kein vergleich der sprachen werden!)
Nun als Anfänger sucht natürlich jeder irgendwann mal nach einer lösung 
für ein problem. Mir wurden dabei von sehr eingefleischten jsp fans 
geraten ich solle php sein lassen und lieber jsp lernen.
Ich habe mich damals nicht sonderlich davon beeinflussen lassen und 
bereue es auch nicht. Der grund dafür ist das man in seiner 
favorisierten sprache früher oder später in der lage sein sollte die 
gestellte aufgabe in code umzusetzen. Ob nun wie in meinem fall beim 
basteln einer Dynamischen Webseite, beim Programmieren von 
Mikrocontrollern oder dem schreiben von anderen Anwendungen der fall 
ist, spielt keine rolle.

Ist zumindest meine bescheidene meinung.

Gut wenn die aufgabe es ABSOLUT UNMÖGLICH MACHT (In irgendeiner form!) 
muss man halt nach einer anderen lösung/sprache suchen.

Ansonsten bleibt es die entscheidung des einzelnen wie oder mit was für 
einer sprache er etwas programmiert solange es den gestellten 
Anforderungen gerecht wird und derjenige mit dem Ergebniss zufrieden 
ist.

oldmax schrieb:
> Es wär schade, wenn du dich hier deswegen ausklinkst und uns eventuell
> interessante Applikationen dadurch verloren gingen.

Dem kann ich nur zustimmen!
Auch wenn ich kein Pascal spreche ist es immer hilfreich zu sehen wie 
andere etwas umsetzen.
Besonders für so leute wie mich die dieses Hobby gerade erst anfangen 
und eventuell weniger Programmiererfahrung haben.

Hier muss man halt ab und an einen beitrag "überlesen".
Ich bin bisher einmal auf unschöne art Beleidigt worden in einem 
beitrag, der aber auch konstruktive kritik enthielt die mir hilfreich 
und informativ war. Zudem bin ich auch in einem Beiträgen sehr sehr 
Positiv überrascht worden da sich alle beteiligten größte mühe gegeben 
haben und sehr geduldig waren. Also nicht unterkriegen lassen! Es gibt 
hier wie du hoffentlich merkst durchaus menschen die sich gerne alles 
ansehen ohne die art der umsetzung zu kritisieren.

So mein Senf dazu auch wenn es OT is!

Schönen abend noch.

lg
DTX

von Bernd K. (koesters60) Benutzerseite


Lesenswert?

Liebes Moderatoren-Team,
es wäre angebracht gewesen für den Moderator einen Kommentar zu setzen, 
warum er den Thread nach OffTopics verschoben hat.

Mein Grund diesen Thread zu starten war, die unseelige Diskussion in dem 
Thread über einen Freeware Pascal Compiler für PICs von der Diskussion 
für oder gegen Pascal bzw C frei zu halten, denn das gehörte da nicht 
hin; für mich unverständlich warum da kein Moderator eingegriffen hat 
und den Thread zB geschlossen hätte als absehbar war dass der Thread 
abgleitet.

Eine sachliche Diskussion über ein Thema der Programmiersprachen für 
PICs ist hier in diesem Forum anscheinend tatsächlich nicht möglich.

adee

von Stefan R. (srand)


Lesenswert?

Pascal schrieb:
> Bestimmt nicht, denn dann müsste toupper im Syntaxdiagramm auftauchen.

Es gibt kein offizielles Syntaxdiagramm. Nur die Norm. Und die normiert 
die Standardbibliothek sehr wohl.

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Kelvin S. schrieb:
> Ich spreche zwar nur "gebrochen" c (da ich gerade erst mit µC's anfange)
> und habe mit Pascal keine erfahrungen da ich mich verstärkt mit
> Webanwendungen beschäftigte als ich meine anfänge im bereich
> "Programmierung" hatte.

Das wird schon ;)

Die ersten 2 Wochen C sind hart, mehrmals wirst Du versuchen, den
PC durch das geschlossene Fenster zu werfen. Dann kommt's so langsam.

> Meine anfänge dort fand ich recht schnell in php. (Nein das soll jetzt
> kein vergleich der sprachen werden!)

PHP habe ich für Websachen auch mal probiert. Es ist halt (gegenüber
C) recht lahm und nebenbei auch in C geschrieben. Also bleibe ich
auch da beim Original (es sind große Webanwendungen mit Datenbanken
selbstgestrickt und SQLite > 1 TB). Ich sehe nicht wie ich das in PHP
realisieren könnte.

Pascal ist mir auch symphatisch, aber halt eine elende Tipperei.
So richtige Unterschiede bestehen zwischen Pascal und C eigentlich
nicht: Beide erzeugen ein lauffähiges Programm und das ensteht aus
meinen Ideen und ist in Maschinencode.

von Falk B. (falk)


Lesenswert?

@Olaf (Gast)

>Ich denke das so langsam der Zeitpunkt kommt sich von C zu verabschieden
>und C++ zu programmieren.

Nö.

> Microcontroller sind heute so leistungsfaehig,
>haben solche Resourcen und die Projekte werden immer dicker, das C da
>einfach irgendwann unuebersichtlich wird.

Nö. Du schielst da nur auf die Embedded Computer mit dicken 32 Bit ARM 
CPUs. Es gibt ein Leben jenseits von 32 Bit.

> Da bietet sich eine
>Objektorientierte Sprache an, einfach weil die Aufgaben die man heute
>loesst SEHR weit vom blinken einer LED entfernt sind. Gleichzeitig wird
>man aber nicht auf die Hardwarenaehe wie sie C bietet verzichten wollen.
>Also sollte man darueber nachdenken auf C++ umzusteigen.

Damit dann noch mehr gejammert werden kann, dass die CPU-Power nicht 
reicht. Wie z.B. hier.

Beitrag "Leistungsstarke Demoprogramme für PanelCard"

Das Problem ist noch aktuell, der ARM9 mit 200 MHz und 64 MB RAM, was 
vor vielen jahren mal eine leistungsstarke Workstation war, ist mit ein 
paar Fenstern und 10 Messwerte/s überfordert. Sagen die Softwwerker :-(

>nimmt man vielleicht ein paar Nachteile gerne in kauf.

Dennoch darf man die Nachteile benennen. Ein etwas substantiellere 
Kritik findet man u.a. hier.

http://www.henning-thielemann.de/CHater.html

von Holm T. (Gast)


Lesenswert?

Harry L. schrieb:
> Hans-Georg Lehnard schrieb:
>> und somit toupper zur Sprache gehört.
>
> toupper ist nicht Bestandteil der Sprache C sondern des stdlib!
> C selbst kennt ohne Library kein toupper.

Sagt Dir der begriff laufzeitBIBLIOTHEK irgend was?
Was genau kann ein Pascal System ohne diese bzw. was ist dann 
Bestandteil der Sprache?

Neugierig,

Holm

von Yalu X. (yalu) (Moderator)


Lesenswert?

Bernd K. schrieb:
> es wäre angebracht gewesen für den Moderator einen Kommentar zu setzen,
> warum er den Thread nach OffTopics verschoben hat.

Den genauen Grund kenne ich auch nicht, habe aber deine Anfrage mal im 
Moderatoren-Thread zur Diskussion gestellt.


Zum Thema selbst:

Bernds N-Bahn schrieb:
> http://www.bernd-leitenberger.de/pascal-und-c.shtml

Der Artikel wurde in anderen Threads schon oft zitiert und diskutiert:

Beitrag "C oder Pascal"
Beitrag "Basic und C - Vergleichstabelle gesucht"
Beitrag "[Delphi] Byte addieren?"
Beitrag "Programmieren für Kinder"

Das Problem: Der Autor ist begeisterter Pascal-Programmierer und hat 
gegenüber C nicht nur eine Abneigung, sondern offensichtlich auch nicht 
allzu viel Ahnung davon. Der Artikel kann also nur verzerrt sein. 
Einige Aussagen sind schlicht und ergreifend falsch. Einige der 
aufgeführten Nachteile von C, die in der Praxis praktisch nie auftreten, 
werden unsinnig breit getreten.

Wenn der Artikel aber andere begeisterte Pascal-Programmierer in ihrer 
Entscheidung bestätigt und ihre Begeisterung für Pascal noch steigert, 
ist das IMHO voll in Ordnung. Es gibt nichts Schlimmeres, als bei einer 
einmal getroffenen Entscheidung ständig im Zweifel zu sein, ob sie auch 
richtig war. Die C-Programmierer finden bei Bedarf sicher auch einen 
Artikel, der ihre Entscheidung bestätigt. Man sollte den Artikel eben 
nur nicht als die einen objektiven Vergleich der beiden Sprachen 
hinstellen.

Generell haben alle Artikel der Sorte "Warum ist Programmiersprache A 
viel besser als Programmiersprache B" die Eigenschaft, dass sie nur die 
Vorteile von A und die Nachteile von B aufführen. Besser, aber leider 
sehr selten, sind Artikel von Autoren, die zwei unterschiedliche 
Programmiersprachen gleich gut beherrschen und zu etwa gleichen Teilen 
einsetzen. Sie kennen damit von beiden die Vorteile und Nachteile und 
sind auch bereit, diese anzusprechen. Es gibt bspw. viele Leute, die 
sowohl in C als auch Python oder Ruby programmieren. Von denen behauptet 
kaum einer, dass eine der beiden Sprache absolut top und die andere ein 
totaler Fail ist. Sie kennen aber von beiden die Grenzen und wissen, 
wann sie besser die eine und wann die andere einsetzen.

Auch wenn die ständigen, sehr kontroversen Diskussionen über Pascal vs. 
C einen anderen Schluss nahelegen, sind die beiden Sprachen so ähnlich, 
dass es sich für die wenigsten lohnt, alle beide aktiv zu nutzen. 
Deswegen legt man sich irgendwann auf maximal eine davon fest und hat 
nach dieser Entscheidung logischerweise kaum noch positive Argumente für 
die jeweils andere Sprache parat. Genau aus diesem Grund wird es auch 
kaum gelingen, einen C-Programmierer zu Pascal zu bekehren oder 
umgekehrt.

Wenn aber doch jemand von einer dieser Sprachen auf die andere umsteigt, 
dann meist von Pascal nach C und nicht umgekehrt. Ich selber und einige 
aus meinem Bekanntenkreis gehören zu dieser Gruppe. Ich kenne aber 
niemanden, der den umgekehrten Weg beschritten hat. Ein Grund liegt 
sicher darin, dass C von Arbeitgebern stärker nachgefragt wird. Bei mir 
persönlich war es aber eine freie Entscheidung, denn C gefällt mir trotz 
der paar Nachteile subjektiv einfach viel besser. Wenn dir Pascal 
besser gefällt, habe ich damit aber auch kein Problem.

von Falk B. (falk)


Lesenswert?


von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Falk Brunner schrieb:
> http://www.wackerart.de/c.html

Ja - schön und gut.

Ich mag aber das Unvollkommene. Ich fahre auch alte Motorräder
und so ein Geraffel. Ich bin weder mit Pascal noch C an Grenzen
der Maschine gekommen. Es ist eine Gefühlssache und eigentlich
doch nur ein Werkzeug. Zu behaupten "das ist besser" halte ich
für sinnfrei bis blödsinnig.

von Bernd K. (koesters60) Benutzerseite


Lesenswert?

danke für die Antwort  des Moderators Yalu X.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Vollständigkeit halber möchte ich noch hierauf hinweisen
Beitrag "Ein sachlicher Vergleich Pascal <-> C"
wo ich meine Beweggründe für das Verschieben dargelegt habe.

Yalu hat die wesentlichen Kritikpunkte schon vorweggenommen (ohne daß 
wir uns darüber abgesprochen hätten).

von Kelvin S. (Firma: Keine) (dtx)


Lesenswert?

Joachim Drechsel schrieb:
> Die ersten 2 Wochen C sind hart, mehrmals wirst Du versuchen, den
> PC durch das geschlossene Fenster zu werfen. Dann kommt's so langsam.

Das würde ich ja am liebsten schon wegen des Kanada Adapters den ich mir 
nachbauen wollte der aber absolut nicht macht was er soll g Aber das 
ist ein anderes Thema.

Ich hab ja den (sehr kleinen) Vorteil das ich den Syntax in c schon 
recht fließend  lesen kann da ich weiß wo was beginnt und endet. Mit der 
Funktionsreferenz bin ich noch nicht durch aber das wird noch, hab ja 
zeit.

> PHP habe ich für Websachen auch mal probiert. Es ist halt (gegenüber
> C) recht lahm und nebenbei auch in C geschrieben. Also bleibe ich
> auch da beim Original (es sind große Webanwendungen mit Datenbanken
> selbstgestrickt und SQLite > 1 TB). Ich sehe nicht wie ich das in PHP
> realisieren könnte.

Nun ich habe bisher meist privat mit php gearbeitet und brauche 
natürlich nicht gerade > 1TB. Würde mich aber interessieren für was man 
solche mengen an Programmcode für die Funktionalität braucht. Für meine 
Projekte wurde es natürlich mit steigendem know-how auch weniger Code 
und entsprechend weniger speicherintensiv.

> So richtige Unterschiede bestehen zwischen Pascal und C eigentlich
> nicht: Beide erzeugen ein lauffähiges Programm und das ensteht aus
> meinen Ideen und ist in Maschinencode.

Kann ich nicht beurteilen ob es Unterschiede gibt.
Zumindest nicht was die sprachen angeht. (Syntax, Funktionsaufrufe, 
Arrays, Strings ect.)
Das aus beiden sprachen ein lauffähiges Programm erzeugen und beim 
Kompilieren Maschinencode erzeugt ist ja grundvorraussetzung um µC's zu 
Programmieren.

Yalu X. schrieb:
> Den genauen Grund kenne ich auch nicht, habe aber deine Anfrage mal im
> Moderatoren-Thread zur Diskussion gestellt.

Finde ich klasse!

P.S
Ja php war früher nur eine Sammlung von C Scripten als es begonnen hat 
und mit heute auch nicht zu vergleichen. Das wurde mir von jemandem 
schon recht früh so gesagt.

Ah wenn du jetzt alleine auf die SQLite Datenbank ansprichst dann 
verstehe ich natürlich das man da lieber mit C arbeitet. php ist bei 
Dateizugriffen wirklich langsam.

von Falk B. (falk)


Lesenswert?

@Joachim Drechsel (Firma: JDCC) (scheppertreiber)

>> http://www.wackerart.de/c.html

>Ja - schön und gut.

>Ich mag aber das Unvollkommene.

Als Hobbydarf man das sicher. Als Produktivmittel will das KEINER!

> Ich fahre auch alte Motorräder
>und so ein Geraffel. Ich bin weder mit Pascal noch C an Grenzen
>der Maschine gekommen. Es ist eine Gefühlssache

Bist du eine Frau?

>und eigentlich
>doch nur ein Werkzeug. Zu behaupten "das ist besser" halte ich
>für sinnfrei bis blödsinnig.

Aha, also Wattebällchgenwerfer. Wir haben uns alle lieb. OMG!

von Thomas E. (thomase)


Lesenswert?

Joachim Drechsel schrieb:
> Zu behaupten "das ist besser" halte ich
> für sinnfrei bis blödsinnig.
Sehe ich zu 50% auch so. Trifft eben nur auf Pascal zu.

mfg.

von Daniel -. (root)


Lesenswert?

Einen sachlichen Vergleich Pascal<->C kann es hier nicht geben. Es wird 
zu emotional argumentiert. Von der Denkweise stehen Pascal und C sehr 
sehr nahe. Das eine auf das andere umzusetzen ist beinahe mechanische 
Angelegenheit. C++ nach ObjectPascal abzubilden ist schon schwierigeres 
Unterfangen. Ein mit lambda's gespickter Python code, mit lokalen 
Funktionen, Decoratoren, heterogenen Containern etc. auf C/Pascal 
abzubilden ist mit grössten Mühe möglich .. wenn lazy evaluation noch 
ins Spiel kommt, dann fühlen sich Pascal und C beide wie Klotz am Bein 
an.
=> Es lohnt sich nicht darüber ausufernd zu diskutieren :)

von Axel S. (a-za-z0-9)


Lesenswert?

Yalu X. schrieb:

> Wenn aber doch jemand von einer dieser Sprachen auf die andere umsteigt,
> dann meist von Pascal nach C und nicht umgekehrt. Ich selber und einige
> aus meinem Bekanntenkreis gehören zu dieser Gruppe.

<Hand heb>

Und in meinem Fall kann ich auch ganz klar einen Schuldigen benennen: 
(Turbo) Pascal hat sich selber disqualifiziert. Und das kam so:

Meine "Karriere" begann mit einem obskuren Basic-Dialekt (KC-Basic). 
Wurde schnell ergänzt durch Z80 Assembler, später CBM-Basic und 6502 
Assembler. Dann kam lange Zeit nichts. Dann eine ausgewachsene 
CP/M-Möhre (BC5120 - googled das ruhig mal) und da wurde nebem Assembler 
Turbo-Pascal die "andere" Programmiersprache. Wieder einige Zeit später 
kam mein erster PC - ein 486er mit DOS/Win3.11. Und jetzt war TP 5.0/6.0 
die Programmiersprache der Wahl. Obwohl ich als Student Modula-2 machen 
muß^Wdurfte.

Mit dem tieferen Verständnis kam auch die erste Unzufriedenheit. Der 
TP-Compiler war zwar rattenschnell, aber auch strunzdoof. So wurde z.B.
1
Integer x=0, y=0;

zu (sinngemäß, aus dem Gedächtnis)
1
MOV AX, 0
2
MOV [x], AX
3
MOV AX, 0
4
MOV [y], AX

Der Compiler konnte sich nicht von jetzt auf gleich merken, daß AX schon 
0 enthält. Und das ist nur ein simples Beispiel.

Ein anderes Ärgernis waren die Limitierungen der Architektur von 
Hardware/Betriebssystem. Man mußte sich zwischen Speichermodellen wie 
Small (Code + Daten < 64K), Compact, Large etc. entscheiden. Aber 
Datenstrukturen mit mehr als 64K am Stück gingen niemals. Für einen 
Mathe-Studenten der gerne mal das Sieb von Eratosthenes für große Zahlen 
programmieren wollte, oder richtig große Fraktale, für den war das eine 
Zumutung.

Noch einer: Rekursion mit einem Fließkomma-wertigen Funktion scheiterte 
regelmäßig mit runtime error 207 am viel zu kleinen Stack des 80x87 (8 
Ebenen und Borland brachte es nicht auf die Reihe, das über den normalen 
Stack abzuwickeln).

Tja. Und dann kam der Tag, als ich mein Login für die dicken UNIX-Hobel 
(RS6000 mit AIX) bekam. Da gabs kein Pascal (mit oder ohne "Turbo"). Da 
gabs C. OK, C war anders. Der Compiler langsam. Der Debugger eine 
Zumutung (verglichen mit TDB). Aber ich konnte z.B. ein 1MB großes Array 
anlegen. Und flott waren die Kisten auch.

Und noch etwas später installierte ich mein erstes Linux (Kernel 
0.97.irgendwas). Da gabs auch kein Pascal. Dafür einen super C compiler. 
Und die Programme waren für Linux und AIX praktisch gleich.

Und wohin ich auch kam und was ich mir ansah - überall gab es C. Turbo 
Pascal hingegen nur für x86 und DOS/Windows. Auch als dann in der 
PC-Welt die DOS-Extender den Durchbruch schafften und das flat memory 
model die unsägliche Segmentierung killte - gabs das nur für C.

Langer Rede kurzer Sinn: Pascal gabs schlicht nicht auf den von mir 
präferierten Systemen. Und da C praktisch gleichwertig war, bin ich halt 
zu C gewechselt. Und bis Borland (die dann schon anders hießen) es 
geschnallt hatten, daß sie sich mit ihrer nur-eine-Plattform Strategie 
selbst in den Fuß schießen, war es zu spät.


XL

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Axel Schwenke schrieb:
> Pascal gabs
Das stimmt.

"Pascal vs C" ist eigentlich wie "Latein vs Englisch"

Es gibt noch ein paar wenige, die Latein (Pascal) sprechen, aber mit 
Englisch (C) kommt man weltweit besser zurecht. Und für Englisch (C) 
finde ich jederzeit einen guten Übersetzer (Compiler) in die jeweilige 
Landessprache (Zielplattform). Welche Sprache ist also die nützlichere?

von Falk B. (falk)


Lesenswert?

Q.E.D.

;-)

von Vlad T. (vlad_tepesch)


Lesenswert?

Folgender Text beinhaltet keine Wertung über bessere Eignung von C oder 
Pascal!


Bernd K. schrieb:
> http://www.bernd-leitenberger.de/pascal-und-c.shtml

Also ich weiß nicht. Ich hab ein paar Absätze überflogen.

die meisten Argumente, warum C nicht so toll ist, waren nach dem Motto 
"C macht es anders als Pascal, deshalb ist es doof".

Manche Argumente sind einfach falsch:
> In C sind Strings Zeiger auf eine Zeichentabelle.
> Alles, worauf sie zeigen, wird als Zeichentabelle interpretiert
> (auch wenn es keine ist).
> Die Länge ist so dynamisch und das Ende wird durch das
> Zeichen 0 festgelegt.


Zudem unterstellt der Autor Kerninghan, er hätte Pascal nicht 
verstanden.
Schon im ersten Beispiel zeigt er Autor, dass für ihn bei C das selbe 
gilt und dass er selbst von C auch nicht viel Erfahrung zu haben 
scheint:
1
char * StringToUpper(char * zeile)
2
{
3
  char * temp;
4
  int i;
5
  int p = strlen(zeile);
6
  temp = (char *) malloc(p);
7
  for (i=0; zeile[i]!=0 && i<256; i++)
8
    if (zeile[i]>='a' && zeile[i]<='z')
9
      temp[i]=(char) zeile[i]-32; else  temp[i]=zeile[i];
10
  temp[i]=0;
11
  return temp;
12
}
Sowas würde nur ein absoluter C-Anfänger schreiben.
Zumal sie für Strings mit Länge >=256 gar nicht funktioniert.


Sorry, aber den Autor kann man nicht ernst nehmen.
Und ja, ich mag Delphi und finde einige Sprachfeatures sehr interessant, 
zB die Properties. Sowas würde ich mir für C++ wünschen, anstatt dieser 
dummen expliziten Getter und Setter Methoden.

von Winfried J. (Firma: Nisch-Aufzüge) (winne) Benutzerseite


Lesenswert?

Für mich war immer die Möglichckeit jeden Opcode zu generieren 
entscheidend,volle Zustandskotrolle inclusive der Möglichkeit eigene 
Funktionen in assembler (möglichst inline) einzubinden eine wichtiges 
Argument.

So kam ich von ASM über Basic Pascal Forth letztlich auch bei C an wobei 
ich gern möglichst nah an den basis funktionen bleibe und Klassen und 
unüberschtlichen (schlecht dokumentierten) Bibliotheksfunktionen 
möglichst meide, außer ich habe sie selbst verzapft. ;)

Namaste

von Vlad T. (vlad_tepesch)


Lesenswert?

Oh mann, je länger man da drüberfliegt, desto mehr unsinn findet man:

> Unions
> gibt es nur in C.
> Es sind Bitfelder mit denen man die einzelnen
> Bits eines Bytes ansprechen kann.

oder

> Arrays
> Arrays sind in Pascal zuerst einmal statisch, während man
> in C Arrays als Zeiger auf Speicherbereiche aufpasst,
> die man als Arrays interpretiert.

oder

> static ist einmal eine lokale Variable auf dem Heap [wirklich?]
immerhin scheint der Autor hier zuzugeben, dass er eigentlich überhaupt 
keine Ahnung von dem hat, über das er hier schreibt.

sorry, aber wenn man keine Ahnung hat, sollte man einfach nicht so einen 
Dummen Artikel schreiben.

Edit:
mir fällt gerade auf, die Stringfunktion oben funktioniert überhaupt 
nicht und schreibt lustig quer in den Speicher.

von Martin V. (oldmax)


Lesenswert?

Lothar Miller schrieb:
> "Pascal vs C" ist eigentlich wie "Latein vs Englisch"

In vinum veritas

Interessant ist schon die Diskussion... wenn man bedenkt, das es 
eigentlich um PIC's geht und ein Free-Pascal. Wow, Delphi Respekt.
C++ war auch schon im Gespräch, Forth.
Also, sollte mal der Tag kommen, wo mit VB oder Delphi ein ATMEL 
gefüttert wird: ich bin dabei. Ich schätze aber, das ich vermutlich 
vorher perfekt C spreche.
Und jetzt gönn ich mir nach einem arbeitsreichen Tag ein Gläschen von 
dem edlen Roten....
Gruß oldmax

von Joachim D. (Firma: JDCC) (scheppertreiber)


Lesenswert?

Vlad Tepesch schrieb:
> int p = strlen(zeile);

Du hast recht - Anfängerfehler ;)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Nun ja, mit Pascal kann man einen STM32 proggen (Cortex-M3). Dennoch 
würde ich es nie machen. Alleine schon deshalb, weil ST die Header 
Dateien zur Peripherie nur für C liefert.

Hingegen PC Programme schreibe ich lieber in Pascal (Lazarus). Irgendwie 
komme ich da viel schneller zum Ziel als mit C++, und ja, ich finde das 
in Pascal geschriebene Programm etwas übersichtlicher als der C-Code.
(Siehe mein Programm EleLa, in Lazarus geschrieben, kompiliert für 
Win32/64 und Linux32/64.)

Ich würde für Mikrocontroller niemals Pascal nehmen, denn Codevorlagen 
und Infos sind im WWW alle samt (meistens) in C. Oder bei Fragen im 
Forum für Mikrocontroller besteht auch eine deutlich höhere Chance einer 
richtigen Antwort, wenn ich in C progge. Auch portieren von Code zu 
einem anderen Controller (AVR>ARM>PIC) ist bei C einfacher.

Ich mag beide Sprachen, beide haben Vor- und Nachteile. Ich meine C ist 
etwas für Mikrocontroller um möglichst Hardware nah zu proggen, Pascal 
eher was für PC's mit GUI und Tastatur/Mausbedienung und den vielen 
Controls in der Form. Bei Lazarus/Delphi ist das Formular und der 
Quelltext eine Einheit, die gegenseitig im IDE Editor richtig gut und 
intuitiv unterstützt werden.

Wenn es C nicht gäbe und alle würden die Mikrocontroller in Pascal 
proggen, dann wäre das auch in Ordnung. Hingegen wenn es Pascal nicht 
gäbe würde ich schon was vermissen.

von Timm T. (Gast)


Lesenswert?

Ich hab zwar seit Jahren kein Pascal mehr gemacht, könnte mir aber 
vorstellen, dass diese gut strukturierte Sprache sich sehr für die 
Programmierung von µCs eignet.

Gibt es einen Pascal-Compiler für AVRs (Tiny und Mega), der sinnvoll 
einsetzbar ist, oder sind das nur akademische Überlegungen?

von Vlad T. (vlad_tepesch)


Lesenswert?

Joachim Drechsel schrieb:
> Vlad Tepesch schrieb:
>> int p = strlen(zeile);
>
> Du hast recht - Anfängerfehler ;)

in fast jeder Zeile dieses Code-Schnippsels ist ein Fehler, ganz zu 
schweigen von dem Designfehler, dass die Funktion Speicher vom Heap 
holt.

von Jobst Q. (joquis)


Lesenswert?

Oder die for-Schleife ohne {}, ich wusste garnicht,dass das geht. Da 
fragt man sich, wie weit geht denn die Schleife. Da C sehr konsistent 
ist, ist es klar, bis zum ';'. Aber Übersichtlich ist etwas anderes.

Man kann in C ziemlich viel Mist bauen, und man kann sich damit das 
Leben schwer machen, aber niemand zwingt einen dazu, es ist 
Eigenverantwortung. Es ist nichts für Leute, die immer eine überwachende 
Instanz brauchen.

von Michael K. (aemkai)


Lesenswert?

Zitat aus dem verlinkten Artikel:
"Auch sonst sind [Anm.: in Pascal] selbst einfache Deklarationen dem 
Verstand des Nutzers angepasst. Was ist verständlicher "var temp: 
String" oder "char temp [256]"? Im ersten Fall kann man die Angabe fast 
wörtlich lesen. "Die Variable Temp ist ein String". Dagegen tauscht C 
die Definition um und deklariert den Variablentyp zuerst, und bei den 
Arrays wird es undurchsichtig, da die Dimension nicht am Variablentyp 
sondern am Name hängt."

Unglücklich formuliert, klingt aber wie: PASCAL ist für Dumme :-)

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Timm Thaler schrieb:
> Gibt es einen Pascal-Compiler für AVRs (Tiny und Mega), der sinnvoll
> einsetzbar ist, oder sind das nur akademische Überlegungen?

http://www.e-lab.de/AVRco/index.html

von Paul B. (paul_baumann)


Lesenswert?

Michael K. schrub:
>Unglücklich formuliert, klingt aber wie: PASCAL ist für Dumme :-)

Nein, Pascal ist für Leute gemacht worden, die sich nicht den Kopf mit
überflüssigen Verhaltensmaßregeln vollstopfen wollten.
Eine Programmiersprache ist ein Werkzeugkasten. Da will ich nicht erst
selbst Werkzeuge konstruieren müssen und an das Werkstück (den 
Algorithmus
des Programmes) anpassen müssen.

C ist ein Sammelsurium aus einzelnen Nüssen, Bits und Inbusschlüsseln
-aber die Knarre fehlt.

MfG Paul

von Vlad T. (vlad_tepesch)


Lesenswert?

Paul Baumann schrieb:
> aber die Knarre fehlt.

aber ich dachte mit genau der schießt man sich bei C super einfach 
wahlweise den eigenen Fuß oder das Knie.

Ich denke die Sinnlosigkeit der Diskussion, was ist besser ist, wird nur 
noch von dem verlinkten Artikel übertroffen.
Der ist einfach einseitig und unfundiert, bzw einfach falsch.

die hingegen hat einen waren Kern und regt zum Schmunzeln an.
http://www.henning-thielemann.de/CHater.html

von Axel S. (a-za-z0-9)


Lesenswert?

Sehe ich es nur nicht, oder wurde dieser Text

http://www.leo.org/information/freizeit/fun/pascal.html

tatsächlich noch nicht verlinkt?

von Claus M. (energy)


Lesenswert?

Hundt schrieb:
> Ich habe als Schüler ein Pascal-Programm geschrieben um meine
> Lateinvokabeln zu trainieren.
>
> Ich musste dann das Programm in zwei Programme aufteilen, weil er in
> einem Programm nicht genug CASE-Fälle bearbeiten kann.
>
> Ich habe das Programm mit CASE-Fällen geschrieben.

LoL, weil Du nicht weißt wie man das Problem richtig löst ist die 
Sprache scheiße?

von J. S. (engineer) Benutzerseite


Lesenswert?

Paul Baumann schrieb:
> C ist ein Sammelsurium aus einzelnen Nüssen, Bits und Inbusschlüsseln
> -aber die Knarre fehlt.
Da muss man eben mit den Fingern fummeln :-)

Im Ernst: C hat so wenige Befehle, dass man sich das binnen einiger Tage 
oder maximal Wochen antun kann. Es kommt letztlich wie bei allen 
Programmiersprachen auf die Methoden an, die man kennt und applizieren 
kann und diese kosten die Zeit der Einarbeitung in die Programmierung. 
Die Offenheit und Erweiterbarkeit von C ist dabei das schlagende 
Argument gegenüber Pascal, wenn es um komplexere Funktionen sowie das 
Anpassen an die Aufgabe geht.

Diese impliziert allerdings auch, dass es bei C infolge der mangelnden 
Rahmenvorgaben zu sehr vielen individuellen Sonderlösungen kommt, von 
denen nicht wenige suboptimal sind, da sie von den Kenntnissen des 
Entwickler abhängen. Besonders bei Echtzeitsystemen gibt es da viele 
Sonderlocken, die wegfallen und sich vereinfachen, wenn man in C++ 
arbeitet, wo viele Dinge vorgegeben und standardisiert sind. Auch wenn 
die Standardlösungen in C++ im Bezug auf Echtzeit- und 
Multitaskingfähigkeit dann objektiv gesehen nicht optimal sind, 
empfehlen sie sich dennoch im Hinblick auf Einarbeitung, Lesbarkeit, 
Wiederverwertbarkeit und Testbarkeit.

Letztlich brauche ich persönlich keine zig Programmiersprachen und vor 
allem keine einfachen mehr, da heutige Anwendungen immer komplexer und 
grösser werden. Daher habe ich ASM, PASCAL und TURBOPASCAL gedropped. 
Umgekehrt habe ich nie C# angefangen, einzig JAVA und Python sind/wären 
interessant.

von Klaus I. (klauspi)


Lesenswert?

Hmm, ich bin ja nur Hobby-Anwender und momentan mit LunaAvr-Basic sehr 
zufrieden. Konnte sogar in kurzer Zeit LEDs anzünden ohne hier ständig 
nachzufragen ;o)

Das mit dem PIC-Pascal finde ich sehr interessant, damit könnte ich mich 
zukünftig auch evtl. mit PICs näher beschäftigen.

Natürlich sehe ich auch die Vorteile von C, gerade im professionellem 
Bereich.

Da ich mich da aber nur oberflächlich damit beschäftigt habe, frage ich 
mich immer: Warum oft C empfohlen wird, dagegen aber Assembler nur 
selten erwähnt wird?

von Uhu U. (uhu)


Lesenswert?

Klaus I. schrieb:
> Warum oft C empfohlen wird, dagegen aber Assembler nur selten erwähnt
> wird?

Weil Assemblerprogrammierung zu fehlerträchtig, zu schlecht pflegbar und 
zu teuer für professionelle Anwendung ist und weil heutige Compiler 
meist besseren Code erzeugen, als es ein durchschnittlicher 
ASM-Programmierer hinbekommt.

von Hans-Georg L. (h-g-l)


Lesenswert?

oldmax schrieb:
> aber mir ist es genauso wie den anderen 99,9% der Programmierer wichtig,
> mein Program zu verstehen. Das es ein anderer lesen kann ist erst einmal
> zweitrangig. Und nebenbei: wer eine Aufgabe nicht klar in ein
> xbeliebiges Programm umsetzen kann, der braucht auch nicht irgendeine
> Sprache favorisieren.

Leider tauchen von diesen Superstars immer mal welche in "echten" Firmen 
auf und verursachen dort sehr hohe Kosten wenn Softwareänderungen 
anstehen, wenn sie mal krank werden oder die Firma verlassen.

von Martin V. (oldmax)


Lesenswert?

Hi
Wenn ein Programmierer sich in Gedankengänge anderer einarbeiten muss, 
sind das immer Kosten. Ich schrieb übrigends auch, das es Firmen gibt, 
deren Bedingungen bei Einstellung eine vorgegebene Sprache ist. Sorry, 
es wird lächerlich ständig z u behaupten, die Weltreligion heißt C und 
alles andere ist Heidentum.
Es ist doch unstrittig, das C seine Verbreitung und auch 
Daseínsberechtigung hat, doch die Lesbarkeit ist in der Regel erst durch 
richtige Kommentierung gegeben. Sprachen wie BAsic und Pascal laufen 
zwar unter "selbsterklärend" aber warum eine Aufgabe in einer bestimten 
Art gelöst ist, wird erst durch eine entsprechende Kommentierung klar. 
Assembler ist, wenn es gut dokumentiert ist, auch nicht schlechter 
Lesbar wie C. Kommt natürlich auch auf den Programmierer an, wie tief er 
drin steckt. Und das gilt für jede Sprache. Wenn ich täglich mit C zu 
tun hätte, wären das für mich auch keine abstrakten Satzgebilde. Ich 
kann kein C, aber deshalb mache ich es doch nicht schlecht. Schließlich 
ist dieser Umstand meiner Faulheit zu verdanken. Aber ich bläh mich 
jetzt nicht wie ein Frosch auf und klopf mir auf die Schulter, weil ich 
so ein guter Assemblierer bin. Oder in den Steuerungssprachen meine Welt 
habe. Je mehr auf einer Programmiersprache beharrt wird, umso mehr ist 
dies für mich einZeichen, das die von euch erwünschte Beachtung doch auf 
einem sehr begrenzten Blickwinkel basiert.
Die Welt ist eben nicht schwarzweiß, sie ist bunt.
Gruß oldmax

von Uhu U. (uhu)


Lesenswert?

Martin Vogel schrieb:
> Assembler ist, wenn es gut dokumentiert ist, auch nicht schlechter
> Lesbar wie C.

Nur liest man dann nicht den ASM-Code, sondern die Kommentare - das 
Programm muß also quasi zweimal geschrieben werden: einmal so, daß der 
Assembler was damit anfangen kann und dann nochmal auf Deutsch, 
Englisch, oder was auch immer.

Diese Redundanz erweist sich dann spätestens beim ersten großen Umbau 
als Fatal und aus dem Mist, der dann dort steht, wird keiner mehr klug 
und das Programm macht sowieso was ganz anderes...

von Falk B. (falk)


Lesenswert?

Eben, darum sind gute Programme in weiten teilen selbsterklärend bzw. 
dokumentierend. Dennoch braucht man Kommentare im richtigen Mass an der 
richtigen Stelle.

Strukturierte Programmierung auf Mikrocontrollern

von Martin V. (oldmax)


Lesenswert?

Hi

Uhu Uhuhu schrieb:
> Martin Vogel schrieb:
>> Assembler ist, wenn es gut dokumentiert ist, auch nicht schlechter
>> Lesbar wie C.
>
> Nur liest man dann nicht den ASM-Code, sondern die Kommentare - das
> Programm muß also quasi zweimal geschrieben werden: einmal so, daß der
> Assembler was damit anfangen kann und dann nochmal auf Deutsch,
> Englisch, oder was auch immer.
>
> Diese Redundanz erweist sich dann spätestens beim ersten großen Umbau
> als Fatal und aus dem Mist, der dann dort steht, wird keiner mehr klug
> und das Programm macht sowieso was ganz anderes...

Wer sagt denn, das eine Dokumentation ausschließlich aus Kommentaren 
besteht? Und wenn ein Programm zweimal geschrieben werden muss, ist die 
erste Version sowieso Schrott. So wie du in C die Zeilen liest, list ein 
mit Assembler vertrauter Programmierer eben Assembler. Und ja, manchmal 
muß man ein wenig nachdenken, um sich über den ein oder anderen Sinn ein 
Bild zu machen. Aber das trifft auf C genauso zu. Erzähl mir nicht, du 
durchschaust ein C Programm eines Kollegen sofort.
Aber das ist auch völlig witzlos, denn es geht nicht darum, der Welt die 
einzig wahre Programmierung zu verklickern, sondern eben auch zu 
verstehen, das es doch tatsächlich Typen gibt, die sich in einer anderen 
Sprache üben. Ich brauche keinen Vergleich X mit Y. Wozu? Warum soll ich 
einer Gemeinde angehören? Warum soll ich Andersdenkende missachten? 
Warum soll ich etwas schlechtreden, weil es etwas meinen Horizont 
übersteigt. C ist doch OK, wenn man es kann und damit seine Aufgaben 
erledigt. Warum zitierst du einen Satz aus dem Zusammenhang gezogen und 
packst einen nicht grad professionellen Kommentar dazu? Versuch dir mal 
die Antwort selbst zu geben.. viel Spaß dabei.
Gruß oldmax

von Uhu U. (uhu)


Lesenswert?

Martin Vogel schrieb:
> Wer sagt denn, das eine Dokumentation ausschließlich aus Kommentaren
> besteht?

In Assembler? Na das will ich sehen...

> So wie du in C die Zeilen liest, list ein
> mit Assembler vertrauter Programmierer eben Assembler.

Ach ja? Ich habe lange genug beruflich ASM programmiert, um zu wissen, 
daß es nicht so ist.

Nehmen wir als Beispiel eine etwas kompliziertere mathematische Formel. 
Bis die ein ASM-Programmierer aus dem ASM-Quelltext extrahiert hat, hat 
der Hochsprachler schon die nächsten 50 Formeln überprüft.

> Aber das trifft auf C genauso zu. Erzähl mir nicht, du
> durchschaust ein C Programm eines Kollegen sofort.

Wir brauchen uns da garnicht auf C einzuschießen, denn dieselben 
Argumente gelten für alle Hochsprachen:

- ASM ist an der Funktionsweise von Prozessoren orientiert - ein
  ASM-Befehl ist selten mehr, als ein Maschinenbefehl
- Der menschliche Verstand funktioniert völlig anders, als ein Prozessor
- Hochsprachen sind Vehikel, die aus formalisiert formulierten
  menschlichen Gedanken ein Maschinenprogramm machen, das äquivalent
  zur Formulierung in der Hochsprache ist.

> Erzähl mir nicht, du
> durchschaust ein C Programm eines Kollegen sofort.

Aber wenn ein erfahrener Programmierer eine Datenstruktur, wie z.B. ein 
Dictionary sieht, dann weiß er sofort, was da gespielt wird.

Das entsprechende Konstrukt in ASM kann er nur anhand von Kommentaren 
als das erkennen, was es - hoffentlich - ist und bis er das begriffen 
hat, ist der Hochsprachler schon 20 Seiten weiter - im Hochsprach-Text 
wohlgemerkt.


Wenn man deine Argumentationsweise für ASM auf Verkehrsmittel übertragen 
würde, käme ungefähr sowas raus:

- Eisenbahnen braucht man eigentlich nicht - Ochsenkarren tuns auch
- Autos sind völlig überflüssig - man kann auch laufen

Schwachsinn? Ja klar...

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Ich habe das Gefühl, alles läuft hier auf einen Schwanzvergleich hinaus. 
Dabei ist doch der Vergleich
- Pascal gegen C
- Assembler gegen C
schon entschieden :-)
http://www.social-media-schwanzvergleich.de/

von Michael K. (aemkai)


Lesenswert?

Paul Baumann schrieb:
> Michael K. schrub:
>>Unglücklich formuliert, klingt aber wie: PASCAL ist für Dumme :-)
>
> Nein, Pascal ist für Leute gemacht worden, die sich nicht den Kopf mit
> überflüssigen Verhaltensmaßregeln vollstopfen wollten.[...]
Ich wollte eigtl. nur die "sachliche" Diskussion auflockern - konnte ja 
nicht ahnen, dass sowas (selbst am Freitag) ernst genommen wird...

Zum Thema:
Unabhängig von der Programmiersprache gibt es überall Spezis, die duch 
Ihren Stil und exzessiven Einsatz irgendwelcher Features einen Quelltext 
unlesbar machen können.
Letztendlich hat auch in Programmiersprachen jeder seinen "Dialekt", den 
ein anderer erstmal verstehen muss.

von Martin V. (oldmax)


Lesenswert?

Hi
> Letztendlich hat auch in Programmiersprachen jeder seinen "Dialekt", den
> ein anderer erstmal verstehen muss.

Der versteht mich....
Gruß oldmax

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter II schrieb:
> Wenn er hat zwar Ahnung von vielen dingen aber nicht von C. Und wie soll
> er das etwas sachliches über C schreiben?

Das habe ich mich dabei auch gefragt.

Außerdem unterstellt er (zumindest unterschwellig), dass C sich nach
Pascal entwickelt hätte und bewusst anders sein wollte.  In
Wirklichkeit haben sich beide Sprachen ziemlich nebenher entwickelt
(Wikipedia nennt für Pascal 1972, Unix und C sind Anfang der 1970er
Jahre entstanden).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.