Learn Coding in the Spiral Way

编程学习曲线是螺旋式上升的

一开始,学习Python,写下了人生第一行代码 print "Hello World!"。然后发现我不知道怎样校验用户输入,Python是动态变量,你输入任何东西都可以。我愣是学不下去了。我总担心用户输入某个不靠谱的input导致代码爆炸。

然后改学Java。报名了网易的Java培训班,1300大元。显然,屁都没学到。内因显然因为自己起点太低,外因当然是网易的课程太垃圾。那是他们第一次开Java Web培训班,而且某些课程都是直接照本宣科,还找了几个不靠谱的小年轻,更要命的是,他们完全没有对学生的水平进行评估,不管水平咋样,都收钱!

后来,自己看了两本Linux相关的书,全英文的,一本《Linux Bible》,一本《Linux Command Line and Shell Scripting Bible》。把两本书看完了,全部代码敲了一次,还学会了安装Linux系统,这终于算是入门了。有感觉了。

于是,去红帽北京办公室应聘,没聘上。当然了,内因肯定是自己水平太低,客观原因也是红帽北京办公室属于乡镇企业的管理水平。我也就不多说了。

回来后,发现一个问题,我就算Linux学得好又怎样?我没有任何计算机相关学历,没有任何相关工作经验,什么都没有,别人凭什么相信你的简历?简历造假?不敢,真不敢。

于是,就学PHP吧。别管什么PHP是不是最好的语言了,简单啊。再加上自己已经好歹学过Java了,对所谓的控制流(其实就是if-else)等基本的东西还是了解了。于是就看书啊。

不得不说,PHP语法真简单。三下五去二,就看完了2本书,前后花了不到一周。然后就开始觉得自己能行了。其实傻的不了的。那个时候还非常楞,以为自己可以从头构建要给web framework从而达到学习的目的。傻逼死了。给人做一个微信公众号之后,发现傻逼了,还是不行啊。JavaScript更是不行。

回来就开始学PHP框架,也不想自己构建一个所谓web framework了。ThinkPHP太low逼了,Laravel太牛逼了,都学不来,于是学Yii吧。

当然,ThinkPHP不low逼。我还准备好好研究一下ThinkPHP5呢。
我只是想说,网上太多不靠谱言论在误人子弟。我全自学,真是走了太多弯路。

于是给人做了一个用户管理系统,统共管理了不到200人的一个小系统。还是在另一个比我多一年经验的小前辈的帮助之下做的,里面很多关键系统都是他做的(比我年轻10岁,但人家正经科班出身,而且多一年正经的Yii的经验,肯定比我强,所以称之为小前辈)。

来了美国之后,发现PHP不好找工作,于是自己学nodejs,从expressjs开始学起,自己构建了3个系统,其中一个是RESTful API,一个是小型网购网站,一个是一个信息展示类网站。

做完这三个,我发现啊,什么seesion啊,RESTful API啊,Log in功能,social login功能,Sign Up功能,jQuery这些,都尼玛熟得不能再熟了。expressjs确实是一个unopinionated/minimalist框架,尼玛啥都没有,就是一个骨架,啥都要你自己亲自写。我日了。当然,确实锻炼了能力,明白了内部机制。

然而风水轮流转,又开始写PHP了,而且是Yii2,结果半年不见,发现Yii2真亲切,啥都给你想好了,啥都有,你只需关注业务逻辑即可,你什么都不用考虑。好!真好!上面那些基础设施都有人帮你做好了,你也不用每次都重新实现一次。自己写一次,了解内部逻辑就行了,不用每次都还是重写,真墨迹。我一周做了一个系统出来,而且效果超级好。哈哈。

现在我们准备写一个并发量很高的系统,还是用Yii了,我们考虑还是用Yii比较好,而且我们也坚信,我们可以做得好。

好了,扯了这么多,我想表达的意思就是:

你不必每次都死磕。如果你在一门语言这里遇到阻碍了,不妨看看别的语言,别的框架,都是怎么玩的,你会豁然开朗,再回头看你遇到的问题,也许就有了全新的认识了。

所以我现在考虑,开始试试C++,也不一定要学的明白,就入个门,搞一搞一些小小项目,然后再回头看看Java和nodejs,说不定会有新的视角和新的进步。

© 2018 awesome.js All Rights Reserved.
Theme by hiero