这是我发在CSDN中的一个帖子,收录如下:
程序开发的壳与核(题目挺唬人,其实是给和我一样的新手看的东东)
发表时间: 2006-7-7 0:42:56
程序开发的壳与核
(一家之言,想发出来怕大家笑话,不发出来又觉得没人与自己讨论实在不爽,有错也不知道,所以请各位帮我看下,多多指点)
虽说编程才编了2年,还没编过任何大型程序,也没参与过任何正规的项目,但是我从来没有停止过对程序开发的思考,一直在学C++,当然其间各种各样的玩具程序写了不少,并行的也学习了数据结构和编译原理等理论课程,在这个阶段,编程语言的语法就是程序开发的壳,而数据结构,各种算法就是程序开发的核,但是这个壳还不太好玩,不太有趣,因为你做不出图形界面的程序来,太多的东西在CONSOLE下真是无法完成,就拿让用户输入数据,都没个像模像样的输入界面,还有些非文本的输入,输出都无法展示,你就会觉得做那些东西太枯燥了,没劲。于是你去请教各位大佬,大佬们就会说你太浮燥了,不会走就想飞之类的话,跟你说些数据结构,算法多么多么重要的话,让你枯燥也要搞,于是你更加心灰意懒,其实这会你已经基本知道数据结构,算法是怎么回事啦,那你就可以学一点WIN32编程,就拿<<WINDOWS程序设计>>一书来说,你看完整个上册都不会费太大劲,然后你就可以把你的数据结构,算法的实现做的有模有样,比如最短路径的寻找算法,如果你在CONSOLE下,你要一个一个输入顶点的坐标,还要注意格式,不要说别的人,就连自己也不想多运行几遍,但如果你做成GUI的,那么你拖动鼠标可以画图,点击右键可以选点,再点一个按钮,一下子找到最短路径,并且用不同的颜色标记出来,多么形象好玩啊,这才有编程的乐趣啊,我当初写出这么一程序来,同学们都拷过去看,(虚荣心得到满足,自己也更有编程的兴趣,多好啊),当你这样子的GUI玩具程序也做了不少了,规模也一点点变大了,你就会渐渐觉得数据无法组织,求解过程没有效率,这时候,你就会自然的回过头来复习你的数据结构,算法知识,然后现在你可以每有一点所得就实践到自己的程序中去,而不是一道道被动的做课后题,那可就乐趣多多啦。我相信这样掌握的知识也会有更深的理解,更利于你以后将它们运用到你的项目中去。
再说的深入一点,如果你可以熟练运用WIN32(当然不一定非是它)做出你想要的壳来,你就会更加深入的体会到程序真正重要的地方确实是数据的存储,组织,检索以及相关算法的高效实现,那才是程序的核心所在,又假如你是做图形编程的,那那么多的图形生成算法的理解又更加费劲啦,所以,大佬们说得 数据结构+算法=程序的确是对的,但有时候只要你下了功夫,殊途同归是必然的。
如果你也和我一样是编程菜菜,并且恰好也在这一地方徘徊不知所措,那么我想聪明的你一定能理解我为什么说这些话。
实际上说了半天 ,就是想说你基本语法,基本数据结构掌握了以后,应该开始做某个平台下的真实GUI 程序开发的学习了,不必等到牢固,精通.......
实在是一家之言啊,大家要是觉得不对用力批,免得我误人子弟
jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!) ( ) 信誉:102 2006-7-7 8:53:25 得分: 0
数据结构+算法=程序
呵呵, 这个自然是这么回事情 ....
程序本身和语言实在是关系不大,
语言只是一种工具, 一种手段 .....
当然,有些复杂的功能还是需要精通这门语言的(如熟悉各个 API 等) ....
Top
nirvana_li(东成西就,芝兰境界) ( ) 信誉:101 2006-7-7 9:24:19 得分: 0
嗯。数据结构和算法是基础。但仅仅有基础是不够的。
现在更多的时候,我们要讲究规范,讲究代码的可读性……
这些东西对于程序员来说也是非常必要的。
Top
stecdeng() ( ) 信誉:100 2006-7-7 10:09:46 得分: 0
api入门还是满难的
我是说自学 现在痛苦中
Top
anyue417(振浩) ( ) 信誉:100 2006-7-7 10:51:51 得分: 0
呵呵,有老大来回了,
“api 入门还是蛮难的。。。。。”就算自学,WIN32API 也不难啊,估计是你选的书不太易懂,推荐<<WINDOWS程序设计>>,只是这个贵了点哈
Top
lk_517(风雷,得分: 0
个人比较赞同
曾经也觉得console下的开发太麻烦
不过实在是习惯了命令行界面,觉得爽一些。
Top
Oversense(步步文) ( ) 信誉:99 2006-7-7 19:21:30 得分: 0
程序设计的领域很宽广的。
Top
anyue417(振浩) ( ) 信誉:100 2006-7-7 23:28:09 得分: 0
楼上说得没错,但这个只是对新手说的,那么广的东西,还接触不到。
楼上的楼上难道用惯于UNIX 了?
Top
chenhu_doc((Plan equals power! )(专题开发)) ( ) 信誉:94 2006-7-7 23:36:25 得分: 0
楼主有自我思考和总结的习惯
Top
anyue417(振浩) ( ) 信誉:100 2006-07-09 19:01:00 得分: 0
呵呵,可惜经验还太少
Top
czcolin(秃头孤鸟) ( ) 信誉:100 2006-07-09 19:40:00 得分: 0
就是想说你基本语法,基本数据结构掌握了以后,应该开始做某个平台下的真实GUI 程序开发的学习了,不必等到牢固,精通.......
---------------
这个深有感触,可有时是没用的,你很想很想去实践它,可你就是无法下手,哎~
Top
A_B_C_ABC(黄瓜) ( ) 信誉:100 2006-07-09 20:51:00 得分: 0
说得很好,学习是要反复进行的。
Top
anyue417(振浩) ( ) 信誉:100 2006-07-10 17:32:00 得分: 0
“反复”这个词,用得妙极哈
Top
crazy_lazy_pig(疯狂懒猪) ( ) 信誉:100 2006-07-10 20:59:00 得分: 0
我个人感觉作GUI太累了, 如果可能, 我宁愿作console的.
Top
anyue417(振浩) ( ) 信誉:100 2006-07-11 14:58:00 得分: 0
作GUI是有点累,可做成的效果,可不是CONSOLE能比的,再说学一点MFC 之类的东东,做GUI就轻松点了,还有就是JAVA中的GUI编程也比直接在WIN32下C/SDK方便了许多,可是C/SDK是基础,还是掌握点的比较好