<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Simon:
J'hésite à changer d'orientation universitaire et je risque de tomber sur un gros cours d'informatique, plus précisement Scheme <HR></BLOCKQUOTE> ... Tu viens étudier à Fribourg ??
Si tu veux, avec Bruno on t'en dira un peu plus le 17
, car en fait on a fait pendant toute une année du Scheme et même un projet avec (on a dû implémenter Logo, tu sais le programme avec une petite tortue
).
Moi, faut dire que j'ai assez aimé Scheme, qui est un dialecte de Lisp. Les loops n'existe pas (donc for, while, do ... until ... hem, oui, il y a néanmoins un moyen de les utiliser, mais il faut te faire une macro), car en Scheme, les variables n'existent pas...Tous les paramètres sont passés by value (quoique tu peux aussi faire du delayed evaluation) et c'est avec un interpréteur que tu travailles et non avec un compilateur ... Donc Scheme est un langage à 100% fonctionnel, donc rien à voir avec Obj-C, Java et consort, l'environment avec lequel il travaille est à 100% dynamique... Pour apprendre Scheme et les principes de la programmation foncitonnelle, je ne peux que te conseiller la base de la base comme bouquin (de Susman) ... Je te redonne la référence ce soir en arrivant à la maison et je t'apporterai le livre le 17 si tu veux... Petit exemple de la fonction factorial écrit récursivement et itérativement (et oui, c'est possible SuperCed) :
|* Exemple récursif*|
(define (fact n)
(if (= n 1)
1
(* n (fact (- n 1)))))
|* Exemple itératif *|
(define (fact1 n)
(define (iter i rep)
(if (> i 1)
(iter (- i 1) (* rep i))
rep))
(iter n 1))
********************
Quoi utiliser pour faire du Scheme sur OS X...Le mieux c'est d'utiliser
DrScheme ... J'avais essayé une version bêta et faut dire que ça tournait pas mal...Il me semble que maintenant tu peux d/l la finale... Qu'apporte DrScheme de plus que les autres environement Scheme : il possède un help desk, resp. une aide on ne peut plus touffu (disons que je n'avais encore jamais vu ceci) , on peut faire des objets avec grâce à MrEd (donc tu peux aussi faire des fenêtres, boutons, etc. => c.f help desk). Le mieux, c'est que tu regardes un peu par toi même...
Si tu as d'autres questions, n'hésite pas
++