OcamL ou CamL Light?

Salut,
Avec quel langage doit-on composer aux concours : OcamL ou CamL Light?

Il me semble que c’est, hélas, Caml light.

Tu peux aussi programmer en OCaml, il n’y a pas de soucis à ce propos pour l’avoir moi-même fait.
Selon les établissements, on apprends soi OCaml soit Caml Light, mais la branche la plus active reste sûrement OCaml, et présente donc un avantage certain.

Malheureusement, nous c’est en CamL Light.

Merci :smiley:

c’est débile…Caml Light est mort depuis des années…
ok c’est de l’info théorique donc a pourait etre du f# qu’on s’en foutrait tout autant MAIS bon…c’est un mal francais ca : « on fait de l’info théorique donc on se fout du langage ». C’est vrai mais pourquoi ne pas en même temps et sans aucun problème apprendre aux gens un langage moderne et parfois même utiliser en dehors de l’info théorique???
Car les profs sont trop glandus pour apprendre la syntaxe du Ocalm?? je n’y crois pas…non c’est car en france on pense que, quand on enseigne X, on ne peut pas, en dégat collatéral :slight_smile: enseigner Y en même temps…foutue mentalité!

fakbill a écrit:

c’est débile…Caml Light est mort depuis des années…
ok c’est de l’info théorique donc a pourait etre du f# qu’on s’en foutrait tout autant MAIS bon…c’est un mal francais ca : « on fait de l’info théorique donc on se fout du langage ». C’est vrai mais pourquoi ne pas en même temps et sans aucun problème apprendre aux gens un langage moderne et parfois même utiliser en dehors de l’info théorique???
Car les profs sont trop glandus pour apprendre la syntaxe du Ocalm?? je n’y crois pas…non c’est car en france on pense que, quand on enseigne X, on ne peut pas, en dégat collatéral :slight_smile: enseigner Y en même temps…foutue mentalité!
Pas d’accord avec tout. Parfaitement d’accord pour enseigner OCamL à la place de CamL Light. En revanche, on fait de l’info théorique (c’est l’unique but de l’option), pas de l’info pour ingénieurs, donc je suis plutôt contre l’utiliser en-dehors de l’info théorique.

La distinction est stupide,oiseuse et bien française :frowning:

c’est l’unique but de l’option
Ha bon? c’est écrit dans le marbre??? Tu n’atteindras jamais deux buts dans un seul et même enseignement?

Le top du top de la stupidité dans cette ligne de pensée a été atteint en école d’ingé où on avaait un cours d’élec numérique et un cours d’élec analogique. Chaque cours avaient ses grands TP et son mini projet avec interdiction d’utiliser les outils de l’elec numérique dans le projet d’élec analogique.

Si le fait d’apprendre aussi aux gens ) coder dans un langage qui peut leur servir à qqch un jour (c’est le cas de OCaml…ça ne sert apas souvent…mais on en trouve dans l’industrie) dans l’industrie vous dégoute à ce point alors ne faites même pas de TP et demandez des algo en pseudo code aux concours.

En fait la diff entre Ocaml et CamL Light est assez petite tant qu’on utilise pas trop de que OCaml apporte de plus. Ce n’est donc pas bien grave…

Par contre, c’est la façon de penser qui me sidère. Quel gachis…
On ne parle pas d’enseigner plus de choses mais juste d’enlever les oeillères enre les disciplines… I have a dream that one day…

D’une part, pour OCaml par rapport à Caml Light il y a beaucoup de raisons de preferer OCaml mais une grande raison d’importance pour Caml Light : c’est plus facile à administrer sous windows. Si nos ordis étaient sous Linux ce serait plus évident d’utiliser OCaml. C’est pour des raisons un peu triviales dans ce genre que j’ai preferé faire cette année du Caml Light. Mais l’an prochain je switcherais vers OCaml.

Sur le reste, je rejoins un peu fakbill.
Le drame de la France c’est qu’on s’imagine que l’informatique industrielle consiste juste à pisser de la ligne de code sans comprendre et que tout le monde peut y arriver. Un petit peu comme l’illusion consistant à faire croire que les écoles d’ingénieurs forment à faire du management.
On arrive alors avec des équipes entières de programmeurs où personne n’a jamais entendu parler de complexité et où on fait des optimisations super compliquées pour améliorer un programme en O(n^2) alors qu’il existe un algo en O(n ln(n)) pour faire la même chose.
Pour donner un exemple voila une image extraite d’un TP que mes élèves ont fait cette année, il s’agissait d’étudier un problème de recherche de chemins qui se rencontre très fréquemment en pratique. Comme vous pouvez le voir je ne considère pas que modéliser la trajectoire d’un ennemi dans un jeu soit un problème purement théorique. N’importe lequel d’entre vous qui fait un petit jeu dans son temps libre peut le rencontrer. .

MERCI !!
JE pense que l’aurais aimé vous avoir comme prof :slight_smile:

Voire que certains établissements ne mettent pas à disponibilité des postes sous linux me désolent à peu. En tout cas dans mon lycée l’ensemble des postes qui sont à disposition sont sous ubuntu (sauf au cdi et pour les tp de physique..) c’est-à-dire internat, couloirs, et salle d’info. La possibilité est laissé d’accéder à windows depuis le boot, ou en host virtuel. Mais, c’est vraiment plus simple à l’utilisation, notamment pour installer OCaml me diront certains.

Par contre fabkill, je ne te rejoins pas sur un point : quand tu dis qu’OCaml sert peu souvent. Personnellement si j’ai besoin d’un petit script fait main et rapide il y a pas de soucis (convertir un fichier csv vers qif par exemple). Après c’est vraiment qui faut si connaître un peu notamment les fonctions importantes du module Pervasives (gestion des fichiers) Str(Expressions rationnelles). Et puis on peut citer plein de projets intéressants fait en ocaml (notamment ocsygen par exemple).
Le soucis c’est plutôt les interfaces graphiques qui sont d’une verbosité incroyable sauf si on passe par lablgtk et les designers mais il y a pas de documentation sur le net.

Goldfish : rajoute « dans l’industrie » à ce que je disais et tu me comprendras.
OCaml en langage pour scripter? pourquoi pas…c’est efficace…et un peu exotique :slight_smile:
Je scripte (bcp plus pour moi que le pour le boulot) en python.
Une gui? qt+python :slight_smile:

Oh on a quand même plusieurs petites choses (Astrée, Unison…) comme se plaît à le dire cette page : caml.inria.fr/about/successes.fr.html.
Le terme exotique est sans doute du au fait qu’il est fonctionnel, mais ça permet de faire assez rapidement certaines choses. Il est vrai que c’est aussi dû à ma méconnaissance d’autres langages plus adapté je pense à perl notamment auquel il faudrait que je regarde. Le problème de python c’est qu’il faudrait que je le réinstalle :slight_smile:.
Après pour les gui c’est vrai que qt est vraiment complet mais j’utilise la version C++. Ce qui m’y gêne par contre c’est la pauvre gestion du XML. Un des points favorables est cependant son IDE, à l’analyse syntaxique et la recherche des symboles assez fantastique comparée à d’autres environnements.

Ce qui est exotique c’est de l’utiliser pour faire du scripting « à la bash » (gestion de fichiers tout ça).
Je connais « bien » le C++ mais je n’aime pas car c’est trop compliqué pour ce que c’est.
Tu veux faire du graphisme et du XML et la vitesse pure n’est pas un pb sauf quand tu veux faire du clacul numérique « bourrrrrrrin »? : python :slight_smile:
python pour le xml et le reste, pyside pour le python+qt et numpy/scipy/matplotlib pour le reste :slight_smile:

l’installer? python? sous linux tu ne peux pas le virer totalement (car des choses fondamentales sont écrites en python).
Sous windows, je conseille pythonxy qui a le bon gout de tout installer d’un coup.
code.google.com/p/pythonxy/

Il y a du nouveau note de service n° 2013-0020 du 4-11-2013

Le programme d’informatique de l’option informatique des classes préparatoires Mathématiques, physique et sciences de l’ingénieur (MPSI) et Mathématiques et physique (MP et MP*) est un programme d’informatique théorique. Le cours est accompagné de travaux dirigés, où sont effectivement mis en œuvre les concepts. Le langage de programmation utilisé n’est pas imposé par le programme, qui prévoit que l’enseignant pourra utiliser l’un des langages retenus dans une liste, qui pourra être actualisée.

La liste des langages retenus pour l’enseignement de l’option informatique est composée du seul langage Caml Light. Cette liste est applicable pour l’option informatique en première année MPSI, dès la mise en place de cet enseignement au second semestre de l’année scolaire 2013-2014, et en seconde année MP et MP*, à compter du 1er septembre 2014.

Pour la ministre et par délégation,
Par empêchement de la directrice générale pour l’enseignement supérieur et l’insertion professionnelle,
Le chef du service de la stratégie de l’enseignement supérieur et de l’insertion professionnelle - DGESIP A,
Jean-Michel Jolion
**
Le seul langage au programme est désormais Caml Light**. Ocaml n’a pas été retenu, j’ignore pourquoi.
Auparavant, on avait le choix entre Caml Light et TurboPascal (en pratique, Caml_light était très majoritaire, et FreePascal remplaçait TurboPascal).

Remarquons que désormais, il sera plus facile de changer le langage, puisque ce dernier n’est pas écrit noir sur blanc dans le programme.

PS : Astrée est écrit en C.

Dans le précédent programme il y avait la même formulation et on annonçait que la liste des langages serait réeditée chaque année. Résultat, une seule publication en 1995 et un Pascal maintenu plus longtemps que prévu.

Pour OCaml, le problème est la richesse plus grande des bibliothèques. Que faire si un élève utilise une fonction qui fait la moitié du boulot au concours ? De plus, on autorise les labels ? les modules ? les objets ? les functeurs ? En pratique, plus le langage est riche, plus certains seront tentés.

En quoi ça serait gênant ? Quelqu’un qui connaît bien le langage va avoir tendance à utiliser à meilleur escient les bibliothèques. En pratique, il est inintéressant de coder quelque chose qui correspond à une option du langage, qui de plus sera sûrement plus rapide que notre programme. Mieux vaut l’utiliser directement, et de loin !

Je peux comprendre que ça ne correspond pas à la nature actuelle des épreuves, mais au pire on peut justement la changer… Et au final, tout le monde y gagne.

Vu les sujets de toutes manières ça m’étonnerait fortement qu’un candidat soit pénalisé parce qu’il a osé écrire Array.length au lieu de vect_length… (si je me rappelle bien)

Masselotte a écrit:

Vu les sujets de toutes manières ça m’étonnerait fortement qu’un candidat soit pénalisé parce qu’il a osé écrire Array.length au lieu de vect_length… (si je me rappelle bien)
Peut-être, mais parce qu’il sait que vect_length est dans Caml Light et est donc légitimement utilisable. Si on s’autorise tous les module de OCaml, beaucoup de questions risquent de perdre de leur intérêt ^^

Ce problème des bibliothèque se posait déjà avec Maple, et ça n’a pas empêché l’X et les ENS de faire des sujets d’informatique (écrits) avec Maple.
Je pense donc qu’il n’y a pas de difficultés insurmontables sur ce point : si on veut, on peut.