曾经对程序员最好的公司,倒下了

news2024/9/22 6:49:35

硅谷有一家公司,它发明了同时代最好的CPU,最好的操作系统,最好的编程语言,但是由于傲慢和目光短浅,在短短二十多年间就走到了尽头。

它就是Sun Microsystems,硅谷最让人惋惜的公司。

2fae5152b7cc3c76cb5fc8608c4853e4.png

1

Sun的出现是个巧合。

80年代初期,两类计算机占据着市场,一类是小型机,例如DEC的PDP系列;一类是正在冉冉升起的PC , 运行微软的DOS系统,还有苹果的Macintosh。 

deccf21ca9271e580eb805a671b33fea.png

小型机性能强大,但问题是它是大家共享的,不能一个人完全占用,并且价格昂贵。

PC价格便宜,但是性能不足以运行一些商业应用。

当时芯片设计正慢慢地从手工绘图转移到计算机辅助设计(CAD),非常需要性能强大的计算机。 

c023a929094c2406e1b9a060dfb5adc1.png

(计算机辅助设计)

为了和PC区分开来,这样的计算机被称为工作站(Workstation),机会窗口就这么出现了。

斯坦福大学的研究生Andy Bechtolsheim受到施乐Alto电脑的启发,在斯坦福设计制造了一台叫做Sun workstation的电脑。

这台电脑使用摩托罗拉的68000 CPU,实现了3M的指标:

每秒运行一百万次指令(1 million),1 Megabyte 内存,1 兆像素光栅扫描位图显示器。

6943d3f6b46b6a4ca6d5ee4ff39ce69e.png

(著名的摩托罗拉68000)

可惜斯坦福大学对这个工作站不上心,建造了10台以后就不想弄了,Andy想把硬件设计授权给一些制造商,竟然没人感兴趣!

可见在一个大机遇来临时,大部分人都是看不到的。

幸运的是,一个叫做Vinod Khosla的人意识到了Sun Workstation 的商业价值,因为Vinod Khosla曾经是一个EDA软件公司创始人,公司开发出了软件,但是找不到强大的硬件。

Vinod Khosla 立刻怂恿Andy创业, 他拉来了自己在斯坦福商学院的同学Scott McNealy,然后撰写了一份商业计划书,迅速获得了风险资本的资助。

随后,创业团队的第四个成员,大神Bill Joy正式加入。

5ef489356f9bdaf4cdddd90d12dd5db8.png

(Bill Joy的故事,参见这篇文章《那些神一样的程序员》)

Vinod Khosla  --- CEO

Scott McNealy  -- 负责制造

Andy Bechtolsheim  -- 负责硬件设计

Bill Joy --- 负责软件设计。

296f2dddaaeef2f19a63205c642c31f7.png

这又是一个创业的梦幻团队!

当然Sun公司也有竞争对手,例如Apollo 公司也在制造工作站,有些CAD公司甚至会自制系统。但是Sun的优势在于它充分整合利用了市面上的硬件和软件。

CPU用摩托罗拉的,硬盘用富士通的,操作系统用Bill Joy 搞出的BSD Unix。 

此时BSD已经内置了TCP/IP,可以让用户跨网络协作。

BSD 后来演化为SunOS ,最后变成了著名的Solaris。

988379f9f4c48e3e3a05691f564a48da.jpeg

Solaris在八九十年代是个非常先进的Unix操作系统,以对称多处理,支持大量CPU著称。

用户可以任意地增加CPU横向扩展系统的性能,最多支持上百个,而后来Windows也就支持4~8个Intel CPU。

在这一点上Solaris把Windows甩出好几条街。

大神Bill Joy后来设计了著名的NFS文件系统,让客户端通过网络访问文件时就像访问本地存储一样。

Sun工作站价格便宜,一个人就可以拥有一台性能强大的工作站,这太爽了。 

64317466f4913e77409f9ea0efea3465.png

Sun的工作站大受欢迎,公司开始疯狂增长, 第一个财年收入850万美元,然后是3900万,1.1亿,2.1亿,4.5亿,10亿。 

Sun发展速度太快,以至于合作伙伴都跟不上了,最典型的就是摩托罗拉,但是Sun对CPU的需求摩托罗拉根本满足不了,一个bug都需要摩托罗拉花费2年时间去修复。

Sun测试了Intel的CPU,发现性能根本不能满足需求, 于是Bill Joy建议开发自己的CPU,采用当时最流行的架构RISC(精简指令集)。

新的CPU就是著名的SPARC,它比当时流行的CISC(复杂指令集)架构的处理器快得多,很快便占领了RISC处理器市场,奠定了Sun在高端CPU的领先地位。

833e6192a3ab8e1dbd14fbe18808bd55.png

408846e9e74bddf1331cc7b432637c8b.png

手握最先进的操作系统和CPU,Sun依托工作站达到了公司的第一个巅峰。 

2

危机就在90年代初埋下。

在遥远的芬兰,一个叫Linus 的大学生无意间开发了一个叫Linux的操作系统,他把Linux开源,在广阔的互联网上和其他爱好者跨国界协作,这种全新的模式展示了蓬勃的活力。

微软借助IBM PC兼容机已然成为桌面操作系统霸主,Bill Gates把目光瞄准了服务器和工作站,他从DEC挖来了“硅谷最牛的内核开发人员”David Cutler。

474b4ef48b74341d3f78688a1314360c.png

在David Cutler的领导下,微软夺路狂奔,开发出了Windows NT。

a079959fa5130d0342bc4e2a58440f5b.png

Windows NT也支持网络,支持多用户,比之前微软的操作系统要稳定得多,可靠得多。

再加上微软建立的庞大生态系统和操作习惯,一下子就吸引了很多用户。IBM、惠普这些巨头也跑来捧场,都采用Windows NT来制造工作站。 

此时Intel CPU在摩尔定律的驱使下也是越来越快,终于超越了RISC。 

Windows NT + Intel CPU,开始不断蚕食Sun的工作站市场。

Sun没办法,开始转型,做垂直整合,向企业级服务器市场进军。 

Sun的优势是从硬件到软件,从软件到网络,都有自己一套。并且有Solaris和SPARC这两个双子星,可以任意扩展,构建计算机非常强大的服务器。

90年代后期,Web开始兴起,Web服务器市场变得比工作站更大。

大网站eBay, Yahoo,Dell甚至微软都在大量使用Sun的服务器。 

如果这个时候你去参观数据中心,会看到一层又一层的机架上,都是Sun的服务器集群。

0380d87782f0a02ee943047383c8e998.png

Sun再次获得疯狂增长,每年增长达到50%~60%!

1995年,Sun公司的一帮杰出的工程师又发明了Java这个跨平台的语言,然后提出了J2EE这个企业级计算框架,IBM、惠普、Oracle、BEA等公司纷纷拥抱Java,俨然有成为下一代计算平台的趋势。

37bcd1d7f1ffef44681afd12d6e1a551.png

此时的Sun公司好似烈火烹油,鲜花着锦,市值高达2000多亿美金,高居第一,达到了它的第二个巅峰。

3

不幸的是,2000年美国互联网泡沫破灭,大量的网站破产,伴随着大量的服务器被抛到二手市场, Sun的服务器一下子卖不动了。

Sun的销售额直线下降,很快陷入亏损,市值像坐了过山车一样迅速滑落。

ef16b6c6929f665ea1a8213404d4616d.png

Sun公司拥有技术领先的操作系统Solaris,SPARC CPU,互联网泡沫过后为什么一蹶不振了呢?

主要原因就是Linux成熟了,大家发现,用廉价的Intel PC + 免费的Linux,也可以组建计算力强大的Linux集群,Google就是杰出的榜样。

9fb6179859fef9f08b7180d2e8779245.png

“该死的”IBM竟然宣布投资10亿美元,彻底拥抱Linux, 这个示范效应实在太强,越来越多的公司转到Linux阵营。

这一下Sun的企业级服务器市场业务彻底完了!

Sun之前的股票代码是SUNW,表示Sun Workstation, 后来表示Sun Worldwide,正好反映了Sun的两个时代。

后来Sun的股票代码改成JAVA,也反映了这是Sun剩下的最大的资产。 

具有讽刺意味的是,Sun发明了Java 和 J2EE,但是却并不知道如何用Java去赚钱。

你使用Java,下面可能是WebLogic/WebSphere/Tomcat等应用服务器,MySQL/Oracle数据库,Linux操作系统+Intel CPU,这些东西和Sun一毛钱关系都没有!

Sun每次宣传Java,最终都会指向它的硬件,本质上,它是靠硬件来盈利的。

Sun公司努力地挣扎了几年,到了2008年经济危机,投资者再也无法忍受Sun的持续亏损。 

2009年,Oracle用74亿美元收购了Sun, 太阳正式落山了。

4

Sun是一个对员工非常好的公司,福利待遇就不说了,如同现在的Google。

最关键是这里有着特别强的工程师文化,技术人员可以做主,只要你把工作搞定,没人关注你到底是怎么干的。

在这里,冒险会得到奖励,失败不会受到惩罚,结果就是前所未有,无与伦比的创新氛围。

很多Sun的员工回忆起来都说:“在那里工作实在太棒了”,“这是最好的公司”, “真是old good days, remember them.”

技术人员做主也是一般双刃剑,技术人员根据自己的“品味”创造了伟大的产品,但是却没有考虑市场。

依靠领先的技术,不考虑营销和市场,可以成功几次,但是不可能一直成功。

Sun公司缺乏一个像Bill Gates那样的商业+技术的奇才,把这些伟大的技术给整合起来。

Sun的成功有一定的运气成分,80年代靠工作站,90年代靠服务器,两次走向巅峰。

当真正的打击到来,Sun在一年内就陨落了。

表面看来,Sun败给了Intel和Linux,本质上,Sun败给了自己。

最后,列举下从Sun走出的著名人物,纪念下这家伟大的公司:

Satya Nadella微软CEO
Eric SchmidtGoogle董事长兼前CEO, Lex的共同开发者
庄思浩BEA创始人 ,CEO
Chris MalachowskyNvidia的联合创始人
Whitfield Diffie图灵奖获得者,公钥密码体系先驱
James Duncan DavidsonTomcat作者
Marc FleuryJBoss作者
Bob ScheiflerX-Windows领导者
Paul BuchheitGMail发明人
Joshua BlochJava大牛,Effective Java作者
Brendan GreggDTRace作者
Lars BakJava HotSpot作者,V8作者

(完)

点击下方图片,查看更多精彩

382e643a956e7a0c697f803826198cd4.png

f7847b4abb6bc6314922e3d48122a0ed.png

af6c86b81ad57748274b99178f8bbb14.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

运动蓝牙耳机哪个品牌好、2023年最出色运动蓝牙耳机推荐

上班通勤、娱乐和运动时间都需要一款耳机的陪伴。相信音乐是许多健身爱好者锻炼时的必备,在枯燥的运动中用音乐分散注意力,不仅可以提高运动的积极性,还能让身体产生一种非常奇妙的愉悦感。不过,想要在运动中获得更好的聆听体验&a…

【图像处理OpenCV(C++版)】——3.2 几何变换之投影变换

前言: 😊😊😊欢迎来到本博客😊😊😊 🌟🌟🌟 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义,适用于平时学习、工作快…

前端高频vue面试题总结

created和mounted的区别 created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。 如何从真实DOM到虚拟DOM …

springboot 全局 Date参数接收 String格式 转换异常报错

报错: .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type java.util.Date from String "2022-12-13 11:22:11": not a v…

C语言实现c++对象和私有成员

C语言实现c对象和私有成员 C语言实现c对象 类是C中面向对象编程思想中比较重要的组成部分,与结构体一样类只是一个模板只有在创建对象时才会申请内存空间,类其实是把具有共同特性的数据或方法(面向对象编程中,一般把函数称为方法…

录屏软件哪个好用?10个免费好用的「录屏软件」推荐

想知道如何录制自己的流媒体视频吗?有几个选项可以让您免费录制流媒体视频:桌面屏幕录像机、在线工具、浏览器扩展、iOS 应用程序和 Android 应用程序。 查看下表以获取有关不同直播流媒体录像机的更多信息:它们的主要用途和运行的操作系统。…

基于YOLOV5的火灾检测系统(含模型)+GUI界面

基于YOLOV5的火灾检测系统 本期我们带来的内容是基于YOLOV5的火灾检测系统,火灾检测系统还是比较有实际意义的,也方便大家在背景描述中展开。废话不多说,还是先看效果。 完整代码下载地址:基于YOLOV5的火灾检测系统(含模型&…

MySQL高级 SQL优化【limitcountupdate优化】

目录 1:SQL优化 1.1:limit优化 1.2:count优化 1.2.1:概述 1.2.2:count用法 1.3:update优化 1:SQL优化 1.1:limit优化 在数据量比较大时,如果进行limit分页查询&a…

拉伯配资|战略新兴产业火了,高增长低估值股曝光

导读:2022年,A股商场值得记录的前史性大事件不断。这一年,A股商场上市公司数量正式打破5000家,战略新兴工业上市公司数量打破2500家,占比初次打破50%大关。这一年,A股商场顶住杂乱的外部环境要素&#xff0…

一文读懂:什么是CRM?企业如何通过CRM盈利?

今天和大家分享一篇干货文章,主要探讨什么是CRM,用大白话解释企业究竟如何通过CRM盈利。文章有点长,但看完,相信你会有所收获。 一、什么是CRM CRM——客户关系管理系统,它不仅是一个系统,一个技术解决方案…

云原生安全系列 4:6个 Kubernetes 安全最佳实践

引言: Kubernetes为我们提供了一套很好的核心软件安全原则,但我们仍然需要理解并实施它们。对于 Kubernetes 集群分布式部署,攻击向量的数量也会增加,了解并尽可能限制这些攻击面的最佳实践非常重要。 即使在使用托管的 Kuberne…

以系统思维推进零信任架构演进

声明 本文是学习零信任数据动态授权桔皮书. 下载地址 http://github5.com/view/55013而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 以工程化思维推进零信任架构演进 前文所述零信任数据动态授权能力,是围绕数据本身的库、表、字段构建安…

光点数据中台能干啥?怎么做?用在哪?_光点科技

如今,数据营销已经成为许多公司数字化转型的必要选择。数据中台的支持是企业中任何高层次的业务应用不可或缺的。数据中心面向的公司业务不再是单一业务线,而是从公司整体角度审视业务全景,寻找可重用的沉淀能力。 今天,让我们来了…

一个 Qml MenuBar 的问题

基本情况 使用 QQuick.Control 中的 MenuBar 实现主菜单栏。菜单栏包括 File、Edit、View、Help 菜单项。点击菜单项,会弹出对应的菜单。 ApplicationWindow {id: windowwidth: 320height: 260visible: truemenuBar: MenuBar {Menu {title: qsTr("&File&…

List集合

首先看这个框架图: List集合代表一个元素有序,可重复的集合,集合中每个元素都有对应的顺序索引。List接口中增加了一些根据索引操作元素的方法: void add(int index,E element ) 在列表的指定位置插入该元素。 boolean addAll(in…

【数据结构】LinkedList模拟实现与简单使用

文章目录模拟实现LinkedListLinkedList的简单使用LinkedList的一些方法LinkedList的遍历简单对比一下LinkedList和ArrayList模拟实现LinkedList 在上一篇的博客中,我们讲解了链表的基础知识,并且模拟实现了一个无头单向不循环链表,链表的基础…

12.动态内存

文章目录动态内存12.1动态内存和智能指针12.1.1shared_ptr类make_shared函数shared_ptr的拷贝和赋值shared_ptr自动销毁所管理的对象shared_ptr还自动释放相关联的内存使用了动态生存期的资源的类12.1.2直接管理内存使用new动态分配和初始化对象动态分配的const对象内存耗尽指针…

Java集合类ArrayList应用 | 如何在字符串s1中删除有在字符串s2出现的字符?

目录 一、题干 二、题解 1. 思路 ArrayList实现 2. 代码 ArrayList实现 StringBuilder实现-1 StringBuilder实现-2 三、总结 一、题干 面试的编程题: s1: "welcome to Zhejiang" s2: "come" 要求输出从字符串s1删除s2中存在的字符之后…

如何更好使用markdown输出pdf

如何更好的使用markdown输出PDF 背景:当前很多人比较常用的 markdown 编辑方式是用vscode编写,再使用 vscode 中 的 MPE 的进行预览。有时候会出现这种情况:想要最终输出PDF给客户,但是通过 vscode 中的markdown 转 PDF插件生成 P…

云计算与云原生

如今是云时代,云计算,大数据,人工智能等新的名词在最近爆火。今天我们来了解一下,云计算与云原生。 在了解云原生之前,我们必须要了解云计算。 云计算 什么是云计算? 在了解云计算之前我们需要先了解一…