每个公司都喜爱精通多种编程语言并且多才多艺的程序员。一个既能很麻利地写脚本,也能编写复杂的Java程序的程序员,确实相当有价值。所以实际上,对于高级开发者来说,学习不止一种编程语言,几乎就是必然的要求。
目前而言,面试官越来越看重那些拥有多种编程语言经验的工程师。比如,同时有C++ 和Java的经验就很不错,Python和Java也是。我个人喜欢那些在C++ 或者Java方面有着丰富经验,而且能用Groovy、Perl或Python写脚本的软件工程师。
很多时候,写一个小脚本就足以快速搞定一些专有任务。我不想我的程序员们花上一整天用Java去写一个读取CSV文件的程序,或者在TCP/UDP端口抓取信息的程序,这是很浪费时间的一件事情。
为什么我在文章中选择下面5种语言呢?简单实际。我是基于这些语言的用途、编程范式和流行度及代表性来选择的。
例如,如果你想找一份应用开发的工作,就不能忽视Java。同样,做与web相关的事情,就得知道无处不在的JavaScript。
在开发者职业生涯的早期,我强烈建议学习C语言。它能帮助开发者贴近系统底层,知晓那些编程的关键概念,这是隐藏在JVM或CLR底下的东西。
对于脚本语言,我的选择是Python,尽管你也可用Perl或Groovy代替。但在扩展支持方面来看,Python的表现无疑是最棒的。有很多Python模块可供选择,帮你能分分种搞定各种任务。
学习一种面向对象的语言的同时,也学习一种像Haskell或Scala这样的函数式编程语言,这能拓展你的思维和编程认知。你可以在本文找到学习这5种语言的更多理由。
言归正传,下面就是我列出的5种每个程序员或软件开发者都该尝试学习的编程语言。
它包含了语言的大杂烩,比如[面向对象的]语言,函数式的语言,脚本语言,提供了对底层的控制,也涵盖了广泛用于服务端开发的语言。
Java
Java是近二十年来最流行的语言之一。它统治着全球的服务端应用开发,同时在基于Anroid开发的移动应用市场,以及企业web开发领域,也占有相当一部分比重。
Java最初的构想是一次编写各种平台均能运行(write once run anywhere)。随着时间的推移,它确实做到了运行在各个平台的各个角落。
你应该学习使用Java构建健壮的、可扩展的服务端应用。你可以用Java构建多种复杂度的工程。与之相伴的,有很棒的工具、技术和社区支持。
为什么你应该学Java呢?你会学到如果专注于应用层面和代码结构的设计,而不用关心特定系统的细节和内存管理。JVM帮你搞定了后面这些。
Java被许多世界上的大型组织所使用。而且能够向众多用户展示你用Java开发的Android应用。
Python
在全球范围的学校和院系,Python是教授最多的语言之一。在美国,许多学术课程中,Python已经取代了Java成为接触编程的首选语言。你将从学习Python中得到什么呢?——那将非常多。
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
https://github.com/threeb1234...
https://www.github.com/threeb...
http://github.com/threeb1234/...
Python既能用于写脚本,也能作为一种面向对象的语言编写大型工程。
许多流行的网站,比如Reddit,就使用基于Python的框架来构建,比如Django。近段时间,许多大型组织也转向使用基于Python的框架了。
Python也越来越多地用于像机器学习、人工智能、数据科学这样的新一代技术中。这也难怪,因为有基于Python的非常棒的机器学习库,比如TensorFlow、Scikit-Learn以及其他。