it-swarm.dev

Warum hat sich C gegen Pascal durchgesetzt?

Mein Verständnis ist, dass Pascal und C in den 1980er Jahren und vielleicht auch in den 1990er Jahren als Produktionssprachen ziemlich direkt gegeneinander antraten.

Ist der endgültige Tod von Pascal nur auf Borlands Vernachlässigung von Delphi zurückzuführen? Oder gab es mehr, wie Pech oder vielleicht etwas, das von Natur aus mit Pascal nicht stimmte (irgendwelche Hoffnungen auf seine Wiederbelebung?).

Ich interessiere mich für historische Fakten und Beobachtungen, die man stützen kann, anstatt für Vorlieben und Abneigungen.

71
Konrad Morawski

Pascal hat den Kampf hauptsächlich verloren wegen:

  • Ausführlichkeit (if ... then begin ... end, var A: array[0..15] of Integer)
  • Gegenseitig unverständliche Dialekte und der offizielle Standard
  • Weniger als beeindruckende objektorientierte Erweiterungen
  • Der erfolgreichste und praktischste Dialekt - Turbo Pascal - wurde noch nie auf andere Plattformen als DOS/Windows portiert. Außerdem hat Borland die Quellen des Compilers nie geöffnet.
  • Pascals "letzte Hoffnung" - Delphi - wurde von Borland als Datenbankentwicklungsplattform für Unternehmensumgebungen positioniert. Dies war ein unglücklicher Marketing-Schachzug (vermutlich von Marketing-Leuten), da Kreativingenieure sowohl Datenbanken als auch Unternehmensumgebungen hassen. Dann der Ausfall von Delphi für Linux, Kylix.
  • Apple wechselte zu C und anschließend zu Objective-C und tötete damit Pascal als Betriebssystemsprache
43
mojuba

C ist die Basis von Unix. In den 80ern und 90ern bekam Unix immer mehr Aufmerksamkeit. Heute steckt etwas Unix in Ihrem Smartphone.

44
mouviciel

Der Essay Warum Pascal nicht meine Lieblingssprache ist von Brian W. Kernighan behandelt die Hauptkritikpunkte.

C ist viel vielseitiger und erweiterbarer. Einige Leute haben sogar herausgefunden, wie man (eine Art) macht objektorientierte Programmierung mit C ! Der Inline-Assembler und andere Low-Level-Funktionen machten ihn zu einer wichtigen Sprache für die Systemprogrammierung.

35
Felix Dombek

Obwohl es nicht die ausschließliche Verwendung war, wurde Pascal für den Programmierunterricht entwickelt, um nicht als Primärsprache verwendet zu werden.

Delphi und Object Pascal haben das geändert. Aber damals war es schon zu spät.

23
Let_Me_Be

Ich glaube nicht, dass C sich gegen Pascal durchgesetzt hat. Für die Mehrheit der Programmierer setzte sich Java gegen Pascal durch. Die Kategorie der Programmierer, die früher in Pascal programmierten, wählte jetzt Java (oder C #) für die Der gleiche Job. Diejenigen, die früher in C programmierten, blieben bei C (und C++).

Der Niedergang von Pascal ist meiner Meinung nach hauptsächlich darauf zurückzuführen, dass Borland an seiner GUI-Arbeitsweise festhält, während seine Kunden ins Web wechseln. Borland hatte nie ein wirklich attraktives Angebot für die serverseitige Entwicklung. Erst in den letzten Jahren, als Delphi praktisch tot war, sind diejenigen, die bei Delphi geblieben sind, zu C # übergegangen. C/C++ war schon immer eine andere Masse als die Pascal/Java/C # -Menge, denke ich, wobei die C (++) - Leute viel technischer/niedriger im Fokus standen.

18
Jaap

Um es zu verfälschen: C ist ein tragbarer Assembler, Pascal ist eine pädagogische Sprache.

Dieser Abschnitt auf der Wikipedia deckt es tatsächlich gut ab.

bearbeiten:
Es scheint, dass einige hier meine Antwort falsch verstehen. Oder eigentlich eher die Frage.
Bei dieser Frage geht es um Popularität. Und der Grund, warum C letztendlich beliebter ist als Pascal, ist, dass eine als tragbare Sprache konzipiert und vermarktet wurde, die nahe am Metall läuft, während die andere als Lernsprache konzipiert und vermarktet wurde, um viel Sicherheit und Klarheit zu gewährleisten.
Letztendlich spielt es keine Rolle, ob eine Sprache die dafür gesetzten Ziele verfehlt oder unerwartete Erfolge erzielt hat. Und jeder, der versucht, den Unterschied in der Popularität aus der Überlegenheit von C gegenüber Pascal abzuleiten, ist einfach falsch.
Der Schlüssel zu dieser Frage liegt in der Geschichte und der damit verbundenen Hysterie.

11
back2dos

Holy Smokes, das ist eine einseitige Ladung Hooey. Wo sind all die Leute, die auf dieser Seite angefangen haben und Delphi als ihre Lieblingssprache hatten?

Fast jeder erwähnt Borland und 2/3 der Leute halten Delphi für einen Tritt in den Eimer. Tut mir leid, Leute, Embarcadero hat vor ein paar Jahren die CodeGear-Einheit von Borland gekauft (für Geld, nicht für wohltätige Zwecke) und sie haben einige ziemlich erstaunliche Dinge getan und einige ziemlich erstaunliche Werkzeuge zu ihrem ziemlich erstaunlichen IDE zusammengeführt und Schaffung einer ziemlich erstaunlichen Plattform für die plattformübergreifende Entwicklung IN OBJECT Pascal. Ganz zu schweigen von Lazarus und FreePascal auf der Open-Source-Seite.

Wenn dies also eine historische Frage ist, warum C sich gegen Pascal durchgesetzt hat, dann ist das eine akzeptable Behauptung, um eine Frage zu beginnen. Aber die Urheberschaft von Code in Object Pascal hat zugenommen. Ich weiß nicht, dass der TIOBE-Index eine ganze Menge dafür bedeutet, aber es sollte klar sein, dass die Leute immer noch Code in Object Pascal schreiben und interessiert sind Spitzen, wenn Embarcadero neue Tools veröffentlicht, sind echte Menschen, die daran interessiert sind, neuen (nicht nur alten) Code zu schreiben, an Delphi interessiert.

Ich bin mir nicht sicher, ob Sie dasselbe für alles sagen können, was mit C zu tun hat.

5
Peter Turner

In den 70er und frühen 80er Jahren waren C-Compiler für PCs relativ einfach zu bekommen, obwohl die meisten nur eine Teilmenge von C verwendeten (weshalb Sie in den älteren Magazinen so viele verschiedene "winzige C" -Compiler-Anzeigen sehen werden ). Pascal war damals eine größere, umständlichere Sprache, als nur die reichsten Computerhobbyisten Festplatten hatten (und eine 5-Meg-Festplatte mehrere hundert Dollar kostete). Für die Apple 2 (mein erster Computer, und es war nicht einmal ein "Plus")), für die Ausführung von Pascal musste eine zusätzliche Speicherkarte gekauft werden (es wurden 64 KB benötigt) RAM!) Und zum Laden mehrere Disketten benötigt, während "winzige C" -Compiler auf eine einzelne Diskette passen (und mit 16k RAM auskommen könnten).

Pascal wurde in Informatik-Lehrplänen unterrichtet, während C größtenteils Autodidakt war (manchmal in Elektrotechnik-Lehrplänen unterrichtet). Pascal hatte unter den Cowboy-Programmierern den Ruf, eine "Bondage- und Disziplinierungssprache" zu sein, was ich für unverdient hielt, da sie sich nie trafen ADA .

Die Haupttreiber von Pascal in den 80er Jahren waren Apple (weil die APIs Pascal-Aufrufstandards verwendeten) und Borland. Borlands "Turbo" -Compiler waren wahrscheinlich die besten auf dem Markt verfügbaren und dergleichen Eine Buchlizenz machte sie viel beliebter als Unternehmen mit bösartigeren Lizenzen.

Borland verlor seinen Vorsprung auf dem Entwicklungsmarkt, als Microsoft seine Hauptentwickler und Projektmanager (wie Hejlsberg, Gross und mehr als 35 andere) anstellte und schließlich .NET und Visual Studio entwickelte. Borland und Microsoft haben die Klage ein paar Jahre später beigelegt, aber Borland hat sich nie von dem Verlust erholt. Meiner Meinung nach begann Delphi zu dieser Zeit zu verdorren (als die Leute, die ihm den Fokus und den Antrieb gaben, weggestellt wurden), und der Wechsel des CEO führte Borland gleichzeitig von einer Compiler-Firma in eine ALM (Application Lifecycle Management) Unternehmen, das einige Jahre später seinen Namen in Inprise ändert. Die Asche von Borland gehört jetzt Micro Focus.

4
Tangurena

Ich gehe davon aus, dass C und die daraus abgeleiteten Hauptsprachen C++, Java und C #) von den größten Softwareunternehmen wie Microsoft und Sun/Oracle sowie über die verschiedenen Entwicklungsstacks hinweg angenommen wurden. Infolgedessen wurde es die 'Muttersprache' von Windows, Apple OS und Unix.

Pascal erreichte trotz Borlands bester und oft fehlgeleiteter Bemühungen diese Marktdurchdringung nicht.

1
jfrankcarr

Pascal wurde immer nur in einer einzigen, eher begrenzten Umgebung mit PC/DOS populär.

Schon damals liefen auf PCs so viele MicroFocus COBOL-Anwendungen wie Pascal-Anwendungen.

C war die Basis des UNIX-Betriebssystems und aller MS/Windows-Betriebssysteme.

Die Kombination aus effizienter Ausführung auf begrenzter Hardware und nativem Zugriff auf die zugrunde liegenden Betriebssystem- und GUI-Bibliotheken war wahrscheinlich der Hauptgrund für den Erfolg von C. Pascal hat es nie wirklich an Fenstern gehackt, und Delphi kam zu spät, um etwas zu bewirken.

1
James Anderson