编程语言学习方法探讨:语言学习三步曲
第一:掌握语言的"环境,规则,元素"三要素:
与我们人类语言的的组成本质相同,软件编程语言也是由"环境,规则,元素"组成。
但与之相比,掌握运用软件编程语言就简单得多了!我们以Java为例,其环境极端的单纯――只要有JVM,规则也就是几个流程控制(如whil,if)、访问控制(public,private)、元素就更简单,常用的关键字和API加起来也就几百来个!相比我们中文来说,虽说常用的就二千多个汉字,但呈几何级组合的词汇原素量、“十里乡俗九不同”的环境多样化,与编程语言相比,那是不可同日而语了!
所以说,学习“软件编程语言”应是一件很简单的事:拿Java来说,你只搭建Java编译、运行的必要环境,也就是安装JDK,配置classpath变量;使用它的关键字按照语法规则来控制流程即可――而这些规则、元素的定义,都是无歧义的,是铁板钉钉子的;根本就不像人类的语言那样,一个字,一个词,都是因人,因地,因时而具有不同的意义!
对于Java初学者来说,用二三个周的时间,放在学习这三要素中就足够了;对于Java中的API,没必要像个书呆子全记住,需要用时查文档就是----这时候,可以说你会用Java了,万里长征,你走动了第一步!
第二:编写清晰简洁,能让其它程序员理解其意图的代码:
简单的道理就是:只认识两千个汉字,会说汉语,并不意味着你就是作家,诗人;但目前对程序员的一般要求却是这么简单:会用程序语言描述问题即可―――但这不是好程序员的目标!初级程序员的目标是:写出代码来,程序能跑起来实现功能,就像小孩学语一样,能讲出话,能让别的人听懂你的意思;如果你是程序员,你的代码需要机器来理解吗?不需要吗?机器会理解吗?
好的诗句应是“言情必沁人心脾,写景也豁人耳目”――这是好的自然语句的功能:易理解,简洁,但表达能力巨大!好的代码的第一就要求就是:保持KISS原则---编写你自己理解来由的代码、编写让其它程序员一眼能看得懂的代码!只有KISS了,方可让其它程序员理解---机器有什么理解可淡呢?---其它程序员能快速理解,这段代码才可能重用,扩展,人有永垂不朽,代码的价值在于可复用从而长久流传。
其它程序员可理解的理码才有可能被复用---如果代码设计精良的话,人性本懒!由此才发展出了API,接口,模块化,低藕和的软件技术,才有现在各种功能强大的软件产品;否则,一代一代的程序员都得刀耕火种般的从敲机器码开始来编程序!
第三:从优秀的代码中学习领悟,使用优秀的代码:
“以人为镜“是指学做人做事的方法;要做好程序员,当然要从优秀的代码中学习,比如研读liunx源码、研读JDK源码、Java世界中那么多的开源项目、、、这些都是程序员智慧的宝库:“久入麝兰之室,不闻其香”,更重要的是潜移默化掉自身的粗卑之气,让自己的代码清晰流畅,功能的实现朴实无华但直达要害。
理解了优秀,知道了优秀之所以,便心存敬畏而不轻易自己编写代码了:当前Java开源框架的流行,应是基于此点;一个优秀的程序员,知道适时的使用优秀的作品,才可能构建出一个更优秀的系统!”不发明新的轮子“是因为有自知之明而己!
希与大家一起探讨。
分享到:
相关推荐
特专业的编程语言代码---------------------------------------------
从C到嵌入式C编程语言---入门实用深入,全一册378页高清扫面版
plc编程语言有哪些-plc常用的编程语言有-.doc
c-and-cpp-language-learning, C和C++编程语言学习 - 2015级
可编程语言标准IEC61131-3中文版
西门子SCL编程语言S7-SCL指导手册 for S7-300 and S7-400
西门子SCL编程语言指导手册S7-SCL - Working with S7-SCL
《编程的奥秘--.NET软件技术学习与实践》语言浅显易懂,理论结合实际,内容由浅入深。小小遗憾书中编程环境是VB2003。 这里提供《编程的奥秘--.NET软件技术学习与实践》 PDF下载,给那些买不到此书的人。
《编程的奥秘--.NET软件技术学习与实践》语言浅显易懂,理论结合实际,内容由浅入深。小小遗憾书中编程环境是VB2003。 这里提供《编程的奥秘--.NET软件技术学习与实践》 PDF下载,给那些买不到此书的人。
数据处理的 9 大编程语言 - 文章 - 伯乐在线1
编程语言Java试题-中文.pdf
R语言简介.什么是数据科学?.什么是 R 语言?.一个改变了 R 的人.R 语言编程思想 .面向对象 .面向函数 .向量化编程.基础语法搭建 R 环境及常用操作
PowerFx低代码编程语言_power-fx-wasm-demo_C#_下载.zip
Java编程语言是什么-细化Java
Java语言编程规范,来自——华为技术有限公司企业技术规范
藏经阁-编程语言如何演化-以JS的private为例.pdf
学习轻量级C++的GUI编程 不想多说,想学就下。
黑马程序员linux服务器开发网络编程配套文档,很好的参考资料
Coursera斯坦福机器学习编程作业全集1-11周共8个编程作业,均测试提交满分通过
一本好书,主要适合新手学习,内容需要系统的看