日期:2014-05-20  浏览次数:20970 次

1.7盎司汉堡问题的回应
好几天前就看了帖子《为什么不招.net程序员》,提出了1.7盎司汉堡的问题,近来还有不少人引用,本人C#和JAVA都用,我对这个问题的理解是这样的.

C#是在总结了JAVA的优缺点的基础上创建的,JAVA能做的C#都能做,而且在开发的结构上都能做的一样了,C#语言的优美和流畅度和JAVA一样,并且VisualStudio编辑工具也比Eclipse之类的好用.
C#为了方便开发者使用,做了很多固定的模板类的东西,譬如为生产汉堡,做了4个按钮,分别能生产1.2、1.4、1.6、1.8盎司汉堡,用这些工具能非常方便的生成这几种汉堡,假设你就要做这几种规格的汉堡,则C#的开发效率要比JAVA高的多,这并不说明C#不能做1.7盎司的汉堡,只不过做起来就和JAVA一样麻烦了.
有些人学C#不深入,只学会了用现成的控件做,只会拖控件,而其它的却不去深入,以为C#不能生产其他规格的汉堡,造成了这种误解.
C#功能多、方便使用,不应该成为它被诟病的理由.

用户还可以提这样的要求,
假设你做了个B/S项目,用C#开发的,做好后,用户提出,希望你把这个项目改成JAVA的,你改的时候会发现,这些托控件的页面是很难改的,恐怕大多数人会选择用JAVA重新开发.如果你没有用拖动控件,纯粹用代码写的,则改成JAVA就相对容易的多.

同样用户要求你用C#来改写你的JAVA项目,如果你用了hibernate、spring之类的东西也会发现很难改成C#的,如果只用原生JAVA来写代码,则改成C#代码则会容易很多.

如果你的代码时刻考虑着在C#和JAVA之间能移植的话,那它们的那些特殊的、方便使用的东西你就不会采纳了.

------解决方案--------------------
没有这么干的傻用户。用户都是很现实的,不是从编程员出发去搞企业的。
------解决方案--------------------

一般不讨论这样的问题
做好当下的
------解决方案--------------------
原贴的主要观点是成立的,对程序员来说, no magic比较好,封装得太厉害,难以理解原理,换个工具,不会举一反三。
微软开发的东西适合做最简单的,最常用的功能,定制是比较麻烦的。而且很多东西,如win32 api,都是黑盒,没法搞。
------解决方案--------------------
一直以来接触的都是C#,自己也许真的是井底之蛙,看不到更广阔的区域。
牛顿有句话说得好“如果说我比别人看得更远些,那是因为我站在了巨人的肩上”。
如果不想一辈子做井底之蛙,那么你总得找个“巨人”,这个“巨人”可以是CSDN,
可以是博客园,总之你要找一个“巨人”来开阔眼界。