
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
未来将是一个高度智能的信息化时代,编程或许会成为一个社会的基本技能,就如同今天普及了的小汽车驾驶技术一样。很多朋友也都认识到了这一点,有的可能是为了眼前的高薪,有的是为了个人的兴趣,还有的可能是为了创业项目等等,那么普通人没有基础,而且也走上了社会,现在还能学习编程吗?
关于这样的问题,笔者已经在知乎上还回答了不计其数。有句话是这么说的,什么时候是学习的最佳时候,过去和此刻!什么时候学习其实都不晚,只要从现在开始。我们从呱呱落地到如今走上社会奋斗,怎么能说是没有基础呢?难道我们二十多年、三十多年的人生是一片空白吗?
首先通俗的说说,到底什么是编程?国外的编程教材一般叫xx程序设计语言。这个就很好理解了,说到底它也就是一种语言,既然是语言又怎么存在学不学得会的问题呢?我相信智力正常的情况下,任何一种语言都是可以学会的。编程语言也就是和计算机打交道的语言,可以操作计算机为我们人类干活而已。那又会有人抬杠了,既然这么好学,编程还有什么技术含量呢,干编程的凭什么薪水高呢?
举个例子,你会中文,你能写出《红楼梦》吗?很多人都会英文,他们能写出《哈利波特》吗?对于编程而言,它跟自然语言相似,有词汇,有语法,可是你学会这些就能编写出伟大的软件产品吗?促使你开发出成功项目的,并不是编程语言,而是你的人生积累、阅历和智慧。
即使你学会了编程,能操作计算机干活了,你就是一个合格的程序员吗?假设你现在指挥一个佣人干活,如果你本身的逻辑混乱,做事没有条理,行事颠三倒四,最后活不仅干不好,而且还会弄得一片鸡飞狗跳。这里其实是给大家讲一个道理,很多时候没有学不学得会,只有适合不适合。如果你本身思维大条,逻辑混乱、做事缺乏严谨,那么你可能学不好编程,编写的代码也可能错漏百出,自己也理不清思绪,最终被各种问题压垮放弃。当然,这些就需要大家根据自身的情况判断了。
编程和数学有关系吗?
其实这个问题非常奇怪,甚至可以说是个错误的问题。如果我反问生活和数学有关系吗?大家又会怎么看?很多人都知道,数学是一切科学的基础,数学水平是直接决定科学水平的。好像很高大上的样子,难道就和我们生活没关系了吗?买菜算账这些就不说了,算平均数,抽样调查,估算总量,查看报表等等这些,难道就不是数学了吗?在现代社会,如果完全不懂数学,可能会寸步难行。其实这个问题应该换个问法,编程对数学有什么特殊要求吗?或者是学习编程需要什么程度的数学水平?事实证明,提出一个好的问题,比回答十个问题还重要。
其实编程对于数学没有特殊要求,达到初高中水平差不多了。注意,我说的初高中水平是指曾经学习过,有一点印象,而不是要学得多么好。如果完全没接触过,没有任何概念,那就很难办了,倒不是因为编程会用到那些知识,实际上是完全用不到的,只是这样一来说明你的思维没有接受过数学训练,接受能力和领悟力都会大打折扣。
编程和英语有关系吗?
这个其实还真有一点关系。当然,只要你认识26个字母就可以开始学习编程了。这个可不是笑话,笔者曾经真的认识小学文化程度学习编程的人,他最大的烦恼是认不全二十六个字母,花了好长时间背字母表,不过他的毅力倒真是让人佩服,二十多岁的人没怎么读过书,最后花了差不多一年多学习编程还找到了工作,后来工作两年也拿到了差不多十五六K的月薪,肯努力的人,总还是有更多出头机会的。这里我想说的是,英语不是你学习编程的下限,但是它可以决定你的上限!如果你英语好,能翻译英文技术文档,你总会比别人走得更快更远。在编程的领域,先进的技术都是老外那边出来的,有些技术出来很久了,中文资料都非常欠缺,如果你可以直接看英文,那么你就能紧跟技术前沿,那你就比别人更好的掌握新技术。
编程要学多久才能找工作?
编程技术不是新东方和蓝翔技校里教的技术,直接包上岗就业。不同的人在不同的段位,找工作也是不同的,有时候得看机会。当然,如果你段位越高,自然找到高薪工作的机会也越大。如果你学得不够深,但刚好有一个招初级码农的机会,你也能上岗就业。学编程不要被各大培训机构的软文广告忽悠,沉下心来慢慢学,这不是能投机倒把的事情,况且就算上岗就业了,也要不断学习,新技术更新换代越来越快,干了十几年的程序员也有可能会被淘汰,十年前的编程世界,还远没有这样快的速度,这是时代的压力。
普通人学习编程的意义?
有些人并不想转行,或许只是单纯的好奇,纯粹的个人兴趣。其实编程语言本质上只是一个工具,就像画家的画笔,能不能作出经典作品,要看你的想象力、创造力。并不是说学会它就能怎样,就如同我们学会了写字,但也没几个人能写出《红楼梦》那样的作品。
具体来说,普通人学会编程,仍然是可以从中获益,比如经常从事重复工作的人,可以使用Python去操作Word、Excel、PPT等等工具进行一些自动化工作,将你从繁重重复的工作中解救出来。文字工作者则可以使用Python编写网站爬虫,无休止的自动化的从各种网站、微博抓取数据到自己电脑上来,然后在使用Python对这些数据进行分析与挖掘,从数据中提炼出不为人知的某种规律或现象,而你只需要品一杯咖啡,静静观看电脑上不知疲倦的运行着的Python爬虫。创业者,则可以轻松又简单的用Python为自己开发一个网站,快速做出项目原型。即使最不济,你也可以使用Python快速为自己编写一个刷票神器,全自动的为你刷取12306的火车票。其实笔者曾经就用很简单的代码为自己刷过鼓浪屿的船票,实在是因为节假日,合适时间段的鼓浪屿船票太难买,难道你不想在女神面前露一手?
那么该如何自学编程呢?
这里我根据自己多年的学习经验,列了一个编程绝学总纲,希望可以帮助需要的人拨开迷雾,掌握正确的学习路径和学习心态
对于零基础的初学者,重要的是循循善诱的引导。所谓师傅领进门,修行在个人,这个领进门的过程是需要讲究的,好的开始是成功的一半,因此学习的第一门编程语言就显得十分重要了。实际上学任何一门编程语言入门都是OK的,但难易总是有差别,就像到罗马的路不止一条,但总有一条路是更舒适更便利的。请注意,我在讲这句的潜台词是指,你绝不仅仅只需要学习一门编程语言。修仙小说中,没有人只修炼一种功法就能称霸位面的,同样的道理,只会一种编程语言的人,绝对不可能成为大神!不曾遍历人世繁华,又怎知世道沧桑?没有一定的高度和视野,局限于一隅,最终就是独木难支,这也是为什么总有人唱衰中年程序员的原因,很多平凡的程序员读书时学了一下C语言,工作一直使用Java,近十年过去了,青春投入到永无止境的加班中,业余时间还需要陪老婆带孩子,最终视野越来越窄,职业的道路越走越窄,对新的技术新的语言缺乏了解,失去了市场竞争力,也许对于他长期从事的某个技术方面拥有深厚的经验,但是这些经验对于日新月异的技术变革和瞬息万变的市场环境来讲有多少价值呢?
笔者也只是一个孜孜不倦的求索者,一个普通的程序员,从工作到如今已五个年头,大部分的业余时间都用来学习提升,结合自己的学习经验,写了一个完整系列的文章,主要是讲如何无痛的从小白步步深入,炼成编程高手。因为我也是从小白一步步走来,我深知小白的痛苦无助,所以我想分享自己的经验,帮助需要帮助的人,让普通人也体会编程的快乐。想查看笔者编写的入门教程,只需要关注我的个人微信公众号:编程之路从0到1 。我在公众号中已经写了不少教程,后续也会持续更新。
第一程:掌握Python
Python是一种简单又强大的编语言,是最适合普通人入门的编程语言。快速上手Python,做出实际的项目,既训练了编程脑,又提升了成就感,保持学习的兴趣
第二程:掌握基本C语言
C语言其实也是一种比较简单的编程语言,之所以有人觉得难,一是没有掌握正确的学习姿势,二是历史遗留原因,造成了一些今天并不适用的灵活怪异的语法。要知道C语言是四十多年前发明的,那时候的电脑配置是什么样,导致许多怪异的语法为了极端压榨性能,节省内存。
接下来说说第二程学习C语言的意义,我们学习C语言并不是真的为了拿他来做大项目,而是通过学习C来学习计算机的许多原理,我一直秉持的学习理念是授人以鱼不如授人以渔,知道结果的意义远不如知道这个结果怎么来的意义大。这就好比令狐冲学习独孤九剑,学习各种剑法,远不如学习一套像独孤九剑这样的万能推导公式厉害,任你千变万化,我都能推导出一套破解你的办法。
第三程:掌握Golang语言
Go语言是一种静态类型的编译语言,它的底层是汇编语言,因此他的性能很接近C语言,加上基因就支持并发,一直被人誉为新时代的C语言。Go语言有诸多优势,比如完善强大的标准库,简洁的语法,与C语言相比,只需极少的代码就能实现功能,代码量也就比Python稍多一点点。我虽然不认为Go能取代C语言,但是我相信Go在未来绝对有一席之地。另外,如果学会了C语言,再学Go语言,真的不要太简单。事实上,学会了Python + C这两种语言,再学其他语言不会再有任何障碍,甚至可以说轻而易举。
第四程:掌握JavaScript语言
以JavaScript为代表的前端如火如荼,以node.js为代表的全栈鼓吹也大为流行,甚至在游戏领域也引入Js脚本,因此JavaScript是有必要学一学的,实际上并不是因为这种语言本身有多优秀