• [^] # Re: Mon grain de sel

    Posté par (site web personnel) . En réponse au journal Lycée et informatique : spécialité ISN en terminale S. Évalué à 10. Dernière modification le 24 mars 2013 à 14:05.

    En C il y a beaucoup de magie

    Il n'y a rien de magique en fait.

    Bon et bien je sors mon Hello world alors:

    #include <stdio.h>
    int
    main(void)
    {
     printf("Hello, world!\n");
     return EXIT_SUCCESS;
    }
    
    

    Du point de vue du débutant la seule ligne qui a clairement à voir avec le problème posé (écrire un programme qui écrit Hello, World!) est celle du printf et tout le reste, c'est du vaudou.

    Le préprocesseur n'a rien de magique

    Merci, mais si on se place du point de vue du débutant, soit tu présentes le '#include' comme une directive magique, soit tu te lances dans un tas d'explications qui ne vont pas servir à grand chose jusqu'au jour où le débutant va écrire son premier programme assez long pour être séparé en plusieurs unités.

    Un langage avec un précprocesseur est forcément plus compliqué qu'un langage sans préprocesseur, non?

    Bof, l'édition des liens en C n'est pas si contraignant

    Le sujet n'est pas C est impossible à apprendre le sujet est C est plus compliqué à apprendre que beaucoup d'autres langages. Or il y a plus d'un langage de programmation où on n'a pas besoin de se préoccuper d'édition de liens.

    Cependant c'est aussi une grande qualité pour les systèmes emparqués ou temps réels où un ramasse-miette n'est vraiment pas le bienvenue par son caractère aléatoire (et le temps CPU nécessaire à son fonctionnement). Cela allège aussi considérablement l'implémentation du langage sur une architecture donnée.

    Le sujet n'est pas C est un langage bien adapté à la programmation des systèmes emabarqués mais c'est C est plus compliqué à apprendre que beaucoup d'autres langages et il y a des langages où la mémoire est gérée automatiquement. Est-ce que tu penses que c'est plus facile lorsqu'il ya plus de travail?

    Les concepts de base très certainement

    Qu'est-ce que tu veux apprendre à des débutants?

    mais tu ne maitriseras probablement pas toutes leurs possibilités

    Ce genre d'exploit est difficile dans tous les langages, et ce n'est certainement pas le sujet ici.

    ni toute la bibliothèque standard qu'on te fournit tellement que c'est volumineux alors que pour le C c'est possible.

    Après 10h de Scheme tu peux lire tous les programmes du monde sans jamais rencontrer une règle de grammaire que tu ne connais pas. Ce n'est pas le cas de C, il me semble.