1. Foren
  2. Kommentare
  3. Software-Entwicklung
  4. Alle Kommentare zum Artikel
  5. › Freier Pascal-Compiler in…

Nachteile von Pascal gegenüber C/C++

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


  1. Nachteile von Pascal gegenüber C/C++

    Autor: ch 11.09.07 - 10:20

    Was die Vorteile von Free Pascal sind, habe ich auf der Webseite nachgelesen. Das klingt überzeugend. Ich frage mich nun, wo die *technischen* Nachteile von Free Pascal (nicht dem alten Urpascal) gegenüber von C/C++ sind, also *außer* den offensichtlichen, dass C/C++ eben Quasi-Standard ist und es daher viel einfacher ist, damit an vorhandenen Code anzuschließen.

  2. Re: Nachteile von Pascal gegenüber C/C++

    Autor: ufas 11.09.07 - 10:29

    gewisse Leute finden das ein Block mit Begin und End zu mühsam zu schreiben ist.
    Dafür kann man den Code lesen...

    Bezüglich des vorhandenen Codes:
    da gibt es auch für Pascal jede Menge (es war ja mal der Quasi-Standard)

  3. Re: Nachteile von Pascal gegenüber C/C++

    Autor: spd_sagt_ja_zu_onlinedurchsuchung 11.09.07 - 10:45

    ufas schrieb:
    -------------------------------------------------------
    > gewisse Leute finden das ein Block mit Begin und
    > End zu mühsam zu schreiben ist.
    > Dafür kann man den Code lesen...
    >
    > Bezüglich des vorhandenen Codes:
    > da gibt es auch für Pascal jede Menge (es war ja
    > mal der Quasi-Standard)

    Ich arbeite seit Jahren mit Objectpascal und C/C++ (Auftragsbedingt) und wenn ich die Wahl habe greife ich immer zu Pascal. In meinen Augen einfach viel schöner strukturiert und viel sauberer zu Coden. Schade das Borland in den letzten Jahren so missgewirtschaftet hat und Pascal deswegen momentan einen etwas schwierigen Stand hat..

  4. Re: Nachteile von Pascal gegenüber C/C++

    Autor: nate 11.09.07 - 10:48

    > Ich frage mich nun, wo die
    > *technischen* Nachteile von Free Pascal (nicht dem
    > alten Urpascal) gegenüber von C/C++ sind

    Der Sprache fehlen einige Konstrukte, um ohne Assembler effizienten Code für Integerberechnungen zu schreiben (wichtig, wenn man DSP oder Bildverarbeitung betreibt!). So gibt es keine Prä-/Postinkrement-Operatoren und ein "signed shift right" wird auch schmerzlich vermisst. Aber davon abgesehen überwiegen eigentlich die Vorteile :)

  5. Re: Nachteile von Pascal gegenüber C/C++

    Autor: nate 11.09.07 - 10:51

    > Schade das Borland in den
    > letzten Jahren so missgewirtschaftet hat und
    > Pascal deswegen momentan einen etwas schwierigen
    > Stand hat..

    Aber es scheint sich wieder zu bessern ... ein Freund, der für $$$ Delphi-Code schreibt, war von Delphi 2007 wohl recht positiv überrascht. Und wenn Lazarus/LCL dann mal fertig ist, bricht endlich auch das Zeitalter der schmerzfreien Cross-Plattform-GUI-Entwicklung an ;)

  6. Re: Nachteile von Pascal gegenüber C/C++

    Autor: # 11.09.07 - 10:53

    ch schrieb:
    -------------------------------------------------------
    > Was die Vorteile von Free Pascal sind, habe ich
    > auf der Webseite nachgelesen. Das klingt
    > überzeugend. Ich frage mich nun, wo die
    > *technischen* Nachteile von Free Pascal (nicht dem
    > alten Urpascal) gegenüber von C/C++ sind, also
    > *außer* den offensichtlichen, dass C/C++ eben
    > Quasi-Standard ist und es daher viel einfacher
    > ist, damit an vorhandenen Code anzuschließen.

    Nunja, da C/C++ wesentlich verbreiteter ist und überall gelehrt wird, wird Pascal auch von vielen als aussterbende Sprache angesehen. Ich selbst sehe das aber überhaupt nicht so, weil gerade Free Pascal hat - wie du es wohl selbst schon auf dessen Website gelesen hast - wesentliche Vorteile gegenüber C/C++ und macht es auch durch die Verfügbarkeit auf diversen Plattformen und Prozessortypen für mich interessant. Ich habe es bei C/C++ immer als Nachteil angesehen, dass dort viel mit Pointern gearbeitet wird statt mit sauberen Deklarieren von Variablen (wie das z.B. bei Pascal zwingend ist), wodurch viele Sicherheitslücken überhaupt erst entstehen.

    Als Nachteil von Pascal könnte man höchstens ansehen, dass Pascal ursprünglich als Lehrsprache entwickelt wurde und dadurch einige Einsatzgebiete eher sporadisch implementiert sind. Dies kann man aber zum Glück bei Bedarf durch Units "nachrüsten".

  7. Re: Nachteile von Pascal gegenüber C/C++

    Autor: ufas 11.09.07 - 10:56

    Lazarus stehe ich noch etwas skeptisch gegenüber. Delphi7 ist da schon angenehmer mit zu arbeiten.

    Nicht GUI-Entwicklungen funktionieren beinhae schon perfekt. Bin zurzeit an einem Spiel basierend auf Pascal + SDL + OpenGL, unter Windows mit Delphi7 und unter MacOSX mit FPC und XCode.
    Funktioniert perfekt.

  8. Re: Nachteile von Pascal gegenüber C/C++

    Autor: nate 11.09.07 - 11:02

    > Ich habe es
    > bei C/C++ immer als Nachteil angesehen, dass dort
    > viel mit Pointern gearbeitet wird statt mit
    > sauberen Deklarieren von Variablen (wie das z.B.
    > bei Pascal zwingend ist), wodurch viele
    > Sicherheitslücken überhaupt erst entstehen.

    Naja, wenn man will, kann man solche Schweinereien auch problemlos in Pascal treiben (und muss man auch, wenn es auf das letzte Quäntchen Performance ankommt). Der Vorteil ist eher, dass souveräner Umgang mit Strings und dynamischen Arrays direkt in der Sprache verankert ist -- typische strcpy()-Buffer-Overflows sind damit bereits ausgeschlossen (außer, man legt es darauf an :).

    > Als Nachteil von Pascal könnte man höchstens
    > ansehen, dass Pascal ursprünglich als Lehrsprache
    > entwickelt wurde und dadurch einige Einsatzgebiete
    > eher sporadisch implementiert sind. Dies kann man
    > aber zum Glück bei Bedarf durch Units
    > "nachrüsten".

    Oder auch nicht -- siehe mein Beispiel mit dem fehlenden "signed shift right"-Operator :(

  9. Re: Nachteile von Pascal gegenüber C/C++

    Autor: Der Spatz 11.09.07 - 11:17

    nate schrieb:
    -------------------------------------------------------

    >
    > Oder auch nicht -- siehe mein Beispiel mit dem
    > fehlenden "signed shift right"-Operator :(

    Sofern ein SSR Operator sowas ist, was ein bit nach rechts nach rechts verschiebt und dabei das "-" am Platz lässt müsste das doch einfach (aber nicht gerade Performant) wie folgt einzubinden sein (wobei das gerade aus dem Kopf eingetippt wurde, dürfte auch um einiges Einfacher und performanter gehen durch Nutzung weiterer Binäroperationen).

    Function SSR (input, bits : Integer):Integer
    VAR
    neg : boolean;
    begin
    if input < 0 then neg := true else neg := false;
    input := ABS(input); // das "-" Bit Löschen wenn vorhanden);
    input := input SHL bits;
    if neg then input := input * -1;
    result := input;
    end;

    Und sollte es ein SSL als Prozessorbefehl geben wird per inline Assembler umgesetzt.

    Dirk

  10. Re: Nachteile von Pascal gegenüber C/C++

    Autor: # 11.09.07 - 11:21

    nate schrieb:
    -------------------------------------------------------
    > Naja, wenn man will, kann man solche Schweinereien
    > auch problemlos in Pascal treiben (und muss man
    > auch, wenn es auf das letzte Quäntchen Performance
    > ankommt).

    Gut, aber das muss man eher mutwillig machen, weil Pascal für solche Spielchen nicht ausgelegt ist. Es soll ja schließlich auch sauberes Programmieren lehren und wirkt diesbezüglich restriktiv.

    Aber wenn du wirklich das letzte Krümelchen Performance rauskitzeln willst, hast du in Free Pascal immer noch die Möglichkeit, die kritischen Stellen in Assembler zu schreiben, sofern du Assembler beherrschst :)

  11. Re: Nachteile von Pascal gegenüber C/C++

    Autor: nate 11.09.07 - 11:28

    > (wobei das gerade aus dem Kopf eingetippt
    > wurde, dürfte auch um einiges Einfacher und
    > performanter gehen durch Nutzung weiterer
    > Binäroperationen).

    Du meinst so etwas wie ((x AND $80000000) OR (x SHR n))? Klar, das geht, aber dann kann ich auch gleich durch 2^n dividieren :) Der Sinn von SAR (so heißt der entsprechende Maschinenbefehl bei x86) ist doch, Divisionen durch 2^n zu beschleunigen.

    > Und sollte es ein SSL als Prozessorbefehl geben
    > wird per inline Assembler umgesetzt.

    Richtig, aber selbst das ist nicht optimal. Das asm-Statement ist nämlich eine Art Barriere für den Optimizer: Da man prinzipiell innerhalb eines asm-Blocks fast alle Register verändern darf und andere Register bestimmte Werte haben müssen (ESP und EBP z.B.), werden eventuelle Registeroptimierungen aus dem umliegenden Pascal-Code zunichte gemacht. Damit es sich lohnt, muss man also die ganze Berechnung (z.B. die DCT) in Assembler machen -- obwohl man ja eigentlich eine Hochsprache und einen optimierenden Compiler verwendet, weil man genau das _nicht_ tun wollte ... :(

  12. Re: Nachteile von Pascal gegenüber C/C++

    Autor: IcyT 11.09.07 - 11:43

    Hi nate, hast du schon mal bei den Entwicklern angefragt? Vielleicht implementieren sie es ja und dann kannst du vollkommen glücklich sein ;)

    nate schrieb:
    -------------------------------------------------------
    > > Ich frage mich nun, wo die
    > *technischen*
    > Nachteile von Free Pascal (nicht dem
    > alten
    > Urpascal) gegenüber von C/C++ sind
    >
    > Der Sprache fehlen einige Konstrukte, um ohne
    > Assembler effizienten Code für Integerberechnungen
    > zu schreiben (wichtig, wenn man DSP oder
    > Bildverarbeitung betreibt!). So gibt es keine
    > Prä-/Postinkrement-Operatoren und ein "signed
    > shift right" wird auch schmerzlich vermisst. Aber
    > davon abgesehen überwiegen eigentlich die Vorteile
    > :)


  13. Re: Nachteile von Pascal gegenüber C/C++

    Autor: Der Spatz 11.09.07 - 11:46

    nate schrieb:
    -------------------------------------------------------
    > Der Sinn von SAR
    > (so heißt der entsprechende Maschinenbefehl bei
    > x86) ist doch, Divisionen durch 2^n zu
    > beschleunigen.
    >

    Richtig, als Anwendungsentwickler eher nicht Zeitkritischer Anwendungen ist mir allerdings eine vorzeichenbehaftete Rechtsverschiebung noch nie unter gekommen (Da wird eher mit vielen Strings gearbeitet und "normalen" Rechnungen) - Bitgeschubse kommt da seltenst vor bzw. muß nicht dringend beschleunigt werden.

    Für Zeitkritische Anwendungen stellen einige fehlende Operatoren allerdings sicherlich ein (minimales) Problem dar.

  14. Niklaus Wirth meint ...

    Autor: nixda 11.09.07 - 12:24

    “C++ is an insult to the human brain.”

    „C ist keine ‘high level programming language’. C ist ein mit Syntax verzuckerter Assembler.“

    – (1989)

    “It is indeed absolutely surprising with which equanimity the notational monster C was accepted by the world-wide programmer’s community.”

    – Good Ideas, Through the Looking Glass: (2005)

    http://de.wikipedia.org/wiki/Niklaus_Wirth

  15. Re: Nachteile von Pascal gegenüber C/C++

    Autor: Hässliche Syntax 11.09.07 - 12:40

    spd_sagt_ja_zu_onlinedurchsuchung schrieb:
    -------------------------------------------------------
    > Schade das Borland in den
    > letzten Jahren so missgewirtschaftet hat und
    > Pascal deswegen momentan einen etwas schwierigen
    > Stand hat..
    "Momentan" - der war gut :)
    Pascal wird nie wieder populär werden und das ist auch gut so!


  16. Re: Niklaus Wirth meint ...

    Autor: Hässliche Syntax 11.09.07 - 12:52

    nixda schrieb:
    -------------------------------------------------------
    > “C++ is an insult to the human brain.”
    >
    > „C ist keine ‘high level programming
    > language’. C ist ein mit Syntax verzuckerter
    > Assembler.“
    >
    > – (1989)
    >
    > “It is indeed absolutely surprising with which
    > equanimity the notational monster C was accepted
    > by the world-wide programmer’s community.”
    >
    > – Good Ideas, Through the Looking Glass:
    > (2005)
    >
    Das ist eben der typische Fall eines schlechten Verlierers. Scheint unter Professoren häufiger vorzukommen. Über C/C++ kann man denken was man will, aber bei den begin...end-Orgien bekommt man doch wirklich Augenkrebs.


  17. Re: Niklaus Wirth meint ...

    Autor: # 11.09.07 - 13:00

    Hässliche Syntax schrieb:
    -------------------------------------------------------
    > Das ist eben der typische Fall eines schlechten
    > Verlierers. Scheint unter Professoren häufiger
    > vorzukommen. Über C/C++ kann man denken was man
    > will, aber bei den begin...end-Orgien bekommt man
    > doch wirklich Augenkrebs.

    Warum? Ich finde begin ... end; weitaus übersichtlicher als so ein Klammer-Irrgarten, wie es bei C/C++ der Fall ist. Ohne Syntax-Highlighting verliert man da schnell die Übersicht. Und ich glaube nicht, dass Niklaus Wirth ein schlechter Verlierer ist, C/C++ ist in vielerlei Hinsicht wirklich ein Monster :/

    Letztenendes sollte aber jeder die Sprache wählen, die er für am geeignetsten hält.

  18. Re: Niklaus Wirth meint ...

    Autor: IngJKi 11.09.07 - 13:09

    Hässliche Syntax schrieb:
    -------------------------------------------------------
    >
    > Das ist eben der typische Fall eines schlechten
    > Verlierers. Scheint unter Professoren häufiger
    > vorzukommen. Über C/C++ kann man denken was man
    > will, aber bei den begin...end-Orgien bekommt man
    > doch wirklich Augenkrebs.
    >
    >
    Aber macht nicht´s, wenn die C-Gurus Spucken und speien.
    Es gibt genug nahmhafte Firmen wie zB. ESA / NASA uvm.
    bei denen C verpönt ist und die nur!! Pascal/Delphi (und Ähnliches) einsetzen. Und für Micro-Controller und DSP's gibt es ja
    auch noch Micro-Pascal u.& .
    Denn bei dem, zu meist unübersichtlichen C-Geschmiere
    würde man ja Birnen-Krebs bekkommen!!



  19. Re: Nachteile von Pascal gegenüber C/C++

    Autor: byti 11.09.07 - 13:24

    ch schrieb:
    -------------------------------------------------------
    > Was die Vorteile von Free Pascal sind, habe ich
    > auf der Webseite nachgelesen. Das klingt
    > überzeugend. Ich frage mich nun, wo die
    > *technischen* Nachteile von Free Pascal (nicht dem
    > alten Urpascal) gegenüber von C/C++ sind, also
    > *außer* den offensichtlichen, dass C/C++ eben
    > Quasi-Standard ist und es daher viel einfacher
    > ist, damit an vorhandenen Code anzuschließen.

    Eigentlich ganz einfach. :)

    C => is am schnellsten, am Hardwarenähesten, aber am komplexesten, emfindlich für versteckte fehler
    VB => is am langsamsten, "weit weg von der Hardware" (Interpreter), aber saueinfach, und schluckt fast jeden scheiß
    Pascal/Delhpi => mitten drin, ist schell, erzeugt "richtigen" Maschinencode, relativ übersichtlich, relativ unempfindlich gegen Fehler, eine GUI-Anwendung is schnell erstellt (Lazarus, Delphi)

    Sind aber relativ "pauschale" Aussagen, das is mir klar. Hängt wider ganz stark vom Einsatzgebiet ab. Pascal/Delphi hat halt nur das Problem... es kann nur 90% sag ich immer. Man fängt was an.. und merkt wenn man fast fertig ist.. mist.. die (teilweise minimale funktion) gibts ned... => krückenlösung. Aber sonst is recht gut. Und mit der kostenlosen Delhpi PE kannst schon viel machen.

  20. Re: Niklaus Wirth meint ...

    Autor: avarus.com.ar 11.09.07 - 13:26

    die NASA setzt u.a. auch Eiffel und ADA ein. Im Vergleich zu ASM ist C sicher eine Hochsprache, jedoch verglichen mit Eiffel e.g. ist es ganz und gar keine Hochsprache mehr, aber Sprachen entwickeln sich nun mal mit der Zeit und man muss ja sprichwoertlich mit der Zeit gehen...here we are jajajaja! :)

    --------------------------
    http://avarus.com.ar

  1. Thema
  1. 1
  2. 2

Neues Thema Ansicht wechseln


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. Product Owner (w/m/d) Industrie 4.0/IoT
    ORGATEX GmbH & Co. KG, Langenfeld
  2. Innovationsmanager / Zukunftsentwickler (w/m/d) IT / Elektrotechnik
    Kölner Verkehrs-Betriebe AG, Köln
  3. Senior Systemadministrator (m/w/d)
    ENERTRAG Aktiengesellschaft, Dauerthal
  4. CRM-Manager & Data-Analyst (m/w/d)
    Chemnitzer Verlag und Druck GmbH & Co. KG, Chemnitz

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Top-Angebote
  1. (u. a. The Witcher 3 - Game of the Year Edition (GOG Key) für 12,49€, Rainbow Six Siege - Deluxe...
  2. Asus Chromebook CM3 10,5 Zoll Chromebook inkl. Stylus, Chromebook mit 10,5 Zoll Touchscreen 4GB...
  3. (u. a. Wochenangebote mit Assassin's Creed Odyssey - Gold Edition für 22,99€, Dragon Ball...
  4. 265€ (Bestpreis)


Haben wir etwas übersehen?

E-Mail an news@golem.de


Halbleiterproduktion: TSMC will klimaneutral werden
Halbleiterproduktion
TSMC will klimaneutral werden

Der Chiphersteller TSMC hat angekündigt, bis 2050 seine Emissionen auf "Netto-Null" zu senken - setzt dabei aber auch auf fragwürdige Kompensationsprojekte.
Von Hanno Böck

  1. Halbleiterfertigung Intel soll mehr 3-nm-Buchungen als Apple haben
  2. Halbleiterfertigung Was TSMC in den nächsten Monaten vorhat
  3. Halbleiterfertigung AMDs Epyc produzieren sich bei TSMC selbst

Custom Keyboard GMMK Pro: Tastatur selbst bauen macht Spaß
Custom Keyboard GMMK Pro
Tastatur selbst bauen macht Spaß

Wenn die mechanische Tastatur nicht ausreicht, kommt der Selbstbau in Frage. Ich habe klein angefangen und es am GMMK Pro ausprobiert.
Ein Erfahrungsbericht von Oliver Nickel

  1. ZSA Moonlander im Test Das Tastatur-Raumschiff
  2. Alloy Origins Core im Test Full Metal Keyboard
  3. Duckypad Mechanisches Tastenpad ermöglicht Makros und Tastenkürzel

Dune: Der Wüstenplanet so schön wie nie zuvor
Dune
Der Wüstenplanet so schön wie nie zuvor

Bombastisch, fantastisch besetzt und einfach wunderschön: Die Dune-Neuverfilmung von Denis Villeneuve ist ein Traum - aber leider nur ein halber.
Eine Rezension von Peter Osteried

  1. 25 Jahre Independence Day Ein riesiges Raumschiff und ein riesiger Erfolg
  2. Science-Fiction-Filme aus den 80ern Damals gefloppt, heute gefeiert
  3. Film zu Stargate: Origins Da hilft nur Amnesie