计算机编程涉及的很多,刚开始,没有背景知识作为思维支撑,需要应对先用后懂的情况,你不可能什么都搞懂再上机实践,在编程的世界里,漏掉或多余一个标点符号,都会造成程序大幅度改变,甚至无法运行。这会给初学者造成很大的障碍。
人类语言的一大特点:歧义性。在语言中频繁出现的代词(他、她、它),这也充分体现了人类语言的多义性。其实,每门学科用语都存在这样的情况,哪怕在严谨的学科,在描述和解释时,都会出现歧义性,这就造成了在学习的过程中会遇到意想不到的困惑。
尤其是,计算机科学中有些术语(如attribute和property的使用和翻译),容易引起混淆或误解。此类现象难以避免,有几方面原因:一是计算机科学相对年轻发展活跃,不可能有一劳永逸一成不变的理论解释所有的方面,不同国家地区、不同组织在开发和技术发展的过程中,使用了各种不同的术语,造成多词一意,或一词多义(词同意异)。二是翻译差异更加剧此种现象,不论是汉语和英语,有些词本身语义宽泛,一词多义、多词一义比较普遍。这就造成可能有些术语在不同文档资料甚至同一文档资料中不一致。因此,要忠实地理解原文的意义,需要根据专业范围、具体语境或场合表达的意思和实验来理解其含义。在此特地提醒请初学者,要重视寻找合适的比较严谨的学习资料,这可以有效降低挫败感和保持学习信心。
这些处理不好,得不到有效帮助,学习者很可能坚持不下来。
学生时代,通常以教师的讲解、演示为主,通常是被动的接受知识,老师能加快你的学习进度,但是,老师是不会一辈子跟着你的,而且再优秀的老师的知识也是有限的。况且,你在社会上生存的时间,远多于在校时间。要想干成事情,就要成为一个自学能力强的人,成为一个积极找的某个问题的答案人。
当你走向社会时,要获取的信息,基本上都在互联网上。在当今这个时代,我们需要不仅仅是知识,更重要的是寻找知识的能力。
人类的知识有着丰富大量的内容,一个人不可能去穷尽所有的知识。因此,我们就需要学会查阅检索知识。查阅检索知识的目的,在于找到与自己问题相关的知识。这样更具有针对性,尤其是在这个信息爆炸的时代。
想有效地查阅检索知识,对于问题表述,对于知识搜索等能力就变得十分重要,有时候描述问题的能力,知识检索的能力直接决定了效率的问题。
前提条件:要能够详细的描述问题,如发生的环境是什么?问题具体表现是什么?能否稳定的复现? 提问之前不要假设对方对你的问题有所了解!应尽可能的站在对方的立场去描述问题,让对方越容易明白你的问题所在,你越容易获得针对性的解答。
常见解决方法:
找别人咨询:优点是针对性强,别人的一句话可能让你省很大的力气。缺点是合适的人选难找。
网络搜索。优点是简单易行,信息量大。缺点是干扰信息太多,很可能找不到合适的信息。很多时候即便是能解决问题,由于信息的碎片化,并不能完整的了解解决问题的思路。注意,目前存在的主要问题是是网络上也有许多欺骗性的答案,有的是为了骗你点某个网站,有的是其他目的,请注意识别。
官网查询:优点是信息准确权威全面,缺点是庞杂深奥,系统性差。
当一个方法解决不了你自己的问题的时候,可以换个渠道(百度、必应、谷歌[国内被禁用了]),换些关键词试试。
自学是学习软件编程极其重要的一个途径。学编程的途径,无非就是技术文档,书籍,视频教程,博客教程。找到适合自己的学习材料很重要,在不同的阶段调整学习重点,开始,看教程、视频相比于官方技术文档,更容易上手,有了一定的实践经验后,看教程是比较浪费时间,就要重视看官方文档和上网查阅资料。编程是一门做中学的学科,动手实践实验很重要!
学习一门编程语言,要从一下角度了解
这个编程语言的有什么特点和应用领域?
每一门编程语言都具有其的特点;一门编程语言不可能是万能的,都有其擅长的应用领域。例如,C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C++是在C语言的基础上开发的一种面向对象编程语言,语法相对复杂,细节比较多。Java 广泛用于构建企业级 Web 应用程序,拥有丰富的开源库,多年来一直是大型组织中的流行选择。python的语法相比较于java,c等来说,语法结构极为简单,入门易,具有出色的库支持并拥有广泛的开发人员社区。JavaScript 是“前端”编程语言。它被广泛用于构建交互式前端应用程序。
怎么定义变量的,支持哪些数据类型和运算?
如何定义变量、如何给变量赋初值。有哪些数据类型,支持哪些运算符。
怎么组织代码的——函数或者类?
函数(或者过程)是组织可复用代码的一种常用手段。
类则是为面向对象的软件设计提供的手段,描述了事物具有的一些共同的特性和方法。
这个编程语言怎么表达顺序、条件判断、循环逻辑?
这个编程语言提供了哪些标准的(应用开发接口),第三方API是否丰富?
大多数的编程语言支持以开发包的形式提供扩展解决方案。不但有一些标准的开发包还支持第三方提供开发包,以便开发者可以根据自己的领域需求进行选择。了解你选择的编程语言有哪些常用的开发包是非常重要的一件事,这可以避免你重新发明轮子,提高学习效率。
学好编程,一般需要经历三个阶段:
☆模仿:首先,需要有意识模仿,照某种现成的样子学着做——原模原样,试着改进,勤于实践实验。
☆吸收:在模仿基础上,吸收其相关知识、经验,研究领悟其目的、意图、思想,以达到更深的理解,构建自己的知识网、体系,提升现有技能水平。
☆创新:在上述阶段的基础上,进行创新、超越。从认识的角度来说,就是更有广度、深度地观察和思考。创新活动的核心是“新”,它或者是产品的结构、性能和外部特征的变革,或者是外观造型设计、内容的表现形式和手段的创造,或者是内容的丰富和完善,从而达到超越。
每个阶段都需要坚持。能坚持到第二阶段才算入门,做好第二阶段,就比较优秀了。做到第三阶段,就是专家了。
在学习一门编程语言时,找到好的示例试一试是很重要的,通过修改它们,可以测试你对这门语言的理解。想学好编程语言,必须多读、多练、多交流、多比较和多思考!