IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

À la découverte de Julia
Un nouveau langage pour le calcul scientifique, un tutoriel de Luthaf

Le , par dourouc05

54PARTAGES

9  0 
Chers membres du club,

J'ai le plaisir de vous présenter ce tutoriel de Luthaf :

À la découverte de Julia, un nouveau langage pour le calcul scientifique
Dans cet article, je vais vous présenter un nouveau langage, Julia. Ce langage est en développement au MIT depuis 2009 et la première version publique date de 2012. Il est actuellement en phase de stabilisation des fonctionnalités pour sa version 0.7.
Bonne lecture

Retrouvez les meilleurs cours et tutoriels pour apprendre la programmation

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de
https://www.developpez.com
Le 24/11/2017 à 21:14
Salut
Je trouve que l'article ne met pas du tout en valeur les qualités du langage :

- section "II. Comment ça marche ?" : à mon avis cette section est inutile. Franchement, ça intéresse qui de savoir que julia utilise blas et lapack (en plus c'est faux, c'est openblas, quand il est dispo) ? De même le parseur n'est pas en Lisp mais en Scheme.

- section "III-A. Une syntaxe simple" : pourquoi donner uniquement des exemples avec des structs mutables alors que l'intérêt de julia est justement de faire de la programmation fonctionnelle efficace avec les immutables (qui est d'ailleurs le comportement par défaut) ?

- toujours section III-A : quasiment aucun exemple de calcul matriciel alors que c'est une des fonctionnalités fondammentales, qui permet notamment de concurrencer matlab et python numpy...

- section III-B : julia n'est pas vraiment orienté objet. Il permet juste un polymorphisme "comme en objet" via le multiple dispatch. Présenter julia comme un langage objet c'est vraiment induire les gens en erreur. Julia est avant tout un langage fonctionnel.

- toujours section III-B : c'est vraiment nécessaire 2 exemples d'assembleur alors que d'un autre côté l'article ne parle pas des fonctionnalités de profiling, tests, packaging...

Enfin bref, désolé d'être aussi critique; ce tutorial a le mérite de faire connaitre ce super langage qu'est Julia donc merci pour cela.
1  0 
Avatar de Luthaf
Membre régulier https://www.developpez.com
Le 26/11/2017 à 1:19
Salut !

Merci pour les retours =). Cet article est en fait assez ancien, et publié il y a deux ans à l'occasion de la sortie de la version 0.4 sur ZdS. Il a été importé sur ce site par un des membres du site.

> - section "II. Comment ça marche ?" : à mon avis cette section est inutile. Franchement, ça intéresse qui de savoir que julia utilise blas et lapack (en plus c'est faux, c'est openblas, quand il est dispo) ? De même le parseur n'est pas en Lisp mais en Scheme.

En effet, je ne connaissait pas la différence entre blas/openblas et Lisp/Scheme à l'époque.

> - section "III-A. Une syntaxe simple" : pourquoi donner uniquement des exemples avec des structs mutables alors que l'intérêt de julia est justement de faire de la programmation fonctionnelle efficace avec les immutables (qui est d'ailleurs le comportement par défaut) ?

Parce qu'à l'époque de la 0.4 'struct Foo' définissait une struct mutable, je suppose qu'à l'import la syntaxe a été directement traduite pour la version 0.6.

> - section III-B : julia n'est pas vraiment orienté objet. Il permet juste un polymorphisme "comme en objet" via le multiple dispatch. Présenter julia comme un langage objet c'est vraiment induire les gens en erreur. Julia est avant tout un langage fonctionnel.

Je pense qu'il est bon d'introduire de nouveaux concepts en s'appuyant sur des concepts existant. Je trouve aussi que le langage n'est pas simplement fonctionnel, mais aussi impératif et orienté objet (avec héritage, encapsulation et polymorphisme), même si l'orientation objet ne se fait pas de la même manière que C++ ou Java.

> - toujours section III-B : c'est vraiment nécessaire 2 exemples d'assembleur alors que d'un autre côté l'article ne parle pas des fonctionnalités de profiling, tests, packaging...

C'est un article d'introduction pour donner envie de s’intéresser à la chose, pas un tutoriel complet sur le langage =)

Mais je suis d'accord avec toi, il y aurait plein d'améliorations à apporter à l'article, et plein de tutoriels en français à écrire. Je n'ai pas le temps de le faire pour ma part, mais si quelqu'un est intéressé, mon texte est sous CC-BY-SA, donc faites vous plaisir!
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 26/11/2017 à 22:16
pour ces quelques échanges, j'ai adapté la sections II et III-A. Par contre, je n'ai pas apporté de modifications plus en profondeur, vu que ça dénaturerait l'article.

À ce propos, SimonDecoline, aurais-tu le temps de t'atteler à un tutoriel Julia qui mette en avant les points que tu présentes ?
0  0 
Avatar de
https://www.developpez.com
Le 27/11/2017 à 22:12
ok
@dourouc05 : en ce moment non mais dans quelques mois peut-être. Si tu veux, je recontacte en MP quand j'aurai plus de temps.
0  0 
Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 28/11/2017 à 18:36
Ce serait génial !
0  0