(转)为什么大公司青睐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 ...
随机推荐
- Python - 利用pip管理包
下载与安装setuptools和pip https://pypi.python.org/packages/source/s/setuptoolshttps://pypi.python.org/pypi ...
- Android 学习笔记之Volley开源框架解析(三)
学习内容: 1.CacheDispatcher缓存请求调度... 2.Cache缓存数据的保存... 3.DiskBasedCache基于磁盘的缓存类实现方式... 前面说到使用Volley发 ...
- Eclipse魔法堂:任务管理器
一.前言 Eclipse的任务管理器为我们提供一个方便的入口查看工程代办事宜,并定位到对应的代码行继续之前的工作. 二.使用示例 示例1: /** * @Descripti ...
- 2015 Multi-University Training Contest 2 1006 Friends
Friends Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5305 Mean: n个人,m对朋友关系,每个人的朋友中又分为在线 ...
- 字符串 --- KMP Eentend-Kmp 自动机 trie图 trie树 后缀树 后缀数组
涉及到字符串的问题,无外乎这样一些算法和数据结构:自动机 KMP算法 Extend-KMP 后缀树 后缀数组 trie树 trie图及其应用.当然这些都是比较高级的数据结构和算法,而这里面最常用和最熟 ...
- UVA题目分类
题目 Volume 0. Getting Started 开始10055 - Hashmat the Brave Warrior 10071 - Back to High School Physics ...
- 与众不同 windows phone (41) - 8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频
[源码下载] 与众不同 windows phone (41) - 8.0 相机和照片: 通过 AudioVideoCaptureDevice 捕获视频和音频 作者:webabcd 介绍与众不同 win ...
- 数据库设计==>>MySchool
1.数据库设计的步骤 第一步:需求分析(收集信息) 第二步:绘制 E-R 图 (标示实体 ,找到实体的属性 第三步:将 E-R 图转换成数据库模型图 第四步:将数据库模型图转换成数据表 2.如何绘制 ...
- MVC Html.AntiForgeryToken() 防止CSRF攻击
转自:http://blog.csdn.net/cpytiger/article/details/8781457 一.MVC中的Html.AntiForgeryToken()是用来防止跨站请求伪造(C ...
- CSS类选择器和ID选择器
CSS类选择器和ID选择器皆允许以一种独立于文档元素的方式来指定样式,同时二者皆区分大小写. 区别如下: 第一:在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class 第二:当页 ...