关于PHP、Ruby、Java三种程序员的一些偏见

更多的是看谁自我折腾
服务器君一共花费了250.007 ms进行了4次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

PHP程序员

由于PHP入门很简单,很多没任何编程背景的同学,想学学怎么做网页的人基本一开始都会找PHP。

PHP里不是菜鸟就是牛人。

菜鸟:做做个人网页,改改页面,就学些PHP的基本东西就够用了。Win环境下搭个PHP环境又是很轻松的事,什么一键包的。部署有廉价的虚拟主机,也不需要具备什么操作系统知识就可跑。大堆的开源项目,拿来就可用。这些人基本不会再关心深层的东西。

PHP里的牛人,某些本身就有C的基础,想试试做网站开发。但是少。另一些是,要部署到Linux下面,于是会发现,和Win真是天差地别。会发现没有shell,C,make,网络协议,数据库,操作系统的这些知识,会非常痛苦。于是就会去学这方面的知识。越学越会发现,PHP网页的东西太肤浅,重点不在PHP这上面。于是越发去学Linux相关知识。于是就基本成高手了。但是,这部分人少。

Ruby程序员

首先可以确定的是,这部分程序员,大多数至少会使用过其他语言3年以上(参考Ruby走火的时间)。

rails早期在Win下的环境不成熟悉,要想搞rails。逼着这帮人跑到Linux下。早期就算在Linux下搭个rails开发环境,也是很麻烦的事。如果对Linux相关环境不熟悉,包括大堆的Linux下的C库,也很痛苦。一帮人因为这样骂Ruby,rails垃圾,于是再也不碰,走人。少数的一些人,本身有LinuxC/C++基础,或是不到黄河心不死,非要搞定,逼着去着Linux下的相关东西。于是这帮人留了下来,基本都成为高手。

Java程序员

Java程序员,Java在Win下的环境搭建很轻松。跟装个游戏没区别。不需要折腾,也没有非到Linux下开发的必要。Java做企业应用居多,看看spring,struts,hibernate这些东西。基本不会求多少Java基础,swing不用碰,多线程看一眼,Java集合包只是看看,io/nio这些东西不碰也不影响你开发。最多花心思看看jdbc,jsp,servlet就好。到哪天发现自己要系统去学了,就会去碰io,多线程之类的东西。Java的io,多线程这一块还算好掌握。没有特殊需求,根本不需要你去了解更底层的东西,如它们在各操作系统下的底层是什么样的。但Java的这一块跟Linux下的io,线程比,就是玩具。需要深入底层,就要求去学Linux C。No,Java的线程,io/nio还算够用了,我干嘛还要去折腾C。于是大多数Java程序员,整天围绕的是业务与jvm,jvm的一套字节码,jvm汇编,愿意的话,永远不需要折腾Linux,C这些东西,Java都有对应的还算凑合的实现,与操作系统绝交。当然,还是有主动向更深层学习的人。

结论

找个靠谱的PHP程序员,千里挑一。

找个Ruby程序员,更容易招到,而且,很可能同时招到了一个Linux C或使用其它语言3年以上的人。

招个Java程序员,如果只是做做企业应用开发,您就凑合着用吧。

本文地址:http://www.nowamagic.net/librarys/veda/detail/2231,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/2231

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《敏捷软件开发(原则模式与实践)》 马丁 (作者), 邓辉 (译者)

《敏捷软件开发:原则模式与实践》由享誉全球的软件开发专家和软件工程大师Robert C.Martin将向您展示如何解决软件开发人员、项目经理及软件项目领导们所面临的最棘手的问题。这本综合性、实用性的敏捷开发和极限编程方面的指南,是由敏捷开发的创始人之一所撰写的。1.讲述在预算和实践要求下,软件开发人员和项目经理如何使用敏捷开发完成项目;2.使用真实案例讲解如何用极限编程来设计、测试、重构和结对编程;3.包含了极具价值的可多次使用的C++和JAVA源代码;4.重点讲述了如何使用UML和设计模式解决面向客户系统的问题。

更多计算机宝库...