发信息不回就不要发了:关于编程的学习

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 19:50:30
1、为什么要学习编程?

很多朋友问我这样的问题,由于工作原因,我的朋友大多是从事IT行业的人士,而其中从事计算机维护的人大有人在。我个人认为,要回答这个问题,还要从驾驭计算机的几个层次说起——当然,这个层次是以我个人的观点划分的。

第一层,熟识计算机软件的使用和系统的优化与调整。
这个可以说是很多朋友开始渐渐开始驾驭计算机的第一步,很多朋友都是从熟识各类常用软件、熟识系统优化调整开始渐渐驾驭计算机的。通过对各类软件的灵活使用和对计算机操作系统的一定程度的了解,这一部分人是最先被成为“计算机高手”的人群,而且,有相当一部分人停留在这个层次上。

第二层,熟悉硬件。
当一个计算机操作者渐渐的从只会操作软件成为可以勇敢的拆开机箱,把其中各种电子元件查查拔拔的时候,当一个计算机操作者敢于在硬件报警时拔下内存用橡皮擦一下再放回去的时候,当一个计算机操作者渐渐的可以说出一个个CPU和芯片组的名字、懂得如何识别什么样的显卡可以更好的玩游戏的时候,这个人对计算机的驾驭能力就进入了第二层。这些人将不只再被成为“高手”,而是被称为“达人”。

第三层,精通软硬件。
跨过前面的两个层次,一些人不仅对硬件的各种型号特别熟悉,为了让硬件更好的运作,这些人不遗余力的学习并实践各种计算机相关技术,牵涉到操作系统、系统驱动、软件调整、系统优化等等诸方面,并对各个方面都能良好的协调与运用,而且对这些相关技术有着一定程度的“理解”。这个人群的封号为“专业”。

第四层,懂二进制。
这只是一个开玩笑的说法,普遍的是指懂得编程并能将编程应用于实际中的人。这个层次的人可以根据自己的需要写出符合自己需求的程序,完全按照自己的意愿定制更为适合自己的各类工具。而处于这个层次的人常常被喻为“神”,其实这的确是个有点过头的说法。至少我看来,编程不是十分神秘的东西,却由于它太神奇,让很多人产生了难学与崇拜的错觉。
当然,向上还有更高的层次,但是苦于作者我尚徘徊于第四层,上边的层次没能参悟,那么就先作罢,说到第四层为止。

我个人认为第四层次是对尚处于第三层的朋友们的一个转折点,处于第三层的很多朋友由于长期专心于计算机的各个方面,常常有着这样那样的相当不错的想法,可是却常常苦于无法实现,而让绝顶的灵感付诸东流,实在是可惜。

然而编程,是实现自己诸多想法的最好的途径。但有不少处于第三层的朋友不爱学编程,原因有二,第一,处于这个层次的朋友一般都很忙,第二,处于这个层次的朋友通常都认为编程是太难的事情。

但编程带给我们的好处是显而易见的:
1>有效的实现我们的各种想法;
2>各种工作更加自动化智能化;
3>提高我们自身的身价。

2、编程很难学么?

有一点要承认,编程很难学(我在这里并不会因为想让大家多看我的教程以提高我网站的点击率来欺骗大家)。想成为绝世的编程达人的确需要超过常人许多倍的努力。

但是,如果我们不想成为达人呢,如果我们只想学在我们平时工作生活中最常用的那部分技能呢?会不会也很难呢?这个答案就是否定的了。日常生活中,例如我们要做的软件自动安装脚本、驱动选择工具、系统快速配置工具等等,所需的编程技术含量并不是很高。而如果我们只学这些,那我们只需要强化基础,再稍加训练即可达成,嗯,当然还需要您持之以恒的个人素质。
有一个说法,精通编程要精通英文与数学,是的,这个方法没错,英文可以让您更快的理解编程语言中的各语句(毕竟大部分编程语言都是以英文为基础的),数学可以培养绝佳的逻辑思维与推理能力。

不过如果仅学习常用和常见部分的功能呢?不瞒大家,作者我在学校时的数学成绩和英文成绩都很差(高考时数学不及格,大学英文没有四级证……),但是编程的基础应用不是一样也说的过去么?

对于常用编程技术的学习,我个人认为需要如下几点:

1>基础的英文水平,只要能认识基本的例如IfElseWhileFor等单词即可;
2>一定的逻辑思维能力,这个对于经常下下棋的朋友可能会很简单,但是对于天天迷恋网游的朋友就不好说了……想提高逻辑思维能力也不是难事,例如作者我闲暇时间会和电脑杀上几盘国际象棋;
3>绝对的耐心,这一点比前两条都重要,编程技术虽然和人的天赋与智商有关,但是在当前先进的教育制度下,绝大多数人天赋都被封印,而绝大多数人的智力水平都是相当的,所以,决定一个人能否能超越别人的一个关键,就是耐心,任何学习都是要经历长时间磨练的,没有耐心的人难成霸业;
4>高昂的信心,学习编程,经历失败是家常便饭,理论上说,除了最后实用程序前的最后一次测试,其他的测试都是失败的,所以,要把失败当成十分十分平常的事情来对待,始终保持对自己的信心是成功的一个秘诀,当你感觉自己快要崩溃的时候,离最后的成功也不远了。

3、编程与编程语言

我常常听见朋友们在争论,某某编程语言优于某某编程语言,还经常有朋友因为编程语言的选择问题与其他朋友争论不休。

其实我个人认为这是不必要的,其一,只有某某语言擅长某方面的操作,但没有某某语言绝对优于某某语言的说法;其二,各类编程语言的算法是相通的,也就是说,无论是什么语言,基础算法都是一样的,只不过是表达方法不一样而已。

学习和选择编程语言,我个人认为要注意如下几点:

1>如果是第一次学习编程语言,那么强烈建议您选择一种语法较为严格的编程语言来学习,这会让您培养起扎实的编程习惯,此后无论再学习哪种编程语言都会给您带来相当的好处。

2>学习编程语言不是首要的,学习编程的算法才是首要的。学习编程最忌讳的事情,就是照着例题抄袭,抄袭完了运行,运行通过了哈哈一笑完了,如果进行变通,就不会了。这就是只学了招式未学心法,会出招却不会变招,即死学。学习编程,要懂得一样东西是靠怎么样的原理达到的,一定要具备举一反三的能力。

3>上一条中强调算法,是有其更深意义的。只要我们精通了一种编程语言的算法,那么当我们再学习另一种编程语言时(人一辈子不可能只用一种语言编程),发现只需要更改一下语法即可,而编程的思路没有丝毫的改变。所以大家可能经常听说,某某人可以在一星期内便可熟悉和使用AU3,其实很大可能这个人在之前应该学习过其他编程语言(当然,少数天才除外,但至少作者我不是……),由于已经精通了算法,转换编程语言只需要很短的时间。

4>学习编程语言,好的编程语言,不如被大多数人广泛使用的语言。选一个被很多人使用的编程语言有很直接的好处,当遇到不会的难题在网络上进行搜索时会十分方便,随便一搜索便可找出很多可用的方案,找学习了同类语言的朋友探讨一下也会很方便。而如果选用了冷门语言,就没有这种效果。

5>学习编程语言,好的编程语言,不如好的帮助文档。这个理由与上一条一样,有些编程语言的帮助文档甚是完善,从小到大,从粗到细,只要遇到问题搜索一下帮助几秒钟就可以找到解决方案,大大的提高了学习效率。

6>基础很重要。有些朋友在学习编程时不屑于做一些用于训练编程基础的数学计算,这个是十分错误的。关键的,并不在于让您去做诸如1+2+3+……+100的计算,而是让您对关于此的编程操作与算法有一定的深入了解。一定要重视基础,没有基础,没有一切!

上面几点是在学习一个编程语言时要注意的,记住,只要我们精通任何一门编程语言,确切的说,精通了编程的算法,无论再学习其他的任何编程语言都会变的飞快。