• [^] # Re: Critique

    Posté par . En réponse au journal Explorez les richesses du langage Python. Évalué à 7.

    > Exemple n°2 (...)
    C'est probablement plus par manque de place qu'autre chose que l'auteur n'a pas donné plus d'exemple. Par expérience, à moins de faire son ciol, un programme Python est souvent plus concis qu'un programme C, C++ ou Java mais rarement plus verbeux.

    > Exemple n°3 (...)
    J'ai l'impression que tu confonds C et C++.
    Bien sûr que tu peux bricoler des boucles foreach en C (la GLib en fournit pour les tables de hachage par exemple), ou en C++. D'ailleurs, pas la peine de chercher dans Qt, la STL fournit un algorithme for_each, et Boost fournit une construction encore plus sophistiquée.

    La différence c'est que la boucle "for x in tartampion" est une construction native du langage.

    Un exemple de lecture de fichier lignes par lignes avec gestion d'exception en Java:

    try {
    BufferedReader br = new BufferedReader(new FileReader("machin.txt"));
    while ((line = br.readLine()) != null) {
    System.out.println(line);
    }
    } catch (IOException e) {
    }

    en python 2.6 (possible en 2.5 en important du futur with_statement) , ça donne;

    with open("data.txt", 'r') as f:
    for line in f:
    print(line)

    Python est plus concis et va à l'essentiel, ça n'enlève rien aux qualités du C++, de Qt et de Java mais c'est un fait. Et là ou je rejoins l'auteur de l'article, c'est que pour une initiation à la programmation, c'est nettement plus adapté que C++ ou Java. Les étudiants arrivent à un résultat plus gratifiant dans le même laps de temps ce qui est non négligeable.