IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Un Pseudo-langage pour les algorithmes


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut Un Pseudo-langage pour les algorithmes
    Bonour à tous,

    En vue d'initier des etudiants non encore informaticiens, je souhaite trouver un langage (un peu plus facile que le C) qui permette à ceux-ci de se debrouiller. Ils ont leur algorothme et souhaite transformer celui-ci en langage pour le faire tourner.

    Avez-vous des idées pour ce pseudo langage? En existe-t-il et si oui, lesquels? Sinon, comment me conseillez-vous de faire?

    Je pourrai leur apprendre le C, mais ca risque d'etre compliqué pour eux.

    Un grand merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    essai le visual basic c'est quasiment une traduction en anglais de notre algorithme
    ou essai windev

  3. #3
    Membre régulier
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2004
    Messages
    528
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2004
    Messages : 528
    Points : 99
    Points
    99
    Par défaut
    Merci pour les reponses.

    Windev etant payant (cher), je ne peux y acceder.
    VB me semble accessible, mais je souhaite quelque chose qui se rapproche encore plus des algo que de la programmation.

    Si il y a d'autres idées, je suis preneur. Mais c'est vrai que vb a l'air pas mal.

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 149
    Points : 28 116
    Points
    28 116
    Par défaut
    Bonjour,

    Quid du Pascal, ou bien du Delphi ? L'avantage de ces langages, comparés au C, est leur rigueur, qui permet de se concentrer sur l'algorithmique.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Je vais peut être dire une bétise mais il existe KPL qui permet de faire des choses proches de l'algo :
    http://xo.developpez.com/tutoriel/kpl/1_intro/
    May the Troll, be with you
    (Que le troll soit avec toi)

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Depuis quelques années maintenant, les classes préparatoires aux grandes écoles se sont tournés vers OCaml pour l'initiation à l'informatique. Leurs buts étant principalement l'enseignement de l'algorithmique, leur situation est à peu près similaire à la tienne. OCaml est particulièrement adapté pour la retranscription d'algorithmes et la manipulation de structures de données de façon naturelle. Par exemple en OCaml, écrire une structure d'arbre binaire de recherche et ses routines de manipulations se fait bien plus aisément et élégamment que dans n'importe quel autre langage (excepté Haskell probablement) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    type 'a bTree = Leaf | Node of 'a bTree * 'a * 'abTree;
     
    let rec inser tree x = match tree with
      | Leaf -> Node( Leaf, x, Leaf )
      | Node( fg, y, fd ) when x = y -> tree
      | Node( fg, y, fd ) when x < y -> Node( inser fg x, y, fd )
      | Node( fg, y, fd ) -> Node( fg, y, inser fd x )
     
    let rec find tree x = match tree with
      | Leaf -> false
      | Node( fg, y, fd ) when x = y -> true
      | Node( fg, y, fd ) when x < y -> find fg x
      | Node( fg, y, fd ) -> find fd x
    OCaml est très puissant : fonctionnel, mais possédant des éléments impératifs. Il peut être compilé pour obtenir des performances correctes.


    Quant aux autres propositions, Pascal reste un bon choix, même s'il n'a pas été remplacé en prépa par OCaml sans raison (il suffit de regarder les sujets de concours et la taille et la clarté des codes qu'on y trouve pour les deux langages pour le comprendre), par contre je recommanderais de ne surtout pas utiliser VB, qui est bien connu pour donner de mauvaises habitudes de programmation, sans parler du fait que VB n'est disponible sous Windows et que tant qu'à apprendre un langage autant en apprendre un qui puisse être utile partout. Le seul avantage de VB à mon goût, c'est qu'il est très facile de faire des GUIs avec, mais ça n'a pas l'air d'être ton objectif ?

    --
    Jedaï

  7. #7
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,
    le langage le plus rugoureux de par sa conception meme est sans nul doute le pascal. J'ai commencé là dessus et j'avoue que c'est extremement pédagogique.

    En revanche, je suis contre ce que viens de dire nahzhir "essai le visual basic", car c'est un langage absolument non rigoureux de par le fait que tu peux ne pas déclarer les variables (et c'est essentiel pour comprendre ce qu'est une variable pour certains élèves). Meme si certaines options rendent la programmation plus rigoureuse. En plus, sur certaines versions, tu n'as pas acces au mode console sous window, donc le débugage est pas térrible.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  8. #8
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par ToTo13
    Bonjour,
    le langage le plus rugoureux de par sa conception meme est sans nul doute le pascal. J'ai commencé là dessus et j'avoue que c'est extremement pédagogique.

    En revanche, je suis contre ce que viens de dire nahzhir "essai le visual basic", car c'est un langage absolument non rigoureux de par le fait que tu peux ne pas déclarer les variables (et c'est essentiel pour comprendre ce qu'est une variable pour certains élèves). Meme si certaines options rendent la programmation plus rigoureuse. En plus, sur certaines versions, tu n'as pas acces au mode console sous window, donc le débugage est pas térrible.
    A propos de la rigueur et de OCaml : OCaml utilise un système d'inférence de type qui lui permet de détecter beaucoup d'erreur à la compilation. En combinant ça avec le système des "match" qui avertit si l'on oublie une alternative, une syntaxe rigoureuse et simple, un typage fort, etc, la plupart des erreurs sont détectées à la compilation contrairement à beaucoup d'autre langage. Quand un programme se lance sans protestation, on a de bonne chance de le voir marcher ! De plus, OCaml vérifie les bornes de ses tableaux à l'exécution, ne possède pas de pointeurs, mais uniquement des références sécurisées... En bref OCaml est un langage très sûr, qui s'appuie sur des preuves mathématiques pour assurer que son fonctionnement est sain.

    --
    Jedaï

  9. #9
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    allons allons que de rigorisme
    un langage qui utilise des variables sans les déclarer n'est pas si horrible
    d'autant qu'il suffit de mettre option explicit pour contourner l'obstacle

    que dire de Pascal qui permet de déclarer des variables sans les utiliser ?
    un manque de rigueur ??

    pour moi un langage est un outil qui doit permettre
    d'arriver à un résultat rapidement avec un bon équilibre temps de développement temps de production

    Pascal est certes rigoureux mais ressemble par trop à un lego où il faut tout faire soi même alors que visual basic offre un grand nombre de fonctions et structures intégrées et documentées

    je ne vois pas trop comment on peut de nos jours séparer l'apprentissage
    de l'algo de celle de la programmation

    la mise en oeuvre d'un algo est largement tributaire des structures offertes par le langage et la simplicité de visual basic permettent de se focaliser sur l'algo sans s'enferrer dans les subtilités du langage
    Elle est pas belle la vie ?

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 160
    Points
    160
    Par défaut
    random, je trouve que tu dis n'importe quoi '_'

    Visual Basic n'est pas du tout orienté vers l'algorithmique comme l'a souligné Jedai.
    Il sert uniquement à faire des GUI facilement.

    Je pense aussi que le meilleur choix est sans doute Ocaml, ou si l'on préfere manipuler des langages itératifs pascal.

    Mais Ocaml est vraiment génial pour l'algo

    je ne vois pas trop comment on peut de nos jours séparer l'apprentissage
    de l'algo de celle de la programmation
    Pourtant c'est ce qui se fait dans toutes les vraies écoles d'informatique.

    la mise en oeuvre d'un algo est largement tributaire des structures offertes par le langage et la simplicité de visual basic permettent de se focaliser sur l'algo sans s'enferrer dans les subtilités du langage
    Très souvent il est beaucoup plus simple d'adapter un algo avec ocaml.

    C'est aussi pour ça que c'est le langage enseigné dans les CPGE, de plus en plus de facs et pas mal d'écoles...

  11. #11
    Membre habitué
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 114
    Points : 156
    Points
    156
    Par défaut
    Ca risque de partir en troll tout ça!

    D'ailleurs rajoutons une couche! Vous avez oublié l'ADA! Avec une syntaxe proche du Pascal, il permet beaucoup plus (trop?) de rigueur. Peut-être un peu chiant pour faire du calcul car tous changement de type (au sens informatique) doit être explicitement écrit.

    On peut aussi parler du FORTRAN

    Personne n'en a encore parlé ici, mais il est aussi possible de se fabriquer un langage proche d'un existant, et ensuite d'utiliser un convertisseur (comme un analyseur lexical passé par LEX). Je crois que ceci a déjà été fait pour franciser des langages comme C ou Pascal (i.e. remplacer int par entier, float par reel,...).
    Avec ça tu écrit ton algo dans un pseudo-langage proche d'un vrai langage, et ensuite tu converti puis compile ton prog.

    Un point à creuser donc...

  12. #12
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par Teuchteu
    Ca risque de partir en troll tout ça!

    D'ailleurs rajoutons une couche! Vous avez oublié l'ADA! Avec une syntaxe proche du Pascal, il permet beaucoup plus (trop?) de rigueur. Peut-être un peu chiant pour faire du calcul car tous changement de type (au sens informatique) doit être explicitement écrit.
    L'ADA est très bien, mais un petit peu TROP rigoureux pour le débutant : ce langage est si pesant que le débutant risque de s'y noyer plutôt que d'en retirer quoique ce soit... Ce qui n'enlève rien à ADA qui est un langage remarquable pour qui vise la sûreté.
    (NB : En Caml également, toute transtypage doit être explicite (passer par une fonction en fait), mais on en a moins souvent besoin que dans la plupart des autres langages car l'inférence de type de Caml permet le polymorphisme sans effort (on ne parle pas du même polymorphisme qu'en Java ici, mais plutôt d'un système qui se rapproche des templates à la C sans les inconvénients : cf mon exemple d'arbre binaire))

    Citation Envoyé par Teuchteu
    On peut aussi parler du FORTRAN
    Et du COBOL non ?

    Citation Envoyé par Teuchteu
    Personne n'en a encore parlé ici, mais il est aussi possible de se fabriquer un langage proche d'un existant, et ensuite d'utiliser un convertisseur (comme un analyseur lexical passé par LEX). Je crois que ceci a déjà été fait pour franciser des langages comme C ou Pascal (i.e. remplacer int par entier, float par reel,...).
    Avec ça tu écrit ton algo dans un pseudo-langage proche d'un vrai langage, et ensuite tu converti puis compile ton prog.

    Un point à creuser donc...
    Franchement, si on apprend à programmer c'est tout de même pour opérer dans le monde réel après, donc l'intérêt d'apprendre un langage en Français spécifique à son labo et probablement peu portable... Sans parler du gros effort nécessaire pour l'enseignant dans ce cas, alors qu'il a déjà des outils tout à fait appropriés.

    --
    Jedaï

  13. #13
    Membre habitué
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 114
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Jedai
    Franchement, si on apprend à programmer c'est tout de même pour opérer dans le monde réel après, donc l'intérêt d'apprendre un langage en Français spécifique à son labo et probablement peu portable... Sans parler du gros effort nécessaire pour l'enseignant dans ce cas, alors qu'il a déjà des outils tout à fait appropriés.
    Tout dépend si Terminator désire initier ses étudiants à l'algo où à la prog. En fait, en relisant son premier post, je ne suis toujours pas très sûr de ce qu'il souhaite.

    Reste tout de même que la plupart des langages ont beaucoup de "concepts" en commun : les boucles, les condition.

    Partir d'un pseudo langage traduit tout seul en C peut-être intéressant pour se détacher des langages, le temps de quelques heures de TP. Ensuite passer à des langages concret.

    Je pense qu'on part souvent trop rapidement vers un langage pour pouvoir faire des applications pratiques de ce que l'on apprend (i.e. traduire nous même le pseudo code), ce qui fait qu'on perd la vision générale de la prog. C'est mon point de vue

    De plus cela peut-être un projet intéressant à donner à d'autres étudiants lors de cours sur les langages et les compilateurs, si cela est abordé bien sur.

    P.S.: J'ai commencé à programmer en BASIC, puis Pascal, puis Delphi. Certes ces langages sont utilisés dans "le monde réel", mais je ne les utilise plus aujourd'hui (en tout cas je ne m'en servirai jamais au travail), et je ne m'en porte pas plus mal.

  14. #14
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Bon, je vais tout de même apporter ma petite contribution :
    Ada est effectivement un bon choix si l'on souhaite acquérir une programmation rigoureuse. C'est d'ailleurs aussi le cas (voire même davantage) en C. Par contre, cela suppose des connaissances en informatique, tant en programmation qu'en algorithmique...

    OCaml est (pour les souvenirs que j'en ai ) un excellent langage si l'on souhaite se concentrer davantage vers l'algorithmique. Mais personnellement, j'avoue avoir un réel penchant pour Lisp (ou un dérivé, tel Scheme). Lisp essentiel pour la manipulation de listes, pour la récursivité, etc, etc . . .

    Donc d'après ce que j'ai compris de la question de Terminator, je conseillerai davantage Lisp ou OCaml

    ps : en plus, parmi les dérivés de Lisp, on compte E-Lisp (Emacs Lisp) : on peut très rapidement faire de petites fonctions que l'on intègrera à l'éditeur, permettant d'avoir de petits résultats ``visuels'' assez rapidement ; tout en gardant le côté interprétation directe depuis l'éditeur

    Quelques exemples d'E-Lisp :

    Des codes ``calculatoires'' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (defun double (a)
      "double the value of the argument"
      (interactive "p")
      (message "double (%d) : %d" a (* 2 a)))
    Ou de manipulation de texte sous Emacs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    (defun my-insert-buffer (buffer)
      "Insert after point the contents of BUFFER.
    Puts mark after the inserted text.
    BUFFER may be a buffer or a buffer name."
      (interactive "*bInsert buffer: ")
      (or (bufferp buffer)                  ; note : les 'or' sont intelligents <=> &&
          (setq buffer (get-buffer buffer)))
      (let (start end newmark)
        (save-excursion
          (save-excursion
            (set-buffer buffer)
            (setq start (point-min) end (point-max)))
          (insert-buffer-substring buffer start end)
          (setq newmark (point)))
        (push-mark newmark)))
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 160
    Points
    160
    Par défaut
    Lisp est tres agréable à manipuler quand on a l'habitude, mais pour débuter je conseille vraiment ocaml

    2+x c'est plus intuitif que (+ 2 x)

    et la récursivité/manipulation de listes se fait tres bien aussi en caml

  16. #16
    Membre actif Avatar de Biosox
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    298
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 298
    Points : 203
    Points
    203
    Par défaut
    J'apporte ma contribution:

    J'ai "commencé" la programmation avec ADA (je met le mot entre guillemets, car c'est le premier cours de prog que j'ai suivi mais j'avais un peu touché au basic et pascal avant pour le plaisir) et contrairement à ce qui a été dit plus tot, j'ai trouvé tres bien pour commencer. Je ne me suis pas "perdu dedans" et quand il a fallu par la suite passer au C, ça c'est fait très aisément. Je pense qu'une transition dans l'autre sens aurait été plus difficile.

    Quand à la question "peut-on dissocier l'apprentissage de l'algorithmique et celui de la programmation?" je pense que non. Les "vraies" écoles comme a dit qqun ici séparent les deux cours, mais je pense qu'il commencent par un cours de prog, puis ensuite seulement un cours d'algo (en parallèle au cours de prog)
    En effet, dans n'importe quel language de prog, on voit tres rapidement les itérations, les conditions, etc... qui sont des mécanismes important pour n'importe quel algorithme de base, et apprendre l'algo sans avoir commencé par un peu de programmation me semble difficile

  17. #17
    Membre habitué
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2002
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2002
    Messages : 114
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par Biosox
    je pense qu'il commencent par un cours de prog, puis ensuite seulement un cours d'algo
    Un cours de prog oui, mais pas forcément dans un langage. Et rappelons nous que les algos existaient bien avant l'ordinateur. Nous avons tous appris les divisions entières (division euclidienne) au primaire sans savoir programmer (enfin pour ceux qui ne sont pas né un PC dans les mains). Nous avons (tous?) suivi une recette de cuisine pour faire un gateau sans pour autant savoir programmer.

    Mais on ne sait toujours pas vraiment si Terminator cherche à initier les étudiants à la prog ou à l'algo...

  18. #18
    Membre éclairé Avatar de HanLee
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2004
    Messages : 738
    Points : 871
    Points
    871
    Par défaut
    Hum, juste pour information, en classe préparatoire on en est toujours à Caml Light et non pas OCaml.

    Mais pourquoi beaucoup tiennent tant à Pascal ? C'est trop impératif comme langage, on manipule pas des fonctions simplement, c'est pas pratique pour l'algorithmique, à l'inverse de Caml.

    En Caml, l'écriture des algorithmes est naturelle, tu manipules des fonctions super simplement. Tu les passes en argument avec une syntaxe claire, tu les fous dans une structure, des affectations de fonctions par ci par là...

    Comme disait Jedai, c'est super sûr avec l'inférence des types.
    En plus, le pattern matching c'est très puissant, les types unions c'est super pratique pour modéliser toutes les structures inductives d'algorithmique, rapide comme les grands langages comme C++...

    En plus le code est très concis...

    Notez qu'aux concours des Grandes Ecoles, tous ceux qui font du Pascal sont désavantagés par rapport à ceux qui font du Caml, statistiquement... Bon c'est peut-être pas un truc pertinent j'avoue, parce que les meilleures classes prépa n'utilisent pas Pascal en général.

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 160
    Points
    160
    Par défaut
    Il n'y a plus que 3 prépas en france qui utilisent pascal je crois, toutes les autres travaillent avec caml

  20. #20
    Membre éprouvé Avatar de Caine
    Inscrit en
    Mai 2004
    Messages
    1 028
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 028
    Points : 1 122
    Points
    1 122
    Par défaut
    Ma pierre à l'édifice:

    Il est indispensable d'apprendre à ces gens qu'un algorithme se traduit dans un langage. L'implémentation d'un algorithme dans un langage n'est pas une simple transposition de mots clés.

    Apprendre à implémenter un même algorithme sur plusieurs langages est indispensable.

    Pascal et Ada sont un bon début.
    Ensuite C, C++: Il y a des chances que ça crash assez vite (pointeurs...) et ce sera formateur. Ils apprendront l'utilité de renseigner un algorithme avec des post-conditions, invariants...

    Pour changer ensuite du tout au tout, Lisp, Prolog et Anubis!

    Voilà, après avoir vu tout ces langages, ils auront appris:
    - la difficulté de traduction d'un algorithme
    - L'intérêt de ne pas connaître le langage cible au moment de la rédaction d'un algorithme

Discussions similaires

  1. Images de test pour les algorithmes de vision par ordinateur
    Par kamel.bensaid dans le forum Traitement d'images
    Réponses: 0
    Dernier message: 08/09/2014, 17h20
  2. images de test pour les algorithmes de traitement d'image
    Par mariyouma dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 10/03/2014, 10h17
  3. mais quel langage pour les non pro
    Par marco62118 dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 16/05/2013, 16h41
  4. Langage/Environnement pour les applis de gestion?
    Par Cassios dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 26/06/2006, 13h08
  5. Réponses: 3
    Dernier message: 09/06/2006, 08h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo