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

Discussion: Sortie de Julia 1.1

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 045
    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 : 24 045
    Points : 155 200
    Points
    155 200

    Par défaut Sortie de Julia 1.1

    Le développement de Julia, langage de programmation dynamique de haute performance, se poursuit. La version 1.0 devait être la base du langage pour les versions à venir sans perte de rétrocompatibilité : aucune fonctionnalité ne peut disparaître d’ici à Julia 2.0. Cette garantie est prévue pour faciliter l’utilisation à plus grande échelle du langage.

    Julia 1.1 apporte peu de nouvelles fonctionnalités, mais celles-ci devraient simplifier la vie des développeurs. Tout d’abord, les exceptions peuvent désormais s’empiler : si le code lance une exception pendant le traitement d’une exception, les deux sont gardées dans une pile. Auparavant, la première exception était écrasée par la seconde. Cela permettra de déboguer plus facilement le code, en remontant directement à la cause première. La méthode catch_stack est disponible pour accéder à cette pile ; pour le moment, l’implémentation est expérimentale et l’API pourrait changer. L’opérateur ~ est souvent utilisé en probabilités pour indiquer qu’une variable aléatoire suit une certaine distribution de probabilité ; Julia dispose de cet opérateur depuis un certain temps, mais celui-ci ne pouvait pas s’appliquer sur des vecteurs : le compilateur ne comprenait pas la forme .~, ce qui est maintenant le cas.

    Les méthodes findmin, findmax et findall ne retournaient pas toujours le même type pour indiquer quels éléments correspondent à la requête. Désormais, quand la recherche se fait dans une matrice ou un tableau d’ordre supérieur, ces méthodes renvoient des objets CartesianIndex. Ce changement casse légèrement la compatibilité avec le code existant, mais il a été estimé qu’il aurait dû être effectué pour la 1.0 et que c’était donc un défaut.

    La bibliothèque standard s’est enrichie d’une série de méthodes. Par exemple, splitpath pour convertir un chemin en ses différentes composantes ; isnothing pour déterminer si l’argument est nothing ou non (par exemple, une donnée absente) ; eachrow, eachcol et eachslice pour itérer efficacement sur des morceaux de tableaux ; les systèmes BSD disposent d’une série de méthodes pour les détecter et, au besoin, adapter le code.

    Voir aussi : la liste complète des changements.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), 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
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 045
    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 : 24 045
    Points : 155 200
    Points
    155 200

    Par défaut

    Voici donc Julia 1.1 en version finale, sans changement majeur depuis la RC.

    Voir aussi : tous les changements.

    Télécharger Julia 1.1.
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), 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 !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    mai 2016
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2016
    Messages : 284
    Points : 1 059
    Points
    1 059

    Par défaut

    J'étais un peu sceptique sur les conséquences du typage dynamique sur les performances, mais à la lecture de la thèse de Bezanson et de la doc, c'est quand même assez prometteur.
    Et en fait, là où on veut de la performance, on peut typer statiquement, et si le compilateur est bon, on devrait retomber sur des performances comparables au C et C++, au moins en théorie...
    Donc j'investis un peu sur ce langage, même s'il n'est pas encore assez mature pour que je l'utilise pour des logiciels importants- il s'en faut probablement encore de quelques années.
    Je vois, par exemple, qu'il y a encore des sections importantes toujours considérées comme expérimentales.
    En attendant, je peux avoir des applications sur des petits projets.

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    24 045
    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 : 24 045
    Points : 155 200
    Points
    155 200

    Par défaut

    Citation Envoyé par wolinn Voir le message
    Je vois, par exemple, qu'il y a encore des sections importantes toujours considérées comme expérimentales.
    À ce niveau-là, qu'est-ce qui te manque le plus ? De mon côté, c'est tout ce qui concerne la programmation parallèle, leur modèle multifil n'est pas encore fin prêt (même si l'interface a l'air plus que raisonnable, surtout avec @threads : https://docs.julialang.org/en/v1/bas...reads.@threads).
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions), 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 !

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    mai 2016
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2016
    Messages : 284
    Points : 1 059
    Points
    1 059

    Par défaut

    Oui, c'est ça. C'est quand même important pour un langage qui cible des applications scientifiques et techniques gourmandes en calcul.
    Lancer des files d'exécution est moins coûteux que lancer des processus, suivant le problème on a besoin des deux possibilités.
    Par ailleurs, il est indiqué dans la doc que Julia n'est pas encore totalement "thread safe" (cas de plantage à la commutation entre taches).

Discussions similaires

  1. Sortie de Julia 1.0 et 0.7
    Par dourouc05 dans le forum Julia
    Réponses: 3
    Dernier message: 15/08/2018, 00h07
  2. Sortie de Julia 0.7 Beta
    Par dourouc05 dans le forum Julia
    Réponses: 1
    Dernier message: 26/06/2018, 18h47
  3. Sortie de Julia 0.6
    Par dourouc05 dans le forum Julia
    Réponses: 0
    Dernier message: 24/06/2017, 16h56
  4. Sortie de Julia 0.5
    Par dourouc05 dans le forum Julia
    Réponses: 0
    Dernier message: 20/09/2016, 12h47
  5. [Julia] Sortie de Julia 0.4
    Par dourouc05 dans le forum Julia
    Réponses: 1
    Dernier message: 18/10/2015, 21h25

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