第一章 编程的精义
*愚公移山
pakcage Yugongyishan;
public class Yugongyishan{
public static void main(String[] args){
//原始需求的产生:惩山北之瑟,出入之迂
//项目沟通的基本方式:聚室而谋之
//三名技术人员和一名工程管理人员:(愚公)率子孙荷担者三夫
//一名外协:遗男
while(!指通豫南,达于汉阴) do{
(愚公) 率子孙荷弹者三夫及邻人京城氏之孀妻,叩石垦壤,箕畚运于渤海之尾。
if(愚公死之)
{
if(有子孙存焉)
子子孙孙,叩石垦壤,箕畚运于渤海之尾
else
break;//无子孙存焉,程序结束
}
}
}
}
作者别出心裁,将《愚公移山》的故事化用程序来表达,用以阐述庞大若愚公移山这样的工程,都可以化繁为简,简即为编程的精义。在作者的论述中,顺序、分支和循环为编程的根本,当有了项目需求,再确定工作流程,则其中必须包含顺序、分支和循环结构。
*会不会写程序的问题
pakcage Xiechengxu;
public class Xiechengxu{
public static void main(String[] args){
while(!死亡) do
{
if(你知道早上起床后天冷则先穿衣服后洗漱&&天热则可反之&&日复一日直到死亡)
then 你可以编写程序
if(你知道生病||不能行动||意外紧急事件当日可以略过)
then 你可以向设计师发展
}
}
}
究竟“会不会写程序”?其实作者只是想告诉大家,作为一个正常人,只要勤奋努力就可以学会编程。当然,在编程中还要培养自己的多种情况分析能力以及预测错误并给出提示的能力。
*程序=算法+结构
pakcage Chengxu;
public class Chengxu{
public static void main(String[] args){
if(要写程序)
{
把事件先后的逻辑关系和依赖关系搞清楚;
代码实现;
}
}
}
“程序 = 算法 + 结构”作为一句经典的语句,已被引用无数。算法是对一个程序逻辑实现的描述,而结构是逻辑实现所依附的数据实体。编程者要先将问题的算法设计出来,把结构描绘出来,则接下来就是将其转化为计算机语言。所谓语言,并无优劣之分,只有不同的适用范围与个人喜好,因此,我们无需对不同的语言加以优劣之评。
大道之为简,为我们今后对编程的学习指明了道路,将一个大的项目不断细分,直到分为每一个小问题我们可以解决它为止,此之谓“大道至简”。