@Pragmatic_Eng: C# 的创始人 Anders Hejlsberg(@ahejlsberg) 谈塑造了该语言的设计目标以及为何标准化……

X AI KOLs Following 新闻

摘要

C# 的创始人 Anders Hejlsberg 讨论了塑造该语言的设计目标,包括面向对象、托管代码、垃圾回收、反射和标准化。

C# 的创始人 Anders Hejlsberg(@ahejlsberg) 谈塑造了该语言的设计目标以及为何标准化从一开始就是目标: “最核心的是兼具 C++ 的强大和生产力以及 Visual Basic 的易用性。 我们知道我们想构建一门面向对象的语言。我们需要托管代码或字节码,以便面向不同的运行时环境。 我们想要垃圾回收和异常处理,但也想要统一的类型系统——在 C# 中,任何东西都可以赋值给 object。如果是值类型,我们就对其进行装箱。 并且它是一个自描述对象。因此,反射:你可以问一个对象‘你是什么?’,然后在运行时获取关于它的所有信息,并能够以许多其他环境中不存在的方式动态操作它。 我们希望语言将属性、方法和事件这种新模式作为一等公民,因为这就是组件构建的方式,而不仅仅是函数、过程甚至对象。 我们还希望创建一门标准化的语言。我们想把这门语言交给一个标准化委员会,并努力在那里创造公平的竞争环境。 所有这些就是 C# 所涵盖的内容。”
查看原文
查看缓存全文

缓存时间: 2026/05/20 14:31

C# 语言的创建者安德斯·海尔斯伯格(@ahejlsberg)谈到塑造这门语言的设计目标,以及为何标准化从一开始就是目标:

“最核心的目标是:兼具 C++ 的强大与生产力,以及 Visual Basic 的易用性。

我们清楚想要构建一门面向对象的语言。我们希望拥有托管代码或字节码,以便能面向不同的运行时环境。

我们需要垃圾回收和异常处理,同时还要有统一的类型系统——在 C# 中,任何值都能赋值给 object 类型。如果是值类型,我们会将其装箱。

而且它是一个自描述对象。因此,反射机制允许你询问一个对象:‘你是什么?’然后你可以在运行时获取关于它的全部信息,并以许多其他环境中不存在的方式动态操作它。

我们希望这门语言将属性、方法和事件这种新模型作为一等公民,因为组件正是以此方式构建的,而不仅仅是函数、过程甚至对象。

我们还希望创造一门标准化的语言。我们希望把语言交给标准化委员会,并努力在那里创造公平的竞争环境。

所有这些都汇聚在 C# 之中。”

相似文章

遵从性 vs 理解

Lobsters Hottest

作者回顾了他在软件标准和开源领域的职业生涯,然后描述了使用 Claude 构建一个名为 Roundhouse 的编译器,该编译器将 Rails 应用程序转换为静态类型语言,如 Rust、Crystal 和 TypeScript。