Quelqu'un connait ces livres ?
http://www.amazon.fr/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043/ref=sr_1_1?ie=UTF8&qid=1386014752&sr=8-1&keywords=art+of+programming
Apparemment ces livres sont vraiment bon, mais par contre je sais pas si j'ai vraiment le niveau pour ![]()
D'après l'age dans ton profil, tu n'as effectivement pas le niveau pour. Les trucs les plus basics sont abordable avec un niveau Bac+2, mais il faut un niveau master pour rentabiliser vraiment l'achat.
Waouh ça a l'air d'envoyer du lourd
Tu l'as Chris ?
Bah le truc c'est que ca recouvre quand même tout mon programme jusqu'au Master, donc au pire si il y a des choses que je comprend ca me servira plus tard :p
Je suis en train de lire en détail le volume 2.
Chris_27 -> Et alors comment trouve ça tu ?
J'ai lu qu'il utilisé une sorte de langage de pogrammation "maison" c'est pas trop dérangeant ?
A vrai dire c'est un langage assembleur pour une architecture conçue par l'auteur lui-même, d'ailleurs si je ne me trompe pas celle-ci n'est utilisée que pour ce bouquin et il n'y a aucune machine qui soit basée sur cette architecture.
Ce qui n'est pas sans me rappeler la description du livre "But how do it know?" de J. Clark Scott, qui se base sur une architecture "maison" (le Scott CPU) pour expliquer les bases du fonctionnement d'un ordinateur. Ça, par contre, c'est censé être accessible à tout le monde. (mais je ne sais pas ce que ça vaut, et ça ne traite pas des mêmes sujets que The Art of Computer Programming)
Pocoio -> Tu l'as lu aussi ?
Non, je l'ai consulté dans des bibliothèques, d'ailleurs tu peux faire pareil si tu veux voir à quoi il ressemble avant un éventuel achat.
Pocoio -> Ils l'ont pas dans ma BU ![]()
The art of computer programming est un bon livre, mais ca s'utilise plus comme reference que ca ne se lit d'un bout a l'autre. C'est quand meme super gros comme truc.
Ca a l'air d'être uniquement de l'algorithmique, c'est pas non plus ce qu'il y a de plus passionnant en informatique. Et en plus, le livre commence à être un peu vieux, il n'y a rien sur l'algorithmique parallèle, par exemple.
Ce n'est pas tres different l'algo parallele et l'algo sequentielle. Et souvent une matrise des problemes sequentiels est important pour les probleme paralleles.
Je n'ai pas dit le contraire ... ? ![]()
Je dis juste que pour un bouquin qui est supposé être un catalogue de tout ce qui se fait en algo, ne pas avoir d'algorithmes parallèles ça la fout mal.
bah pas vraiment. Ce bouquin a commence a etre ecrit il y a bien longtemps. L'algo parallele est devenu une partie importante de l'informatique que dans els quelques dernieres annees. Ce n'est pas super etonant que ca ne soit pas encore dedans.
En plus, il y a beaucoup de modele de programmation parallele. Il n'est pas completement clair du quel il faut parler. C'est possible que dnas 5 ans, on envisage plus la programmation parallele comme on la pense maintenant. CUDA et MapReduce ont reussit a ressortir les modeles BSP de derriere les fagot, alors qu'on les pensait principalement mort.
C'était en effet le sens de ma remarque "le livre commence à être un peu vieux".
mmm, ce que je veux dire, c'est que ce qui va dans "the art of computer programming" est l'essence de l'informatique. Le calcul parallel n'en est qu'a ces premier balbutiement. C'est trop tot pour savoir e qu'il va falloir ecrire la dedans.
Je monte un cours de calcul haute perf pour le semestre prochain. Et je suis super emmerder pour savoir quoi presenter et dans quel ordre. Il y a des aspects hardwares, il y a des aspects softwares. En fonction des problemes certaines approches fonctionnent et d'autres ne fonctionnent pas. Tu peux faire de l'algo sur un modele CREW, mais ca a peu de sens en pratique. Des que tu prends un modele de machine particulier tu sais que ce que tu ecris sera pipeau dans 5 ans.
Encore une fois, je ne dis pas le contraire. Quoi que justement je ne considère pas que ce soit "l'essence" de l'informatique. C'est l'essence de l'algorithmique, mais l'algo n'est qu'un tout petit fragment de l'informatique.
Tout ce que je disais, c'est qu'on ne peut pas prendre ce bouquin, le lire, et se prétendre informaticien. Un mec qui n'a jamais entendu parler d'architecture, de compilation, de complexité, de théorie des langages, de sémantique des langages de programmation, de logique, d'algo parallèle, etc., ne peut pas prétendre avoir une culture générale en informatique.
L'auteur du topic cherche visiblement un bouquin pour découvrir l'informatique. Je trouve qu'avoir ça en livre de chevet est un mauvais choix : il s'agit d'une étude très en détails d'un petit fragment de l'informatique, mieux vaudrait étudier de manière plus large plusieurs domaines.
Salut,
Je vais essayer d'apporter un autre point de vue. J'ai lu des (relativement grosses) parties de ses bouquins, mais bien entendu jamais en intégralité.
Premièrement, concernant l'accessibilité, on repassera. Je l'ai lu entre mon Master et ma thèse, et ça reste très difficilement digeste.
Il y a pour moi plusieurs raisons à cela.
La premmière est -cela n'engage que moi-, le très mauvais choix d'avoir choisi
- un langage de type assembleur
et qui plus est pour :
- une architecture virtuelle qu'il décrit au début de son premier tome
Du coup, si tu veux lire quoi que ce soit, tu es oblligé de te farcir cette partie (longue!) et bien peu intéressante (du moins, pour ce que je souhaitais extraire de l'ouvrage).
Je trouve que le choix d'un langage de type "assembleur" est on ne peut plus mauvais pour expliquer des concepts d'algorithmiques et de complexité calculatoire. Pour pouvoir se payer le luxe de faire des petites optimisations, on perd clairement en compréhension générale de *la belle idée* [1].
Aussi, je ne trouve absoluent pas Knuth doué pour la pédagogie. Des explications simples sont mal formulées, et le fond de l'explication est souvent passé sous silence. Tu as pas contre générallement une jolie formule, mais pas l'interprétation et l'intuition qu'un bon pédagogue livrerait avec.
Bien sur, si tu lis ça avec de l'expérience, à la fin de tes études, tu t'en sors globalement. Mais cça reste au prix d'un ENORME effort.
Au final, j'ai décidé de ne plus perdre mon temps avec cette série de bouquins. Je trouve qu'il y a bien plus intéressant à lire en informatique théorique.
Ca aurait pu être une collection géniale si Knuth n'était pas si maniaque et obsessionnel. Parce qu'il ne voulait pas être dépendant d'un langage de programmation qui pourrait ne plus être d'actualité dans 20 ans, il a cru bon d'imposer aux gens d'apprendre son arcchitecrure virtuelle et son langage d'assemblage. Au final, il n'est pas plus lisible dans le présent qu'il ne le sera dans 20 ans.
Le bilan, c'est que son livre n'est pas fait pour être lu. C'est comme un dictionnaire : ilne viendrait à personne l'idée d'aller le lire. Tu le consulte si tu as besoin d'une bonne définition -qui des fois restera obscure et demandera d'autres recherches derrière-.
Je passerai sous silence le style lourd et pompeux.
Tout comme je ne le conseillerais jamais à mes étudiants, je te le déconseille très fortement.
Dans tous les cas, vu le prix, avant de l'acheter, je te conseillerais d'aller prendre une après midi dans une bibliothèque universitaire pour aller le consulter. Cela te donnera une idée du style de l'ouvrage.