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, une introduction, mais vite


Sujet :

Julia

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    25 861
    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 861
    Points : 181 661
    Points
    181 661
    Par défaut Julia, une introduction, mais vite
    Julia est un langage de programmation récent orienté (très haute) performance : il s'agit de l'un des très rares langages à être utilisé sur un superordinateur ! Par exemple, il a été utilisé pour le projet Celeste, qui consiste en l'analyse d'images astronomiques : les chercheurs ont pu cataloguer 188 millions d'objets astronomiques, dénichés dans pas moi de 178 téraoctets de données, en moins de quinze minutes — le fruit de trois années de recherche.

    Julia a ainsi été préféré au C, au C++ ou au Fortran, les trois langages de prédilection pour ce genre d'application. En effet, ces langages ont l'avantage de limiter leur impact sur la performance des applications : on a accès très directement à la machine, sans mécanisme lourd comme une machine virtuelle. De plus, les compilateurs optimisent très fortement le code généré, pour qu'il tourne plus vite. Julia dispose des mêmes avantages (donc en performance, point crucial pour cette application), tout en étant plus facile à utiliser : il s'agit d'un langage bien plus dynamique (comme Python ou Ruby), avec des notations mathématiques habituelles (il est similaire à MATLAB, Octave ou encore Fortran).

    Lire l'introduction
    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
    Expert confirmé
    Avatar de Pyramidev
    Homme Profil pro
    Développeur
    Inscrit en
    avril 2016
    Messages
    1 184
    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 184
    Points : 5 033
    Points
    5 033
    Par défaut
    Bonjour,

    Je cite un extrait du tutoriel :

    Les boucles for ne fonctionnent pas comme dans la majorité des langages : Julia préfère itérer sur un conteneur qu'incrémenter manuellement une variable ; il n'existe pas de forme avec trois arguments (initialisation, condition, mise à jour, comme en C). Ici, la boucle itère sur une plage de nombres, entre 1 et 10, avec un incrément d'une unité. On pourrait aussi itérer sur les éléments d'un tableau :

    Code Julia : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i in [1, 3, 4, 9, 10]
        println(i)
    end
    En fait, cette fonctionnalité (le "foreach") existe dans la majorité des langages utilisés dans l'industrie. Parmi les langages les plus populaires dans l'industrie, je crois qu'il n'y a qu'en langage C où la manière idiomatique de parcourir une collection est d'incrémenter manuellement une variable, comme un indice de tableau. Dans les autres langages, pour parcourir une collection, la manière normale est d'utiliser une forme de "foreach".

    Exemples :

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for i in (1, 3, 4, 9, 10):
    	print(i)

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    [1, 3, 4, 9, 10].forEach(i => console.log(i));

    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <iostream>
    #include <vector>
     
    int main() {
        for (auto i : std::vector<int>{1, 3, 4, 9, 10}) {
            std::cout << i << '\n';
        }
        return 0;
    }

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class Program {
         public static void main(String []args){
            int[] array = {1, 3, 4, 9, 10};
            for (int i : array) { 
                System.out.println(i);
            }
         }
    }

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    using System;
    using System.Collections.Generic;
     
    public class Program {
    	public static void Main() {
    		foreach (int element in new List<int>{1, 3, 4, 9, 10}) {
    			Console.WriteLine(element);
    		}
    	}
    }

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach (array(1, 3, 4, 9, 10) as &$i) {
        echo "$i\n";
    }

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/01/2006, 15h49
  2. Couleur de fond d’un page qui n’est pas une page mais juste
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/01/2006, 18h16
  3. Une introduction à l'assembleur 80x86, 32 bits, GNU GCC
    Par pierre.jourlin dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 04/04/2005, 18h34
  4. [applet] lancer une applet mais dans une page web
    Par dzincou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 11/08/2004, 14h32

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