“编程元素”现实世界的例子?

时间:2009-10-22 21:11:14

标签: c++

我渴望了解Stepanov在书Elements of Programming中描述的编程方法。这里有没有人有这些方法的经验,或者可以指出一些讨论这个主题的在线资源?

我在A Possible future of software development上看过Adobe的Google Tech Talk。

3 个答案:

答案 0 :(得分:17)

我是这本书的校对员,我对Alex的反馈极大地影响了演示风格。我很高兴称自己为他的门徒之一。我觉得这些材料引人入胜,它完全改变了我编写代码的方式,甚至改变了Java代码。

尽管我提供的措辞含糊不清,亚历克斯的一些“方法”仍然是激进的:

  • Progamming有两件事:算法和数据结构。
  • 非常认真地思考你编写的每一行代码。
  • 了解您要解决的问题的结构。
  • 好的代码经常被重写为更好。
  • 目标是编写尽可能通用且尽可能快的代码。
  • 正确命名是非常重要的。
  • 算法的核心通常是一个众所周知的想法。
  • 如果您的函数计算出一些有趣的东西,请将其返回。

如何变成源代码?我在StackOverflow上的帖子是在我理解了这些改进之后完成的,所以如果你愿意,你可以阅读这些帖子。否则,我不确定如何满意地回答你的问题。

答案 1 :(得分:2)

在视频结束时,Sean Parent提到了http://opensource.adobe.com/

您可以查看Adobe STLab

(顺便说一下,我订购了编程元素,明天我会收到它; - )

答案 2 :(得分:1)

很高兴看到Stepanov在斯坦福大学的讲话。与他的书“编程元素”有关。 hhttps://www.youtube.com/watch?v = Ih9gpJga4Vc他给出了他的观点,即编程和数学是如何相关的。

我发现2007年Sean Parent(来自Adobe Photoshop团队)表示:Photoshop拥有3百万LOC,并且使用STL(标准模板库)方法,它只能在30 kLOC中重写,减少100倍 - 压缩2级! http://www.youtube.com/watch?feature=player_detailpage&v=4moyKUHApq4#t=2333

我发现它很有趣,STL端口(或称它应该被称为重写或重构)可以对MSWord或Adobe Photoshop等巨大应用程序的源代码进行如此高的,高达2个数量级的压缩。

以下是亚历山大·斯捷潘诺夫的访谈http://www.stlport.org/resources/StepanovUSA.html