如何选择一门编程语言?

下面是昨天一位读者的提问,趁凌晨有空做了个简单总结,纯属个人观点,不一定对,但希望所有启发。

我是生物专业的,现在转行做PHP了,当然,目前水平一般。然后我发现我其实对web开发并不是那么感兴趣。现在马上要去美国了,可以直接找工作,也可以读一个master。有很多方向可选,有什么数据库,编程语言和编译器,生物信息学,操作系统等。如果从语言来看,我目前对C,JAVA, Python很感兴趣。Javascript,显然github排名第一,但除了web前端,我也不知道JS能干啥了,nodejs是后端,但还是web开发。C是基础,但纯C没钱途,Java很牛逼,Python也很牛逼。所以目前纠结在Java和Python上。我想请教的是,Python除了web开发和自动化运维,还有什么有明确工作需求的应用?就是说,如果我学python,除了web开发和自动化运维,还有什么岗位是主要用python的?

首先恭喜你成功肉身,对刚入门的程序员来说,如何选择第一门编程语言还是非常关键的,男怕选错行,女怕嫁错郎,好在,语言选错了还可以改,但是很多人一辈子就是用一门语言直到转行,绝大部分有程序员在职业生涯中,使用两到三门语言再正常不过了,多了解两门语言也有利于更好的理解编程语言。那么究竟如何选择你的第一门语言呢?

这个要根据自身的兴趣爱好和实际情况来决定。

说到PHP,的确,它除了能做网站或者APP的接口之外,似乎没什么其他应用场景了(如果还有其他领域请告诉我),尽管我们经常在调侃PHP是世界上最好的语言,不可否认,未来的三五年它将一直会占据编程排行榜的前10,因为互联网还离不开Web。因为你不喜欢Web开发,那么可以考虑其他语言。

Java确实很牛逼,能在编程语言排行榜上连续十几年高居榜首,不过,另外一个现象就是,它的市场份额在逐年下降,被其他语言(Python、Golang、Node等)所瓜分,在国内学Java相对要好找工作一些,因为整个市场都是围绕着Java运转的,从学校到培训机构再到用人企业都是Java,如果要论编程的乐趣,Python肯定比Java有趣多了。

最近两年最火的语言莫过于Python,Python除了可以做Web开发和自动化运维之外,爬虫、数据分析、数据挖掘、人工智能、机器学习等方向都是首选语言,而人工智能也是这两年非常热门的方向,这也是为什么Python能火的原因,因为它的应用领域真的太广泛了,甚至在生物科学领域也有使用场景,而且每个领域都有非常好用的第三方框架来支持,学起来也非常顺手。在美国,使用Python的明星互联网公司非常多,诸如 Youtube、Dropbox、Quora、Instagram、Reddit,这些公司的核心业务都是基于Python开发的,所以,去了美国如果你掌握了Python的话,相对来说,选择的机会可能要更多些。

反观国内,总体环境跟美国比起来还是有很大区别的,你也体验过国内Python工作不好找的情况,其实现状就是这样,除了北上广深一线地区,找份纯Python的开发工作恐怕很困难。为什么Python这么火,但找工作却这么难呢?之前在公众号做过一个调查,很多学Python的其实是作为第二语言来学的,他们或者其他语言的程序员,或者是产品经理、或者是运营、或者是测试,都是希望通过学 Python 来辅助他们更好的工作,比如搞测试的,希望用自动化的方式来测试程序,运营人员希望掌握一些数据分析的方法来帮助他们做更好的决策。

所以,Python在国内的情况是大多时候是作为一个工具来使用的,而不是像Java或者C程序员一样,每天的工作就是使用这些语言来实现功能。你去了美国,情况肯定大不一样,相比Java,很多公司更偏爱Python程序员。

最后,我想说的是,如果你是互联网的非开发岗位,会一门语言能给你加分不少,但如果你是程序员,只是会一门语言而已,在市场根本没有谈资,除了懂一到两门语言之外,修炼内功是非常必要的,计算机基础课程比如数据结构域算法、数据库理论、操作系统、计算机网络基础都是程序员必备的

别把所有时间花在语言身上。


640?wx_fmt=png

近期推荐阅读:

  • [荐书|福利] 如何系统学习网络爬虫

  • 推荐一下北京的Python开发者活动

  • Pycharm中一些不为人知的技巧

  • Python爬虫知识点梳理

  • 体验小程序开发

  • Python程序员都知道的5个彩蛋

  • 给Python新手的一道面试题:如何正确读写文件

  • 程序猿的七夕是这样的

  • Python是怎么火起来的

  • Python 高效处理字符串的秘密:字符串 Intern 机制

  • 10行代码爬取微信公众号文章评论

  • 代码这样写不止于优雅

  • 程序员如何优雅地写公众号

  • Python是怎么火起来的

  • 程序猿的七夕是这样的

  • Python:关于高效使用字典的清单

  • Python 2 和 Python 3 主要区别有哪些

你可能感兴趣的:(如何选择一门编程语言?)