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

C Discussion :

apprendre avec le K&R 1992


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Par défaut apprendre avec le K&R 1992
    Bonjour, j'ai eu le plaisir de récuper chez un ami l'édition 1992 du K&R C ANSI, et je me demandais si cette édition n'était pas trop obsolete pour que je puisse y apprendre le C.En gros est-ce que la quantité d'éléments à mettre à jour entre cette version du C et la version actuellement la plus utilisé est suffisement mince pour rendre l'utilisation de ce livre pertinente?

  2. #2
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Par défaut
    J'imagine que ma question est sans aucun doute peu interressante, cependant
    un simple oui ou non suffira.
    Est-ce une perte de temps pour un débutant d'apprendre avec cette version du bouquin et vaut-il mieux que je m'achete la derniere version ?

    J'ai remarqué dans les exemples qu'au lieu d'un int main(), il mettait un main()

  3. #3
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je pense que oui, c'est une perte de temps d'apprendre le C avec un vieux K&R.

    Tu dois avoir un livre récent, respectant au moins le standard C90, pour apprendre correctement le C.
    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.

  4. #4
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Par défaut
    merci, eh bien je vais cassez la tirelire...

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ChambreClaire Voir le message
    merci, eh bien je vais cassez la tirelire...
    Perso je pense que le K&R quel qu'il soit est toujours une bonne référence. Même s'il n'a pas les derniers détails spécifiques il reste valable en ce qui concerne les bases. Sinon tu peux aussi commencer par télécharger divers tuto sur le net.

    Quand tu seras au point et si ça t'intéresse toujours, alors tu pourras te fendre du dernier K&R où tu devras évidemment réapprendre certaines différences mais 1) le répprentissage sera facilité par ta connaissance et 2) coté philo ce n'est absolument pas contre nature de répprendre car on réapprend sans cesse. Exemple: le petit garçon doit d'abord voir le soleil tourner autour de la Terre pour se faire une première idée, même fausse, de la cosmologie. Ensuite il comprend plus facilement la vraie nature du mouvement. Ben pour moi, apprendre le C obéit aux mêmes règles d'apprentissage...

    Citation Envoyé par ChambreClaire Voir le message
    J'ai remarqué dans les exemples qu'au lieu d'un int main(), il mettait un main()
    Hé oui. A l'époque le type "int" était implicite...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ChambreClaire Voir le message
    Est-ce une perte de temps pour un débutant d'apprendre avec cette version du bouquin et vaut-il mieux que je m'achete la derniere version ?

    J'ai remarqué dans les exemples qu'au lieu d'un int main(), il mettait un main()
    Ce bouquin, (qui date en fait de 1988) est la dernière version du K&R. Mais la norme a évolué depuis. Il reste néanmoins une bonne référence du langage C le plus couramment utilisé.

    Pour d'autres livres, il y a des références sur ce site et sur le mien.

  7. #7
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 20
    Par défaut
    Et sinon exite-t'il une liste des differences entre le C89 et les versions ultérieurs,
    comme un genre de grand tableau qui vous dit "attention, main doit-etre explicitement int". J'ai essayé de trouver dans google, mais pas trouvé de veritable listing.

  8. #8
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    d'après la norme, les principaux changements sont :
    — restricted character set support via digraphs and <iso646.h> (originally specified
    in AMD1)
    — wide character library support in <wchar.h> and <wctype.h> (originally
    specified in AMD1)
    — more precise aliasing rules via effective type
    — restricted pointers
    — variable length arrays
    — flexible array members
    — static and type qualifiers in parameter array declarators
    — complex (and imaginary) support in <complex.h>
    — type-generic math macros in <tgmath.h>
    — the long long int type and library functions
    — increased minimum translation limits
    — additional floating-point characteristics in <float.h>
    — remove implicit int
    — reliable integer division
    — universal character names (\u and \U)
    — extended identifiers
    — hexadecimal floating-point constants and %a and %A printf/scanf conversion
    specifiers
    — compound literals
    — designated initializers
    — // comments
    — extended integer types and library functions in <inttypes.h> and <stdint.h>
    — remove implicit function declaration
    — preprocessor arithmetic done in intmax_t/uintmax_t
    — mixed declarations and code
    — new block scopes for selection and iteration statements
    — integer constant type rules
    — integer promotion rules
    — macros with a variable number of arguments
    — the vscanf family of functions in <stdio.h> and <wchar.h>
    — additional math library functions in <math.h>
    — treatment of error conditions by math library functions (math_errhandling)
    — floating-point environment access in <fenv.h>
    — IEC 60559 (also known as IEC 559 or IEEE arithmetic) support
    — trailing comma allowed in enum declaration
    — %lf conversion specifier allowed in printf
    — inline functions
    — the snprintf family of functions in <stdio.h>
    — boolean type in <stdbool.h>
    — idempotent type qualifiers
    — empty macro arguments
    — new structure type compatibility rules (tag compatibility)
    — additional predefined macro names
    — _Pragma preprocessing operator
    — standard pragmas
    — _ _func_ _ predefined identifier
    — va_copy macro
    — additional strftime conversion specifiers
    — LIA compatibility annex
    — deprecate ungetc at the beginning of a binary file
    — remove deprecation of aliased array parameters
    — conversion of array to pointer not limited to lvalues
    — relaxed constraints on aggregate and union initialization
    — relaxed restrictions on portable header names
    — return without expression not permitted in function that returns a value (and vice
    versa)

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par ChambreClaire Voir le message
    comme un genre de grand tableau qui vous dit "attention, main doit-etre explicitement int".
    Extrait de la liste ci-dessus :
    — remove implicit int

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Python, apprendre avec quel tutoriel ?
    Par devatt dans le forum Général Python
    Réponses: 8
    Dernier message: 17/06/2009, 12h31
  2. Apprendre avec de bonnes habitudes : Ada ou Pascal ?
    Par steiner81 dans le forum Débuter
    Réponses: 15
    Dernier message: 03/06/2007, 00h38
  3. Réponses: 2
    Dernier message: 25/02/2005, 17h05

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