新手学编程?选python吧!

转载 2015年11月17日 23:25:06

本文作者为盐科技作者石苏。

上海——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。

如果你想做一个创业者,那么大体上这个技术栈就差不多了,其他的元素是你的眼光,创意,执行力,坚定的意志,领导能力。不需要其他的东西了,不需要微软的 开发工具,不需要其他编程语言。如果你只想做一个就业者,也很好,这些技能可以让你过得比较舒适,但,为什么不试试呢?会更自由一点对不对?

相关文章推荐

新手学python(1):解析XML与系统调用

最近需要做一个项目,完成一批音乐的格式转换。由于之前并未学习过python,所以想借此机会学一下。在介绍自己的学习过程之前,先把项目简要描述一下。目前在一台服务器a上有几十万首原始的MP3音乐文件,现...

新手学python 第一篇(基础)

首先相信只有你想不到的,没有python做不到 python是一种解析性语言,意味着开发过程中没有编译这个环节,python 实际上是字节编译的,其结果就是可以生成一种近似机器语言的中间形式。 p...

新手学python(2):C语言调用完成数据库操作

继续介绍本人的python学习过程。本节介绍如何利用python调用c代码。内容还是基于音乐信息提取的过程,架构如图一。Python调用c实现的功能是利用python访问c语言完成mysql数据库操作...

新手如何学python

作为新人,对于如何学好PYTHON也是一头雾雨,也很想能得到别人的帮助。今天看到这篇文章,感觉学习起来有了一个方向.现摘录如下,以便给自己的学习提供一个参考,引用来源:http://www.itzn....

新手学python(3):yield与序列化

1 Yield生成器        Yield是我在其他语言中没有见过的一个属性,算是python的一大特色,用好之后可以使代码更简洁。考虑一个简单的例子,文件的遍历。要遍历一个目录下的所有文件需要...

新手学LINUX下C++编程之路(一)

C++基础知识已经掌握的差不多了。看完了《C++Primer》、《深度构造C++对象模型》,以及看了电子书《高质量C++C编程指南》,还有许多C++面试题。昨天又刚买了《数据结构与算法分析》和《Eff...

学编程为什么这么难?每个新手绝对要知道的那些事

Quincy Larson曾经只是个穿西装坐办公室的家伙,有一天,他决定要学习编程。于是,他到处打听关于编程的事情。他从Ruby入手,接着很快学了Scala、Clojure和Go等多种其他的编程语言。...

新手学编程的常见困惑

我目前还是一个新手,正在学Java中。在学习过程中,我遇到了许多的困难,对这些困难的解决,也让我感觉,完全自学的时候,很容易遇到很多知名、不知名的错误。我在这里记录一些,算是自己自学过程中的一个总结和...
  • peade
  • peade
  • 2016-05-11 21:29
  • 347

新手学Java 7编程(第5版)

编辑推荐   完全更新至JOK7   马上就创建、编译和运行Java程序 样章试读:http://product.china-pub.com/60714 http://download.cs...

非零基础新手学编程的路径及注意事项

如果你听说过学编程就是学JAVA之类的话,并且信以为真,那么阅读下面的讨论将产生足够的价值提高你的成功概率
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)