我为什么选择学习编程
从开始到黑马学习编程到现在也有将近三个多月的时间,在这段时间里,着实是对我精力和学习能力的一个挑战。很多时候连看例题都看不懂,对着原书编译代码却执行不行去,这时候脑海里总会萌生出一种“自己怎么这么笨”的想法。可这又这怎么样,谁一开始学习一项技能的时候不会显得笨拙。
我曾经在大学的时候有过学习编程的经历,可由于自己的惰性、认知的缺陷等种种原因,没有坚持下来。这次开始学习编程的时候,因为之前的一点点基础,我在最初的基础和web阶段是比较轻松的。编程语言中一些常用的规则和基本的模型我都能很快理解。随着学习进一步深入,拙劣的一面就显露出来了:我无法理解更深层次的设计思想,设计莫斯等重要概念,看笔记的时候也没理解清楚其含义,进而在学例题和解题的时候脑中一塌糊涂。经历过无数次的挫败之后,我似乎找到了学习的方法,那就是不停的练习。
最近在学习的困惑之余,我偶尔还会跟一些从事IT行业的大佬同学交流,看看网络上关于编程学习的教程和经验,这两天重新认真思考了我为什么学习编程?为什么辞掉在普通人看来福利待遇优厚还算不错的国企职位而来学习编程。
理由一:改善现有生活
从毕业之后才一个月的时间,我就充分感受到社会生活的压力之大了。从象牙塔里跳出来的滋味可真不好受,曾经都不是问题的问题,一下子全涌到自己面前了。租房、水电、食宿、工作、未来、房子…尤其我还选择在广州这样成本很高、竞争压力很大的城市工作和生活。
我是学工科出身的,水利水电工程方向,当初学习的时候本以为会找到一份心满意足的高薪工作,在到签约单位实习半个月后,我算是心灰意冷了。在我们专业领域内,平均月薪资也就六千左右,还是税前;月薪资要达到一万也难上加难。学习编程,并应用编程技能给我增加一些收入,就是我所能想到最简单粗暴的改善境遇的办法。现在所有行业中,只有计算机行业的工资最高他,同时计算机程序设计是目前最容易变现的技能。这种说法我不知从一个人那里听到,很多计算机编程行业的从业者和学习者都有这样的感受。所以我就执着地相信程序设计是能给我收入和生活境遇带来改善的重要途径。
理由二:学编程是在学一种思维
学习编程的时候,刚开始总避免不了跟着例题敲代码。我将老师的演示程序敲到编译器中时,总是会莫名其妙地出现各种错误使得程序没办法执行。后来在反复检查错误的时候,我发现即使是照猫画虎编出来的程序,总会因为各种小小的错误导致整个全局的瘫痪。这种小错误出现了很多次之后我明白了:编程本身就是一件考验耐心和细致程度的活动,任何小漏洞都容不得出现,编写计算机程序是对思维细致程度要求非常高,因此学编程正是学习一种细致入微的思维模式。
另外在编写复杂程序的时候,涉及到的概念相当多。我在做编程书中课后习题的时候,有好几次因为概念不清楚而没解出来题。在之前的学习过程中,我就没完全弄明白相关的概念,或者没认真跟着例题编程,导致在复杂的程序中用到相关概念的时候,要么是没想起来,要么是把概念用错,最后的编译结果只能是不通过。程序设计要求头脑中的概念非常清晰,而且要做到准确应用。光知道清晰的概念还不够,设计程序时还需要具备正确的逻辑思考能力。编过程序的人应该都知道怎么画流程图,而且在学习和工作中经常能用到流程图,流程图其实就是人逻辑思考能力的折射。通过各种成熟的逻辑思考,将思考用计算机程序的形式呈现出来,从这个层面来看,计算机程序简直就是思维能力的检验器!所以学习计算机程序是修正并优化自己逻辑思维能力的一个很强大的工具。
理由三:所有学科都在和计算机程序挂钩
在本科生期间做科研的时候,学校里就有相当一部分的老师和学生在用编程来模拟实验过程;读学术论文的时候,很多应用编程的高质量论文,甚至将实现结果的代码附到了论文中。另外我在科研时候用的专业的模拟软件,自然也是用计算机程序编好并封装的软件。可见在我们这个学科领域内,计算机程序已经渗透到了几乎所有的理论及实际应用中,学习并理解编程对于我本来专业的理解一定会起到很大的促进作用。同样延伸到其他领域,几乎所有的应用都会与计算机程序应用相结合。已有的知识再加上计算机程序,会发挥更大的作用,带来更高的效率。很多资深的IT从业者都预言,计算机编程以后将成为通用的技能,跟说话写字一样,不懂如何应用就算是丧失了一种日常必要的技能。还记得乔布斯曾经在采访中说过的话么,“学习编程可以帮助我们完成工作,但没有明确的实用性,重要的是我们把它看作思考的镜子,学习如何思考。我觉得每个人都应该学习一门编程语言。学习编程教你如何思考,就像学法律一样。学法律并不一定要为了做律师,但法律教你一种思考方式。学习编程也是一样,我把计算机科学看成是基础教育,每个人都应该花1年时间学习编程”。
理由四:死磕自己,造福更多想学编程的人
大一的时候我们专业开设的编程是VB语言(可能现在除了微软,几乎都没几个公司用VB语言了),我当时学完之后对编程根本不理解,但是我最后要做毕业设计的时候,自己竟然用VB语言写出了一个计算器的小程序,可以用来做简单的加减乘除计算。课程设计做出的成果让我对编程产生了很大的兴趣,当时想着就着这股热情一举把编程拿下。不过随着大一编程课的结束,我的编程学习也就断了,即使后来想再深入学习,发现自己根本学不进去了,后来看的时候觉得那东西实在是太难了。后来在大三的时候,观察到自己那些在大学时学了计算机专业的高中同学,在本科毕业之后就能拿到上万的工资,自己也就突然心动了,觉得编程这个东西可以帮自己挣钱,然后又有了学习编程的念头。这次学习的是java语言利用课余和空闲的时间看了好几章java语言的知识,当时甚至幻想着毕业以后凭着编程技能,也可以拿高工资。可结果呢,仍然是无疾而终。现在又下决心学习编程,而且现在正好又学到一个瓶颈期了,很多以前看过的知识能理解,以前没看过的知识理解起来还是非常吃力。这难道又是要半途而废的节奏?我才不这么认为!
在平时上课之余,学习到了很多自己感兴趣的对象,了解到了一些自己以前比较模糊的概念,也爱上了开源精神,就非计算机专业的门外汉来说,我已经做得很不错了。另外我还很幸运在前段时间开启了写作这个习惯,正好还学习的过程中把各种痛点记录下来,不仅自己能对编程这件事儿想得更明白,还可以对同样有着理想想学编程的同学启发,何乐而不为
|