种地要靠太阳。挖煤要靠矿车。如果你觉得这些太慢了,你可以试试IT行业。如果你觉得脑力强劲,无处释放,请试试IT行业。
本文作者为盐科技作者石苏。
上海——IT行业,有人有电脑就可以开工。做得好很快就改变自己,也许会部 分地改变世界。一般来说,距离物质世界越远,越没有硬约束,想象力和创造力就越重要。种地要靠太阳。挖煤要靠矿车。如果你觉得这些太慢了,你可以试试IT 行业。如果你觉得脑力强劲,无处释放,请试试IT行业。如果你是一个屌丝,请你也试试IT行业---成本很低的,只要有一台联网的计算机,一个房间,一点 点生活费,做上一年,如果思路对了可以发点小财。
信息时代的特征是,信息是公开的。人和人的区别在于如何使用信息。盐科技作者认为,在IT行业仍有无数的发财机会,仅仅需要用不同的眼光去看,然后再加上,哦,一些编程技术。
假如你要学习编程技术,盐科技作者建议第一门语言是python,操作系统是Linux。
一开始不要碰C语言,它距离计算机的底层太近了,需要了解一些硬件知识,而且它有一些会让你觉得有挫折的东西。它太贴近底层,用它实现一些功能会很 慢,python一行代码能解决的事情它也许需要十几行。没那么多时间考虑这些细节,做成事情比较重要。如果你要学习C语言,请不要使用谭浩强的书,已经 过时了,而且里面的某些观念会误导你。
关于Python我推荐这本Python核心编程(第2版)/丘恩 (Wesley J.Chun)-图书。把里面的习题和例子从头到尾做一遍就可以了。做题比看书重要,如果不做题就不要看书,没什么用,浪费时间浪费生命。
然后,立刻开始做你想做的事情,用python。在这个过程会遇到很多问题,google一下,然后解决。如果google找不到,请去 stackoverflow提问,这是一个非常好的开发问答社区。不怕慢,只怕站,只怕停,只怕断。只要不站不停不断,不达到目的不罢休,在做的过程之 中,会得到想要的一切,这句话是体验不是理论,做了就会知道。
如果遇到算法问题,看看《算法导论》,算法导论(原书第3版)/Thomas H.Cormen-图书,把它当作手册查,然后实现自己的算法。
Python有很多优势的:
1. python社区有庞大的库,几乎可以解决大部分问题,对同一个问题,甚至有好几种不同的解决方案选用。
2. 如果想用Jvm,还可以无代价地切换到jython,它们在语法上没有任何差别。当你切换到Jvm的时候,理论上可以调用任何Jvm语言,使用它们的优质的库。
3. python可以以混合编译的方式使用c/c++/java等等语言的库,比如swig方式。这也就是python一直被称为胶水语言的原因
4. 如果不把python当胶水语言也没问题,它自己就可以解决一揽子问题,比如Dropbox的99%的代码是python的,豆瓣也是
迄今为主,这种 语法简洁 + 庞大的开源库 + 横跨原生开发和Jvm + 独立能干 + 胶水语言的通用型语言,除了python,还能找出谁来?编程语言的小强就这么一位。
以大部分人的天赋啊,还轮不到抱怨python的强制空格缩进,以及cpython的gil问题,能用好已有的功能就不错了。
把python练到精之又精,又有两种方向。其一,搞定C语言,因为它是系统级语言。其二,搞定lisp,因为它是编程语言的最高峰。
对C语言来说,最重要的一本书是《The C programming language》,搞定它就很好了。至于C++,我觉得除非你是做性能要求很高的东西,比如游戏或者计算机视觉或者图形学,否则没必要学它。
对Lisp来说,最重要的书是SICP书计算机程序的构造和解释(原书第2版)/艾伯森。SICP比较难懂,搞定有点不太容易,但它会对你的一生产生影 响。这本书最大的价值在于,它实际上是编程语言+编译原理+计算机体系结构的浓缩精华版,搞定它,会在心里形成一个完整的框架,之后可以做到一览众山小, 其他零七八碎的东西你可以逐次地填进这个框架即可,井然有序,一丝不乱。然后是OnLispOn Lisp (豆瓣),它是Lisp的核心概念宏的高级扩展技能提升术。
如果是做前端,需要学html + css + javascript 。如果是做apple开发,要学object c,做android开发要学下Java。
如果你想做一个创业者,那么大体上这个技术栈就差不多了,其他的元素是你的眼光,创意,执行力,坚定的意志,领导能力。不需要其他的东西了,不需要微软的 开发工具,不需要其他编程语言。如果你只想做一个就业者,也很好,这些技能可以让你过得比较舒适,但,为什么不试试呢?会更自由一点对不对?
【盐科技yankejicn.cn 微信yankejicn】
0
推荐