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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Julia Discussion :

Julia, un langage d'avenir ?


Sujet :

Julia

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    25 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 25 937
    Points : 181 517
    Points
    181 517
    Par défaut Julia, un langage d'avenir ?
    Le langage de programmation Julia n'est pas parmi les plus récents (les premiers travaux ont débuté en 2009). Il a été conçu, au départ, pour des tâches de programmation scientifique et parallèle.

    À l'époque, l'environnement informatique était loin d'être aussi avancé. On parlait plus de Fortran ou de MATLAB (deux environnements pas forcément intuitifs ou bon marché) que de Python, langage désormais préconisé : NumPy ne fonctionnait pas encore très bien, Cython et PyPy pour l'accélération de code étaient à peine sortis en 2007 ; les solutions actuelles d'accélération de code (par compilation à la volée) sont plus récentes encore, Numba n'étant sorti qu'en 2012. Toutes ces raisons ont poussé une série de chercheurs du MIT à développer ce qui est devenu Julia. Si l'écosystème Python était plus avancé en 2009, il y a fort à parier que Julia n'aurait jamais vu le jour.

    On peut donc clairement se demander pourquoi on chercherait à investir dans Julia, maintenant notamment que Python est aussi développé. Surtout que Python est le second langage d'une bonne partie des développeurs Julia ! Peut-être que, sans Julia, Python disposerait d'un lecteur de fichiers CSV aussi efficace que celui de Julia ? Ou alors les fonctionnalités de métaprogrammation et de combinaison de bibliothèques ? En tout cas, depuis 2009, bon nombre de langages se sont développés et ont pu attirer plus d'utilisateurs que Julia, avec une communauté plus grande : Swift, Go, Kotlin, Rust, par exemple.

    Les utilisateurs actuels de Julia précisent que peu de facteurs techniques les empêchent d'utiliser Julia autant qu'ils le voudraient : ils sont plutôt limités par leur organisation, le peu de collègues qui ont entendu parler du langage, mais aussi par les ressources d'apprentissage disponibles.

    Il n'empêche, les facteurs techniques restent très souvent discutés. Notamment, la compilation de code reste lente, ce qui fait que charger un paquet prend du temps — un problème souvent nommé "temps pour le premier graphique", ces latences étant surtout visibles pour du code d'affichage de graphiques (qui prend beaucoup de temps à compiler, sans que les optimisations effectuées aient un impact significatif sur le temps d'exécution). Heureusement, la prochaine version (1.6) améliorera fortement ce point. Selon les applications, il manque aussi certains paquets et ceux qui existent déjà sont loin d'être parfaits : dès que l'on sort des sentiers battus, le code est moins optimisé, moins bien conçu, il manque plus rapidement des fonctionnalités importantes. Au niveau du langage, certains estiment qu'il n'y a pas vraiment de fonctionnalité pour inciter à écrire du bon code, à l'instar de Python, surtout en comparaison de langages comme Rust.

    Il n'empêche que certaines organisations écrivent de grandes quantités de code en Julia et ne s'en plaignent pas. Par exemple, l'équipe CLiMA de Caltech (California Institute of Technology) développe une approche révolutionnaire pour la modélisation climatique. La trentaine de paquets Julia cherche à modéliser l'évolution du climat en utilisant des techniques d'apprentissage automatique, plutôt que des approximations d'équations différentielles (l'approche prédominante jusqu'à présent). Cette approche nécessite de repartir de presque rien du tout. Julia a permis de développer extrêmement rapidement du code de qualité pour résoudre ces problèmes scientifiques. Toujours dans le domaine de la climatologie, la réécriture complète d'un solveur de Fortran vers Julia a permis d'accélérer le code d'un facteur 3, malgré les abstractions que propose Julia par rapport à Fortran.

    Et vous, que pensez-vous de l'utilisation de Julia dans des applications réelles, que ce soit en production ou de grande taille (ou les deux) ? Quels sont les freins pour votre adoption de Julia ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    juin 2002
    Messages
    779
    Détails du profil
    Informations forums :
    Inscription : juin 2002
    Messages : 779
    Points : 651
    Points
    651
    Par défaut
    Heu, mise à part https://clima.caltech.edu/, qui utilise ce langage ?
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    octobre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : octobre 2015
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Une liste d'industriels utilisant Julia, clients de juliacomputing peut être trouvée sur cette page : https://juliacomputing.com/, dans la section dédiée. La liste réelle est sans doute beaucoup plus longue.

  4. #4
    Rédacteur
    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    février 2009
    Messages
    6 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2009
    Messages : 6 386
    Points : 23 020
    Points
    23 020
    Billets dans le blog
    116
    Par défaut Julia est encore jeune, laissez-lui du temps !
    Python n'est très populaire dans l'enseignement que depuis quelques années seulement alors que sa première version est parue le 1/02/1991 !

    Je pense que dans le futur, Julia ne remplacera jamais Python pour l'enseignement de la programmation, mais que les diplômés le rencontreront à leur travail.

    Julia est très utilisé dans le domaine universitaire, son lieu de naissance, mais son utilisation se répand au-dehors et il rencontre beaucoup de succès.

    Dans "What companies use the Julia programming language?"

    "Apple, Amazon, Facebook, BlackRock, Ford, Oracle, Comcast, Massachusetts General Hospital, Farmers Insurance, Los Alamos National Laboratory et le National Renewable Energy Laboratory exigent ce langage de programmation comme un incontournable dans les compétences d'un candidat méritant."

    "La liste comprend des personnes dans des institutions telles que la NASA, CISCO, MIT et Berkeley."
    Voir la page Julia Computing

    Voir Featured Customers That Trust Julia Computing

    Julia est un langage encore jeune, certains (dont je suis) pensent qu'il atteindra sa maturité avec la version 1.6 ou 1.7.

    La 1.6 apporte plusieurs corrections et améliorations, la plus importante une très nette amélioration dans la gestion et la précompilation des paquets.

    Le forum anglophone de Julia est dynamique : https://discourse.julialang.org/

    Articles :

    1. JULIA, LE LANGAGE DE PROGRAMMATION QUI ACCÉLÈRE LA RECHERCHE SCIENTIFIQUE
    2. Julia, le code informatique qui bouleverse la science
    3. Pfizer utilise Julia
    4. Julia. Accroissement rapide de l'adoption du langage Julia

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    25 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 25 937
    Points : 181 517
    Points
    181 517
    Par défaut
    Dans la tech, Google aussi utilise Julia : https://www.linkedin.com/feed/update...02460264449%29
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    septembre 2020
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente

    Informations forums :
    Inscription : septembre 2020
    Messages : 125
    Points : 449
    Points
    449
    Par défaut
    L'erreur serait de croire que Julia va remplacer Python tant la philosophie des deux langages est différentes.

    Alors que Python mise sur les framework et sur les bibliothèques souvent écrites dans un langage compilé de bas niveau, l'ambition de Julia est au contraire d'offrir un environnement homogène et d'avoir le plus de composants possibles écrits en Julia.

    Il y a eu un drama sur hackernews avant-hier à cause d'un billet de blog d'un data scientist qui ne croyait pas en Julia parce qu'on avait déjà Pandas, Matplotlib et Numba avec Python. C'est bien évidemment très réducteur comme façon de penser. Mais ça illustre bien le fossé entre les deux mondes.

  7. #7
    Expert confirmé
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    avril 2016
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : avril 2016
    Messages : 1 198
    Points : 5 089
    Points
    5 089
    Par défaut
    Personnellement, en dehors de l'écosystème, le seul gros manque que je vois en Julia par rapport au Python est qu'il ne supporte pas le typage statique optionnel. Mais, pour le reste, Julia semble répondre aux mêmes besoins que Python, avec de meilleures performances. Il n'y a plus qu'à attendre que l'écosystème se développe.

    D'ailleurs, pour l'enseignement, syntaxiquement, Julia est plus convivial que Python, surtout si on l'utilise dans l'enseignement des mathématiques.
    Exemple avec la REPL de Julia :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    julia> f(x) = x^2 + 4x + cos(x)
    f (generic function with 1 method)
     
    julia> f(10)
    139.16092847092355
    Pour définir des fonctions en une ligne, la syntaxe colle bien à celle qu'on utilise en math. En outre, pour appeler des fonctions mathématiques basiques comme le cosinus, il n'y a pas besoin d'importer un module math.

  8. #8
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    mai 2015
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mai 2015
    Messages : 346
    Points : 1 264
    Points
    1 264
    Par défaut
    Et vous, que pensez-vous de l'utilisation de Julia dans des applications réelles, que ce soit en production ou de grande taille (ou les deux) ?

    Je répondrais que des progiciels de gestion sont aujourd'hui codé en JS donc bon à partir de la plus de frein qui tiennent .

    Personnellement ce qui me bloque plus, c'est la capacité à écrire sont code avec toute la palette Unicode.
    Que l'on puisse l'utiliser dans des littéraux ou à l'intérieur de Buffer, OK, mais que l'on puisse coder en Cyrillique et que ce soit toujours du code valide, me pause plus de problèmes niveau refacto / compréhension.

    Quels sont les freins pour votre adoption de Julia ?

    Aucun, mais comme écrit dans les commentaire précédent, Julia n'est pas tellement un concurrent à qui que ce soit, mais plutôt une nouvelle possibilité à envisager pour ses projets.

    D’ailleurs pour les commentaires précédents, "Python vs Julia" n'as pas de sens, puisqu'il ne font ni la même chose, ni ne fonctionnent de la même façon.

    Bon courage à ceux qui voudrait lancer Julia sur iPad, iOS, AS/400, AIX et autres plateforme ou Python est présent.
    De même accrochez vous pour pouvoir intégrer Julia comme Python dans Blender (de façon légère) par exemple ou encore pour lancer Julia comme MicroPython dans un µC.

    Par contre, Julia pourrait tout à fait concurrencer Python pour certains usage où le "cold start" n'est pas dérangeant et où sa vitesse d’exécution et sa parallélisation native seraient des avantages, comme le web.
    Mais encore faudrait-il qu'il y est une communauté / plateforme qui ce mette en place, dans ces domaines, pour y arriver.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/10/2020, 19h40
  2. Le C est-il encore un langage d'avenir ?
    Par Gordon Fowler dans le forum Actualités
    Réponses: 105
    Dernier message: 22/01/2010, 16h03
  3. Quel langage d'avenir simple choisir pour du calcul, pour Windows et Linux ?
    Par c-paspire dans le forum Langages de programmation
    Réponses: 26
    Dernier message: 09/03/2007, 11h46
  4. Avenir du langage Pascal
    Par JoseF dans le forum Langage
    Réponses: 10
    Dernier message: 27/07/2006, 10h20
  5. L'avenir des langages de programmation
    Par LordBob dans le forum Langages de programmation
    Réponses: 14
    Dernier message: 02/04/2006, 23h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo