论坛首页 入门技术论坛

漫淡编程语言的学习方法---欢迎讨论

浏览 2187 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-12  
编程语言学习方法探讨:语言学习三步曲

第一:掌握语言的"环境,规则,元素"三要素:

  与我们人类语言的的组成本质相同,软件编程语言也是由"环境,规则,元素"组成。

  但与之相比,掌握运用软件编程语言就简单得多了!我们以Java为例,其环境极端的单纯――只要有JVM,规则也就是几个流程控制(如whil,if)、访问控制(public,private)、元素就更简单,常用的关键字和API加起来也就几百来个!相比我们中文来说,虽说常用的就二千多个汉字,但呈几何级组合的词汇原素量、“十里乡俗九不同”的环境多样化,与编程语言相比,那是不可同日而语了!

  所以说,学习“软件编程语言”应是一件很简单的事:拿Java来说,你只搭建Java编译、运行的必要环境,也就是安装JDK,配置classpath变量;使用它的关键字按照语法规则来控制流程即可――而这些规则、元素的定义,都是无歧义的,是铁板钉钉子的;根本就不像人类的语言那样,一个字,一个词,都是因人,因地,因时而具有不同的意义!

    对于Java初学者来说,用二三个周的时间,放在学习这三要素中就足够了;对于Java中的API,没必要像个书呆子全记住,需要用时查文档就是----这时候,可以说你会用Java了,万里长征,你走动了第一步!

第二:编写清晰简洁,能让其它程序员理解其意图的代码:

       简单的道理就是:只认识两千个汉字,会说汉语,并不意味着你就是作家,诗人;但目前对程序员的一般要求却是这么简单:会用程序语言描述问题即可―――但这不是好程序员的目标!初级程序员的目标是:写出代码来,程序能跑起来实现功能,就像小孩学语一样,能讲出话,能让别的人听懂你的意思;如果你是程序员,你的代码需要机器来理解吗?不需要吗?机器会理解吗?

    好的诗句应是“言情必沁人心脾,写景也豁人耳目”――这是好的自然语句的功能:易理解,简洁,但表达能力巨大!好的代码的第一就要求就是:保持KISS原则---编写你自己理解来由的代码、编写让其它程序员一眼能看得懂的代码!只有KISS了,方可让其它程序员理解---机器有什么理解可淡呢?---其它程序员能快速理解,这段代码才可能重用,扩展,人有永垂不朽,代码的价值在于可复用从而长久流传。

     其它程序员可理解的理码才有可能被复用---如果代码设计精良的话,人性本懒!由此才发展出了API,接口,模块化,低藕和的软件技术,才有现在各种功能强大的软件产品;否则,一代一代的程序员都得刀耕火种般的从敲机器码开始来编程序!

第三:从优秀的代码中学习领悟,使用优秀的代码:

    “以人为镜“是指学做人做事的方法;要做好程序员,当然要从优秀的代码中学习,比如研读liunx源码、研读JDK源码、Java世界中那么多的开源项目、、、这些都是程序员智慧的宝库:“久入麝兰之室,不闻其香”,更重要的是潜移默化掉自身的粗卑之气,让自己的代码清晰流畅,功能的实现朴实无华但直达要害。

    理解了优秀,知道了优秀之所以,便心存敬畏而不轻易自己编写代码了:当前Java开源框架的流行,应是基于此点;一个优秀的程序员,知道适时的使用优秀的作品,才可能构建出一个更优秀的系统!”不发明新的轮子“是因为有自知之明而己!

希与大家一起探讨。
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics