草庐IT

【历史上的今天】3 月 24 日:苹果推出 Mac OS X;微软前任 CEO 出生;Spring 1.0 正式发布

历史上的今天 2023-08-15 原文

整理 | 王启隆

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

今天是 2023 年 3 月 24 日,在 2016 年的今天,暴雪娱乐公司发布了第一人称射击多人游戏《守望先锋》。根据评分汇总网站 Metacritic 的统计,游戏获得普遍好评,评论者称赞游戏易上手和乐趣。2016 年 5 月游戏发售后,两周内正式版即达到了 700 万个玩家数;2019 年 1 月,《守望先锋》在美服的售价永久下调 50%以吸引更多玩家加入,在中国服也将售价下调。

今天也是美国王安电脑公司创始人王安逝世的日子,在他于 1990 年的今天离开之后,1992 年 8 月 18 日,王安公司宣布破产。回顾计算机历史上的 3 月 24 日,这一天还发生过哪些影响了科技进程的关键事件呢?

1956 年 3 月 24 日:微软前首席执行官 Steve Ballmer 出生

史蒂夫·鲍尔默(Steven Anthony Ballmer)出生于 1956 年 3 月 24 日,他自 2000 年 1 月至 2014 年 2 月担任微软公司首席执行官,是现任美国职业篮球联赛(NBA)洛杉矶快艇队的拥有者;2014 年 2 月 4 日,萨帝亚·纳德拉接替史蒂夫·鲍尔默,成为微软首席执行官,鲍尔默保留在董事会中的职务。他作为微软 CEO 时受到了褒贬不一的评价,在鲍尔默的任期中,微软公司销售额翻了三倍,利润翻了一番,但失去了市场主导地位,错过了 21 世纪的技术趋势,例如以 iPhone 和 Android 形式出现的智能手机的崛起。

图源:维基百科

鲍尔默出生在密歇根州底特律。他的父亲是瑞士籍移民,母亲是犹太人。鲍尔默跟他的妹妹在底特律附近的 Farmington Hills 长大,他们的父亲在那里的福特公司做管理工作。鲍尔默在 Detroit Country Day School 学习期间担任学校篮球队的经理。1973 年,鲍尔默以平均分 4.0 从这个学校毕业,做了班级的告别演说。随后,鲍尔默获得了哈佛大学的奖学金。

在大学一年级,他与大学同学比尔·盖茨建立了深厚友谊,两人是桥牌牌友。这份友谊一直持续甚至盖茨离开哈佛大学辍学建立自己的软件公司——微软。在哈佛,鲍尔默是 The Harvard Crimson 和 The Harvard Advocate 的广告经济人。1977 年毕业后,鲍尔默获得了数学与经济学的文学士学位。

在去斯坦福商学院攻读工商管理硕士学位之前,鲍尔默在宝洁公司做了 2 年的产品助理。一年后在盖茨的说服下他辍学离开斯坦福去了微软。鲍尔默于 1980 年 6 月 11 日加入微软,成为微软的第 30 位员工,是盖茨聘用的第一位业务经理。鲍尔默在当时获得了 50000 美元的薪水以及公司 5% 的股份。当微软于 1981 年正式注册成立后,鲍尔默的股份涨到了 8%;2003 年,鲍尔默出售了 3930 万股微软股票,约合 9.55 亿美元,从而将他的所有权减少到 4%。同年,他停止了微软的员工股票期权计划。

在被聘用后的 20 年里,鲍尔默领导了微软的多个部门,包括运营、操作系统开发以及销售和支持。从 1992 年 2 月起,他担任销售和支持部门执行副总裁。鲍尔默领导了 Microsoft 的 .NET Framework 开发,随后被提升为微软总裁,在 1998 年 7 月至 2001 年 2 月期间一直担任该职位,使他成为公司事实上的第二号人物,仅次于董事长兼首席执行官比尔·盖茨。2008 年,比尔·盖茨退休后,鲍尔默正式掌理微软大权,成为了至今服务于微软最长时间的雇员。1990 年,他与微软员工 Connie Snyder 结婚,现有 3 个儿子。

图源:维基百科

和现任微软 CEO 纳德拉对竞争对手的态度截然不同,2006 年 3 月,鲍尔默在财富杂志的采访中表示 iPod 大部分音乐的普通格式是“偷来的”,被问到他是否使用 iPod 时,他回答说:“不,我不用,我的孩子也不会去使用,我已经给他们洗脑了:你们不能用 Google,也不能用 iPod。”。根据微软统计,2009 年约有 1 万人透过 iPhone,使用微软内部的电子邮件系统,这表示全球有近 10%的微软员工使用苹果 iPhone 手机。这件事情让微软高层十分在意,因为手机市场竞争如此激烈,竟然还有这么多员工使用对手的产品。

鲍尔默也反对开源社区和开源软件,对于竞争对手到微软挖角,鲍尔默常表现的十分不能克制,甚至大发肝火。正如前文所说,鲍尔默在任期间,微软错过了许多商业机会,包括触控智能手机和平板电脑;但他也让微软公司的销售额翻了三倍,利润翻了一番,并领导了 .NET Framework 的开发,鲍尔默也曾反称自己在任微软期间,公司盈利方面做得已经相当不错,除了苹果之外,微软是最赚钱的公司。你怎么看待鲍尔默管理下的微软?欢迎在评论区分享你的真知灼见。

资料来源:维基百科、百度百科

2001 年 3 月 24 日:苹果电脑公司推出 Mac OS X

Mac OS X 是苹果公司推出的基于图形用户界面操作系统,如今被称为 macOS;Mac OS X 为麦金塔(Macintosh,简称 Mac)系列电脑的主操作系统。StatCounter 在 2018 年 8 月的数据表示,在桌面操作系统中,macOS 的使用份额为 12.65%,次于 Windows 的 82.51%位居第二。Mac OS X 包含两个主要的部分:核心名为 Darwin,是以 BSD 源代码和 Mach 微核心为基础,由苹果公司和独立开发者社群合作开发;及一个由苹果公司开发,名为 Aqua 的专利的图形用户界面。

Mac OS X 是 1999 年发行的 Classic Mac OS 最终版本 Mac OS 9 的后继者,桌面版 Mac OS X 10.0“Cheetah”于 2001 年 3 月 24 日发布。2012 年,苹果将 Mac OS X 更名为 OS X,第一个使用此命名的系统为“OS X Mountain Lion”,随后版本的 macOS 皆以大型猫科动物命名,例如 Mac OS X v10.8 被称为“Mountain Lion”,但随着 2013 年 6 月 OS X Mavericks 的公布,命名开始采用加州地标。2016 年 6 月,苹果公司宣布 OS X 更名为 macOS,以便与苹果其他操作系统 iOS、watchOS 和 tvOS 保持统一的命名风格。

图源:维基百科

Mac OS X 最初是苹果用于 Macintosh 计算机的操作系统的第十个主要版本出现的;直到 2020 年,macOS 的各个版本都保留了主要版本号“10”。Mac OS X 名称中的字母“X”指的是数字 10,一个罗马数字,Apple 已经声明在这种情况下应该发音为“十”。但是,它通常也像字母“X”一样发音。以前的 Macintosh 操作系统(经典 Mac OS 的版本)则使用阿拉伯数字命名,就像 Mac OS 8 和 Mac OS 9 一样。

历史上的今天,苹果所发布的 Mac OS X 的第一个版本 Mac OS X Server 1.0 其实是一个过渡产品;它具有类似于经典 Mac OS 的界面,尽管它与为旧系统设计的软件不兼容。Mac OS X 的消费者版本包括更多的向后兼容性。Mac OS 应用程序可以通过 Carbon API 重写为本地运行;许多也可以直接通过经典环境运行,但性能会降低。随后,Mac OS X 的消费者版本于 2001 年与 Mac OS X 10.0 一起推出。评价参差不齐,对其精致、有光泽的 Aqua 界面赞不绝口,但批评其性能缓慢。

苹果公司迅速开发了 Mac OS X 的几个新版本,随着操作系统的发展,它远离了经典的 Mac OS 风格,添加和删除了许多应用程序。考虑到音乐是一个关键市场,苹果为 Mac 开发了 iPod 音乐播放器和音乐软件,包括 iTunes 和 GarageBand。针对消费者和媒体市场,Apple 强调了其新的“数字生活方式”应用程序,例如 iLife 套件、通过 Front Row 媒体中心和 Safari 网络浏览器集成的家庭娱乐。随着互联网的日益普及,Apple 提供了额外的在线服务,包括 .Mac、MobileMe 以及最近的 iCloud 产品。

Mac OS X 系统的一个关键发展,当然是从 2007 年开始发布的 iPhone;在 iPhone 的发布会上,乔布斯曾宣传“iPhone 手机里内置了桌面级操作系统 Mac OS X”,但 iPhone 使用的其实是基于 Mac OS X 的操作系统,后来被称为“iPhone OS”,如今被称为 iOS。同时发布两个基于相同框架的操作系统给苹果带来了压力,苹果称 iPhone 迫使其推迟 Mac OS X 10.5 Leopard。

然而,在苹果向第三方开发商开放 iPhone 之后,它的商业成功引起了人们对 Mac OS X 的关注,许多 iPhone 软件开发商对 Mac 开发表现出了兴趣,焕发了 Mac OS X 的第二春。2012 年,随着 OS X 10.8 Mountain Lion 的发布,系统名称从 Mac OS X 缩短为 OS X。那一年,Apple 解散了 OS X 开发负责人 Scott Forstall,开始从拟物化风格转向我们如今所熟悉的扁平化风格,Mac OS X 这一名字也正式退出了历史舞台。

资料来源:维基百科、百度百科

2004 年 3 月 24 日:Spring 1.0 正式发布

图源:维基百科

Spring Framework 是 Java 平台的一个开源应用程序框架,一开始简写为 Spring,后来从中孵化出了其他项目,比如大家常用的 Spring Boot、Spring Cloud 等,因此,Spring 目前代表了 Spring 家族。由于高度模块化的设计、强大的生态系统等特色,Spring 是目前最受欢迎的 Java 框架。Spring Framework 以 Apache License 2.0 开源许可协议的形式发布,该框架最初由 Rod Johnson 以及 Juergen Hoeller 等人开发。

Spring 的测试版本起初由 Rod Johnson 开发,并在 2002 年 10 月发布在 Expert One-on-One J2EE Design and Development 一书中。2003 年 6 月,Spring Framework 第一次发布在 Apache 2.0 许可证下。2004 年 3 月 24 日,历史上的今天,发布了里程碑的版本 1.0,2004 年 9 月以及 2005 年 3 月,又发布了新的里程碑版本。2006 年,Spring Framework 获得了 Jolt 生产力奖 和 JAX 创新奖。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于 Java 企业版平台构建的 Web 应用提供了大量的拓展支持。

以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物。在《新程序员:我们的技术时代,我们的程序人生》中,来自四十余位技术人跨越半个世纪,用代码敲出一个个真实的程序人生故事!

扫描或点击《新程序员:我们的技术时代,我们的程序人生》订阅!

有关【历史上的今天】3 月 24 日:苹果推出 Mac OS X;微软前任 CEO 出生;Spring 1.0 正式发布的更多相关文章

  1. ruby-on-rails - 带 Spring 锁的 Rails 4 控制台 - 2

    我正在使用Ruby2.1.1和Rails4.1.0.rc1。当执行railsc时,它被锁定了。使用Ctrl-C停止,我得到以下错误日志:~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`gets':Interruptfrom~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.2/lib/spring/client/run.rb:47:in`verify_server_version'from~/.rvm/gems/ruby-2.1.1/gems/spring-1.1.

  2. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  3. ruby-on-rails - openshift 上的 rails 控制台 - 2

    我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新ruby​​gems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems

  4. ruby-on-rails - 相关表上的范围为 "WHERE ... LIKE" - 2

    我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que

  5. spring.profiles.active和spring.profiles.include的使用及区别说明 - 2

    转自:spring.profiles.active和spring.profiles.include的使用及区别说明下文笔者讲述spring.profiles.active和spring.profiles.include的区别简介说明,如下所示我们都知道,在日常开发中,开发|测试|生产环境都拥有不同的配置信息如:jdbc地址、ip、端口等此时为了避免每次都修改全部信息,我们则可以采用以上的属性处理此类异常spring.profiles.active属性例:配置文件,可使用以下方式定义application-${profile}.properties开发环境配置文件:application-dev

  6. ruby-on-rails - Ruby - 如何从 ruby​​ 上的 .pfx 文件中提取公钥、rsa 私钥和 CA key - 2

    我有一个.pfx格式的证书,我需要使用ruby​​提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o

  7. 带有 attr_accessor 的类上的 Ruby instance_eval - 2

    我了解instance_eval和class_eval之间的基本区别。我在玩弄时发现的是一些涉及attr_accessor的奇怪东西。这是一个例子:A=Class.newA.class_eval{attr_accessor:x}a=A.newa.x="x"a.x=>"x"#...expectedA.instance_eval{attr_accessor:y}A.y="y"=>NoMethodError:undefinedmethod`y='forA:Classa.y="y"=>"y"#WHATTT?这是怎么回事:instance_eval没有访问我们的A类(对象)然后它实际上将它添加到

  8. ruby-on-rails - rails 上的 ruby : radio buttons for collection select - 2

    我有一个集合选择:此方法的单选按钮是什么?谢谢 最佳答案 Rails3中没有这样的助手。在Rails4中,它是collection_radio_buttons. 关于ruby-on-rails-rails上的ruby:radiobuttonsforcollectionselect,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18525986/

  9. ruby - 将命令行上的变量传递给 Cucumber 测试 - 2

    我正在尝试将cucumber项目的用户名和密码置于版本控制之外。有没有办法在命令行上手动将用户名和密码等变量传递给Cucumber脚本?我的备份计划是将它们放在一个YML文件中,然后将该文件添加到gitignore,这样它们就不会被置于版本控制中。 最佳答案 所以,我看到了您对铁皮人的评论,答案是肯定的。cucumberPASSWORD=my_passwordPASSWORD被设置为环境变量,您可以通过将其引用为ENV['PASSWORD']来使用它的值。例如,browser.text_field(:id=>'pwd').setEN

  10. ruby - 将哈希值保存到 Ruby 上的文件 - 2

    我刚刚迈出了编程的第一步。我刚刚完成了CodeAcademy的另一门类(class)。这次我被要求创建一个小电影目录。这是我的问题:如何在文件中保存/加载带有电影标题和评级的哈希值而不是自己的代码?下面是代码现在的样子(几句葡萄牙语,但您可以忽略它:movies={Memento:3,Primer:4,Ishtar:1}puts"Oquevocêgostariadefazer?"puts"--Digite'add'paraadicionarumfilme."puts"--Digite'update'paraatualizarumfilme."puts"--Digite'display'

随机推荐