正在加载...
 
< 幸福快乐的生活着
上班了 >
学电脑和学编程 
 浏览数(957) | 评论数(0) | 2007-05-30

我们学电脑知道从最基础的学起,樱木花道学篮球也是从简单的运球动作开始学起。

 

[separator]


在家学用电脑,知道什么是主机 什么是外设,主机内都有些什么,主要做什么用的,然后系统啊软件什么的是怎么运行的,在电脑里是什么状态。
我们知道了系统是一些程序,是装在磁盘里的,然后加载到内存里运行,软件也是程序,安装后,也是在内存里运行,知道了所有的声音图像视频文字这些资料在电脑里称为数据,是以0和1保存在磁盘、光盘、软件、x盘中的……

 
在学校里学计算机,什么二进制,什么十六进制,什么计算机组成原理,操作系统原理,程序设计有结构化程序设计、面向对象程序设计,有直接用shell的code开发,命令行下编译,也可以在ide环境下可视化开发……

 
在学编程的时候,我们知道了要循序渐进的从数据类型开始学起,学语法,学算法,学数据结构……

 这一切,看起来都是依照了一个伟大的真理:一切从基础学起。

而我们伟大的老师们,也这样循序渐进的教育我们。

 

可是当我们走出校门,发现这个世界并不是这样循序渐进。我们发现我们学了几年的英语不能和外国人说话、交流,我们学的“程序”不能做任何事情,我们心中神圣的“懂编程才是高手"的观念,渐渐瓦解。

 

我们疑问:为什么呢?我们按照老师的说法,一步一步,扎扎实实的从基础学起了啊。我考试也分数很高啊,可是为什么我写不出一个可以用的程序?问起c语法,问起c++语法,甚至所谓的底层的asm,我都可以很熟练的回答,为什么我还是不知道编程到底是什么,程序是什么?软件又是什么?

学了数据结构,学了软件工程这些课,却不能做任何事情?为什么,这些都是学编程、学软件开发最重要的东西,学了操作系统,我却连自己的系统中毒了却搞不定?为什么?

 

我问起一些和我一样是计算机专业毕业的朋友,什么是vc、什么是c++,还有人分不清楚。而我问起那些学了所谓“vc程序开发”“delphi程序开发”的朋友,也一样的迷茫sdk是什么?mfc和vcl是什么,为什么会有kol出现…

 
当然,有些也不会让我太失望,当时当我问到,一个win32程序,在磁盘里是什么状态,在系统里,到底是如何运行的,从加载到运行,到执行功能,基本上是如何实现的?那些朋友都和我一样的一头雾水……庆幸的是我从高中偶然知道了soft-ice,知道了trw,知道了olldbg,知道了cracker们,知道了看雪论坛,要不是这些,或许今天我依然迷茫,pe是什么,一个程序到底是怎么运行在我的电脑里的。尽管我不知道个所以然,但起码我知其然,大概是怎么回事我还可以说个一二。

  

至今我依然不会编程,可是看着那些昔日的同学,毕业了,上班下班的,或者操着vc,或者操着delphi,机器人一般的coding,“开发”着程序,他们是熟练的“coder”,可是却不清楚自己的辛辛苦苦写的东西在怎么去做,做一些什么事情……他们很了解自己写些什么,算是对自己写的代码是知其所以然了。可是却不知道其然?

 

当初是因为兴趣而选择学习程序开发的吧?可是,最后学到连这些东西怎么存在于这个世界,那岂不悲哀?那还有什么乐趣可言?

有朋友诉苦,说程序员(顶多是个coder吧,编码员吧?呵呵……)和x女一样的辛苦,我相信他是看了网上的一些文章和抱怨。我深表同情的同时不禁苦笑:学编程学到这份上也够辛苦的了。

 

回头看看我们学习的路,我们老师、学校教我们的方法:一切从基础做起。可是,连程序在系统中怎么运行的最基础的,老师为什么不说呢?

我试问一句:那些教我们编程的老师,您,真的懂程序么?您,知道一个win32程序到底在系统是如何运行的么?进程空间为什么你没和我讲,pe格式你为什么不和我说,win32 api的概念,你为什么不提???老师啊老师,这些不是最基础的么?为什么你一讲编程,就滔滔不绝的语法语法语法……??

 

直到今天,看了陈战先生的delphi和win32时空观,才知道,啊!原来我用了那么多年的程序在系统中,在内存里,是这样的啊! 明白之余,我回头看看自己走过很多弯路,想想我们所谓的“从基础学起”,这个基础,是不是没找对? 不禁为那些在学校继续遭受苦难的同学,学着编程却一脸迷茫的同学,那些牛x哄哄的老师,感到背寒……

 

这样学,难道真的非要等学生自己感兴趣,或者有人带,或者偶尔看到这样的书、文字,才懂得程序到底是什么?

基础,该深思,到底什么是基础……

http://www.i170.com/Article/68276/trackback

评论:

发表评论: