编程语言学习方法探讨:语言学习三步曲
第一:掌握语言的"环境,规则,元素"三要素:
与我们人类语言的的组成本质相同,软件编程语言也是由"环境,规则,元素"组成。
但与之相比,掌握运用软件编程语言就简单得多了!我们以Java为例,其环境极端的单纯――只要有JVM,规则也就是几个流程控制(如whil,if)、访问控制(public,private)、元素就更简单,常用的关键字和API加起来也就几百来个!相比我们中文来说,虽说常用的就二千多个汉字,但呈几何级组合的词汇原素量、“十里乡俗九不同”的环境多样化,与编程语言相比,那是不可同日而语了!
所以说,学习“软件编程语言”应是一件很简单的事:拿Java来说,你只搭建Java编译、运行的必要环境,也就是安装JDK,配置classpath变量;使用它的关键字按照语法规则来控制流程即可――而这些规则、元素的定义,都是无歧义的,是铁板钉钉子的;根本就不像人类的语言那样,一个字,一个词,都是因人,因地,因时而具有不同的意义!
对于Java初学者来说,用二三个周的时间,放在学习这三要素中就足够了;对于Java中的API,没必要像个书呆子全记住,需要用时查文档就是----这时候,可以说你会用Java了,万里长征,你走动了第一步!
第二:编写清晰简洁,能让其它程序员理解其意图的代码:
简单的道理就是:只认识两千个汉字,会说汉语,并不意味着你就是作家,诗人;但目前对程序员的一般要求却是这么简单:会用程序语言描述问题即可―――但这不是好程序员的目标!初级程序员的目标是:写出代码来,程序能跑起来实现功能,就像小孩学语一样,能讲出话,能让别的人听懂你的意思;如果你是程序员,你的代码需要机器来理解吗?不需要吗?机器会理解吗?
好的诗句应是“言情必沁人心脾,写景也豁人耳目”――这是好的自然语句的功能:易理解,简洁,但表达能力巨大!好的代码的第一就要求就是:保持KISS原则---编写你自己理解来由的代码、编写让其它程序员一眼能看得懂的代码!只有KISS了,方可让其它程序员理解---机器有什么理解可淡呢?---其它程序员能快速理解,这段代码才可能重用,扩展,人有永垂不朽,代码的价值在于可复用从而长久流传。
其它程序员可理解的理码才有可能被复用---如果代码设计精良的话,人性本懒!由此才发展出了API,接口,模块化,低藕和的软件技术,才有现在各种功能强大的软件产品;否则,一代一代的程序员都得刀耕火种般的从敲机器码开始来编程序!
第三:从优秀的代码中学习领悟,使用优秀的代码:
“以人为镜“是指学做人做事的方法;要做好程序员,当然要从优秀的代码中学习,比如研读liunx源码、研读JDK源码、Java世界中那么多的开源项目、、、这些都是程序员智慧的宝库:“久入麝兰之室,不闻其香”,更重要的是潜移默化掉自身的粗卑之气,让自己的代码清晰流畅,功能的实现朴实无华但直达要害。
理解了优秀,知道了优秀之所以,便心存敬畏而不轻易自己编写代码了:当前Java开源框架的流行,应是基于此点;一个优秀的程序员,知道适时的使用优秀的作品,才可能构建出一个更优秀的系统!”不发明新的轮子“是因为有自知之明而己!
希与大家一起探讨。
分享到:
相关推荐
西门子SCL编程语言,全称为Structured Control Language,是一种基于高级语言的编程方式,用于在S7-300和S7-400系列PLC(可编程逻辑控制器)上进行程序编写。SCL提供了更为结构化和模块化的编程环境,与传统的IL...
《编程的奥秘--.NET软件技术学习与实践》语言浅显易懂,理论结合实际,内容由浅入深。小小遗憾书中编程环境是VB2003。 这里提供《编程的奥秘--.NET软件技术学习与实践》 PDF下载,给那些买不到此书的人。
IEC61131-3编程语言及应用基础.pdf
Coursera斯坦福机器学习编程作业全集1-11周共8个编程作业,均测试提交满分通过
文档的标签为“python学习 系列课程 青少年趣味编程”,表明这份课程计划是以趣味学习为核心,旨在引导青少年学习Python编程语言。 从提供的部分内容来看,课程计划被分为多个模块,每个模块都针对特定的编程技能和...
小霸王学习机在80年代是中国许多孩子接触计算机编程的启蒙工具,其中G-BASIC语言是其核心教学内容之一。G-BASIC是一种基于BASIC语言的简易编程环境,旨在让初学者能快速上手,理解编程的基本概念。下面将详细阐述...
【描述】: 本文探讨了为何许多学生在学习编程时感到困难,强调了建立学习兴趣的重要性,并提出了选择第一门编程语言时应考虑的因素。 【标签】: "互联网", "编程入门", "教育方法" 【部分内容分析】: 1. **编程...
标题和描述中提到的主要知识点是关于编程语言的选择,特别是针对不同年龄段和目标群体的编程学习路径。主要讨论了Scratch、C++、Python这三种语言,并提到了CSP-J、CSP-S这两个计算机科学竞赛。 1. **Scratch**: ...
ST语言,全称为Structured Text,是IEC 61131-3标准下的编程语言之一,常用于工业控制领域的PLC(可编程逻辑控制器)编程。ST语言以其丰富的表达能力和接近高级编程语言的语法特性,深受工程师们的青睐。本手册全面...
ST语言,全称为Structured Text,是一种结构化文本编程...对于需要进行复杂编程任务或需要更高编程效率的场合,ST语言往往比其他图形化编程语言更受欢迎。学习和掌握ST语言,能够提升对PLC编程的深度理解和应用能力。
根据提供的标题“编程语言原理(第10版)”及描述“编程语言原理(第10版 编程语言原理)”,我们可以推断出这本书主要讲述了编程语言的基础理论与实践应用,是学习和理解编程语言设计与实现的重要参考资料。...
本书属于No Starch的经典系列之一,英文版在美国受到读者欢迎。本书寓教于乐,易于学习;读者可以轻松与快递地掌握解决问题方法和程序设计思维的。编程从孩子抓起”得到越来越多的人的认同和重视。本书是父母教孩子...
语言的面向对象方法编程。经过研究生的学习和探索,偶然间发现高焕堂老师写 OOPC(面向对象 C 编程),感觉不错。遗憾的是上面没有提供继承的方法。根据本人的研究,在高老师的基础上,提出一 种可行而且结构明了的...
5. **使用直观灵活**:对有计算机编程背景的人来说,ST语言的学习曲线较平缓。 6. **与Pascal相似**:语法与Pascal语言类似,使得熟悉Pascal的开发者能够快速上手。 7. **符合IEC 61131-3标准**:这意味着ST语言在...
UG编程学习系列-UG2
ST语言,也称为结构化文本(ST),是一种高级编程语言,它基于文本,用于工业自动化和控制系统的编程。根据IEC61131-3标准,ST语言被广泛应用于可编程逻辑控制器(PLC)和其他工业设备中。PLCopen是一个全球性的行业协会...
西门子S7-GRAPH编程教程是一份专为S7-GRAPH编程语言编写的文档,旨在帮助读者了解和掌握西门子PLC编程中S7-GRAPH的使用。文档中涵盖了软件的基本信息、基础概念、基本使用方法、应用示例以及实际使用过程中遇到的...
AI Python编程学习课件-第8章区块链技术编程实践
本电子书合集是针对计算机专业基础理论中的编程语言部分,特别是聚焦于Java语言的深入学习,涵盖了多个方面的知识,包括JVM原理、反射机制、多线程等内容。以下是这些书籍涉及的一些关键知识点: 1. **Java编程语言...