关于语言不可知论:编程理论在现实世界中的实际应用有什么好的资源吗?

Are there any good resources on real world practical uses of programming theory?

有人能推荐任何好的材料来提供编程理论的真实世界的观点吗?我是一个长期从事软件工程师工作的学生。当我说现实世界时,我的意思是"我为什么要使用接口?"这不符合干巴巴的原则吗?这看起来像是多余的不必要的元代码。"(这是今天出现的另一个问题的含义。)似乎这个学生班的教授没有给出将它们作为"你使用它"的明显商业理由,所以你的应用程序的主要部分不依赖于你的一个或多个组件的特定实现。例如,可以在不影响应用程序其余部分的情况下替换或升级的数据存储,或者可以在出现更好的应用程序时替换外部设备的插件。"

我注意到学生有一种趋势,即达到他们的CS课程的关键点,并开始在各种问答网站上提问为什么他们应该使用某个范例,他们了解什么和如何使用,但他们对为什么它实际上有用一无所知,并在课程的其余部分思考"好吧,那又怎样?"通常情况下,课程都是非常学术的,没有任何现实世界的背景。我自己也在那里,我希望在学校的时候我有一个像StackOverflow这样的资源。

我希望这个问题能为学生提供一份有用的阅读材料清单,帮助他们为课堂上(或其他)学习的各种编程范例和模式提供现实世界的背景,帮助他们理解在现实世界中,什么时候以及为什么应该关注某些模式。


www.cs.bell-labs.com http:/ / / / CS /珍珠/厘米


一个好的程序员,语用,语用,但他们是好的versed在CS理论和他们知道什么时候和如何应用它。


不幸的是,程序员经常inexperienced Don’t意识到他们有一个问题,直到他们运行到它自己。我认为最好的方式来湖的问题,在真实的世界是"真实世界"的学生有问题,这可能是最好的课堂教学以外的这一发现CS的校长。(我想softeng教一点不同的是在这方面)

设计模式代码+头的第一个完整的书籍我读到的每一undergrad graduating之前。

哦,他们要完成至少一个(或主要完成额外的课程项目。a网站,游戏,实用程序"。


口语好的学生:我作为一个CS)

我觉得非常享受和Stroustrup的文件要到实际没有无用的细节。例如,他把纸在一个面向对象的程序设计,将我读过最好的。它是从最基本的想法是通过模块化编程,通过编程的面向对象的想法。嘿节目,为什么我们需要这些编程范式的例子短的片段。论文是通过sequentially范式:嘿。

  • 数据隐藏程序编程
  • 数据抽象objectoriented
  • 编程(OOP的论文是关于我们)
  • parameterized类型

这是一个十六岁的阅读方法堆栈猫。A 16不同的方式写堆栈(在C + +语言不是物)。把这些优点/缺陷,和比较的一个专门的大学/学院空间范式。


叔叔鲍勃的《学徒》在craftsmanship软件。有一个好的叙事风格,因为我认为protaganist CAN相关的学生,他/她起飞从一个卑微的学徒。


一个在这个网站是最受欢迎的问题,什么是最有影响力的一个单身程序员应该读的书?


我会让球滚动的有:

  • "设计模式","聪明人"。
  • 完整的代码,这是一个真实的制作问题。

本文开发的一般模式,因为代码保持和发展的大问题。strapped程序员总是没有时间和他们的决定是,我们需要更多的绒毛。大多数程序员不会工作在相同的代码在整个软件生命周期,所以我需要一个程序员的方式明白对方没有阅读的代码有几个万线的代码。

真正的世界建筑的类比:你需要做一个建筑没有接头。否则,它的裂缝和断裂,因为它heaves和冷/热。节点之间的接口是两个实体可能是刚性的。你做这样的工作是可能的模块。你不让它所有的相同的材料。(木材制造的管道是不可能的)它的设计,这样你可以多承包商工作的建筑在同一时间。人谁使用的建筑,只是想使用它,不在乎。你建造它。人谁检查大楼(S)是一样的人谁建造大楼。


完整的代码。cc2e.com http:/ / /