什么是真正的编程难题?[关闭]


14

我想知道有什么真正令我思考的硬性书籍。我说的是低级语言,例如c等以及算法,点,函数等。

非常感谢。


1
大多数Wrox系列产品都很耐嚼。
乔尔·埃瑟顿

1
人们为什么要投反对票?OP只是想要一些书给他带来挑战……这不是一个愚蠢的问题。
Melanie Shebel

4
这不是一个很好的问题。特别是,我认为书评缺乏明确的标准。“强硬”和“让我思考”是非常主观的-我们不认识您,对您而言困难或容易的事。或它如何适用于其他人。它也无济于事,无法激发出答案来解释为什么推荐这本书,这有悖于建设性准则。我认为,进行一些编辑可能会有所帮助。
亚当李尔

4
@Melanie-这是一个“ X列表”类型的问题,它只会得到人们最喜欢的书作为答案。如果您检查答案,那么他们都不会有任何解释说明为什么所提到的书满足了OP的要求(可以做到这一点,但是那是10个答案)。
克里斯·

1
我同意上面的@Anna和@Chris,这个问题缺少关键部分,例如解释为什么这些书很难,或者如何对书进行评分。
乔什·K

Answers:


29

计算机编程艺术。唐纳德·克努斯(Donald Knuth)。


3
为什么?是什么让它如此好?请扩大您的答案。
沃尔特,

2
您应该将其包括在答案中。我读过它,但是没有读过的人都不会知道为什么他们甚至应该调查您的建议。
Walter

3
@沃尔特:我认为我不同意。我认为它不需要任何扩展。这本书非常重要,并且对计算如此重要,以至于我不需要解释。
S.Lott,

1
这是程序员最有可能计划在某一天阅读的书。
史蒂文·劳

1
@RYUZAKI:“我想在进入似乎如此困难而又有意义的事情之前做好准备”,不要为“准备”而烦恼。只需跳进去。当您发现一个超越自己的主题时,您就会知道需要学习什么。这是终生的追求。您可能没有足够的准备。您将始终需要学习更多。
S.Lott

13

算法导论

不太“介绍”;)


1
为什么不这样做(“如此'介绍性的'”)?这一个引子,在CS 101使用
康拉德鲁道夫

1
@konrad:AFAIK,大多数大学仅将这些书中的几章用于教学。
Hery

现在,我不得不查找它,在此过程中拆除了我的笔记本电脑支架(我将Cormen用作笔记本电脑的支架……)。而且你是对的。我忘了本书的后半部分。这些确实是以后的讲座的主题(有些是硕士课程)。
康拉德·鲁道夫

@konrad:Hery钉牢了它。
Demian Brecht

@konrad:听起来像是一个多事的过程;)
Demian Brecht

10

编程纪律,Edgar W. Dijkstra

如何编写可证明正确的代码

这难道不是一本书来读,这是一本书来学习


史蒂文我还没真正看过这本书; 但这使我提出一个非常关键的问题:WEB开发人员或C ++编码器[设备驱动程序等]或Android开发人员是否有用?我问你是否值得我花时间?[在下
一条

[从之前的评论继续]我是新手,但是我很快就学了Wickedly。我阅读了大量的博客,开放源代码等。那么阅读上述书籍(及其类似书籍)真的对我有帮助吗?和朋友;我抱有如此悲观的态度的唯一原因是,我阅读了Aho等人的《计算机算法的设计和分析》。总而言之,我几乎没有使用过这些知识......但是我只认真地进行了不到6个月的编程。那你会怎么说呢?
加尼

1
@RYUZAKI:所以您已经认真编程了不到六个月,您发现了Aho等人。算法书不是马上有用吗?那么您就没有在寻找该问题中提到的书了。您可能需要花一些时间,在现场变得更加舒适,然后再回到这些。这些答案中的书(无论如何我都知道),将教给您一些知识并极大地增进您的理解。如果您现在正在寻找的话,他们不会立即使您成为更好的C#开发人员。
David Thornley,

+1:还有David Gries的《编程科学》。一本有关主题的伴侣书。
S.Lott,

2
@RYUZAKI就像最深层次的CS文本一样,您可以从中得到所得到的一切。我对编程的数学美有了新的赞赏,并获得了设计和证明非常小的程序的正确性的直接经验。我花了大部分时间才完成这本书。
史蒂文·劳

9

龙书一定会帮助你了解低水平概念。


好一个 我必须将其作为我的CS教学大纲的一部分进行研究,并发现它非常有趣,具有挑战性以及丰富的经验
Chani

6

七周之内的七种语言将带给您很多乐趣。当其他所有方法都失败时,请阅读“计算机程序的结构和解释”,这是有史以来有关编程的最佳书籍之一。


2
“七周中的七种语言”非常酷,但并不是一本艰难的编程书。
凯龙

如果您的目标是为了为了吃苦而难,那么您是对的,另一方面,这本书中有很多很好的信息
Zachary K

4

我强烈建议您使用《数值食谱:科学计算的艺术》

很棒的书,其中详细介绍了许多有用的科学算法。在我的嵌入式和工业计算系统,一个版本或另一种职业,一种语言或其他1,一直是我的忠实伴侣。

  1. 在第三版之前,有针对不同语言的不同书籍,因此C中有数值配方,Fortran中有数值配方,甚至Pascal中也有数值配方。

哇,我还没有想过帽子的书在约15年
扎卡里ķ

是的,我在大学里买了第一版,从那以后我从事的每一份工作都设法在这些书中找到算法的用途。
Mark Booth,

2

已经建议了一些著名(和优秀)书籍的替代方法:

  • 数据库系统:完整书,第二版。第二部分实际上解释了DBMS本身是如何实现的。关于如何有效地存储和索引数据以及如何在数据库中实际执行查询,有很多材料。
  • 计算机网络的工程方法讨论了使网络实际工作的最深层细节。如果您想实现高性能的网络应用程序或设备,那么本文将提供很好的基础知识。
  • 近似算法包括组合优化问题的广泛概述。作者建议在尝试创建近似值之前对这些问题进行深入研究,这非常有启发性。
  • 类型和编程语言是600余页专门针对编程语言中的类型的理论和实现技术。事实证明,有大量理论需要处理。如果您想创建一种成熟的编程语言,则可以在这里学习很多东西。


1

我最近开始阅读Hacker's Delight(http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654)。在艰难的方面,它的得分可能不会很高。但是,我会按照其名称的精神,在彻底性,低水平和聪明的问题解决能力上给予高分。


1

您可以开始学习Lisp lang。那肯定很难!加上常规编程带来的快乐

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.