在搞Web开发以来,混迹在V2EX和知乎,看到最多的就是关于进入Web开发,选择什么语言的问题,看来对于某些人来讲,语言太多了也是一件头疼的事情,因而纠结在不一样语言的各类特性比较之中,最后也没拿定个主意。就目前而言,搞Web开发,汇编、C、C++你就不要考虑了,若是你真要考虑,那容许我叫你一声“大神”,就目前而言,常被拿出来抉择的无非就是:PHP、Java、C#、Python、Ruby,而Ruby就目前看来,已经缩小到特指Ruby on Rails了。前端
下面我谈谈个人选择过程。最早考虑的是PHP了,在作Web开发以前,我主要学习的是前端,什么HTML、CSS、jQuery都能使用,并且也能遵循规范作到规矩,虽然说不是熟练,但也能搞出个东西。在高二时接触PHP环境,当时主要是修改一下,从没有系统的学过,大一时也准备系统的学习一下PHP的,理由显而易见,这东西很流行,主机支持也多,入门也简单,开源程序多的很,不过看过教程事后,打消了这个念头,PHP入门确实简单,不过真要作出一个稍微大一点的东西,就必须考虑不少东西。PHP也有不少开发框架,不过最后仍是放弃了,理由是感受PHP程序确实很差读,想要写得优雅(主要指形式上的)比较难。程序员
从高中接触互联网以来,尤为开始使用PHP的各类开源程序之后,通过各类开源理念熏陶,如今对Java、C#什么的靠大公司垄断或者支持的产品确实提不起兴趣,不是说这些很差,而是不太符合本身的想法,若是说之后为了混饭吃,必须去搞这些工业化的语言,仍是会去的,但本身的东西,我是不会考虑这些东西的,至少如今是。我也有同窗如今学的是Asp.Net开发,看着在集成开发环境里用用控件什么的,仍是比较轻松的,不过相比轻松,我仍是喜欢有趣的。编程
而后就是Python和Ruby了,无疑,我最早知道的是Ruby,在图书馆里瞎转是看到的,一看是日本程序员开发的,我就联想到机器人,结果翻开一看,并非,草草翻了几页,感受有些意思,不过也就到这里了。Python是在GAE时看到的,在今年暑假前实习时,我就一直纠结是选择Python仍是Ruby,最后在网上搜索入门中文教程时,找到了Python的,而Ruby的则没有找到,因而就进入Python的世界了,刚开始的主意是使用Django框架。暑假就学了Python基础知识,并接触了Django,最后感受,Django太繁琐了,我须要的是一个简洁的Web开发框架,因而找到了Webpy。服务器
有人对Python的最大不满就是,代码块以强制缩进来表示,认为这是顽固的毫无情趣的古板东西,而这倒是Python的理念之一,解决一个问题有一种方法就好了——简洁和清晰。就目前个人性格来看,显然是极其喜欢这种富有层次的美感,你能够说我内心有严重的压迫症,无论怎么样,我如今就是以为看着这种缩进十分舒服,以致于我看着C的大括号就以为非常多余,非常刺眼。而Python的一些Web框架一样有这样的美感,Webpy,如今我使用的Tornado,它们的设计理念都十分对我胃口,既然对我胃口,为何不用呢?框架
再说Ruby,实话说,我很是欣赏Ruby的一些语法特性,不过我以为,Ruby没什么优点,而如今Ruby的流行主要取决于Rails框架。在Perl后,Ruby和Python的拥护者经常进行相似宗教战争的斗争,在各大讨论编程的论坛,均可以绝不困难的找到这样的争论话题,而在各类争论之中,Ruby拥护者其实是ROR拥护者,它们强调着ROR的敏捷开发特性,强调着开发速度是多么的快,毫无疑问,如今的互联网的竞争就是速度的竞争,你能想到的创意别人也可能想到,而后关键就是谁最早将创意变成现实。我在看了各类阐述ROR神奇的介绍后,也开始尝试试用一下,我强忍着我所讨厌的有一串end的Ruby语法,开始了ROR之旅,最后我发现了一个问题,那就是它们强调的敏捷与高效,彻底是要针对人的,不是每一个人都习惯ROR的风格,好比我就不行,感受是个很微妙的东西,说不出为何,就是不习惯,因而不舒服,既然不舒服,为何要使用呢。编程语言
上面只是针对我本身而言的,我估计大概没有人既喜欢Python又喜欢Ruby吧,说不定ROR就十分迎合你的胃口,那么,我推荐你学习Ruby,并使用ROR进行Web开发,若是适合你,那你可能会体会到效率与痛快了。Python的问题就在于,你纠结了那么多的语言最后选择了他,结果你还得纠结更多的开发框架,Python究竟有多少Web框架,我没有统计过,但至少和ROR一统Ruby Web开发框架的天下相比,说是七国混战也不为过了。选择了Python风格,你又要开始清楚你对Web框架的风格了,然而最重要的一点是,这些框架都是有共通性的,这个留到之后再谈。学习
说到这里,很明显我选择了Python,而业余之中,我会一直使用它,之后靠什么吃饭,如今就不清楚了。或许也说不定那天,我心情一高兴,受到什么刺激事后,风格大变,开始厌倦Python的风格,而喜欢上Ruby,那也是有可能的。网站
有人会抱怨说Python、Ruby什么的叫脚本语言,是否是太那个啥了,功可以用吗?速度够快吗?仍是以为Java、C#什么的要靠谱一点,我想说的是,你为Python、Ruby的功能和速度担忧,还不如多关心一下本身的网站,快速实现,并加大推广,等你的站点达到这些语言的瓶颈时,再考虑将瓶颈的地方改用C或者C++实现,而对于Python来讲,这点是很好知足的。说句实话,你的站点或许永远达不到所谓的瓶颈,想一想若是Facebook刚开始时担忧PHP的瓶颈问题,我估计马克如今还在纠结要不要使用PHP,而达到如今的规模事后,已经有足够的资金来扩展服务器或者改写某些功能使用更快的C或者C++实现了。设计
若是有创意,快速实现是很是重要的,而你也没必要纠缠于不一样语言的各类特性之中,找一个本身看着舒服,写着有趣的语言,用着方便的框架赶忙上吧,若是你已经会Java或者C#这些,那也上吧,不要犹豫了,若是你能保证你使用汇编或者C、C++哪怕是LISP能更快的搞定你的想法,那也上吧。纠结于实现的编程语言,是一件费时不讨好的东西。教程