web-dev-qa-db-fra.com

Pourquoi C a-t-il prévalu sur Pascal?

Je crois comprendre que dans les années 1980, et peut-être aussi dans les années 1990, Pascal et C étaient à peu près en tête-à-tête en tant que langages de production.

La fin ultime de Pascal n'est-elle due qu'à la négligence de Borland envers Delphi ? Ou y avait-il plus, comme la malchance ou peut-être quelque chose de fondamentalement mal avec Pascal (des espoirs pour sa renaissance?).

Je m'intéresse aux faits et observations historiques que l'on peut sauvegarder, plutôt qu'aux goûts et aux aversions.

71
Konrad Morawski

Pascal a perdu la bataille principalement à cause de:

  • Verbosité (if ... then begin ... end, var A: array[0..15] of Integer)
  • Dialectes mutuellement incompréhensibles et norme officielle
  • Des extensions orientées objet moins qu'impressionnantes
  • Le dialecte le plus réussi et le plus pratique - Turbo Pascal - n'a jamais été porté sur des plateformes autres que DOS/Windows. De plus, Borland n'a jamais ouvert les sources du compilateur.
  • Le "dernier espoir" de Pascal - Delphi - a été positionné par Borland comme une plate-forme de développement de base de données destinée aux environnements d'entreprise. Ce fut une décision marketing malheureuse (faite par des gens du marketing, je suppose), car les ingénieurs créatifs détestent les bases de données et les environnements d'entreprise. Puis l'échec de Delphi pour Linux, Kylix.
  • Apple est passé à C puis à Objective-C et a donc tué Pascal en tant que langage OS
43
mojuba

C est la base d'Unix. Dans les années 80 et 90, Unix a attiré de plus en plus l'attention. Aujourd'hui, un peu d'Unix est dans votre smartphone.

44
mouviciel

L'essai Pourquoi Pascal n'est pas ma langue préférée par Brian W. Kernighan couvre les principaux points de la critique.

C est beaucoup plus polyvalent et extensible. Certaines personnes ont même découvert comment faire (une sorte de) programmation orientée objet avec C ! De plus, l'assembleur en ligne et d'autres fonctionnalités de bas niveau en ont fait un langage important pour la programmation des systèmes.

35
Felix Dombek

Bien que ce ne soit pas l'usage exclusif, Pascal a été conçu pour enseigner la programmation, pas pour être réellement utilisé comme langue principale.

Delphi et Object Pascal ont changé cela. Mais à cette époque, c'était déjà trop tard.

23
Let_Me_Be

Je ne pense pas que C ait prévalu sur Pascal. Pour la majorité des programmeurs, Java l'emportait sur Pascal. La catégorie des programmeurs qui programmaient en Pascal choisirait désormais Java (ou C #) pour le même travail. Ceux qui avaient l'habitude de programmer en C sont restés avec C (et C++).

La disparition de Pascal est à mon humble avis principalement causée par Borland s'en tenir à sa façon de travailler GUI, tandis que ses clients sont passés au Web. Borland n'a jamais eu d'offre vraiment attrayante pour le développement côté serveur. Ce n'est qu'au cours des dernières années, avec Delphi mort à toutes fins pratiques, que ceux qui sont restés avec Delphi sont passés à C #. C/C++ a toujours été une foule différente de la foule Pascal/Java/C # je pense, avec les gars C (++) beaucoup plus techniques/bas niveau dans leur objectif.

18
Jaap

Pour simplifier: C est un assembleur portable, Pascal est un langage éducatif.

Cette section sur le wikipedia le couvre bien en fait.

éditer:
Il semblerait que certains ici comprennent mal ma réponse. Ou plutôt la question.
Cette question concerne la popularité. Et la raison pour laquelle le C est finalement plus populaire que Pascal, c'est que l'un a été conçu et commercialisé comme un langage portable fonctionnant près du métal, tandis que l'autre a été conçu et commercialisé comme un langage éducatif, imposant beaucoup de sécurité et de clarté.
. Et quiconque essaie de déduire la différence de popularité de la supériorité de C sur Pascal a tout simplement tort.
La clé de cette question réside dans l'histoire et l'hystérie qui y est impliquée.

11
back2dos

Holy fume c'est une charge unilatérale de hooey, où sont tous les gens qui ont commencé sur ce site qui avaient Delphi comme langue préférée?

Presque tout le monde mentionne Borland et 2/3 des gens considèrent que Delphi a donné un coup de pied. Eh bien, désolé les gens, Embarcadero a acheté l'unité CodeGear de Borland il y a quelques années (pour de l'argent, pas pour la charité) et ils ont fait des choses assez incroyables, fusionnant des outils assez incroyables dans leur assez incroyable IDE et créer une plate-forme assez étonnante pour le développement multiplateforme EN OBJET Pascal, sans parler de Lazarus et FreePascal du côté open source.

Donc, si c'est une question historique pour laquelle C a prévalu sur Pascal, alors OK, c'est une affirmation acceptable pour commencer une question. Mais la paternité du code dans Object Pascal a augmenté, je ne sais pas que index TIOBE signifie beaucoup pour lui, mais il devrait être clair que les gens écrivent toujours du code en Object Pascal et s'intéressent des pointes chaque fois qu'Embarcadero publie de nouveaux outils, donc les vrais humains intéressés à écrire du nouveau code (et pas seulement à maintenir l'ancien) sont intéressés par Delphi.

Je ne suis pas sûr que vous puissiez dire la même chose pour tout ce qui concerne C.

5
Peter Turner

Au cours des années 70 et au début des années 80, les compilateurs C étaient relativement faciles à trouver pour les ordinateurs personnels, bien que la plupart ne fassent qu'un sous-ensemble de C (c'est pourquoi vous verrez autant d'annonces de compilateurs "minuscules C" dans les magazines plus anciens). ). Pascal était un langage plus gros et plus encombrant à l'époque où seuls les amateurs d'informatique les plus riches avaient des disques durs (et un disque dur de 5 mégaoctets coûtait plusieurs centaines de dollars). Pour le Apple 2 (mon premier ordinateur, et ce n'était même pas un "plus"), exécuter Pascal nécessitait l'achat d'une carte mémoire supplémentaire (il fallait 64k de RAM!) Et a pris plusieurs disquettes pour se charger, tandis que les "petits compilateurs C" tiennent sur une seule disquette (et pourraient se débrouiller avec 16k de RAM).

Pascal était enseigné dans les programmes d'informatique, tandis que C était principalement autodidacte (parfois enseigné dans les programmes de génie électrique). Pascal a acquis une réputation parmi les codeurs de cow-boy pour être un "langage de bondage et de discipline", ce que je pensais non mérité car ils ne se sont jamais rencontrés ADA .

Les principaux pilotes de Pascal dans les années 80 étaient Apple (parce que les API utilisaient les normes d'appel Pascal) et Borland. Les compilateurs "Turbo" de Borland étaient probablement les meilleurs disponibles sur le marché, et les "similaires" une licence "livre" les a rendus beaucoup plus populaires que les entreprises avec des licences plus vicieuses.

Borland a perdu son avance sur le marché du développement lorsque Microsoft a embauché ses principaux développeurs et chefs de projet (tels que Hejlsberg, Gross et plus de 35 autres), pour finalement développer .NET et Visual Studio. Borland et Microsoft ont réglé le procès quelques années plus tard, mais Borland ne s'est jamais remis de la perte. À mon avis, Delphi a commencé à flétrir à ce moment-là (comme les personnes qui lui ont donné le focus et le lecteur ont été embauchées), et le changement de PDG a en même temps pris Borland d'une entreprise de compilation en un ALM (application lifecycle management) company, en changeant son nom pour Inprise quelques années plus tard. Les cendres de Borland appartiennent désormais à Micro Focus.

4
Tangurena

Mon point de vue est que le C et les principaux langages qui en dérivent, C++, Java et C #, ont été adoptés par les plus grandes sociétés de logiciels, telles que Microsoft et Sun/Oracle, et à travers les différentes piles de développement. En conséquence, il est devenu la "langue maternelle" de Windows, Apple OS et Unix.

Pascal, malgré les meilleurs efforts de Borland et souvent mal orientés, n'a pas atteint ce niveau de pénétration du marché.

1
jfrankcarr

Pascal n'est devenu populaire que dans un seul environnement PC/DOS assez limité.

Même alors, il y avait autant d'applications MicroFocus COBOL fonctionnant sur PC que d'applications Pascal.

C était la base du système d'exploitation UNIX et de tous les systèmes d'exploitation MS/Windows.

La combinaison d'une exécution efficace sur un matériel limité et d'un accès natif aux bibliothèques OS et GUI sous-jacentes étaient probablement les principales raisons du succès de C. Pascal ne l'a jamais vraiment piraté sur Windows, et Delphi est arrivé trop tard pour faire la différence.

1
James Anderson