Mes très chères salutations distinguées à tous les représentants moulesques que vous êtes !
En l'honneur de Ritchie, paix à son âme, O'Reilly organise une promotion (une promotion ? Que dis-je !? Une grande braderie ! -50% jugez donc du peu !) sur des ouvrages en relations avec son oeuvre. La promotion est valable uniquement pour les versions dématérialisées.
Pour notre plus grand plaisir, cette promotion est étendue à Linux et C++, et c'est là que ça devient intéressant.
Un sujet qui ne peut que nous suivons donc au plus haut point, mais faut-il pour autant tomber dans le piège de la surconsommation d'opportunité ? A la manière des promotions Steam ?
Non ! Chères moules<, je suis fortement intéressé par un livre sur le C++ et au moins un autre sur Linux, mais je n'irais pas jusqu'à dépenser bien plus que ce que j'aurais dépensé sans la promotion.
C'est pourquoi je compte sur vous, vénérables moules< avisées, expérimentées, vétérantes (parfois chauves) pour conseiller (ou déconseiller) certains ouvrages.
Vaut-il mieux prendre C++ in a nutshell ou Pratical C++ programming ? Les critiques sont loin d'être unanimes...
Algorithms in C vaut-il vraiment le coup, sachant que j'ai le volumineux Introduction to Algorithms à portée de main ?
La C++ pocket reference est-elle intéressante ? Ce n'est pas si cher, mais s'en sert-on ?
Et que dire des ouvrages sur Linux ?! Le Linux Networking Cookbook a l'air appétissant mais peut-on s'y fier ?
Et qu'en est-il de cet ouvrage explicatif sur le Kernel ? Après tout, le meilleur moyen de devenir kernel hacker ne passe-t-il pas par une lecture du fameux Operating Systems d'Andrew Tanenbaum, puis par l'écriture d'un driver pour un périphérique simple , et enfin par la lecture du driver utilisé en production pour ce même périphérique ? En prenant cela en considération, y-a-t-il une réelle plus-value ?
N'oublions pas non plus Building Embedded Linux Systems, ne risque-t-il pas de n'être plus à jour, avec la montée en puissance exponentielle des plateformes mobiles (les ARM cortex A8 et A9 sont quand même impressionnants) ?
Dans quelle mesure peut-on s'y fier, les limitations physiques étant de moins en moins présentes, les langages haut niveau progressant d'autant ?
N'oublions pas, bien sur, que ces Ebook sont livrés sans DRM, ils respectent notre liberté, et sentent bon les fleurs.
Par ailleurs, un commentateur malicieux soulignera qu'un livre sur Vim est disponible alors qu'il n'y a rien sur Emacs. Peut-on en conclure que vim est supérieur à emacs en tant qu'éditeur avancé (ou comme IDE rachitique) ?
Il n'y a qu'un pas à faire, que votre humble serviteur ne franchira pas, puisque ce même commentateur malicieux pourra répliquer que l'existence du livre se justifie simplement: vim est tellement compliqué qu'il faut au moins un livre pour le comprendre. Saleté de commentateur malicieux ! :-)
Gardez en tout cas bien en tête que ce n'est qu'une promotion journalière ! Vous n'avez que aujourd'hui pour en profiter (d'où le piège sus-cité de la surconsommation d'occasion).
Précisons aussi que la promotion ne tient que pour les ebooks. Ce qui peut décourager certains.
Alors ? Quels sont vos conseils, vos remarques, vos suggestions ?
Et le plus important, l'URL : http://shop.oreilly.com/category/deals/honor-ritchie.do
# ARF l'URL !
Posté par mackwic . Évalué à 8.
Il manque le plus important: l'url
http://shop.oreilly.com/category/deals/honor-ritchie.do
Si un admodérolecteur aurait l'aimable et sympathique opportunité de le rajouter à la fin du journal, ce serait fort aimable et sympathique de sa part.
Merci, et désolé. /o\
[^] # Re: ARF l'URL !
Posté par Ellendhel (site web personnel) . Évalué à 4.
D'une part, merci, c'est toujours bon d'avoir l' information à temps pour ce genre de choses.
D'autre part, à la question "Le Linux Networking Cookbook a l'air appétissant mais peut-on s'y fier ?" je réponds oui. Pour avoir la version papier, j'en ai eu l'usage plusieurs fois car il aborde plusieurs sujets classiques : iptables, OpenSSH, OpenLDAP et beaucoup de choses utiles. Ce n'est pas abordé en profondeur (du au format de la collection Cookbook) mais cela constitue un bon choix.
Essential System Administration est aussi un bon ouvrage de référence, mais très dense et qui aborde l'administration de plusieurs types de systèmes UNIX (Solaris, AIX, ...). Il aura sûrement vieilli, mais il peut intéresser les personnes qui souhaitent avoir un large panorama pour compléter leur culture technique.
# Vim et IDE
Posté par Altor . Évalué à 3.
On peut utiliser vim comme ide pour c/c++ : ici et ici.
Et Emacs une bibliothèque entière, ce qui aurait ruiné oreilly.
[^] # Re: Vim et IDE
Posté par zebra3 . Évalué à 2.
Oui mais un seul livre aurait suffit pour l'édition de texte (et un autre pour l'émulation de Vim).
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
# c++11
Posté par Troy McClure (site web personnel) . Évalué à 5.
A propos de c++, qu'est ce qu'il y a comme bouquin qui soit un peu au jus des nouveautés de c++11 ? Parce que j'ai l'impression que ça change assez profondement la façon d'utiliser c++, et que les vieux bouquins auront perdu 90% de leur utilité dans 2-3 ans (comme les bouquins pre-STL qui bien souvent ne parlaient meme pas des templates, sont devenus totalement obsolètes avec c++-98)
[^] # Re: c++11
Posté par mackwic . Évalué à 3.
Sans aller jusqu'à C++11 (peu de chances qu'ils aient étés mis à jour aussi vite), il faut en effet faire attention à ce que les livres nous parlent de vrai C++, et pas d'un C porté en C++ utilisant des boucles for un peu plus sympathiques, des booléens, et une surcharge.
Je crois que c'est le principal reproche fait à Pratical C++ programming mais je ne sais pas dans quelle mesure ces reproches sont fondés.
[^] # Re: c++11
Posté par david guez (site web personnel) . Évalué à 1.
en quoi les boucles for sont plus sympathiques qu'en C (c'est une vrai question, peut être l'occasion d'apprendre un truc intéressant...)?
Ceci n'est pas une signature
[^] # Re: c++11
Posté par Octabrain . Évalué à 2.
http://fr.wikipedia.org/wiki/C%2B%2B11#Boucles_bas.C3.A9es_sur_des_intervalles
et une micro-feature qui existait avant C++11 : pouvoir déclarer la variable de boucle dans la ligne du for (alors qu'en C il faut la déclarer avant le for)
[^] # Re: c++11
Posté par mackwic . Évalué à -1.
Ceci n'est pas sympathique.
C'est une boucle foreach absolument imbittable, dégeulasse et illisible. Dans la plus pure tradition du C++, peut-être/ /o\
[^] # Re: c++11
Posté par Octabrain . Évalué à 1.
Ah oui ? Fais mieux pour voir ?
[^] # Re: c++11
Posté par mackwic . Évalué à 2. Dernière modification le 31 octobre 2011 à 18:20.
Comme le C# ?
Voire même:
C'est quand même largement plus lisible.
[^] # Re: c++11
Posté par Octabrain . Évalué à 8. Dernière modification le 31 octobre 2011 à 18:37.
La seule différence c'est le remplacement d'un ":" par un "in" (et for par foreach), c'est clairement totalement moins imbittable, plus lisible et pas dégueulasse, ça saute aux yeux...
Faudrait savoir, on compare le foreach (qui est pareil que le premier paste) ou bien des features qui n'ont totalement rien à voir (utilisation d'une méthode "Where" avec une syntaxe "imbittable, illisible et dégueulasse" (et je ne suis pas en train de parler de la notation microsoft de foutre des majuscules à n'importe quoi))
[^] # Re: c++11
Posté par mackwic . Évalué à 0.
Mauvaise foi spotted.
Seule réponse:
Si tu souhaite quand même débattre, je te signale que l'utilisation d'un mot clef a des implications dans le code. Utiliser un mot clef pour 42 usages, c'est juste merdique.
Et devine quoi, je préfère utiliser foreach pour une action qui va s'appliquer "à chaque élément dans IEnumerable" et non pas "pour élément : tableau".
Le C# est plus lisible, c'est un fait. Ne te sens pas agressé pour ça, tu n'y peux rien, et moi non plus. Je le regrette par contre.
Onoze il utilise une lambda-expression ! Quelle syntaxe horrible et dégueulasse ! ;-)
Tu devrais regarder les méthodes LINQ de C# avec moins d'à priori, c'est une des plus belles choses du langage et ça leur donne clairement une avance sur le C++.
[^] # Re: c++11
Posté par gUI (Mastodon) . Évalué à 3.
Histoire de foutre un peu le bordel dans votre conversation :
- dans vos exemples je trouve clairement le C# plus lisible (je ne connais ni C++ ni C#)
- mieux que C# dans la lisiblité, je trouve que ruby frappe fort. c'est un peu la même ambiance, sans les parenthèses. t'es presque à parler anglais.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: c++11
Posté par Octabrain . Évalué à 1.
C'est dingue, "in" au lieu du caractère ":" et "foreach" au lieu de "for" devient plus lisible ? Mais vous êtes des programmeurs qui utilisez "==" pour signifier "égal" et "!=" pour "différent" et un malheureux caractère vous fait parler d'illisibilité...
[^] # Re: c++11
Posté par mackwic . Évalué à 2.
C'est un excellent exemple !
"=" est une assignation, deux opération: 'mettre la valeur dans la case pointée' + 'renvoyer cette valeur'
"==" est une comparaison de valeur: 'comparer les valeurs des deux éléments"
"===" est une comparaison structurelle: 'comparer les adresses pointées'
Trois opérateurs pour trois choses plus ou moins semblables, mais néanmoins différentes.
Pas un opérateur dont le sens change selon le contexte. Tu vois le principe ?
Et évidement, je n'ai pas parlé de l'utilisation étrange de const, de virtual method() = 0;, de la répétiton ad nauséam des keyword template<class T>...
[^] # Re: c++11
Posté par Laurent J (site web personnel, Mastodon) . Évalué à 5.
Pour moi oui. Le ":", si on ne sait pas ce qu'il représente, on comprend mal ce que fait ce for particulier. Je n'ai pas compris ce que ton truc faisait aux premiers abords (bien ayant fait du C++ pendant de longues années), alors que l'exemple du C#, j'ai tout de suite compris (bien que n'ayant jamais fait du C#).
Pour toi c'est lisible, parce que tu connais cette syntaxe particulière. Pour les autres, c'est beaucoup moins évident.
Il est plus facile de comprendre un truc qui se rapproche du langage naturel, qu'un truc s'exprimant par signe cabalistique.
Par exemple, un programme perl, c'est souvent incompréhensible pour quelqu'un n'ayant jamais fait de perl. Alors que du python ou du php, c'est un peu plus lisible, parce que la syntaxe comprenant moins de signes "bizarres".
[^] # Re: c++11
Posté par Octabrain . Évalué à 2.
Euh, t'as fait du Javascript, où le "in" existe aussi, et m'est avis que c'est plutôt pour ça que tu as "de suite compris"
[^] # Re: c++11
Posté par Michaël (site web personnel) . Évalué à 3.
Je crois que c'est plûtot
ECMA334.Localhost.UNIX.System.Console.WriteLine(i);
tu dois avoir un problème avec ton espace de noms. ;)
[^] # Re: c++11
Posté par mackwic . Évalué à -1. Dernière modification le 31 octobre 2011 à 18:18.
En C:
En C++:
C'est un détail, surtout quand on a les snippets adéquats, mais bon ça reste plus propre. ;-)
(Au passage, l'insertion de code dans les commentaires est un horreur, et l'aide à l'édition n'est d'aucune aide)
[^] # Re: c++11
Posté par 2PetitsVerres . Évalué à 7.
Pour la déclaration d'une variable dans la boucle for, il me semble (mais je ne fais pas souvent du C) qu'en C99 c'est aussi valide :
Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.
[^] # Re: c++11
Posté par BAud (site web personnel) . Évalué à 2. Dernière modification le 31 octobre 2011 à 18:43.
j'ai corrigé quelques-uns de tes posts et précisé aide-édition (la syntaxe était un peu pétée visiblement... :/). Me reste à retrouver la liste des langages possibles (bash, c, c++, c#, python, ruby, text... c'est bon déjà).
[^] # Re: c++11
Posté par mackwic . Évalué à 1.
Merci pour ta réactivité ! :)
[^] # Re: c++11
Posté par Bruno Michel (site web personnel) . Évalué à 3.
Chez moi,
pygmentize -L lexer
donne :[^] # Re: c++11
Posté par BAud (site web personnel) . Évalué à 2.
Une url pour une liste à jour ?
Cela permettrait d'indiquer quel langage choisir pour la demande http://linuxfr.org/suivi/enhancements-faciles-pour-la-partie-commentaire (qui porte aussi sur la barre d'outils de saisie markdown, le truc avec les boutons H1-H2-H3-H4-B-I-S... que je ne vois jamais :D).
[^] # Re: c++11
Posté par Bruno Michel (site web personnel) . Évalué à 2.
http://pygments.org/languages/ ?
[^] # Re: c++11
Posté par nazcafan . Évalué à 3.
Je pense que tout le monde travaille sur des nouveaux bouquins, mais deux choses sont a prévoir:
1) Ils ne vont pas en parler trop à l'avance parce que sinon, les ventes de versions actuelles vont chuter.
2) Stroustrup et Meyers sont d'accord pour dire que ça va prendre un moment parce que les bonnes pratiques doivent d'abord se construire et se vérifier dans l'industrie avant de pouvoir en faire des bouquins. Et pour ça faudrait déjà commencer par avoir des compilos qui prennent en charge le standard de manière relativement exhaustive
Ceci étant, je ne pense pas que les anciens bouquins seront obsolètes puisque C++11 est entièrement compatible avec C++98 (enfin pour les simples mortels) et C++11 ne va pas non plus rajouter une nouvelle dimension (genre concepts) à C++98, c'est plus une panoplie d'outils pratiques qui facilitent la vie.
Perso, j'attends la sortie de la quatrième édition de TCPPPL et en attendant, j'essaie faire survivre mon exemplaire déchiré de partout de l’Édition Spéciale (les pages commencent a s'arracher). -> Cette fois ci, je radinerai pas, je prendrai la version reliée !
EN ATTENDANT: Herb Sutter vient d'annoncer sur son blog qu'il va refaire des GURU OF THE WEEK à la sauce C++11 !!
P.S. j'ai vu passer une pub pour un bouquin qui parle de C++11, je crois que c'est sur le blog des développeurs de Visual Studio. Je te contacterai si je la remets.
[^] # Re: c++11
Posté par claudex . Évalué à 3.
On peut déjà faire pas mal de truc avec les compilos actuels. Par exemple avec GCC: http://gcc.gnu.org/projects/cxx0x.html et la libstdc++: http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.200x
Il y a quand même des trucs de C++98 qui sont marqué comme deprecated, on peut toujours les utiliser mais ce n'est pas une super idée non plus.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
# Emacs
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 3.
Et ça ?
http://shop.oreilly.com/product/9780596006488.do
http://shop.oreilly.com/product/9781565924963.do
[^] # Re: Emacs
Posté par Raphael Berlamont (site web personnel) . Évalué à 1.
Je crois que mackwic soulignait qu'il n'y avait pas de bouquin sur emacs bénéficiant de la promotion.
[^] # Re: Emacs
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 6.
Oui, c'est également ce que j'avais compris, c'est pourquoi j'ai donné les adresses de deux livres sur Emacs bénéficiant de la promotion…
[^] # Re: Emacs
Posté par gUI (Mastodon) . Évalué à 3.
Faut dire que la page des promos n'est pas assez insistante sur le fait que beaucoup d'autres livres ont cette promo.
Faut cliquer sur "See more titles" pour avoir des dizaines de pages de promo supplémentaires.
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# O’Reilly France
Posté par Arthur Accroc . Évalué à 8.
Dommage qu’ils n’aient pas eu la même idée – pour les traductions en français – à la fermeture d’O’Reilly France.
Ça aurait fait plaisir à leurs lecteurs habituels et ça aurait aidé à payer la prime de licenciement des employés...
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
[^] # Re: O’Reilly France
Posté par Arthur Accroc . Évalué à 2.
Et j’oubliais les quelques auteurs français qui auraient pu apprécier une petite rentrée d’argent avant de se retrouver « le bec dans l’eau ».
Certains livres avaient en effet été édités uniquement en français ; du coup, l’éditeur qui s’en va, ça limite nettement les droits d’auteurs...
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
[^] # Re: O’Reilly France
Posté par a_jr . Évalué à 2.
La plupart des livres d'O'Reilly France sont dispo sur http://www.digitbooks.fr/ (uniquement format numerique).
Certains ont choisi d'etre re-edite au format papier, comme "C en action" chez ENI (http://www.editions-eni.fr/Livres/C-en-action--2ieme-edition--/.4_3a6222cf-b921-41f5-886c-c989f77ba994_b2a54d35-824f-43f0-a385-e4d4bc4dab60_1_0_d9bd8b5e-f324-473f-b1fc-b41b421c950f.html - beark l'URL)
Le bonjour chez vous...
[^] # Re: O’Reilly France
Posté par Arthur Accroc . Évalué à 2.
J’allais dire « pas tous ! » en prenant comme exemple IPv6 : Théorie et Pratique (un livre qui devrait être de plus en plus utile) mais, en ce qui le concerne, je viens de voir qu’il a été mis en ligne par l’association G6.
« Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone
# Bash / scripting
Posté par gUI (Mastodon) . Évalué à 4.
Pour ma part je cherche un bon bouquin de scripting. Je sais faire des "grep | awk | tr " faciles (disons sans regexp), je sais faire des boucles, des fonctions, mais à chaque fois c'est du basique.
Pour devenir un "power scripter", vous me conseillez plutot "Bash cookbook" ou "Shell scripting" ?
Et sinon j'ai fait quelques essais, ces livres à prix cassé restent éligibles au "buy 2 get the 3rd free", donc ça tape dans les $30 pour 3 bouquins... pas mal !
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Bash / scripting
Posté par Octabrain . Évalué à 2.
Bash, non. Si c'est pour faire du script portable, ne pas lire de livre bash. Si c'est pour du non-portable, autant utiliser zsh, qui est plus complet, plus "protégé" (on n'est pas obligé de toujours mettre des guillemets pour se protéger des espaces, car le shell a une gestion plus saine des chaines/arrays) et même sa documentation est meilleure.
[^] # Re: Bash / scripting
Posté par gUI (Mastodon) . Évalué à 2.
Oui mais si, je préfère du Bash. C'est de loin le plus courant, on en trouve partout... y compris au boulot (déjà heureux de bosser dans un milieu où on puisse avoir un vrai shell, je vais pas faire ma susceptible et demander "du zsh parce que c'est mieux vous comprenez pour les espaces").
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Bash / scripting
Posté par Cyrille Pontvieux (site web personnel, Mastodon) . Évalué à 5.
Le mieux pour apprendre du shell script, c'est d'en lire pas mal. Déjà tu peux lire les scripts de démarrage de ta distribution. Tu risques déjà d'apprendre un paquet de choses. Ensuite, je te conseille de te faire des petits scripts dès que tu as besoin de quelque chose.
Au début j'ai appris en lisant la man page de bash...donc j'ai appris du bash, pas du shell script portable. Mais ça aide au début, surtout que beaucoup de choses et concepts sont communs. Ensuite, je te conseille de chercher sur le net "no bashism" sur le net. Je n'arrive pas à le retrouver là, mais un type avait mis au point un shell script portable qui parse un script et te dis les choses spécifiques à bash qui sont dedans, où les choses qui ne sont pas portables et te donnes des pistes pour les écrire mieux. J'ai beaucoup appris aussi de cette manière. Je suis sûr qu'il y a moyen de le retrouver ce script...
[^] # Re: Bash / scripting
Posté par Yves Bourguignon . Évalué à 1.
On peut aussi s'aider d'un bon bouquin, mis à jour pour Bash-4.2 "Advanced Bash Scripting Guide" chez ex-freshmeat
http://freecode.com/projects/advancedbashscriptingguide
[^] # Re: Bash / scripting
Posté par ziliss . Évalué à 1.
Guide avancé d'écriture des scripts Bash: http://abs.traduc.org/abs-fr/
Permet de partir de presque zéro et d'avancer rapidement vers des concepts avancés.
C'est la traduction en français du livre: Advanced Bash Scripting Guide.
[^] # Re: Bash / scripting
Posté par Michaël (site web personnel) . Évalué à 3.
Aucun … je te conseille plutôt de t'abonner au newsgroup
comp.unix.shell
: on y pose beaucoup de questions sur l'emploi des programmes AWK, SED, PERL et j'ai fait de grands progrès en lisant ces discussions. Cela marchera peut-être aussi pour toi! Bien-sûr tu peux aussi poser tes propres questions. Si en plus tu t'amuses à utiliser ces programmes plus que de raison (par exemple pour faire trois traitements, où l'opération complètement manuelle reaste imbattable en terme de rapidité) tu t'approprieras rapidement ces outils. Lire les programmes des autres, à l'occasion, est aussi très enrichissant.Si j'avais un livre à te conseiller pour la programmation du SHELL, ce serait plutôt le livre de Lowell Jay Arthur UNIX shell programming: j'ai la deuxième édition et aucun des exemples du livre ne marche sur mon système mais la vision d'ensemble qu'il donne de l'emploi du shell me semble d'une valeur inestimable!
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.