编程考古-安德斯·海尔斯伯格(Anders Hejlsberg)回答离开Borland的原因

安德斯·海尔斯伯格(Anders Hejlsberg)是著名的编程语言和工具开发者,曾主导开发了 Turbo PascalDelphi(Borland 时期),以及加入微软后参与的 C# 和 TypeScript。关于他离开 Borland 的原因,可以通过视频中Hejlsberg的口述了解到具体原因:

安德斯·海尔斯伯格Anders 回答离开Borland的原因

通过行业分析和多方报道,可以总结出以下几点关键因素:

1. 职业发展受限与微软的吸引力

  • 微软的邀约:1996 年,微软向Anders Hejlsberg提供了极具吸引力的机会,希望他领导新编程语言和工具的开发(后来成为 C# 和 .NET 框架)。微软的平台规模、资源投入以及对未来的技术愿景,对Anders Hejlsberg来说是更大的舞台。

  • 技术挑战:Anders Hejlsberg以追求技术创新著称。微软当时正计划颠覆企业级开发市场(如对抗 Java),这与他个人的兴趣高度契合。


2. Borland 的内部问题

  • 管理动荡:90 年代中后期,Borland 经历了多次管理层变动和战略调整,导致公司方向不稳定。这种环境可能让技术团队感到不安。

  • 资源缩减:随着 Borland 市场份额被微软挤压(尤其是 Visual Basic 和 Visual C++ 的竞争),其开发工具业务的资源投入逐渐减少,限制了Anders Hejlsberg团队的创新能力。


3. 个人对技术影响力的追求

  • Anders Hejlsberg在 Borland 已取得了巨大成功(Turbo Pascal 和 Delphi 是当时最流行的开发工具之一),但他可能希望自己的技术能影响更广泛的开发者群体。微软的平台和全球覆盖为此提供了可能。

  • 他在微软的后续成就(如 C# 成为主流语言、TypeScript 解决 JavaScript 痛点)印证了这一选择的前瞻性。


4. 公开报道与行业观点

  • 据《纽约时报》等媒体报道,Anders Hejlsberg离职的直接原因是微软的主动招募,且 Borland 未能匹配其职业诉求。

    图片

图片

  • 微软为海尔斯伯格提供了更大的自主权和资源,这是 Borland 后期难以企及的。

Anders Hejlsberg的离开是典型的“顶尖人才被更大平台吸引”案例,结合了 个人职业抱负、公司环境变化 和 技术趋势转向(如微软推动的 .NET 战略)。他的选择最终推动了 C# 和 TypeScript 的诞生,显著影响了现代软件开发。

Programming Languages: Survivors and Wannabes来源:

Programming Languages: Survivors and Wannabes(1996) (nytimes.com)

编程语言:常青树与挑战者(1996) (nytimes.com)

对这篇文章的评价:

尽管Charles Petzold以其作为微软的支持者和技术书籍作家的身份而闻名,但其列表显得过于简单且浅显。实际上,在1996年,LISP(即使在AI寒冬的尾声)、Perl(当时互联网的一半程序由Perl编写)、Tcl(可能占据了互联网的四分之一以及基于telnet的服务使用Tcl)、awk、Ada等语言都非常普遍。与此同时,Smalltalk、RPG、REXX和PL/1至少与COBOL一样常见。Python虽然仍不算主流,但正在逐步获得关注。PHP刚刚发布时就像天花一样在易感人群中迅速传播。

关于Delphi被描述为“讨厌微软的人的选择”,这确实让人发笑。事实上,Delphi的优点在于它对大型程序提供了良好的性能和安全性。选择Borland工具的原因是因为它们能够将程序的运行速度提高一倍,而不是出于意识形态上的考量。

Programming Languages: Survivors and Wannabes(1996) (nytimes.com) 原文

https://www.nytimes.com/1996/09/09/business/programming-languages-survivors-and-wannabes.html

图片

图片

图片

图片

图片

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

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

相关文章

西门子仿真实例位置

C:\Users\san\Documents\Siemens\Simatic\Simulation\Runtime\Persistence S7-PLCSIM Advanced V3.0 可以打开文件,删除重建

【数据库系统原理】Ch7 数据库应用设计与开发实例

目录 大纲7.1 需求描述与分析7.2 系统设计7.3 系统实现7.4 系统测试与维护 习题真题2024-102024-042023-102023-042022-10 大纲 7.1 需求描述与分析 熟悉需求描述与分析的方法,达到"领会"层次。 7.2 系统设计 熟悉根据需求的描述划分系统的功能模块,能够进行初步…

使用 Python 的turtle库绘制精美图形

在 Python 编程的世界里,turtle库是一个非常有趣且实用的工具,它为初学者和有经验的开发者提供了一个简单而直观的方式来进行图形绘制。本文将详细讲解如何使用turtle库绘制不同的图形,包括六边形、一个特定的多边形,以及一个由线…

基于linux平台的C语言入门教程(5)基本数据类型

文章目录 1. 什么是数据类型?2. C 语言的基本数据类型3. 数据类型的存储大小4. 示例代码代码解析:输出结果: 5. 常见问题问题 1:float 和 double 的区别是什么?问题 2:unsigned 类型可以存储负数吗&#xf…

Bellman_ford 算法——解决负权边最短路径问题

卡码网:94. 城市间货物运输 I 94. 城市间货物运输 I 题目描述 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。 网络中的道路都有各自的运输成本…

mysql——第二课

学生表 CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,sex varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,age int(11) DEFAULT NULL,c_id int(10) DEFAULT NULL,PRIMARY KEY (id),KEY c_id (c_id),CONSTR…

图解 ThreadLocal

在 Java 多线程编程的世界里,ThreadLocal 是一个非常实用的工具,它为每个线程提供了独立的变量副本,避免了多线程环境下的变量共享问题。今天,我们就从内存视角出发,通过一张图来深入理解 ThreadLocal 的工作原理&…

Sql Server 索引性能优化 分析以及分表

定位需优化语句 根据工具 skywking 或者开启慢查询日志 找到 慢sql 的语句根据 执行过程 来 判断 慢的原因 row filter 指标 看查了多少数据 比例多少 type 看下是单表 还是 join联表 比如 执行步骤多 没索引 优化方向 减少执行次数索引 没索引考虑加索引 加索引 尽量选择 i…

@JsonSerialize注解

1.简介 JsonSerialize注解可以自定义改变返回前端的内容,比如:将Student实体类的age字段的值在返回前端之前,由20改为21. 要用到jackson-databind依赖包,在Spring Boot项目中,默认已经集成了Jackson,因此你不需要手动引入Jackson库。 2.上例子 将Stud…

Java面试黄金宝典5

1. ConcurrentHashMap 和 HashTable 有哪些区别 原理 HashTable:它继承自 Dictionary 类,是 Java 早期提供的线程安全哈希表。其线程安全的实现方式是对每个方法都使用 synchronized 关键字进行同步。例如,在调用 put、get 等方法时&#xff…

vim的一般操作(分屏操作) 和 Makefile 和 gdb

目录 一. vim的基本概念 二. vim基础操作 2.1 插入模式 aio 2.2 [插入模式]切换至[正常模式] Esc 2.3[正常模式]切换至[末行模式] shift ; 2.4 替换模式 Shift R 2.5 视图(可视)模式 (可以快速 删除//注释 或者 增加//注释) ctrl v 三&…

Linux:基础IO---文件描述符

文章目录 1. 前言1.1 C语言文件知识回顾 2. 文件2.1 文件基础知识 3. 被打开的文件3.1 以C语言为主,先回忆一下C文件接口3.2 过渡到系统,认识文件系统调用3.3 访问文件的本质3.4 重定向&&缓冲区 序:在深入了解了进程的内容后&#xf…

2025年十大AI工具对比

2025年十大AI工具对比 以下是2025年各大AI工具的详细对比,涵盖性能、功能、用户评价等方面,并以表格形式呈现。数据来源于多个权威来源,确保信息全面且准确。 对比表格 排名AI工具名称主要功能性能特点用户评价适用场景1DeepSeek多模态AI、…

JDK 24 发布,新特性解读!

一、版本演进与技术格局新动向 北京时间3月20日,Oracle正式发布Java SE 24。作为继Java 21之后的第三个非LTS版本,其技术革新力度远超预期——共集成24项JEP提案,相当于Java 22(12项)与Java 23(12项&#…

批量图片压缩工具,高效减小文件大小并保持质量

在处理大量图片时,如何高效压缩文件大小并保持画质是个常见难题。今天为大家推荐一款专业工具——JPGC,它专为图片批量处理设计,能快速压缩JPG/JPEG格式图片,在减小文件体积的同时尽可能保留画质,尤其适合处理数码相机…

【002安卓开发方案调研】之Kotlin+Jetpack开发方案

基于2025年国内移动开发领域的现状,结合Jetpack Compose的技术特性和生态发展,以下是对KotlinJetpack Compose开发安卓应用的综合分析: 一、技术与生态成熟度评估 1. 技术成熟度 声明式UI与开发效率 Jetpack Compose采用声明式编程模型&…

软考中级-软件设计师 准备

软考中级-软件设计师 准备 一、软考相关1.1、考试时间1.2、考试时长1.3、题型和分值: 二、软考备考2.1、相关书籍2.2、推荐课程:B站up主zst_20012.3、学习路线 一、软考相关 1.1、考试时间 一年有两次软考,一般是五月末和十一月的中旬 以下…

【数据挖掘】Python基础环境安装配置

【数据挖掘】Python基础环境安装配置 一、摘要二、安装Python3.13.2三、安装Jupyter Notebook四、安装Numpy和Pandas以及matplotlib五、安装scikit-learn库和seaborn库 一、摘要 本文主要介绍如何在Windows上安装Python3.13.2,然后基于该Python版本安装Jupyter not…

给语言模型增加知识逻辑校验智能,识别网络中的信息投毒行为模式

目前阶段,现在的LLM缺少一个形式逻辑校验模型。 网络系统上不断增长的信息相当部分不再纯粹是人类生成,而是也由各种模型生成输出,模型后续从网络系统上取得信息,AI生态系统陷入了信息熵增循环,AI模型生态系统的计算输…

OpenLayers集成天地图服务开发指南

以下是一份面向GIS初学者的OpenLayers开发详细教程&#xff0c;深度解析代码&#xff1a; 一、开发环境搭建 1.1 OpenLayers库引入 <!-- 使用CDN引入最新版OpenLayers --> <link rel"stylesheet" href"https://cdn.jsdelivr.net/npm/ollatest/ol.c…