¿Cuáles son algunos libros de programación realmente difíciles? [cerrado]

14

Me preguntaba cuáles son algunos libros realmente difíciles sobre programación que me harían pensar. Estoy hablando de lenguajes de bajo nivel como c etc y algoritmos, puntos, funciones, etc.

Muchas gracias.

Brandon_R
fuente
1
La mayor parte de la serie Wrox es bastante masticable.
Joel Etherton
1
¿Por qué las personas votan negativamente? El OP solo quiere algunos libros que le presenten un desafío ... no es una pregunta estúpida o OT.
Melanie Shebel
44
Esta no es una muy buena pregunta. En particular, creo que carece de un criterio claro para juzgar los libros. "Duro" y "hazme pensar" son bastante subjetivos: no te conocemos y lo que será difícil o fácil para ti. O cómo se aplicaría a otras personas, para el caso. Tampoco hace nada para inspirar respuestas para explicar por qué se recomiendan los libros, lo que potencialmente va en contra de las pautas de constructividad . Un poco de edición podría ayudar, creo.
Adam Lear
44
@Melanie: esta es una pregunta tipo "lista de X" que solo publicará el libro favorito de las personas como respuesta. Si verifica las respuestas, ninguna de ellas tiene una explicación de por qué el libro mencionado cumple con los requisitos de los PO (bueno, uno sí, pero eso es de 10 respuestas).
ChrisF
1
Estoy de acuerdo con @Anna y @Chris arriba, esta pregunta carece de partes clave, como explicar por qué estos libros son difíciles o cómo calificarlos entre sí.
Josh K

Respuestas:

29

El arte de la programación de computadoras. Donald Knuth

S.Lott
fuente
3
¿Por qué? ¿Que lo hace tan bueno? Por favor expanda su respuesta.
Walter
2
Debes incluir eso en tu respuesta. Lo he leído, pero cualquiera que no lo haya hecho NO tendrá idea de por qué debería siquiera considerar su sugerencia.
Walter
3
@Walter: No creo estar de acuerdo. No creo que necesite ninguna expansión. El libro es tan importante y tan central para la informática que no creo que necesite explicación.
S.Lott
1
Es probable que los programadores de libros planeen leer algún día.
Steven A. Lowe
1
@RYUZAKI: "Quiero estar preparado antes de saltar a algo que parece tan difícil y tan gratificante" No te molestes en tratar de "prepararte". Simplemente entra. Cuando encuentres un tema que está más allá de ti, sabrás lo que necesitas aprender. Es una búsqueda de toda la vida. No es posible que estés lo suficientemente preparado . Siempre necesitarás aprender aún más.
S.Lott
13

Introducción a los algoritmos

No tan "introductorio";)

Demian Brecht
fuente
1
¿Por qué no ("tan 'introductorio'")? Esta es una introducción, utilizada en CS 101.
Konrad Rudolph
1
@konrad: AFAIK, la mayoría de las universidades solo usan varios capítulos de estos libros para enseñar.
Hery
Ahora tenía que buscarlo, demoler el soporte de mi computadora portátil en el proceso (uso el Cormen como soporte para mi computadora portátil ...). Y tienes razón. Olvidé las últimas partes del libro; De hecho, estos son tema de conferencias posteriores (algunos en cursos de máster).
Konrad Rudolph
@konrad: hery lo clavó.
Demian Brecht
@konrad: suena como un proceso lleno de acontecimientos;)
Demian Brecht
10

Una disciplina de programación, por Edgar W. Dijkstra

Cómo escribir código probablemente correcto

Este no es un libro para leer, es un libro para estudiar

Steven A. Lowe
fuente
Steven, realmente no he examinado este libro; pero me hace hacer una pregunta muy crítica: ¿es útil, por ejemplo, un desarrollador WEB o un codificador C ++ [controladores de dispositivo, etc.] o un desarrollador de Android? Te pregunto si vale la pena mi tiempo. [cont en el siguiente comentario]
Chani
[cont. del comentario anterior] soy nuevo pero aprendo perversamente rápido. Leí toneladas de blogs, código de fuente abierta, etc. Entonces, ¿leer el libro anterior (y otros de este tipo) realmente me va a ayudar? Y amigo; La única razón por la que tengo una actitud tan pesimista es que había leído Diseño y análisis de algoritmos informáticos por Aho et. todo y para decir la verdad, apenas he estado usando ese conocimiento ... pero nuevamente, solo he estado programando en serio por menos de 6 meses. Entonces, ¿qué dirías?
Chani,
1
@RYUZAKI: Entonces, has estado programando en serio menos de seis meses, y encontraste Aho et al. libro de algoritmos no es inmediatamente útil? Entonces no estás buscando los libros mencionados en esta pregunta. Es posible que desee tomarse un tiempo y sentirse más cómodo en el campo y luego volver a estos. Los libros en estas respuestas (los que conozco, de todos modos), te enseñarán cosas y ampliarán enormemente tu comprensión. No lo convertirán en un mejor desarrollador de C # de inmediato, si eso es lo que está buscando ahora.
David Thornley
+1: Y también Science of Programming de David Gries. Un libro complementario que amplía los temas.
S.Lott
2
@RYUZAK Me gustan los textos CS más profundos, obtienes de él lo que le pones. Obtuve una nueva apreciación por la belleza matemática de la programación, junto con experiencia directa en el diseño y prueba de la corrección de programas muy pequeños. Me llevó la mayor parte de un año abrirme camino a través del libro.
Steven A. Lowe
9

El libro del dragón ciertamente lo ayudará a comprender los conceptos de bajo nivel.

Mawg dice que reinstalar a Mónica
fuente
bueno i tenía que estudiarlo como parte de mi programa de CS y me pareció muy interesante, desafiante, así como experiencia enriquecedora
Chani
6

Siete idiomas en siete semanas te dará mucho para jugar. Cuando todo lo demás falla, lea "Estructura e interpretación de los programas de computadora". Uno de los mejores libros sobre programación.

Zachary K
fuente
2
"Siete idiomas en siete semanas" es extremadamente genial, pero no es realmente un libro de programación difícil.
Chiron
Si su objetivo es que un libro sea difícil por ser duro, tiene razón, por otro lado, es un libro que tiene mucha buena información
Zachary K
4

Recomiendo encarecidamente Numerical Recipes: The Art of Scientific computing .

Un libro fantástico, que detalla muchos algoritmos científicos útiles. Durante mi carrera en el sistema informático integrado e industrial, una versión u otra, en un idioma u otro 1 , ha sido mi compañero constante.

  1. Antes de la tercera edición, había diferentes libros para diferentes idiomas, por lo que había recetas numéricas en C , recetas numéricas en Fortran e incluso recetas numéricas en Pascal.
Mark Booth
fuente
Vaya, ni siquiera he pensado en el libro sombrero en aproximadamente 15 años
Zachary K
Sí, compré una primera edición en la universidad y he logrado encontrar un uso para los algoritmos en esos libros en cada trabajo en el que he trabajado desde entonces.
Mark Booth
2

Algunas alternativas a los libros conocidos (y excelentes) ya sugeridos:

  • Sistemas de bases de datos: El libro completo, 2ª ed. tiene una segunda parte que realmente explica cómo se implementa un DBMS. Tiene mucho material sobre cómo almacenar e indexar datos de manera eficiente y cómo ejecutar consultas en la base de datos.
  • Un enfoque de ingeniería para redes informáticas analiza los detalles más profundos de hacer que las redes funcionen. Si alguna vez desea implementar una aplicación o dispositivo de red de alto rendimiento, este texto proporcionará una gran base fundamental.
  • Los algoritmos de aproximación consisten en una amplia descripción de los problemas de optimización combinatoria. El autor aconseja estudiar los problemas en profundidad antes de intentar crear una aproximación, lo cual es muy instructivo.
  • Tipos y lenguajes de programación son más de 600 páginas de teoría y técnicas de implementación dedicadas a los tipos en lenguajes de programación. Resulta que hay una cantidad increíble de teoría con la que lidiar. Si alguna vez desea crear un lenguaje de programación completo, hay mucho que aprender aquí.
Deckard
fuente
2

Bajo nivel de .NET: CLR a través de C # por J. Richter. Vale la pena leer si quieres conocer el núcleo de .NET.

oleksii
fuente
1

Recientemente comencé a leer Hacker's Delight (http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654). Puede que no tenga una puntuación muy alta en el aspecto difícil. Pero le daría puntajes altos en minuciosidad, bajo nivel y resolución inteligente de problemas, fiel al espíritu de su nombre.

vpit3833
fuente
1

Puedes comenzar a aprender Lisp langs. ¡Eso seguramente será duro! Además, es un feliz descanso de la programación regular

Chani
fuente