目前各种语言百花齐放,各种开源百家争鸣,程序员迎来软件史上的盛世。这是幸福事,也是苦恼事。能有多种选择总归是好的,但如何利用好这些技术真得是很费心的事情。当产品方向确定后,技术和架构的选型往往是一门破费思量的学问。
对我来说,我已经确立了以Java为主,辅以Javascript来完成个人产品开发的技术路线。
曾经学过PHP, Node, Ruby, Python,但对做Web开发和移动应用来说,Java足够了。强大的IDE如intellij idea,坚固成熟的Java runtime,众多的开源项目,大厂商的支持,无数项目的检验,足以证明Java的能力。每门语言都有自己的哲学,都有值得借鉴的地方,也都有自己的技术栈和生态系统,能够多了解多学习固然是不错的,但人的精力带宽是有限的。以我个人的经验,这些语言在做web方面其实没有谁是占据绝对优势的,开发效率上几乎差不多,完全取决于产品本身的复杂度、开发人员的熟练程度及在该技术上的积累。它们通常都要处理相似的东西,数据库,文件,字符串,网络等。没有哪个框架能说是万能的,也没有哪门语言拥有比别人高出很多的优质库。与其每门技术都会一点,还不如深入掌握其中一门。对80%的应用场景来说,它们都是胜任的,不需要用到语言的独特性。
Java和Javascript基本能搞掂大部分web应用。对于个人创业者和小公司来说,我们真的不能把自己的技术线拉得太长,我们需要聚焦。