Vous pensez quoi du http://caml.inria.fr/(...) ?
Voila un de mes amis passe une classe préparatoire. Il m a demandé un coup de main au niveau algorythmique en caml.
Est ce un langage vraiment intéressant, utile ?
J en suis a la compréhension de synthèse de type et aux définitions parallèles par exemple
# let a = 1 in
let a = 2 and b = a in
a + b ;;
- : int = 3
Et franchement cela change pas mal du C et du C++, on arrete pas de tout "cast"é. Et les opérateurs pour les entiers ne sont pas les même que pour les flottants ....
Bref votre avis.
Dans mon apprentissage je m appui sur ces documents :
Abstraction Concrète : Manuel
http://perso.wanadoo.fr/jacques.rouable/ac/_manuel/man/ac.htm(...)
http://www.gomor.org/Programmation/caml.html(...)
http://pauillac.inria.fr/caml/man-caml/index.html(...)
# Re: caml : votre expérience m intéresse
Posté par _alex . Évalué à 1.
[^] # Re: caml : votre expérience m intéresse
Posté par Samaty Tramo . Évalué à 2.
[^] # Re: caml : votre expérience m intéresse
Posté par kd . Évalué à 1.
# Re: caml : votre expérience m intéresse
Posté par vincent LECOQ (site web personnel) . Évalué à 1.
Sérieux, c'est un bon langage, mais pas mon préferré.
Bon à savoir : tu peux commander gratuitement toutes les docs de l'inria sur le sujet (et autres ... ) juste en leur envoyant un mail undiquant la référence que tu peux trouver sur leur site.
http://kolvir.no-ip.org/projet_caml_2003_2004.tgz(...) (si je n'ai pas éteinds mon PC (je vis dans 9m² et la nuit en général j'aime bien dormir ...)
[^] # Re: caml : votre expérience m intéresse
Posté par Samaty Tramo . Évalué à 1.
[^] # Re: caml : votre expérience m intéresse
Posté par Black Fox . Évalué à 1.
# Re: caml : votre expérience m intéresse
Posté par Jerome Herman . Évalué à 1.
1- De l'analyse semantique par recherche de motifs. A condition de pas etre presse pour le resultat ca tourne bien. Le systeme de fonction est un peu bizarre au debut mais le fait de pouvoir differencier les differents cas par leur aspect et non pas par parsage a coup de if/then/else rend le code tres comprehensible pour une relecture ulterieure. De meme les algo reccursifs de type divide and conquer se codent en 10 secondes.
2- Tester une grammaire/un parseur/un language. La c'est un peu lus complexe, mais vu que lex et Yacc peuvent etre clairement gavant quand tu veux juste verifier la coherence de ta gramaire, c'est assez pratique.
Maintenant pour les programmes qui sont "critiques" en terme de temps d'execution, c'est sympa de tester son algo en Caml mais la version definitive devra etre ecrite dans un autre langage.
Kha
[^] # Re: caml : votre expérience m intéresse
Posté par drac . Évalué à 1.
Je ne suis pas d'accord avec toi, même pour des programmes critiques Ocaml est très bon, son implémenation (ocamlopt par exemple) n'est pas si loin que ca niveau performance que gcc.
Si ce langage est utilisé par des chercheurs dans les domaines de l'optimisation ce n'est pas simplement par ce que "c'est beau de programmer en fonctionnel". C'est que c'est aussi redoutable d'efficacité.
Les programmes que j'appellerais critique pour "caml" ou Ocaml sont justement les programmes qui n'ont pas besoin d'algo poussé et ou la programmation impérative est bien plus simple.
Bon en gros manipuler des tableau en caml bof, manipuler des listes ... la c'est autre chose en général.
# Re: caml : votre expérience m intéresse
Posté par drac . Évalué à 1.
Il l'est pour l'algo.
C'est un langage fortement typé (ce qui oblige a un peu de rigueur, on additionne pas entiers et flottants par exemple ...),
Il est très pratique pour parcourir des arbres grace à des fonctions récursives, et des pattern matching
Il permet des abstractions pas possible en C.
...
Enfin ce langage permet de ce concentrer sur les choses que l'on veut faire quand on fait de l'algorythmique c'est à dire l'algorythme et non sur le code (et la gestion de mémoire dont on a pas trop envie de s'occuper, Ocaml le fait assez bien lui même)
Par contre je coderais pas un drivers pour un périphérique en Ocaml.
Enfin bref, comparé Ocaml et le C par exemple me parait assez bête, c'est comme comparé des choux et des carottes. En effet le C est une sorte d'assembleur plus haut niveau, qui te laisse te démerdé par toi même sur pas mal de trucs (tu dois verifier la taille de tes buffers par exemple si tu veux pas faire trop de bétises, enfin bon la gestion de la mémoire elle est pour toi ...), ce qui permet de faire des applications assez rapide en général.
Le but d'Ocaml n'est pas de faire joujou avec la mémoire (qui reste un principe de la programation impérative à mon avis), par contre il est très interressant pour décrire des algo et reste très performants (à mon avis il est moins couteux en rapport temps/performance de developper certains algo en caml qu'en C) ...
Enfin voila, donc caml comme tu l'auras compris j'aime bien, m'enfin tu fais pas tout avec non plus.
PS: L'abus de Caml est dangereux pour la santé.
(Ne pas abusé de la récursivité)
# Re: caml : votre expérience m intéresse
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 1.
Mais ca a l air bein cool, et ca me change de mon code sale en C ou Perl, car le "code sale" en CamL, plutot que de tourner mal ou presque ne compile pas.
# Re: caml : votre expérience m intéresse
Posté par kolter (site web personnel, Mastodon) . Évalué à 2.
alors voici une bonne url pour débuter :
le polycopié de cours en ligne est ici :
http://www.sciences.univ-nantes.fr/info/enseignement/deug/info2/pol(...)
le poly en postscript ici :
http://www.sciences.univ-nantes.fr/info/enseignement/deug/info2/pol(...)
le poly en pdf ici :
http://www.sciences.univ-nantes.fr/info/enseignement/deug/info2/pol(...)
le poly est pas mal, il introduit la programmation fonctionnelle, c'est pour un cours de DEUG et pour caml-light, mais une fois que tu auras compris tu peux rapidement de lancer dans objective-caml sutout que la doc de OCaml de l'inria est bien faite et tu feras vite le // entre les deux...
voila voila
M.
# Re: caml : votre expérience m intéresse
Posté par Nicolas Cuny (site web personnel) . Évalué à 1.
Déjà le développement de camllight, l'interpréteur, est arrêté depuis décembre 1997. Je viens de découvrir qu'il est sorti en janvier 2002 une version qui n'a même pas été annoncée dans les news ( http://caml.inria.fr/index-fra.html(...) ) qui n'est probablement qu'une version de maintenance.
Je ne retrouve plus la page sur le site de l'Inria qui recommance à tous de passer à Ocaml. Il ne faut pas avoir peur du changement car il reste possible de se passer des notions objet en OCaml, juste quelques types de données à adapter (notation pointée, méthodes d'accès, ...).
Le développement d'OCaml est au contraire (relativement) actif. Il est bien plus rapide en interprété et il possède un mode compilé digne des performances du couple C/gcc.
Enfin, "Développement d'applications avec Objective Caml" (décrit ici : http://linuxfr.org/2001/03/05/2585.html(...)) est un très bon bouquin publié chez O'Reilly qui a le très bon goût d'être accessible en ligne (
http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/index.html(...) ). Même la couverture est jolie.
# Re: caml : votre expérience m intéresse
Posté par Uvoguine . Évalué à 1.
# Re: caml : votre expérience m intéresse
Posté par tdaubign . Évalué à 1.
Pas pour programmer de grosses applications mais pour faire des algorythmes compliqués...
Il est suepr enrichissant intellectuellement ! quelle joie de réaliser un algo de fou en juste 4 ou cinq lignes super puissantes !
Bref je l aime.....
[^] # Re: caml : votre expérience m intéresse
Posté par Sixel . Évalué à 1.
Boarf! Prolog (Eclipse) roxor!!! OCaml puxor!
Caml = Mimi // Prolog = Monnier
donc y'a pas photo!
[/mode]
Mais au fond, c'est vrai qu'on s'est bien marré à faire ce put#¤% d'analyseur syntaxique/sémantique en OCaml... Même si j'avais préféré le manipulateur de partitions musicales en Lambda-Prolog, ou le traducteur Hiéroglyphes/Anglais en SicStuS-Prolog ;)
"Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).
[^] # Re: caml : votre expérience m intéresse
Posté par tgl . Évalué à 2.
> donc y'a pas photo!
Tu as de la chance, elle ne lit pas les journaux.
[^] # Re: caml : votre expérience m intéresse
Posté par Sixel . Évalué à 1.
"Il faut" (Ezekiel 18:4) "forniquer" (Corinthiens 6:9, 10) "avec des chiens" (Thessaloniciens 1:6-9) "morts" (Timothée 3:1-10).
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.