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 :

livres sur le langage


Sujet :

C

  1. #1
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut livres sur le langage
    Bonsoir , après avoir visité la page qui commente les livres sur le langage C j'ai une petite question :

    j'ai comme livre "le langage C norme ANSI de K&R édition 2eme édition , celui de 1996 avec une couverture jaune et j'ai vu qu'il y avait le même livre mais en édition 2004 , il est noté que seule la présentation change , celà veut dire que tout le contenu des pages est exactement pareil , aucune modification dans les exos ou les cours ?
    Est un problème si il n'aborde pas la norme C99?
    merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    A mon avis non.
    Comme il faut , selon certains ici, entre 6 et 10 ans pour apprendre à programmer correctement en C, tu peux ne pas t'occuper de la norme dans un premier temps.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

  3. #3
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut Re: livres sur le langage
    Citation Envoyé par Bibouda
    Est un problème si il n'aborde pas la norme C99?
    Non. La norme C90 avait déjà fait le tour du langage. La version C99 apporte quelques facilités, mais rien qui ne soit faisable en C90 avec un peu plus d'effort. Cela comprend:
    - déclaration des variables où l'on souhaite, plutôt qu'uniquement en début de bloc. Pas de quoi se relever la nuit.
    - support des commentaires types C++ (//). Ce n'est pas une révolution.
    - tableaux à taille variable alloués automatiquement. C'est pour les allergiques de malloc(), pas de quoi casser trois pattes à un canard.
    - initialisation des membres de structure de façon nommée. Idem, rien de bien impressionant.
    - macros acceptant un nombre variable d'arguments (comme les fonctions variadic). Super, j'en avais vraiment besoin

    Du côté positif, je ne vois que l'ajout du type long long, la sécurisation de quelques fonctions (ajout de snprintf, par exemple), et le refus d'un retour implicite de type int.

    En résumé, apprendre le C90 n'a jamais tué personne, et c'est pas demain que ca va commencer...

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    - tableaux à taille variable alloués automatiquement. C'est pour les allergiques de malloc(), pas de quoi casser trois pattes à un canard.
    Les deux choses sont fondamentalement différentes.
    Boost ftw

  5. #5
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Points : 4 637
    Points
    4 637
    Par défaut Re: livres sur le langage
    Citation Envoyé par DaZumba
    - tableaux à taille variable alloués automatiquement. C'est pour les allergiques de malloc(), pas de quoi casser trois pattes à un canard.
    Ce n'est pas tout a fait comparable, avec le VLA on ne peut pas savoir si on a pu obtenir la place demande (pas de retour a NULL), pour la gestion d'erreur c'est coton. De plus le tableau a la meme duree de vie qu'une variable locale.
    Mis a part qu'elle est un peu plus facile d'acces pour le debutant, je ne vois que des inconvenients a cette methode

    Citation Envoyé par DaZumba
    - macros acceptant un nombre variable d'arguments (comme les fonctions variadic). Super, j'en avais vraiment besoin
    Ben mine de rien, c'est quelquechose que j'aurais bien aime avoir a plusieurs reprises. J'ai reussi a m'en passer mais la solution n'est pas vraiment elegante (double parenthesage, duplication des macros, etc...)

  6. #6
    Membre expérimenté
    Inscrit en
    Décembre 2004
    Messages
    1 478
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 478
    Points : 1 664
    Points
    1 664
    Par défaut
    Citation Envoyé par loufoque
    Les deux choses sont fondamentalement différentes.
    Peut-être, mais l'effet est le même : mettre à disposition de la mémoire utilisable. Ma remarque était de dire que C99 n'apporte rien au langage qui ne soit pas faisable avant (et donc qu'apprendre C89 n'est pas un problème). Après tout, le C89 disposait de alloca() dont l'effet est très proche des tableaux à taille variable (alloca() ne permet pas d'avoir une portée interne à une fonction, voilà tout). Est-ce que alloca() était utilisée? Non, c'était même déconseillé. Les VLAs sont certes plus propres, mais ils n'apportent rien qui n'était pas faisable avec malloc/free. De plus, les implémentateurs s'arrachent les cheveux avec eux (j'aimerais savoir comment les implémenter sur une machine qui n'utilise pas de pile, par exemple).

    Citation Envoyé par gl
    J'ai reussi a m'en passer mais la solution n'est pas vraiment elegante (double parenthesage, duplication des macros, etc...)
    Le fait que gcc apporte les "macros variadics" en extension depuis un moment suggère en effet qu'elles étaient demandées. Cela dit, lorsqu'une macro devient lourde ou pas propre, on peut se demander si le système macro convient, et s'il ne faut pas préférer une fonction.

  7. #7
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    j'ai comme livre "le langage C norme ANSI de K&R édition 2eme édition , celui de 1996 avec une couverture jaune et j'ai vu qu'il y avait le même livre mais en édition 2004
    J'ai appris le C ANSI avec le livre de K&R 2e édition, et c'est toujours mon livre de chevet préféré. J'ai eu l'occasion de parcourir l'édition 2004 via la bibliothèque (c'est l'avantage de travailler sur un campus universitaire) et rien de nouveau sous le soleil et je suis resté à mon petit livre jaune.

    Une fois que tous les concepts du C de base, norme C90, sont acquis, ce n'est pas un effort surhumain que de parcourir le web pour glâner des infos sur la norme C99 qui n'apportent finalement que de petits changements.

    Meilleures salutations
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  8. #8
    Provisoirement toléré
    Inscrit en
    Octobre 2002
    Messages
    214
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 214
    Points : 33
    Points
    33
    Par défaut
    ce livre est en réalité très difficile pour débuter car lex explications et les exemples ne sont pas clairs ( je pourrai en citer une paire ) et ils s'adressent à ceux qui ont déjà des notions de programmation , n'y t'il pas un meilleur livre pour débuter?

  9. #9
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    "Programmer en langage" C, Claude Delannoye chez Eyrolles qui est accompagné de "Exercices en langage C". L'approche pédagogique utilisée par l'auteur est probablement plus abordable que celle de Kernighan & Richtie.

    Meilleures salutations

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Trap D
    Comme il faut , selon certains ici, entre 6 et 10 ans pour apprendre à programmer correctement en C
    J'ai dit "entre 6 et 12 mois"...
    Pas de Wi-Fi à la maison : CPL

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Bibouda
    ce livre est en réalité très difficile pour débuter car lex explications et les exemples ne sont pas clairs ( je pourrai en citer une paire ) et ils s'adressent à ceux qui ont déjà des notions de programmation , n'y t'il pas un meilleur livre pour débuter?
    http://www.dunod.com/pages/ouvrages/ficheouvrage.asp?id=49018
    Pas de Wi-Fi à la maison : CPL

  12. #12
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Ouaip, le livre de Achille Braquelaire (conseillé par Emmanuel Delahaye) est vraiment très bien (va plus loin que l'ouvrage de Claude Delannoye et reste accessible). Je viens de le consulter, car cela faisait pas mal de temp que j'en entendais parler. Je recommande vivement!

    Meilleures salutations

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  13. #13
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Peut-être, mais l'effet est le même : mettre à disposition de la mémoire utilisable.
    Dans ce cas là autant enlever aussi les tableaux, puisqu'on peut faire la même chose avec les pointeurs et des allocations dynamiques.
    Boost ftw

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

Discussions similaires

  1. Quel est le meilleur livre sur le SQL ?
    Par Marc Lussac dans le forum Livres
    Réponses: 78
    Dernier message: 03/10/2019, 20h04
  2. Livre sur les langages
    Par FaridM dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 13/03/2008, 15h12
  3. livres cours et tutos sur le langage ?
    Par Shaolan dans le forum Ruby
    Réponses: 6
    Dernier message: 19/09/2006, 21h56
  4. [Debutant] Livres sur l'algo?
    Par mike55 dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 20/04/2004, 19h56
  5. [Turbo Pascal] Recherche cours ou livre sur le Turbo Pascal
    Par killarg dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 02/03/2003, 16h12

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