编程思想

[译]面向对象编程简史

原文链接:A Brief History of Object-Oriented Programming
原文作者:JIAN HUANG
翻译人:徐文志

面向对象编程简史

SIMULA是第一个对象语言,正如其名称所暗示的,它被用来创建模拟器。当时在犹他大学的艾伦凯对SIMULA语言非常感兴趣。他有一台将会提供面向图形的应用程序的个人电脑,他觉得像SIMULA语言将会为非专业人士创建这些应用程序提供便利。他将他的想法卖给了施乐公司(没错,就是那个给乔布斯灵感的公司)。上世纪70年代初,在施乐的艾伦凯领导的团队创建了一个名为Dynabook的的第一台个人电脑。 Smalltalk是专为做Dynabook开发的面向对象的语言,它是一个模拟和面向图形的编程语言。 Smalltalk虽然没有被广泛用于商业用途,但一直留存到今天。
面向对象编程的思想在20世纪70年代逐步流行,在80年代初期,Bjorn Stroustrup将面向对象编程集成到C语言,由此产生了C++,它成为第一个广泛商用的面向对象语言。

上世纪90年代初期,在Sun公司,詹姆斯·高斯林带领开发了C++的简化版本,即Java,Java本来为开发视频点播应用。该项目最终不温不火,直到这个小组重新定位Java,并把Java作为编程语言而销售。Java语言获得了蓬勃发展和广泛普及。

程序设计原则

1. 避免重复原则(DRY – Don’t repeat yourself)
  编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就会很容易形成一个抽象体。

2. 抽象原则(Abstraction Principle )
  与DRY原则相关。要记住,程序代码中每一个重要的功能,只能出现在源代码的一个位置。

3. 简单原则(Keep It Simple and Stupid )
  简单是软件设计的目标,简单的代码占用时间少,漏洞少,并且易于修改。

4. 避免创建你不要的代码 Avoid Creating a YAGNI (You aren’t going to need it)
  除非你需要它,否则别创建新功能。

5. 尽可能做可运行的最简单的事(Do the simplest thing that could