+ Répondre à la discussion Actualité déjà publiée

Discussion: Le C en 20 h [Livres]

  1. #1
    Expert éminent sénior
    Avatar de Lana.Bauer
    Femme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    novembre 2012
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : novembre 2012
    Messages : 5 383
    Points : 12 070
    Points
    12 070

    Par défaut Le C en 20 h

    Salut,

    Si vous voulez apprendre le C en 20 h c'est le livre que vous cherchez :

    Cet ouvrage se propose de vous faire découvrir par la pratique toutes les bases essentielles du langage C. Destiné aux débutants, fruit de l'expérience pédagogique d'Eric Berthomier et Daniel Schang, l'ouvrage n'est pourtant pas un manuel comme les autres. Son intérêt est d'être parcouru de A à Z en suivant l'adage : « j'apprends le code en écrivant le code ».

    Testée par de nombreux étudiants qui n'avaient aucune connaissance préalable du Langage C, la méthode développée par les auteurs permet d'effectuer un apprentissage complet en une durée de 20 à 30 heures de travail.
    Bonne lecture !

  2. #2
    Expert confirmé

    Inscrit en
    août 2006
    Messages
    3 732
    Détails du profil
    Informations forums :
    Inscription : août 2006
    Messages : 3 732
    Points : 5 124
    Points
    5 124

    Par défaut

    Soe,

    Le C complet en 20 à 30 heures !

    Les malheureux, ils vont vers de cruelles désillusions.
    Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.

  3. #3
    Membre éclairé
    Inscrit en
    juillet 2012
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 228
    Points : 857
    Points
    857

    Par défaut

    Pas forcément.

    Si tu lis correctement la description de l’ouvrage tu vas voir ça :
    Cet ouvrage se propose de vous faire découvrir par la pratique toutes les bases essentielles du langage C.
    Les bases du C ne sont pas terriblement difficile, et il n’y pas de concepts terriblement compliqués dedans (non, les pointeurs ce n’est pas compliqué).
    Donc oui
    un apprentissage complet [de toutes les bases essentielles] en une durée de 20 à 30 heures de travail.
    C’est jouable.
    Par contre une maîtrise du C (connaissance des undefined behavior par exemple), oui ça demande plus de temps et d’expérience.



    Par contre, ils apprennent un prototype de main non standard et ça c’est franchement dommage
    En C
    ce n‘est pas la même chose que
    En C++ ok, mais pas en C.

  4. #4
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2005
    Messages : 5 761
    Points : 14 078
    Points
    14 078

    Par défaut

    Citation Envoyé par grim7reaper Voir le message
    En C
    ce n‘est pas la même chose que
    En C++ ok, mais pas en C.
    Pour l'instant, tout dépend si la déclaration de la fonction fait ou non partie de sa définition :
    Citation Envoyé par n1256 (C99)
    6.7.5.3 Function declarators (including prototypes)
    Constraints
    ....
    14 An identifier list declares only the identifiers of the parameters of the function. An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of the parameters is supplied.126)
    La note (126) conduit à une déclaration d'obsolescence.
    La n1570 (C11) reprend les mêmes dispositions.

    Une telle écriture est donc à déconseiller fortement même si elle n'est pas, pour le moment, toujours incorrecte.
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2005
    Messages
    26 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2005
    Messages : 26 391
    Points : 37 889
    Points
    37 889

    Par défaut

    En gros, int main() { ... } est bon, mais int main(); est mauvais?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre éclairé
    Inscrit en
    juillet 2012
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 228
    Points : 857
    Points
    857

    Par défaut

    Ha, je n’avais pas connaissance de cette différence de sens selon si c’est un prototype ou une définition.
    Pour moi la liste vide signifiait toujours « nombre quelconque de paramètres de types quelconques »
    Je serai plus attentif à ma lecture de la norme la prochaine fois.

    Cela dit, même si la sémantique reste la même que pour int main(void), je ne suis quand même pas sûr que ça soit une définition valide selon le standard pour une fonction main.
    Dans le meilleur des cas c’est valide mais déprécié, donc dans tout les cas à éviter.

  7. #7
    Membre expérimenté
    Avatar de Jarodd
    Profil pro
    Inscrit en
    août 2005
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2005
    Messages : 791
    Points : 1 495
    Points
    1 495

    Par défaut

    J'ai acheté ce bouquin il y a des mois. Je l'ai justement repris il y a 3 semaines. Et je suis loin d'être emballé.

    Je suis développeur (web) depuis 7 ans, donc je pense avoir des bases dans d'autres langages (au moins les opérateurs, les fonctions, les boucles,...). Pourtant j'ai galéré, la syntaxe n'est pas bien expliquée. Comme ça a été dit au dessus, on n'apprend pas forcément avec les bonnes règles de nommage, c'est vraiment dommage car c'est au début qu'il faut apprendre les bons réflexes. Ensuite les exercices ne sont pas forcément très pertinents, il arrive qu'on fasse 3 fois le même chose. Parfois certaines notions (la fonction ceilf() par exemple) est citée comme un cheveu sur la soupe, au milieu d'un paragraphe qui n'a rien à voir. Bref ça manque terriblement de cohérence.

    Quant aux 20h, évidemment on ne sera pas un expert à la fin de la lecture. Néanmoins, pour moi si on veut tenir les 20h c'est juste une lecture survolée, sans tester les exemples. C'est juste une accroche commerciale pour dire qu'on peut aller vite, mais ce n'est pas dans l'intérêt du lecteur. Lire pour lire sans tester et approfondir, ça n'a pas d'intérêt, à part dire "je sais faire du C car j'ai dessiner un sapin avec printf()".

    Je vais aller jusqu'au bout (j'en suis aux pointeurs, notion nouvelle pour moi et je rame un peu), mais je pense acheter un autre bouquin pour parfaire mes bases, car je pense qu'à la fin de celui-ci il me manquera des notions fondamentales. Je peux me tromper, la seconde moitié du livre est peut-être de meilleure qualité que le premier...

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