(转)为什么大公司青睐Java
转自 http://www.zhihu.com/question/25908953/answer/32119971
因为这是一个商业问题,不是技术问题。
我在面试时探讨过这个问题,对方创业期,问我如果有需要的话我能不能从.NET转Java或者PHP。我说,客观地跟你说,要选择哪个平台,是个商业问题,不是技术问题。
决定技术选型的,抛去逗比领导二产品那不知道那里来的“Java比.NET好,Linux比Windows强”的技术信仰,是个商业问题,三点:反应速度、实施成本、技术梯队。
1. 反应速度
商场无大不破,唯快不破。技术基本都是新兴市场,谁吃第一口蛋糕谁就是大哥,无谓技术好坏。你们还记得大明湖畔的IE6,还有它的好基友Flash吗?还有OpenSSL呢?
在做企业站,Java和.NET都是渣渣,1块钱5000套淘宝模板的PHP才是王道呢。如果是一些企业开发,成型的Java生态系统可谓比.NET多不少参照物。就像SSH说到底不过是MVC、IoC、ORM,大家都有这些东西,只是Java的成型产品更多,复制黏贴就能解决很多问题。
不过在这个时代,个性化的开发更加有开发市场,拼的就是框架能力、资源量、开发工具,Java并不比.NET具有明显优势。至少从创业公司或者传统公司转互联网的这个市场里,个人见到.NET比Java多。
2. 实施成本
很多人有开源崇拜,我倒觉得这里混杂了很多圣母病和共产病,得治。
事实基本上是人力和正版化。许多影响成本判断的就是对工具功能的忽视,这在中国是严重现象,说到底能是软件工程管理能力太低,没办法把投资变现。一套宇宙第一IDE才多少钱,一条内存条才多少钱,但对码农的攻击力加成有多少管理人员能变现?你花钱买IOE不就是因为花钱能解决问题么?
其实关乎.NET来说通常是Windows Server和Linux、IDE、SQL Server和MySQL的问题。在这个泡沫时代,能Build Linux优化MySQL的有几个?微软的那套东西又已经进步了多少了?没理由做技术的不相信科技的生产力吧?
实施成本在后期会放大化,在服务集群的时候。IOE不说,Windows Server确实贵,不过这个成本差异在多少台服务器的时候会体现有多少人真的算过?
在这里不得不补充一句,Mono确实是.NET的希望,虽然不一定是微软的希望。
3. 技术梯队
在IT届,牛人和渣渣是类似的。牛人要换平台,成本很低,渣渣也是。在牛人和渣渣中间的这批人,就是广大的中产,也是IT届主要“纳税人”。但稀缺领域渣渣会被当牛人用。
人脑的进步是有限的,再牛的牛人都砸不过钞票,当产品发展,你需要在合适的时候请到合适的人。在你就缺个敲代码的时候招个能敲代码的,在你到花钱请人帮你搞定的时候你要请到人。
这个时候你就要考虑人才市场的情况了。Java那么老了,加上Android带起的风,人才琳琅满目,给得起钱就有人来。.NET由于Windows不年轻,人才市场分布情况也十分乐观,只是少那种互联网式的贵价人才。如果你做两年Python、PHP、前端、iOS、Android能拿15k~25k,作为一个应届生对.NET竖中指也是很正常的。这不代表做企业开发的人弱,我想中国人都应该知道“如果当初买了房”的故事。
只是企业必须考虑人才市场对技术梯队的影响,这个领域现在花钱能不能请到我要请的人,将来花钱又能不能请得到。因为最可悲的是有钱花不出,然后渣渣当牛人用。作为企业是觉得Android拉高了Java价格而倾向.NET,还是打算未来等移动互联网泡沫破灭抄底,这是企业实际的考虑情况了。
去年的薪酬调查如果数据真实,那么反应的情况还是非常明显的:
Java狗确实比.NET狗多。你可以认为吹嘘Java的比吹嘘.NET的人多1.5倍,拍马屁的Java狗比拍马屁的.NET狗多1.5倍,需要自信的Java狗比需要自信的.NET狗多1.5倍,Java在二货领导耳边出现的次数比.NET高1.5倍......这个世界上还有人相信PHP是世界上最好的语言呢。
以上不过是客观情况的考虑问题,因为我们对理性抱有太天真的想法了,特别是技术领域。你永远应该高估犯二的产品、领导、老员工所能产生的巨大AT力场。你以为他们的所有理由都需要理由?
(转)为什么大公司青睐Java的更多相关文章
- 大公司的Java面试题集
找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试 ...
- 大公司最喜欢问的Java集合类面试题
看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧. java.util包中包含了一系列重要的集合类,而对于集合类,主要 ...
- JAVA集合类(大公司面试喜欢问的)
分类: 核心JAVA(11) 版权声明:本文为博主原创文章,未经博主允许不得转载. 看了一些所谓大公司的Java面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少 ...
- 大公司c#&.net转型java的原因有哪些?
历来就听说有编程语言“鄙视链”的说法,而如今月经贴上的那些事儿,还真让我给遇到了. 以下内容来自知乎,纯属扯淡,易引发口水战,看完勿人身攻击. 目的给盲目的公司决策者.开发人员科普下,有个客观清醒的认 ...
- Java面试题 BAT 大公司面试题整理总结!
本文只列出了问题,答案还是需要需要自己的总结,很多时候自己总结出来的语言在面试时比硬背的效果好很多. 这些题目是网友去百度.小米.乐视.美团.58.猎豹.360.新浪.搜狐等一线互联网公司面试被问到的 ...
- [转载] JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
JAVA面试题和项目面试核心要点精华总结(想进大公司必看) JAVA面试题和项目面试核心要点精华总结(想进大公司必看)
- 各大公司java后端开发面试题
各大公司Java后端开发面试题总结 ThreadLocal(线程变量副本)Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量.采用空间换时间,它用于线程间的数据隔离 ...
- 大公司面试经典数据结构与算法题C#/Java解答
几个大公司(IBM.MicroSoft and so on)面试经典数据结构与算法题C#解答 1.链表反转 我想到了两种比较简单的方法 第一种是需要开一个新的链表,将原链表的元素从后到前的插入到新链表 ...
- 大公司的PHP面试题
1. 禁用COOKIE 后 SEESION 还能用吗? 2. 抓取远程图片到本地,你会用什么函数? 4. 你觉得在pV10W的时候, 同等配置下,LUNIX 比WIN快多少? 5. 简述pOST 和G ...
随机推荐
- HMM 自学教程(六)维特比算法
本系列文章摘自 52nlp(我爱自然语言处理: http://www.52nlp.cn/),原文链接在 HMM 学习最佳范例,这是针对 国外网站上一个 HMM 教程 的翻译,作者功底很深,翻译得很精彩 ...
- flex布局浅谈和实例
阿基米德曾说给我一个支点我可以撬动地球,而拥有flex基本可以撬动所有的布局. 1.flex布局基本介绍及效果展示 工欲善其事必先利其器,来来来,一起看下基础知识先(呵~,老掉牙,但是有用啊). ** ...
- Redis设计与实现-持久化篇
redis数据库 默认16个数据库,每个数据库由一个redis.h/redisDb结构表示,此结构里的dict字典与expires字典,其中dict保存了该库所有键值对,此字典即为键空间:expire ...
- 《构建之法》第8、9、10章的读后感和第一个sprint总结
第八章——主要介绍软件需求. 主要步骤:1.获取和引导需求.2.分析和定义需求.3.验证需求.4.在软件产品的生命周期中管理需求. 对软件需求的划分:1.对产品功能性的需求.2.对产品开发过程的需求. ...
- dos系统
实验一 命令解释程序的编写 一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的命 ...
- .NET初学者推荐课程 asp.net错误代码大全
错误 CS0001 编译器内部错误错误 CS0003 内存溢出错误 CS0004 提升为错误的警告错误 CS0005 编译器选项后应跟正确的参数错误 CS0006 找不到动态链接的元数据文件错误 CS ...
- Mongodb 语法,update,insert,delete,find
---恢复内容开始--- db.Users.update({OrganizationCode:"Global"},{$set:{OrganizationCode:"Fre ...
- C#初入串口通信(串行通信)总结
使用WinFrom来实现: 首先要知道串口通信协议以及原理 原理大概提一下:要自己翻阅看.(http://book.51cto.com/art/200911/162532.htm或者http://hi ...
- sql apply
可以给表值函数传column,而join不可以
- PHP OAuth2 Server库
想找比较正宗的库,查了蛮久的.最后在 oauth官方站上,看到PHP版本的相关链接. 发现都是php 5.3版本以上的环境,基于命名空间的写法编写的. 访问下面这个页面,难得,发现文档给出了5.2版本 ...