本来想描述的不是如题面所示,但是想来想去还是这个题目适合。

近期由于招聘需求,面试了不少人,主要分为JAVA与.NET,因为面向的开发员居多,所以关注实际落实能力为主,从对软件架构的理解上,发现了一个规律,大凡从事JAVA开发的,无论是从业一年还是多年,都能对三层架构有个一知半解,并可以清楚描述出大体的内容,当然不排除不少不深入思考的,比如对MVC模式与三层架构的联系,功底比较浅的都认为与展现层、中间层、持久层一一对应;但相比JAVA程序员,.NET初从业者对架构的认识相对较弱,对于三层,大多仅限与表面的理解;所以对于同样工作两年的年青小伙来讲,对框架的知识上JAVA程序员明显占优。

但是实际工作情况确与上述表现相反,.NET能直接干活,能很快找到其入手点,而JAVA的人员,变一变使用的框架,让做些调研设计,就会显得迷茫,无所适从。分析其原因,感觉这与从事的工作有关,正由于JAVA封装的好,开源的东西多,在一个应用搭好结构后,从业人员向里填内容,不需要过多的去考虑背后的机制,如果不是有心去学习去深入,那么基本上水平停留在一个层次上面;而.NET没有多的选择,相应的选择也比较少,所以思考的会比较多,这也许是实际情况的原因吧。

这次记录一下不是想在JAVA与.NET之间比优,只是想分析一下原因,正是由于JAVA和.NET的不同,我们程序员更要深入的去思考,JAVA也好,.NET也好,只要深入考虑了,一样可以让自己达到很深的层次,不然总会流与表面。