仅仅就编程序来说,实在是一件很简单的事,甚至可以是一件劳力活。两千年前的寓言中,已经成就了一位工程名家:愚公。在他身上,浓缩了项目组织者、团队经理、编程人员、技术分析师等众多角色的优秀素质。他的出现,远远早于计算机发展的历史,甚至早于一些西方国家的文明史。
在汤问篇中所述的愚公移山事件,我们看到了原始需求的产生:“惩山北之塞,出入之迂”//提出问题
我们也看到了项目沟通的基本方式:“聚室而谋曰”“
然后,我们看到愚公确定了一个项目的目标:“毕力平险,指通豫南,达于汉阴”
并通过研讨,择定了一个井然有序的,可以实现的技术方案:“扣石垦壤,箕畚运于渤海之尾”
在这个项目中,动用了三名技术人员和一名工程管理人员:“愚公率子孙荷担者三夫”
并获得了一名力量较弱,但满富工作激情的外协:“邻人京城之孀妻,有遗男,始龀,跳而助之”
基本上,这已经描述了“愚公移山”整个工程的概况。接下来,我们应该注意到愚公作为编程人员的基本素质。在与“河曲智叟”的对答中,他叙述了整个工程的实现程序:
“虽我至死,有子存焉(if);子又生孙,孙又生子;子又有子,子又有孙(循环)。子子孙孙,无穷匮也。而山不加,何苦而不平?(山平)”
在愚公的论述中,我们看到了编程的根本:顺序、分支和循环。庞大若“愚公移山”这样的工程,都是可以通过这样简单的编程来实现。这,就是编程的精义。
以下使用java(伪代码)编写
import.java.大道至简.*
import.java.愚公移山.*
public class ygys
{
public static void main(String args[])
int 愚公,子,孙;
while(山不平)
{
if(愚公存)
{愚公率子孙荷担者三夫;
邻人京城之孀妻,有遗男,始龀,跳而助之;
扣石垦壤,箕畚运于渤海之尾;}
else
{子=孙;
孙=子;
扣石垦壤,箕畚运于渤海之尾;}
}
}
import.java.大道至简.*
import.java.如果天冷则先穿衣服后洗漱,如果天热则反之.*
public static void main(String args[])
{
if(天冷)
{穿衣;
洗漱;}
else
{洗漱;
穿衣;}
}
import.java.大道至简.*
import.java.日复一日直到死亡.*
public static void main(String args[])
{
while(活着)
{日复一日;}
}
import.java.大道至简.*
import.java.知道逻辑方法.*
public static void main(String args[])
{
if(编程)
{
先把事情分析清楚(事件先后的逻辑关系和依赖关系);
然后代码实现;
}
}
import.java.大道至简.*
import.java.语言.*
public static void main(String args[])
{
while(熟悉一门语言)
{语言只有喜欢不喜欢,没有会不会;}
}
初学欢迎批评指正,借鉴请三思