我姓太阳分享 http://blog.sciencenet.cn/u/whitesun 大学教师的那点事。

博文

我在学编程——懂得一二还需懂得三四

已有 4659 次阅读 2013-10-29 23:06 |个人分类:科研实践|系统分类:科研笔记| 学编程

   很多人都学过编程,也会编程,我的研究生也应我要求编写实验用的程序,可以说她也会编程。

   其实说起编程,并非易事,大到编写操作系统、互联网应用基础软件等,小到算个一元二次方程的根、打出一个熊猫图案等。如果讨论如何编程,可以比作翻译,编程是将用户需求翻译成计算机语言,就像将英文文章翻译成中文一样。事实上,编程比翻译难,因为往往是没有英文原文的,是需要自己先构思好英文原文而后翻译的。做到这点非常难。翻译有直译与意译之分,编程也不例外,初学者往往是直意,中高水平的者更多的是意译。至于编程水平的层次,就我看来至少可以划分五个层次:

  • 准入门级:学懂某门计算机语言的基本语法,掌握书中简单的示例,能写点小程序,完成一些功能,如6岁孩童能讲话,讲点简单的事情;

  • 入门级:掌握了1-2门计算机语言的基本知识,能参照已有的系统开发简单的应用系统,如同小学生也能写作文,读书看报;

  • 初级:掌握一些计算机基本知识,如网络、数据库、图像处理等知识,能编写完成特定功能的程序,并用于实际系统中,如同大学毕业生,掌握某一专业知识,能在某个行业就业;

  • 中级:较全面地掌握计算机学科知识,面对实际应用系统的模糊需求,能考量实现这样系统所需的具体技术、设计各组成部分、完成核心功能的开发,如同大学毕业后具有3-5年实际经验的工程师(指货真价实的工程师,并非现在社会上那种1篇论文评出的);

  • 高级:对计算机学科知识有深入的认识,能考虑到用户的深层次需求,可以设计和架构先进的系统并实现。

  上述层次划分,其实有意将较低水平细分开。在计算机领域实际上将第三层次及较低或较高水平,细化为初级程序员、中级程序员和高级程序员。具体来说,我认为绝大多数计算机专业的学生毕业时的水平达到了入门级,而大部分工作2-3年后的程序员的水平接近初级,算是标准的程序员,而少数优秀的程序员能超越第三个层次,但没达到第四个层次,算是常说的高级程序员。

  至于第四个层次,即中级,其要求实际上远远高于高级程序员,只有经过较好锻炼的有经验的程序员才能达到,算是常说的架构师;至于第五个层次,做到了行业领先,算是科学家或专家,例如Hadoop,storm这样系统的设计者,或一些新一代语言的设计者,他们看到的是未来的整个行业需求,设计的系统是满足行业发展需要的。

  我作为教软件代码开发技术的老师,从高二(92年)开始学中华学习机上的basic到现在,还一直不断的学这种语言、那种技术,在内心深处一直有种自卑感,觉得自己不会编程,往往是想的容易,不敢动手,总有些畏惧感,做不到潇洒自由。当然,这与我经历相关,毕竟不天天编码,当然这也是上述层次决定的,达到初级容易,进入中高级绝非易事。

  鉴于上述认识,我在勉强达到初级水平之际,怎敢不学编程,走在向往第四层次、仰慕第五层次之路上,其压力尤胜评教授、上博导,绝非易事,怎敢不学编程。在此,我也想劝一下我的学生们,投点精力,夯实基础,学学编程不丢人,别整天浪费时间,别编个完成不了功能的程序对付老师、应付自己的未来。  



https://wap.sciencenet.cn/blog-273829-737236.html

上一篇:七天之痒
下一篇:旅游的种类(易中天)
收藏 IP: 124.118.63.*| 热度|

3 刘进平 张焱 刘全慧

该博文允许注册用户评论 请点击登录 评论 (6 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-30 03:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部