Quels sont les livres de programmation vraiment difficiles? [fermé]


14

Je me demandais quels livres vraiment difficiles sur la programmation me feraient réfléchir. Je parle de langages de bas niveau tels que c etc. et d'algorithmes, de points, de fonctions, etc.

Merci beaucoup.


1
La plupart de la série Wrox est assez moelleuse.
Joel Etherton

1
Pourquoi les gens votent-ils vers le bas? L'OP veut juste quelques livres qui lui présenteraient un défi ... ce n'est pas une question stupide ou OT.
Melanie Shebel

4
Ce n'est pas une très bonne question. En particulier, je pense qu'il manque un critère clair pour juger les livres. "Difficile" et "fais-moi réfléchir" sont assez subjectifs - nous ne te connaissons pas et ce qui sera difficile ou facile pour toi. Ou comment cela s'appliquerait à d'autres personnes, d'ailleurs. Cela ne fait pas non plus pour inspirer des réponses pour expliquer pourquoi les livres sont recommandés, allant potentiellement à l'encontre des directives constructives . Un peu d'édition pourrait aider, je pense.
Adam Lear

4
@Melanie - c'est une question de type "liste de X" qui ne fera que publier le livre préféré des gens comme réponse. Si vous cochez les réponses, aucune d'entre elles n'a d'explication pour laquelle le livre mentionné répond aux exigences des PO (enfin, une le fait, mais c'est sur 10 réponses).
ChrisF

1
Je suis d'accord avec @Anna et @Chris ci-dessus, cette question manque de parties clés, comme expliquer pourquoi ces livres sont difficiles ou comment les classer les uns par rapport aux autres.
Josh K

Réponses:


29

L'art de la programmation informatique. Donald Knuth.


3
Pourquoi? Qu'est-ce qui le rend si bon? Veuillez développer votre réponse.
Walter

2
Vous devriez inclure cela dans votre réponse. Je l'ai lu, mais ceux qui ne l'ont pas ne comprendront PAS pourquoi ils devraient même examiner votre suggestion.
Walter

3
@Walter: Je ne pense pas être d'accord. Je ne pense pas qu'il ait besoin d'expansion. Le livre est si important et si central pour l'informatique que je ne pense pas qu'il ait besoin d'explications.
S.Lott

1
Ce sont les programmeurs de livres qui prévoient le plus de lire un jour.
Steven A. Lowe

1
@RYUZAKI: "Je veux être préparé avant de me lancer dans quelque chose qui semble si difficile et si gratifiant" Ne vous embêtez pas à essayer de "vous préparer". Il vous suffit de vous lancer. Lorsque vous trouvez un sujet qui vous dépasse, vous saurez ce que vous devez apprendre. C'est une poursuite à vie. Vous ne pouvez pas être suffisamment préparé . Vous aurez toujours besoin d'en savoir plus.
S.Lott

13

Introduction aux algorithmes

Pas si "introductif";)


1
Pourquoi pas ("donc" introductif "")? Ceci est une introduction, utilisée dans CS 101.
Konrad Rudolph

1
@konrad: AFAIK, la plupart des universités n'utilisent que plusieurs chapitres de ces livres pour l'enseignement.
Hery

Maintenant, je devais le chercher, démolissant mon support d'ordinateur portable dans le processus (j'utilise le Cormen comme support pour mon ordinateur portable…). Et tu as raison. J'ai oublié les dernières parties du livre; ceux-ci font en effet l'objet de cours ultérieurs (certains en master).
Konrad Rudolph

@konrad: hery l'a cloué.
Demian Brecht

@konrad: sonne comme un processus mouvementé;)
Demian Brecht

10

Une discipline de programmation, par Edgar W. Dijkstra

Comment écrire du code prouvablement correct

Ce n'est pas un livre à lire, c'est un livre à étudier


steven i havent vraiment regardé dans ce livre; mais cela me fait poser une question très critique: est-il utile, par exemple, pour un développeur WEB ou un codeur C ++ [pilotes de périphérique, etc.] ou un développeur Android? Je vous demande si ça vaut mon temps? [suite dans le commentaire suivant]
Chani

[suite du commentaire précédent] je suis nouveau mais j'apprends méchamment vite. J'ai lu des tonnes de blogs, du code Open Source, etc. Alors, la lecture du livre ci-dessus (et d'autres du genre) va-t-elle vraiment m'aider? Et ami; la seule raison pour laquelle j'ai une telle attitude pessimiste est que j'avais lu Design and Analysis of Computer Algorithms par Aho et. tous et pour vous dire la vérité, j'utilise à peine ces connaissances ..... mais encore une fois, je ne programme sérieusement que depuis moins de 6 mois. alors que diriez-vous?
Chani

1
@RYUZAKI: Vous avez donc programmé sérieusement moins de six mois, et vous avez trouvé l'Aho et al. livre d'algorithmes pas immédiatement utile? Alors vous ne cherchez pas les livres mentionnés dans cette question. Vous voudrez peut-être prendre un peu de temps et devenir plus à l'aise sur le terrain, puis y revenir. Les livres de ces réponses (ceux que je connais de toute façon) vous apprendront des choses et élargiront considérablement votre compréhension. Ils ne feront pas de vous un meilleur développeur C # immédiatement, si c'est ce que vous recherchez maintenant.
David Thornley

+1: Et aussi la science de la programmation de David Gries. Un livre d'accompagnement qui développe les thèmes.
S.Lott

2
@RYUZAKI comme les textes CS les plus profonds, vous en retirez ce que vous y mettez. J'ai acquis une nouvelle appréciation pour la beauté mathématique de la programmation, ainsi qu'une expérience directe dans la conception et la preuve de l'exactitude de très petits programmes. Il m'a fallu une bonne partie de l'année pour parcourir mon livre.
Steven A. Lowe


6

Sept langues en sept semaines vous donneront beaucoup de choses à jouer. Quand tout le reste échoue, lisez "Structure et interprétation des programmes informatiques".


2
"Seven Languages ​​in Seven Weeks" est extrêmement cool mais pas vraiment un livre de programmation difficile.
Chiron

Si votre objectif est qu'un livre soit dur pour être dur, vous avez raison, d'un autre côté, c'est un livre qui contient beaucoup de bonnes informations
Zachary K

4

Je recommande fortement les recettes numériques: l'art de l'informatique scientifique .

Un livre fantastique, qui détaille de nombreux algorithmes scientifiques utiles. Au cours de ma carrière dans les systèmes informatiques embarqués et industriels, une version ou une autre, dans une langue ou une autre 1 , a été mon compagnon constant.

  1. Avant la troisième édition, il y avait différents livres pour différents pour différentes langues, donc il y avait des recettes numériques en C , des recettes numériques en Fortran et même des recettes numériques en Pascal.

Wow, je n'ai même pas pensé au livre de chapeau depuis environ 15 ans
Zachary K

Oui, j'ai acheté une première édition à l'université et j'ai réussi à trouver une utilisation pour les algorithmes de ces livres dans chaque travail sur lequel j'ai travaillé depuis.
Mark Booth

2

Quelques alternatives aux livres connus (et excellents) déjà suggérés:

  • Database Systems: The Complete Book, 2e éd. comporte une deuxième partie qui explique comment un SGBD lui-même est implémenté. Possède beaucoup d'informations sur la façon de stocker et d'indexer efficacement les données et sur la façon d'exécuter réellement les requêtes dans la base de données.
  • An Engineering Approach to Computer Networking examine les détails les plus profonds du fonctionnement effectif des réseaux. Si jamais vous souhaitez mettre en œuvre une application ou un périphérique de mise en réseau hautes performances, ce texte fournira un excellent arrière-plan fondamental.
  • Les algorithmes d'approximation consistent en une vue d'ensemble détaillée des problèmes d'optimisation combinatoire. L'auteur conseille d'étudier les problèmes en profondeur avant d'essayer de créer une approximation, ce qui est très instructif.
  • Types et langages de programmation, c'est plus de 600 pages de théorie et de techniques d'implémentation dédiées aux types dans les langages de programmation. Il s'avère qu'il y a une quantité incroyable de théorie à traiter. Si jamais vous voulez créer un langage de programmation complet, il y a beaucoup à apprendre ici.


1

J'ai récemment commencé à lire Hacker's Delight (http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654). Il pourrait ne pas marquer très haut sur l'aspect difficile. Mais je lui donnerais des scores élevés sur la minutie, le bas niveau et la résolution de problèmes intelligente, fidèle à l'esprit de son nom.


1

Vous pouvez commencer à apprendre les langages Lisp. Ce sera certainement difficile! De plus, c'est une pause heureuse de la programmation régulière

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.