Objective Caml

  • Créateur du sujet Créateur du sujet p4bl0
  • Date de début Date de début

p4bl0

Membre expert
Club iGen
12 Juillet 2004
4 772
423
36
$PWD
p4bl0.net
Connaissez vous ce language, quand pensez vous, et par rapport à Cocoa en Objective C, il est bien, aussi simple etc...

Sachant que c'est un language multi plateforme, pensez vous que c'est une bonne chose de l'apprendre, pour ceux qui l'ont déjà utiliser, est ce qu'il est bien, le developpement est il rapide, les applications créer avec sont elles aussi performantes sur os X que sous window$ et linux?? etc...



Le site web


merci.
 
Bonjour,
Caml est portable sur d'autres plateformes, mais si tu commences a utiliser des fonctions specifiques a Mac OSX, tu redeviens mono-plateforme.
Pour les performances, rien ne vaut du C, donc de l'objective-C si tu veux faire du Cocoa. Et Cocoa reste la meilleure bibliotheque d'objets pour programmer sur Mac OSX.
 
OCaml est surtout utilisé en enseignement et en théorie informatique. C'est, à la base, un langage fonctionnel (parent de LISP), ce qui permet d'être très rigoureux. Mais, évidemment, il a été étendu pour gérer les aspects impératifs (comme les langages "classiques") puis les aspects objet.

Pour apprendre la récursivité, le polymorphisme de type, c'est très agréable. Les listes, les arbres, y compris polymorphes s'écrivent avec un naturel reposant.

Pour faire des applications "classiques", c'est un peu plus délicat mais certains le font (par exemple le logiciel de P2P MLDonkey est écrit en OCaml. Il y a eu aussi un navigateur, des applis financières). On peut l'interfacer avec C (jamais essayé, je m'en sers uniquement pour des cours de base en algorithmique). De toutes façons, ce n'est pas OCaml qui va remplacer Cocoa. Il peut éventuellement s'interfacer avec. Pas évident que l'interfaçage soit simple, mais le mieux pour en avoir une idée est là aussi d'aller voir le site MLDonkey

Attention : Il y a bien une application "CocoCaml" mais ça n'a rien à voir : c'est une interface OSX au compilateur interactif de OCaml, bien pratique pour l'enseignement, ce compilateur interactif : on retrouve les avantages des implantations du basic préhistorique sans les inconvénients :D ).
 
ntx a dit:
Bonjour,
Caml est portable sur d'autres plateformes, mais si tu commences a utiliser des fonctions specifiques a Mac OSX, tu redeviens mono-plateforme.
Pour les performances, rien ne vaut du C, donc de l'objective-C si tu veux faire du Cocoa. Et Cocoa reste la meilleure bibliotheque d'objets pour programmer sur Mac OSX.

Euh faut que je retrouves les benchs que j'avais vu mais ocaml est bien performant aussi et plus que le C. Genre ici par exemple : http://cubbi.org/serious/fibonacci/bench.html. Y'en a d'autres mais à retrouver.

Mais sinon OCaml, c'est bien sympa à étudier, y'a le côté fonctionnel à calculer et s'habituer à coder de cette façon, mais après c'est sympa pour programmer.
 
Effectivement, c'est assez performant, étonnant même que cela soit plus performant que de l'assembleur. Mais en fait je pensais plutôt à des applications graphiques. Il serait interessant d'avoir des benchs sur de la manipulation de fenêtres.
 
Ok merci beaucoup !!

mais après m'y être un peu plus interessé hier, la programmation à l'air plus simple en Objective-C...

je verrais quand même, j'ai le temps (j'étais* qu'en 2nd) et je pourrais voir cette été.





* :D et oui, j'étais car mon année s'est fini ce matin :p
je recommence à bosser que l'année prochaine (en 1ere S)
 
truk2oof a dit:
Ok merci beaucoup !!

mais après m'y être un peu plus interessé hier, la programmation à l'air plus simple en Objective-C...

je verrais quand même, j'ai le temps (j'étais* qu'en 2nd) et je pourrais voir cette été.





* :D et oui, j'étais car mon année s'est fini ce matin :p
je recommence à bosser que l'année prochaine (en 1ere S)

Tu as largement le temps de voir. A ma connaissance, le Ocaml n'est appris que dans quelques facs et est surtout utilisé dans la recherche. Donc pour choisir, il faut aussi voir vers quoi tu veux te diriger, et il est encore trop tot je pense pour que tu le saches. Donc apprends le langage qui te permet de faire ce que tu veux. Si c'est des applis spécifiques à mac, Obj-c avec les libs cocoa sont bien evidemment ce qu'il te faut.
 
ben en fait je voudrais programmez des logiciels libres, en étant payé (CNRS par exemple)mais je ne pourrais pas pour plusieurs raisons :
. dans environ 10 ans, quand j'aurais fini mes études, programmer n'existera certainement plus : plus personne ne va reprogrammez un tableur ou un traitement de texte, m^me pour des logiciels plus spécifiques (compta, gestion etc...), tout sera déjà dans l'OS sous forme de "modules" et on les "assemblera" en fonction des ses besoins de logiciels, en tout cas c'est bien partie pour (Cocoa c'est déjà un peu ça)...

. parce que même ce genre de métier va être délocaliser (en Inde je pense, j'ai lu que les Indiens était majoritairement fort en clacule mentale, donc en informatique... peut-être.).

. il n'y aura peut-être tout simplement plus besoin de créer des logiciels car tout existera déjà...


sinon, je m'interresse aussi beaucoup à la politique et au montage vidéaux et musical (iMovie et GarageBand sur le powerBook que j'attend :love: ) mais là aussi (pas pour la politique) je ne sais pas ce que deviendrons ces métiers plus tard...

maintenant ce n'est que mon avis de lycéen qui ne vaut pas beaucoup...
 
truk2oof a dit:
. dans environ 10 ans, quand j'aurais fini mes études, programmer n'existera certainement plus : plus personne ne va reprogrammez un tableur ou un traitement de texte, m^me pour des logiciels plus spécifiques (compta, gestion etc...), tout sera déjà dans l'OS sous forme de "modules" et on les "assemblera" en fonction des ses besoins de logiciels, en tout cas c'est bien partie pour (Cocoa c'est déjà un peu ça)...
Entre Cocoa et une application comme Excel, il y a encore pas mal de boulot, de quoi t'occuper quelques annees.
. parce que même ce genre de métier va être délocaliser (en Inde je pense, j'ai lu que les Indiens était majoritairement fort en clacule mentale, donc en informatique... peut-être.).
C'est en tout cas bien parti, la question est : ou cela va-t-il s'arreter et quand ? L'informatique dans les grandes societes qui ont la capacite de delocaliser (Inde, mais aussi Chine ou Russie, le choix est large) risque d'etre rapidement sinistree en France. Qui va resister a la tentation ? Mais rassures toi les Indiens ne sont pas meilleurs informaticiens que les Francais (on est meme plutot bon, si ce n'est meilleurs qu'eux), ils sont juste moins chers.
. il n'y aura peut-être tout simplement plus besoin de créer des logiciels car tout existera déjà...
Il y aura toujours quleque chose de nouveau a inventer, il suffit de le trouver avant les autres.
 
truk2oof a dit:
ben en fait je voudrais programmez des logiciels libres, en étant payé (CNRS par exemple)mais je ne pourrais pas pour plusieurs raisons :
. dans environ 10 ans, quand j'aurais fini mes études, programmer n'existera certainement plus : plus personne ne va reprogrammez un tableur ou un traitement de texte, m^me pour des logiciels plus spécifiques (compta, gestion etc...), tout sera déjà dans l'OS sous forme de "modules" et on les "assemblera" en fonction des ses besoins de logiciels, en tout cas c'est bien partie pour (Cocoa c'est déjà un peu ça)...

Oui enfin c'est pas au cnrs qu'on te demandra de coder un tableur. Enfin je pense que non. De plus, si tu vises le CNRS, t'es plutôt dans une optique recherche non ? Et ca correspond pas à développer un tableur.
 
claque2000 a dit:
Oui enfin c'est pas au cnrs qu'on te demandra de coder un tableur. Enfin je pense que non. De plus, si tu vises le CNRS, t'es plutôt dans une optique recherche non ? Et ca correspond pas à développer un tableur.
LoL !

Le tableur, c'était un exemple de chose qui ne seront plus à developper : si tu developpes et que tu à besoin d'un tableur à un moment dans ton programme, tu n'as plus besoin de créer un tableur, tu en utilises un qui existe déjà : ça sera pareil pour tout ce genre de chose !!

Oui je suis plutôt dans une optique recherche, mais c'est le developpenment qui me pait : qu'est ce qui n'est pas devellopper aujourd'hui dequoi a-t-on besoin qui n'existe pas (logicielement parlant) ?? et vu que developper se fait sur des "couches" de plus en plus hautes, tout ça va devenir de plus en plus imple : je pense qu'il arrivera un moment ou on fera le logiciel dont on a besoin maitenant en 3 coup de souris...


le tableur c'était juste pour illustrer tout ça ;)