Developpez.com - Rubrique Pascal

Le Club des Développeurs et IT Pro

Pourquoi le C est-il plus massivement utilisé que le Pascal ?

Les deux langages sont pourtant de même niveau et pratiquement aussi puissants

Le 2009-08-23 16:02:55, par F.Saad, Membre habitué
n'avoir trouvé ce sujet sur le forum m'a étonné.
Alors voilà ma question : C vs Pascal.
Je crois que les deux sont des langages de low level et probablement du même niveau.
Mais en terme de puissance, comment cela se fait-il que le premier soit le plus populaire ?
J'aimerais savoir ce qui justifie l'utilisation massive du C vontre le Pascal alors que ça devrait être de la même envergure que Java vs C# ou au moins Cpp. Aussi dois-je ajouter que je ne recherche pas une comparaison sur le plan académique.
  Discussion forum
25 commentaires
  • darrylsite
    Rédacteur
    Je pense que l'utilisation massive du langage c par rapport au pascal est plutot liée a des raison historique. Le langage c a connu ce grand succes parqu'il est lié a unix/linux de puis ces debuts, par contre le pascal a cause de sa rigure, sa syntaxe plus conviviale et le fait d'etre un langage bien complet est utilisé pour l'enseignement.

    Sinon, les gens confond souvent le pascal et le turbo pascal limite a generer du binaire 16 bits, son domaine d'utilisation assez limite, ... Avec le developpement des outils tels que freepascal et lazarus qui produisent du binaire 32 bits, un compilateur multiplateforme et un RAD, un programmeur pascal n'a vraiment rien a envie a un programmeur c/c++ ou meme java.

    Pour moi, je pense meme que le pascal est bien plus puissant que le c.
    .. En pascal, on peut faire du programme tres bas niveau : utilisation des pointeurs de fonction et des pointeurs en general, manipulation de la memoire (la pile, le tas, ...), utilisation des tableaus bas niveau comme en c, possibilite d'introduire de l'assembleur dans le code (ça va avec l'acces au registres systemes), gestion des interuptions systemes,...

    .. On peut aussi faire du programme tres haut niveau: pas a s'encombrer avec pointeurs quand on en a besion (ce qui impossible en c), faire de la programmation orientee objet avec des possibilites comparable a c++ et voir java (heritage multiple , polymorphisme, ...). Aussi en poo, on peut soit utilise les class comme en java, ou les objet qui sont un peu comme les classes en c++. On a la possibilite de surdefinir des operateur comme en c++ ou encore ada, ...

    Alors dire

    Ce que je sais que c est plus fort que pascal car il peut gérer des choses que pascal n'est pas capable de faire c'est pour cela les OS (Operation System) sont écrient en C
    ou

    coté puissance, on ne peut pas les comparer!

    Pascal est un langage pour enseigner la programmation. Après avoir arrivé à un certain niveau, un passage vers le C est obligatoire. La plupart des autres langages( Cpp, Java, php, Csharp, ...) sont les descendants syntaxiquement du C.
    me parait bien deplacer.
    J'ai eu la chance d'apprendre conjointement le pascal et le c sur trois ans et je ne vois pas du tout ce que le c peut faire et que le pascal ne peut pas.
  • darrylsite
    Rédacteur
    Oui, la poo en pascal existe deja a l'epoque deu vieux dynausore turbo pascal 7. Bien que j'ai envie qu'il soit comme un phoenix pour qu'il renaisse de ces cendres

    Avec freepascal ou lazarus par exemple, la poo est bien presente : on peut avoir des membres privés, protegés ou public, definition des classes abstraites, ... En gros tout ce qu'il faut pour faire de la poo, et je dirais qu'on peut biensur faire de la poo pure avec pascal.

    En somme, je pense que le c ne fais pas le poids devant le pascal. Et je pense que c'est a cause de sa puissance que ça en fait un bon langage pour debuté : on commence par apprendre les bases de la programmation, puis on progresse vers la programmation systeme, ensuite on finit par faire de la poo; et tout ça avec un seul langage .
  • Hardous
    Nouveau Candidat au Club
    Ce que je sais que c est plus fort que pascal car il peut gérer des choses que pascal n'est pas capable de faire c'est pour cela les OS (Operation System) sont écrient en C

    Voila un petit article en anglais explique bien le différence entre C et Pascal
    http://en.wikipedia.org/wiki/Compari...f_Pascal_and_C
  • Anthony.Desvernois
    Membre chevronné
    Lol,

    Ca m'en rappelle une bonne:


    #2580 (+) 1852/2249/8 (-)
    <Wapiti>On peut faire de la programmation par objet en assembleur.
    <Jabial>Oui, et on peut faire de la programmation de bas niveau en pascal.
    <Jabial>On peut aussi percer un mur avec une mitrailleuse lourde et tuer quelqu'un avec une perceuse.
    <Jabial>Mais c'est pas vraiment pratique.
    (c) BashFr
  • Ibn Rochod
    Membre du Club
    coté puissance, on ne peut pas les comparer!

    Pascal est un langage pour enseigner la programmation. Après avoir arrivé à un certain niveau, un passage vers le C est obligatoire. La plupart des autres langages( Cpp, Java, php, Csharp, ...) sont les descendants syntaxiquement du C.

    En plus, le C est encore trop utilisé au milieu professionnel.
  • vg-matrix
    Membre confirmé
    je suis surpris que vous n'ayez pas trouvé, et pourtant vous trouverais la reponse ici:
    http://www.developpez.net/forums/d769654/general-developpement/debats-developpement-best-of/langage-debuter-c-pascal-ada-fonctionnels/
  • c'est globalement plus une question d'outils que de langage. Les deux sont quasiment identiques (un peu plus verbeux pour le pascal), le C ajoutant seulement le nombre variable d'arguments (ce qui n'est pas une feature utilisée par beaucoup de monde, sortis des printf et scanf).

    Mais le C s'étant développé plus tot et plus vite, de meilleurs outils ont été créés, permettant de mieux utiliser le C encore... les comilateurs sont devenus très pros.

    Le Pascal a lui été cantonné aux IDE assez pauvres (turbo pascal) pendant longtemps, écarté des makefile (qui permettent de s'eloigner d'un IDE pour un editeur de texte plus puissant)

    bref, ca ne vient pas du langage, mais de ce qu'il y a autour.
  • F.Saad
    Membre habitué
    Envoyé par darrylsite
    Je pense que l'utilisation massive du langage c par rapport au pascal est plutot liée a des raison historique. Le langage c a connu ce grand succes parqu'il est lié a unix/linux de puis ces debuts, par contre le pascal a cause de sa rigure, sa syntaxe plus conviviale et le fait d'etre un langage bien complet est utilisé pour l'enseignement.

    Sinon, les gens confond souvent le pascal et le turbo pascal limite a generer du binaire 16 bits, son domaine d'utilisation assez limite, ... Avec le developpement des outils tels que freepascal et lazarus qui produisent du binaire 32 bits, un compilateur multiplateforme et un RAD, un programmeur pascal n'a vraiment rien a envie a un programmeur c/c++ ou meme java.

    Pour moi, je pense meme que le pascal est bien plus puissant que le c.
    .. En pascal, on peut faire du programme tres bas niveau : utilisation des pointeurs de fonction et des pointeurs en general, manipulation de la memoire (la pile, le tas, ...), utilisation des tableaus bas niveau comme en c, possibilite d'introduire de l'assembleur dans le code (ça va avec l'acces au registres systemes), gestion des interuptions systemes,...

    .. On peut aussi faire du programme tres haut niveau: pas a s'encombrer avec pointeurs quand on en a besion (ce qui impossible en c), faire de la programmation orientee objet avec des possibilites comparable a c++ et voir java (heritage multiple , polymorphisme, ...). Aussi en poo, on peut soit utilise les class comme en java, ou les objet qui sont un peu comme les classes en c++. On a la possibilite de surdefinir des operateur comme en c++ ou encore ada, ...

    Alors dire

    ou

    me parait bien deplacer.
    J'ai eu la chance d'apprendre conjointement le pascal et le c sur trois ans et je ne vois pas du tout ce que le c peut faire et que le pascal ne peut pas.
    J'en etais arrivé a la meme conclusion en lisant l'article sur wikiped.
    je trouve meme que le pascal est bien plus fort pour ce qui est d'etre complet mais aussi flexible.
  • POO en pascal ? sans pascal objet ?
  • houla non quand meme. J'ai developpé en Delphi pendant un long moment, sur un projet de 1 400 000 lignes de code Delphi, je peux dire que le pascal objet est au dessus du C peut etre mais appeler cela de la programmation objet (au sens C++) est un peu exagéré. Surtout, un des trucs qui chiffonnent, c'est que par exemple le destructeur n'appelle jamais automatiquement les destructeurs enfants. Tout le code doit encore etre ecrit a la main, ce qui en fait a peine un equivalent de "C with classes"