dire qu'il est dur a aborder sans étude d'info est complètement faux.
Je le trouve dur à aborder en ayant fait des études d'info (rien d'insurmontable ceci dit), et je n'ai fait qu'extrapoler en supposant que ce devrait être encore plus dur pour quelqu'un qui n'en avait pas fait.
En particulier, la notation de l'inférence de types n'est pas évidente pour qui n'a pas fait de lambda calcul. L'imbrication des let et autres let rec, la différence entre les fonctions renvoyant quelque chose et les instructions de renvoyant rien mais agissant par effets de bord... c'est pas spécialement évident non plus.
Et d'ailleurs tu conseilles le C mais mâitrises tu complètement la sémantique du C ?
Je n'ai jamais prétendu que le C était simple, bien au contraire. La seule raison pour laquelle je pense que le C est utile, c'est parce que si on sait coder en C, on a une bonne intuition de la manière dont fonctionne un vrai ordinateur, et je pense qu'avoir cette intuition est utile.
Dire que ca syntaxe n'est pas amicale n'a pas de sens, ca dépend des goûts de chacun.
Aurais-tu, par hasard, omis de remarqué que je précisais entre parenthèses "à mon avis" ? Effectivement, ça dépend des goûts de chacun, mais la syntaxe d'OCaml est bourrée d'exceptions, et ça n'en facilite pas l'apprentissage. En particulier, le fait qu'il y ait un opérateur par type pour une même opération, c'est super chiant. Certes, ça permet l'inférence de types, mais ça reste super chiant de devoir se rappeler de la liste des opérateurs de chaque type.
Au niveau de la syntaxe, un langage comme le Scheme est beaucoup plus rapide à apprendre, parce qu'il existe très peu de règles et qu'elles n'ont pas d'exceptions. En 10 minutes n'importe qui peut comprendre et retenir la syntaxe de Scheme.
[^] # Re: Avis
Posté par Yusei (Mastodon) . En réponse au journal Commencer à programmer ?. Évalué à 2.
Je le trouve dur à aborder en ayant fait des études d'info (rien d'insurmontable ceci dit), et je n'ai fait qu'extrapoler en supposant que ce devrait être encore plus dur pour quelqu'un qui n'en avait pas fait.
En particulier, la notation de l'inférence de types n'est pas évidente pour qui n'a pas fait de lambda calcul. L'imbrication des let et autres let rec, la différence entre les fonctions renvoyant quelque chose et les instructions de renvoyant rien mais agissant par effets de bord... c'est pas spécialement évident non plus.
Je n'ai jamais prétendu que le C était simple, bien au contraire. La seule raison pour laquelle je pense que le C est utile, c'est parce que si on sait coder en C, on a une bonne intuition de la manière dont fonctionne un vrai ordinateur, et je pense qu'avoir cette intuition est utile.
Aurais-tu, par hasard, omis de remarqué que je précisais entre parenthèses "à mon avis" ? Effectivement, ça dépend des goûts de chacun, mais la syntaxe d'OCaml est bourrée d'exceptions, et ça n'en facilite pas l'apprentissage. En particulier, le fait qu'il y ait un opérateur par type pour une même opération, c'est super chiant. Certes, ça permet l'inférence de types, mais ça reste super chiant de devoir se rappeler de la liste des opérateurs de chaque type.
Au niveau de la syntaxe, un langage comme le Scheme est beaucoup plus rapide à apprendre, parce qu'il existe très peu de règles et qu'elles n'ont pas d'exceptions. En 10 minutes n'importe qui peut comprendre et retenir la syntaxe de Scheme.