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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

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

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Par défaut Le langage de programmation Julia ne cesse de gagner en adoption avec une hausse de 87 % des téléchargements
    Le langage de programmation Julia gagne de plus en plus en popularité au sein de la communauté scientifique
    depuis janvier 2018

    Le langage de programmation Julia a été créé par des chercheurs du MIT en 2009 et publié pour la première fois au grand public en 2012. Ce mois-ci, d’après des chiffres publiés par le site Web du langage, ce dernier serait en train de connaître une croissance rapide au sein de la communauté scientifique. Selon certains internautes, Julia pourrait même se placer comme concurrent direct de certains langages comme Python ou C++ dans les prochaines années vu la manière dont elle séduit les développeurs. Julia est un langage de programmation de haut niveau, performant et dynamique pour le calcul scientifique, avec une syntaxe familière aux utilisateurs d'autres environnements de développement similaires (Matlab, R, Scilab, Python, etc.).

    Il fournit un compilateur sophistiqué, un système de types dynamiques avec polymorphisme paramétré, une exécution parallèle distribuée et des appels directs de fonctions C, Fortran et Python. Sa bibliothèque, essentiellement écrite dans le langage Julia lui-même, intègre également des bibliothèques en C et Fortran pour l’algèbre linéaire, la génération des nombres aléatoires et le traitement de chaînes de caractères. Les programmes Julia sont organisés suivant la définition de fonctions et de leur surcharge autour de différentes combinaisons de types d'arguments. Le développement de Julia a débuté en 2009 avec Jeff Bezanson, Alan Edelman, Stefan Karpinski et Viral Shah.

    Le langage s'est popularisé lorsque le compilateur est devenu open source en 2012. Il est actuellement disponible sous licence MIT. À la base, ses concepteurs voulaient un langage open source avec une licence libre et renfermant de nombreux avantages surtout pour la communauté scientifique. « Nous voulons un langage open source, avec une licence libre. Nous voulons un langage qui associe la rapidité de C et le dynamisme de Ruby. En fait, nous voulons un langage homoiconic, avec de vraies macros comme Lisp et avec une notation mathématique évidente et familière comme Matlab. Nous voulons quelque chose d’aussi utilisable pour la programmation générale que Python, aussi facile pour les statistiques que R, aussi naturel pour la gestion de chaîne de caractères que Perl, aussi puissant pour l’algèbre linéaire que Matlab et aussi bien pour lier des programmes que le shell. Nous voulons qu’il soit à la fois interactif et compilé », avaient-ils déclaré en 2012.

    Nom : juliagrowth1.png
Affichages : 28711
Taille : 25,9 Ko

    En août 2018, la première version 1.0 jugée stable par l’équipe est publiée et le mois suivant, Julia occupait la 39e place dans le top 50 de l’index TIOBE. Après la sortie de cette version, Alan Edelman, Professeur au MIT CSAIL (Computer Science and Artificial Intelligence Lab), directeur de Julia Lab au MIT et également l’un des cofondateurs de Julia s’est adressé à la communauté en ces termes : « la sortie de Julia 1.0 indique que Julia est maintenant prête à changer le monde technique en combinant la productivité de haut niveau et la facilité d’utilisation de Python et R avec la vitesse fulgurante de C ++ ».

    En décembre de la même année, le MIT indiquait que le projet Julia comptait plus de 3 millions de téléchargements et est utilisé dans plus de 1500 universités pour l’informatique scientifique et numérique. Cela a permis, courant décembre 2018 à trois des fondateurs de Julia d’être nommés lauréats du prix Wilkinson pour le logiciel numérique. Ce prix est décerné tous les quatre ans aux auteurs d’un logiciel numérique exceptionnel. Il a pour objectif de reconnaître les logiciels novateurs en calcul scientifique et d’encourager les chercheurs en début de carrière, a expliqué le MIT. Le prix sera présenté à la conférence sur la science et l'ingénierie numérique de la Société de mathématiques industrielles et appliquées (SIAM) de 2019 à Spokane dans l'État de Washington qui se tiendra du 25 février au 1er mars 2019.

    À ce jour, le site de Julia informe la communauté que le projet réunit plus de 2400 paquets inscrits et plus de 3,2 millions de téléchargements. Ce dernier représenterait, selon le site Web, une croissance de 78 % au niveau des téléchargements. Sur GitHub, le nombre d’étoiles a également augmenté pour atteindre environ 73 600. Des chiffres qui témoignent de la montée en puissance du langage au sein de la communauté et surtout chez les scientifiques. Des avis des utilisateurs recueillis sur le site parlent de ce que Julia soit plus rapide que Python, et plus que cela, elle est beaucoup plus expressive.

    Pour eux, le système des types, les macros et la répartition multiple permettent d’aborder des projets plus ambitieux. Le langage interagit également avec Python, ce qui permet de tirer parti des bibliothèques existantes dans Python et de s’intégrer à l’écosystème, disent-ils. Pour d’autres, Julia est un excellent outil. « Il est facile de noter le problème, mais il est difficile de le résoudre, surtout si notre modèle est à haute dimension. C'est pourquoi nous avons besoin de Julia. Comprendre comment résoudre ces problèmes nécessite un peu de créativité », ont-ils déclaré pour expliquer le choix porté sur Julia.

    Sources : Julia Computing, MIT

    Et vous ?

    Qu'en pensez-vous ?
    Connaissez-vous le langage ? Si oui, l’avez-vous essayé ? Partagez votre expérience avec nous.

    Voir aussi

    Sortie de Julia 1.0 et 0.7, le langage de programmation scientifique atteint sa première version stable après six ans de développement public

    Après Redmonk, c'est au tour de l'Index TIOBE de mettre Python dans le top 3 des langages les plus populaires, Julia gagne également en notoriété

    RedMonk janvier 2018 : Go semble déjà essoufflé et Swift rattrape Objective-C alors que Kotlin est en pleine ascension dans le classement

    Index TIOBE : C sacré langage de programmation de l'année 2017, Python enregistre encore la plus forte progression annuelle sur PYPL

    TypeScript entre dans le top 20 des langages les plus populaires, d'après le classement Redmonk de juin 2017
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Purée, 2 heures de lecture de la doc et je suis soufflé.
    C'est réellement un truc de fou. Chapeau bas aux p'tit gars du MIT
    Ils sont arrivés à faire ce qu'ils voulaient :
    Nous voulons un langage qui associe la rapidité de C et le dynamisme de Ruby. En fait, nous voulons un langage homoiconic, avec de vraies macros comme Lisp et avec une notation mathématique évidente et familière comme Matlab. Nous voulons quelque chose d’aussi utilisable pour la programmation générale que Python, aussi facile pour les statistiques que R, aussi naturel pour la gestion de chaîne de caractères que Perl, aussi puissant pour l’algèbre linéaire que Matlab et aussi bien pour lier des programmes que le shell. Nous voulons qu’il soit à la fois interactif et compilé »
    Bon, ben yapuka. Personnellement, j'ai succombé rien qu'en lisant la doc, c'est dire.
    Sur le net, il y a un consensus général sur le langage Julia. Vu les grosses boites qu'il s'y mettent, je parie ma chemise que cela va finir en raz-de-marée.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Personnellement, j'ai succombé rien qu'en lisant la doc, c'est dire.
    Attend de l'avoir utiliser un peu avant de succomber. Sur le papier, c'est effectivement génial mais en pratique il y a quand même une grosse phase d'apprentissage, notamment pour avoir les fameuses performances proches de C++.

    Citation Envoyé par rawsrc Voir le message
    Sur le net, il y a un consensus général sur le langage Julia. Vu les grosses boites qu'il s'y mettent, je parie ma chemise que cela va finir en raz-de-marée.
    Mouais. Ce serait effectivement bien si les technos les plus populaires étaient aussi les technos de meilleures qualités mais dans la pratique, ce n'est pas toujours ce que l'on observe. J'espère que tu n'es pas frileux...

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Ben la phase d'apprentissage est commune à quasiment toutes les technos.

    Après il faut aussi voir que ce n'est que la version 1, question performances, je pense que cela va s'améliorer. Ce langage était assez confidentiel jusqu'à maintenant mais je pense qu'il va progresser vite tant la syntaxe est bien pensée et les possibilités d'application vastes.
    Pour ne rien gâcher, il s'interface nativement avec à peu près tout ce qui existe

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Une telle simplicité syntaxique pour un langage compilé c'est plutôt rare et plus qu'appréciable. Et le fait qu'il soit en plus muni d'un interpréteur ne gâche rien. R n'a qu'à bien se tenir.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Ben la phase d'apprentissage est commune à quasiment toutes les technos.
    Si tu le dis...
    Perso, ça doit faire 2 ans que c'est mon langage principal et certains concepts de base du langage m'ont demandé un certain effort d'apprentissage (immuabilité, multiple dispach, types polymorphes, stabilité de type, JIT...). Et apparemment je ne suis pas le seul, vus la longueur de la page "Performance Tips" de la doc (https://docs.julialang.org/en/v1/man...ormance-tips-1) et le nombre de messages dans les sections "First steps" et "Performance" du forum Julia (https://discourse.julialang.org/)...

  7. #7
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Si tu le dis...
    Perso, ça doit faire 2 ans que c'est mon langage principal et certains concepts de base du langage m'ont demandé un certain effort d'apprentissage (immuabilité, multiple dispach, types polymorphes, stabilité de type, JIT...). Et apparemment je ne suis pas le seul, vus la longueur de la page "Performance Tips" de la doc (https://docs.julialang.org/en/v1/man...ormance-tips-1) et le nombre de messages dans les sections "First steps" et "Performance" du forum Julia (https://discourse.julialang.org/)...
    Pour la performance, il est important de savoir qu'il ne faut jamais, quels que soient les circonstances et les besoins, créer une variable globale ! Le code doit toujours être dans une fonction ou dans un module.

    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.)

  8. #8
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut


    Contrairement à ce que je pensais dans mes messages précédents, une variable est toujours globale même dans un module.

    Voir mon billet de blog : Julia. Comment éviter les variables globales ?

    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.)

  9. #9
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Ben la phase d'apprentissage est commune à quasiment toutes les technos.

    Après il faut aussi voir que ce n'est que la version 1, question performances, je pense que cela va s'améliorer. Ce langage était assez confidentiel jusqu'à maintenant mais je pense qu'il va progresser vite tant la syntaxe est bien pensée et les possibilités d'application vastes.
    Pour ne rien gâcher, il s'interface nativement avec à peu près tout ce qui existe
    La version 1.6 arrive et elle améliore nettement le temps de pré compilation.

    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.)

  10. #10
    Membre éclairé Avatar de Ekinoks
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    687
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 687
    Par défaut
    Nous voulons un langage qui associe la rapidité de C
    Qu'en est-il de la rapidité ? Car si je regarde sur le site de benchmarksgame-team.pages.debian.net, les résultats sont loin des performances du C.
    Link : https://benchmarksgame-team.pages.de...ter/julia.html

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Ekinoks Voir le message
    Qu'en est-il de la rapidité ? Car si je regarde sur le site de benchmarksgame-team.pages.debian.net, les résultats sont loin des performances du C.
    Link : https://benchmarksgame-team.pages.de...ter/julia.html
    Et sur ce site ils disent que les codes julia du benchmarksgame ne sont pas fait correctement : https://discourse.julialang.org/t/ju...needed/17915/7. Et sur celui-ci ils disent que les résultats de julia sont proches du C : https://julialang.org/benchmarks/.

  12. #12
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    On verra bien, peut-être que dans ce cas, le forum Julia montera d'un cran pour ce retrouver au même niveau que python ou perl

  13. #13
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    Février 2017
    Messages
    2 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2017
    Messages : 2 235
    Par défaut Le langage de programmation Julia ne cesse de gagner en adoption avec une hausse de 87 % des téléchargements
    Le langage de programmation Julia ne cesse de gagner en adoption au sein de la communauté scientifique : hausse de 87 % des téléchargements sur 2020
    En raison de son rapport simplicité-performance

    Le langage de programmation Julia ne cesse de gagner en adoption au sein de la communauté scientifique. Sur 2020, il enregistre une augmentation de 87 % de ses téléchargements. En comparaison à l’année 2019, c’est un gap haussier de 10 points de pourcentage. Quels facteurs expliquent cet intérêt de plus en plus croissant pour le langage de programmation pressenti pour remplacer C/C++ et Python dans la filière de la programmation et du calcul scientifique ? Quelles sont ses tares ?

    Nom : 224.png
Affichages : 12957
Taille : 218,4 Ko

    Julia est de plus en plus mis sur la balance avec Python. Le premier rejoint le second sur le plan de la simplicité. Toutefois, Julia est pensé dès le début pour offrir des performances de loin supérieures à celles de Python. Sur cet axe, le langage est comparé avec C/C++ et au langage Rust de Mozilla.

    La toute première tâche dans tout processus d’analyse de données consiste à lire des données. Cela doit être fait avec célérité et efficacité afin de pouvoir se consacrer à la tâche de traitement des données. Dans de nombreux secteurs et domaines, le format de fichier CSV est le format le plus utilisé pour le stockage et le partage des données tabulaires. Le chargement rapide et robuste des CSV est crucial, et il doit être bien adapté à une grande variété de tailles, de types et de formes de fichiers. Une étude parue au quatrième trimestre de l’année précédente illustre le fait que Julia est capable de lire les fichiers CSV dix à vingt fois plus vite que les langages Python et R. Attention, l’atteinte de ces cimes en matière de performance peut requérir de l’utilisateur du langage de posséder l’expertise nécessaire pour effectuer des optimisations.

    Nom : julia1.png
Affichages : 6602
Taille : 35,2 Ko

    Bien qu'il soit possible d'accélérer des programmes R ou Python en procédant à une réécriture de certaines parties en un autre langage, Julia propose une excellente performance par défaut sans artéfact. De plus, le langage s’appuie sur une syntaxe plaisante pour les mathématiques, très proche des notations habituelles. Par exemple, un produit matriciel s'écrit avec * en Julia, mais avec %*% en R ou @ en Python (uniquement depuis la version 3.6). Enfin, Julia permet le parallélisme facile, tant sur les différents cœurs d'une machine (c’est plus difficile en Python compte tenu de la syntaxe), R proposant le même genre de facilités, que sur plusieurs machines. En effet, Julia propose des abstractions alors que R et Python se contentent de bibliothèques comme MPI. Le langage reste néanmoins sous le feu des critiques pour des aspects comme l’importance des temps de compilation et le manque de maturité des paquets logiciels. Julia est un langage dont les premières versions remontent à 2012, ce qui est susceptible de faire office de justificatif pour diverses autres tares parmi lesquelles le peu de paquets disponibles par rapport à R ou Python, ce, même s'il est possible assez facilement d'utiliser les bibliothèques pour d'autres langages.

    Nom : julia2.png
Affichages : 6620
Taille : 47,5 Ko

    Une enquête menée auprès des utilisateurs de Julia en juin dernier donne un aperçu de la communauté des utilisateurs de Julia et de nombre de ses préférences et pratiques en matière de fonctionnalités. Elle est basée sur 2565 interviews. À date, la plupart des utilisateurs (60 %) travaillent dans le milieu universitaire, mais il y a une volonté croissante d'étendre Julia dans l'industrie. Dans l'industrie, les plus grands segments d'utilisateurs sont les professionnels du logiciel/des technologies de l'information (12 %) et l'ingénierie (11 %).

    Sources : julialang.org, juliacomputing.com

    Et vous ?

    Êtes-vous développeur Julia ? Pourquoi avez-vous opté pour ce langage ?
    Julia, R ou Python : de quel bord êtes-vous pour la programmation en sciences des données ?
    Quel autre langage pour le calcul scientifique préféreriez-vous à Julia ? Pour quelles raisons ?

    Voir aussi :

    Sortie de Julia 1.0 et 0.7, le langage de programmation scientifique atteint sa première version stable après six ans de développement public

    Après Redmonk, c'est au tour de l'Index TIOBE de mettre Python dans le top 3 des langages les plus populaires, Julia gagne également en notoriété

    RedMonk janvier 2018 : Go semble déjà essoufflé et Swift rattrape Objective-C alors que Kotlin est en pleine ascension dans le classement

    Index TIOBE : C sacré langage de programmation de l'année 2017, Python enregistre encore la plus forte progression annuelle sur PYPL

    TypeScript entre dans le top 20 des langages les plus populaires, d'après le classement Redmonk de juin 2017
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  14. #14
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 691
    Par défaut
    La façon dont est rédigée l’accroche de l'article me fait penser à cette excellente planche de xkcd.


    Le langage Julia a certainement beaucoup de qualités, mais ouvrir l'article en commençant par ce genre de chiffres, ça ne me donne pas vraiment envie.

  15. #15
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 712
    Billets dans le blog
    7
    Par défaut
    Le passage de Python vers Julia ne demande pas beaucoup d'effort.

    Et pour quelqu'un qui débute, Julia un choix très largement supérieur à Python. Et comme plusieurs programmeurs utilisant Python voudrait une version typée, Je ne serais pas étonné que la clientèle traditionnelle passent à Julia.

    Traitement en parallèle

    Julia prend en charge trois catégories principales de fonctionnalités pour la programmation simultanée et parallèle:

    "Tâches" asynchrones ou coroutines
    Multi-threading
    Informatique distribuée

    Les tâches Julia permettent de suspendre et de reprendre les calculs pour les E / S, la gestion des événements, les processus producteur-consommateur et des modèles similaires. Les tâches peuvent se synchroniser via des opérations telles que wait et fetch, et communiquer via Channels.

    La fonctionnalité multi-threading s'appuie sur les tâches en leur permettant de s'exécuter simultanément sur plus d'un thread ou cœur de processeur, partageant la mémoire.

    Enfin, l'informatique distribuée exécute plusieurs processus avec des espaces mémoire séparés, potentiellement sur des machines différentes. Cette fonctionnalité est fournie par la bibliothèque standard Distributed ainsi que par des packages externes tels que MPI.jlet DistributedArrays.jl.
    «Réseaux et flux
    Programmation asynchrone »
    Il me semble avoir lu quelque part, qu'Amazon ou Walmart a largement contribué financièrement. Et pour cette raison la version 1.5 est déjà utilisable pour des projets commerciaux. Pour le moment, les librairies ne sont aussi mature que JavaScript. Mais je crois que l'année prochaine, les différences ne seront plus significatives.

    Comparaison de performance Julia Vs Python :https://benchmarksgame-team.pages.de...a-python3.html

  16. #16
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par Madmac Voir le message
    Le passage de Python vers Julia ne demande pas beaucoup d'effort.

    Et pour quelqu'un qui débute, Julia un choix très largement supérieur à Python. Et comme plusieurs programmeurs utilisant Python voudrait une version typée, Je ne serais pas étonné que la clientèle traditionnelle passent à Julia.



    Il me semble avoir lu quelque part, qu'Amazon ou Walmart a largement contribué financièrement. Et pour cette raison la version 1.5 est déjà utilisable pour des projets commerciaux. Pour le moment, les librairies ne sont aussi mature que JavaScript. Mais je crois que l'année prochaine, les différences ne seront plus significatives.

    Comparaison de performance Julia Vs Python :https://benchmarksgame-team.pages.de...a-python3.html
    Il est certain que dans 4800 paquets Julia le niveau n'est pas au top partout, mais je pense qu'il en va de même dans Python.

    Pour l'instant, j'ai utilisé les paquets ci-dessous :

    Status `C:\Users\User\.julia\environments\v1.5\Project.toml`
    [336ed68f] CSV v0.8.2
    [49dc2e85] Calculus v0.5.1
    [324d7699] CategoricalArrays v0.9.0
    [861a8166] Combinatorics v1.0.2
    [a93c6f00] DataFrames v0.22.2
    [864edb3b] DataStructures v0.17.20
    [aaf54ef3] DistributedArrays v0.6.5
    [31c24e10] Distributions v0.24.10
    [da1fdf0e] FreqTables v0.4.2
    [60bf3e95] GLPK v0.14.4
    [28b8d3ca] GR v0.53.0
    [0ef565a4] Geodesy v1.0.1
    [7073ff75] IJulia v1.23.1
    [c8e1da08] IterTools v1.3.0
    [4076af6c] JuMP v0.21.4
    [2fda8390] LsqFit v0.12.0
    [7eb4fadd] Match v1.1.0
    [442fdcdd] Measures v0.3.1
    [c03570c3] Memoize v0.4.4
    [91a5bcdd] Plots v1.10.1
    [1fd47b50] QuadGK v2.4.1
    [1a8c2f83] Query v1.0.0
    [09ab397b] StructArrays v0.4.4
    [f269a46b] TimeZones v1.5.3
    [44d3d7a6] Weave v0.10.6
    [1a1011a3] SharedArrays

    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.)

  17. #17
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Juste comme ça, c'est ce que tu as lu ou entendu quelque part ou tu l'as vraiment expérimenté sur un vrai projet ?
    Vu qu'il y a des similitudes, j'ai trouvé le premier abord de Julia assez facile. Mais on se heurte rapidement aux différences dans le langage et dans le contenu des paquets.

    Le novice qui tombe sur le code ci-dessous devra réfléchir :

    function main()
    
        rayons = [0.75, 1.00, 1.25, 1.50, 1.75, 2.00, 2.15]
        sqrt.(2.0π.*rayons) |> println
    
    end
    
    main()
    
    #=
    [2.1708037636748028, 2.5066282746310002, 2.8024956081989645, 
    3.0699801238394655, 3.315957521978271, 3.5449077018110318, 
    3.6754385330782107]
    =#

    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.)

  18. #18
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par Madmac Voir le message
    Cela demande un effort d'adaptation, mais mon petit doigt me dit que ce code fonctionne déjà en multi-coeur...

    Cet effort additionnel est une aubaine, si on considère les gains acquis. Le même code écrit en Erlang serait sans doute beaucoup plus douloureux à lire ou à écrire.
    Non ! C'est du Julia de base.

    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.)

  19. #19
    Membre extrêmement actif
    Avatar de Madmac
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    1 712
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 712
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    Juste comme ça, c'est ce que tu as lu ou entendu quelque part ou tu l'as vraiment expérimenté sur un vrai projet ?
    J'ai converti quelques vieux programmes en Pascal. Histoire d'apprivoiser la syntaxe. J'ai appris plusieurs nouveaux langages de cette façon. Cela permet de se concentrer sur l'apprentissage d'une nouvelle syntaxe.

    Si on ne se lance pas dans des trucs comme le multi-tâche, le langage est aussi accessible que le Pascal. Le seul truc un peu déroutant est que c'est supposément un langage objet, mais c'est un type de langage objet assez particulier. Ce serait plus un langage procédural avancé.

    Mon intérêt est qu'il y a un paquet de site qui fonctionne avec Wordpress ou Rails qui pourraient-être converti pour de gros $$. Et qui seraient plus sécures et rapides. Et moins casse-couille que PHP. Julia utilise Unicode en mode native.

    Genie, LE Framework Julia n'est pas prêt pour la production commerciale. Il y a trop librairies manquantes. Mais la vitesse de Génie est déjà impressionnante. Et cela, sans se lancer dans des trucs comme des thread. Mais si vous avez lu mes commentaires, vous savez que le langage supporte déja l'exécution distribué (distributed processing). Ce qui veut dire que théoriquement un site fait avec Génie pourrait être converti de façon à utiliser plusieurs ordinateurs, seulement en changeant des modules.

    Julia est un langage qui n'a pas beaucoup d'erreurs de jeunesse. Comme l'utilisation de l'ASCII pour le PHP. Ou le chiffre 0 qui à la fois est un Booléen, nil et un chiffre. Ou comme les versions incompatibles de Python. Le langage va peut-être ajouter des trucs comme le support pour des macros. Julia a une syntaxe qui est, selon moi, déjà très mature. Et il offre le meilleur des deux mondes. Tu peux fabriquer ton programme sans te soucier des types. Et une fois, qu'il est fonctionnel et que tu as une idée assez claire des tailles à choisir pour les nombres et les tableaux, tu peux l'optimiser en introduisant les types.

    Pour un gars qui a appris à programme sur LISP, Scheme et Pascal, c'est presqu'un retour aux sources.

    Citation Envoyé par danielhagnoul Voir le message
    Vu qu'il y a des similitudes, j'ai trouvé le premier abord de Julia assez facile. Mais on se heurte rapidement aux différences dans le langage et dans le contenu des paquets.

    Le novice qui tombe sur le code ci-dessous devra réfléchir :

    Code Julia : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function main()
     
        rayons = [0.75, 1.00, 1.25, 1.50, 1.75, 2.00, 2.15]
        sqrt.(2.0π.*rayons) |> println
     
    end
     
    main()
     
    #=
    [2.1708037636748028, 2.5066282746310002, 2.8024956081989645, 
    3.0699801238394655, 3.315957521978271, 3.5449077018110318, 
    3.6754385330782107]
    =#
    Cela demande un effort d'adaptation, mais mon petit doigt me dit que ce code fonctionne déjà en multi-coeur...

    Cet effort additionnel est une aubaine, si on considère les gains acquis. Le même code écrit en Erlang serait sans doute beaucoup plus douloureux à lire ou à écrire.

    Citation Envoyé par Mingolito Voir le message
    Plus il y aura de téléchargements, et donc d'utilisateurs, plus il y aura de chances d'avoir des remontées sur ce qui ne va pas, donc d'améliorer l'offre, et aussi d'avoir de nouvelles API autour de Julia.
    C'est certainement une indication de l'intérêt des programmeurs pour ce langage.

  20. #20
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Madmac Voir le message
    J'ai converti quelques vieux programmes en Pascal. Histoire d'apprivoiser la syntaxe.
    Si je posais la question c'est parce qu'avec des petits projets "pour tester la syntaxe", on n'a souvent qu'un aperçu limité du langage.

    Citation Envoyé par Madmac Voir le message
    Le seul truc un peu déroutant est que c'est supposément un langage objet, mais c'est un type de langage objet assez particulier. Ce serait plus un langage procédural avancé.
    Justement, ce n'est pas un langage objet (du moins, pas dans le sens de Java ou Python). C'est plutôt basé sur un système de types polymorphes avec du multiple-dispatch.

    Citation Envoyé par Madmac Voir le message
    Le langage va peut-être ajouter des trucs comme le support pour des macros.
    Julia supporte les macros depuis longtemps : https://docs.julialang.org/en/v1/man...taprogramming/

    Citation Envoyé par Madmac Voir le message
    Et une fois, qu'il est fonctionnel et que tu as une idée assez claire des tailles à choisir pour les nombres et les tableaux, tu peux l'optimiser en introduisant les types.
    Et c'est là que les choses sérieuses commencent. Clairement, l'objectif de julia, c'est d'avoir un langage aussi haut-niveau que python mais aussi rapide que c++. En pratique, on y arrive mais c'est loin d'être aussi simple que d'écrire quelques signatures de types ou d'enlever des variables globales. D'où mon étonnement sur la remarque que "passer vers Julia ne demande pas beaucoup d'effort".

Discussions similaires

  1. Quel langage de programmation pour le Web est-il plus sécurisé ?
    Par Hinault Romaric dans le forum Général Conception Web
    Réponses: 17
    Dernier message: 30/12/2019, 07h39
  2. Réponses: 13
    Dernier message: 19/05/2014, 14h16
  3. Quel langage de programmation pour le Web est-il plus sécurisé ?
    Par Hinault Romaric dans le forum Actualités
    Réponses: 14
    Dernier message: 25/04/2014, 11h38
  4. Windows Azure : plus simple, plus flexible, plus ouvert
    Par Gordon Fowler dans le forum Microsoft Azure
    Réponses: 2
    Dernier message: 08/06/2012, 21h44
  5. Quel est le langage de programmation le plus pertinent pour du traitement audio ?
    Par LeTouriste dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 02/11/2006, 11h42

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