Perché C ha prevalso su Pascal? [chiuso]

65

La mia comprensione è che negli anni '80 e forse anche negli anni '90, Pascal e C erano praticamente testa a testa come linguaggi di produzione.

La definitiva fine di Pascal è dovuta solo alla negligenza di Borland di Delphi ? O c'era di più, come sfortuna o forse qualcosa di intrinsecamente sbagliato in Pascal (qualche speranza per il suo risveglio?).

Sono interessato a fatti e osservazioni storici su cui è possibile eseguire il backup, piuttosto che a Mi piace e Non mi piace.

    
posta Konrad Morawski 18.10.2011 - 10:29
fonte

10 risposte

42

Pascal ha perso la battaglia principalmente a causa di:

  • Verbosità ( if ... then begin ... end , var A: array[0..15] of Integer )
  • I dialetti mutualmente incomprensibili e lo standard ufficiale
  • Meno di impressionanti estensioni orientate agli oggetti
  • Il dialetto di maggior successo e pratico - Turbo Pascal - non è mai stato portato su piattaforme diverse da DOS / Windows. Plus Borland non ha mai aperto i sorgenti del compilatore.
  • L'ultima speranza di Pascal - Delphi - è stata posizionata da Borland come piattaforma di sviluppo di database rivolta agli ambienti aziendali. Questa è stata una sfortunata mossa di marketing (fatta da persone di marketing, suppongo), perché gli ingegneri creativi odiano sia i database che gli ambienti aziendali. Quindi il fallimento di Delphi per Linux, Kylix.
  • Apple è passato a C e successivamente a Objective-C e quindi ha ucciso Pascal come linguaggio OS
risposta data 18.10.2011 - 14:02
fonte
43

C è la base di Unix. Negli anni '80 e '90, Unix ottenne sempre più attenzione. Oggi alcuni gusti di Unix sono nel tuo smartphone.

    
risposta data 18.10.2011 - 10:34
fonte
34

The Essay Why Pascal is not My Favorite Language di Brian W. Kernighan cover i principali punti di critica.

C è molto più versatile ed estensibile. Alcune persone hanno anche scoperto come fare (una sorta di) programmazione orientata agli oggetti con C ! Inoltre, l'assemblatore inline e altre funzioni di basso livello lo hanno reso un linguaggio importante per la programmazione dei sistemi.

    
risposta data 18.10.2011 - 12:33
fonte
23

Sebbene non fosse l'uso esclusivo, Pascal è stato progettato per insegnare la programmazione, non per essere effettivamente utilizzato come lingua principale.

Delphi e Object Pascal lo hanno cambiato. Ma a quel tempo, era già troppo tardi.

    
risposta data 18.10.2011 - 10:36
fonte
18

Non credo che C abbia prevalso su Pascal. Per la maggior parte dei programmatori, Java ha prevalso su Pascal. La categoria di programmatori che usavano programmare in Pascal, ora selezionava Java (o C #) per lo stesso lavoro. Quelli che erano abituati a programmare in C erano bloccati con C (e C ++).

La scomparsa di Pascal è IMHO principalmente causata da Borland che si attacca al suo modo di lavorare con la GUI, mentre i suoi clienti passano al Web. Borland non ha mai avuto un'offerta davvero interessante per lo sviluppo sul lato server. Solo negli ultimi anni, con Delphi morto a tutti gli effetti pratici, chi è rimasto con Delphi è passato a C #. C / C ++ è sempre stato un pubblico diverso dal pubblico Pascal / Java / C #, penso che i ragazzi di C (++) siano molto più tecnici / di basso livello nel loro focus.

    
risposta data 18.10.2011 - 17:42
fonte
11

Per metterlo a tacere: C è un assemblatore portatile, PASCAL è un linguaggio educativo.

Questa sezione su wikipedia lo copre molto bene.

modifica:
Sembrerebbe che alcuni qui fraintendano la mia risposta. O in realtà piuttosto la domanda.
Questa domanda riguarda la popolarità. E il motivo per cui C è in definitiva più popolare di PASCAL è che uno è stato progettato e commercializzato come un linguaggio portatile che scorre vicino al metallo, mentre l'altro è stato progettato e commercializzato come un linguaggio educativo, facendo rispettare molta sicurezza e chiarezza.
In fin dei conti, non ha nemmeno importanza, indipendentemente dal fatto che una delle due lingue abbia fallito gli obiettivi prefissati o abbia realizzato risultati inaspettati. E chiunque cerchi di dedurre la differenza di popolarità dalla superiorità di C rispetto a PASCAL è semplicemente sbagliato.
La chiave di questa domanda sta nella storia e nell'isteria coinvolta.

    
risposta data 18.10.2011 - 10:39
fonte
5

Durante gli anni '70 e all'inizio degli anni '80, i compilatori C erano relativamente facili da trovare per i personal computer, sebbene la maggior parte facesse parte solo di un sottoinsieme di C (ecco perché vedrai così tanti diversi compilatori "piccoli C" le riviste più vecchie). Pascal era un linguaggio più ingombrante nei tempi in cui solo gli hobbisti più ricchi di computer disponevano di hard disk (e un hard disk da 5 megapixel costava diverse centinaia di dollari). Per Apple 2 (il mio primo computer, e non era nemmeno un "plus"), eseguire Pascal necessario acquistare un scheda di memoria extra (aveva bisogno di 64k di RAM!) e caricò diversi dischetti, mentre i compilatori "minuscoli C" si adattavano a un singolo dischetto (e potevano farcela con 16k di RAM).

Pascal è stato insegnato nei programmi informatici, mentre C era per lo più autodidatta (a volte insegnato nei programmi di ingegneria elettrica). Pascal si è fatto una reputazione tra i codificatori dei cowboy per essere un "linguaggio di schiavitù e disciplina", che ho ritenuto immeritato perché non hanno mai incontrato ADA .

I principali driver di Pascal negli anni '80 erano Apple (perché le API utilizzavano gli standard di chiamata Pascal) e Borland. I compilatori "Turbo" di Borland erano probabilmente i migliori disponibili sul mercato e la licenza "like a book" li rendeva molto più popolari rispetto alle aziende con licenze più viziose.

Borland ha perso la leadership nel mercato dello sviluppo quando Microsoft ha ingaggiato i suoi principali sviluppatori e project manager (come Hejlsberg, Gross e oltre altri 35), eventualmente sviluppando .NET e Visual Studio. Borland e Microsoft hanno risolto la causa un paio d'anni dopo, ma Borland non si è mai ripreso dalla perdita. A mio parere, Delphi ha iniziato ad appassire in quel momento (dato che le persone che hanno dato il focus e la guida sono stati assunti), e il cambio di CEO allo stesso tempo ha portato Borland lontano da un'azienda di compilazione in un ALM (gestione del ciclo di vita delle applicazioni), cambiando il nome in Inprise un paio di anni dopo. Le ceneri di Borland sono ora di proprietà di Micro Focus.

    
risposta data 18.10.2011 - 18:27
fonte
4

Holy smokes questo è un lato unilaterale di hooey, dove sono tutte le persone che hanno iniziato su questo sito che avevano Delphi come lingua preferita?

Quasi tutti citano Borland e 2/3 delle persone considerano Delphi aver calciato il secchio. Beh, scusa gente, Embarcadero ha comprato l'unità CodeGear di Borland alcuni anni fa (per soldi, non per beneficenza) e hanno fatto cose davvero incredibili, amalgamando alcuni strumenti piuttosto sorprendenti nel loro IDE piuttosto sorprendente e creando una piattaforma davvero sorprendente per lo sviluppo multipiattaforma IN OGGETTO PASCAL. Per non parlare di Lazarus e FreePascal sul lato open source delle cose.

Quindi, se questa è una domanda storica per cui C ha prevalso su Pascal, quindi OK, questa è una richiesta accettabile per iniziare una domanda. Ma la paternità del codice in Object Pascal è cresciuta, non so che l' indice TIOBE significa molto per questo, ma dovrebbe essere chiaro che le persone stanno ancora scrivendo codice in Object Pascal e picchi di interesse ogni volta che Embarcadero rilascia nuovi strumenti, quindi gli attuali umani interessati a scrivere nuovi (non solo mantenendo il vecchio) codice sono interessati a Delfi.

Non sono sicuro che tu possa dire lo stesso per qualsiasi cosa relativa a C.

    
risposta data 18.10.2011 - 19:50
fonte
1

La mia opinione è che C e le principali lingue derivate da esso, C ++, Java e C #, siano state abbracciate dalle più grandi aziende di software, come Microsoft e Sun / Oracle, e attraverso i vari stack di sviluppo. Di conseguenza, divenne la "lingua madre" di Windows, Apple OS e Unix.

Pascal, nonostante gli sforzi migliori e spesso fuorviati di Borland, non ha raggiunto quel livello di penetrazione del mercato.

    
risposta data 18.10.2011 - 12:54
fonte
0

Pascal è diventato popolare in un unico PC / DOS di ambiente piuttosto limitato.

Anche allora c'erano tante applicazioni COBOL MicroFocus in esecuzione su PC quante applicazioni pascal.

C era la base del sistema operativo UNIX e di tutti i sistemi operativi MS / Windows.

La combinazione di un'esecuzione efficiente su hardware limitato e l'accesso nativo al sistema operativo e alle librerie GUI sottostanti erano probabilmente le ragioni principali del successo di C. Pascal non l'ha mai veramente hackerato su Windows, e Delphi è arrivato troppo tardi per fare la differenza.

    
risposta data 23.01.2013 - 10:23
fonte

Leggi altre domande sui tag