当前位置: 首页 > article >正文

编程考古-Borland历史:《.EXE Interview》对Anders Hejlsberg关于Delphi的采访内容(中)

为了纪念Delphi在2002年2月14日发布的25周年(2020.2.12),这里有一段由.EXE杂志编辑Will Watts于1995年对Delphi首席架构师Anders Hejlsberg进行的采访记录。在这次采访中,Anders讨论了Delphi的设计与发展,以及即将到来的针对Windows 95的32位版本。

Q. 编译器引擎本身是用Delphi编写的吗?它与Borland Pascal 7的编译器有多大区别?

A. 编译器是用汇编语言编写的。它完全向后兼容BP7,并且我们添加了许多面向对象的扩展,如类引用、虚拟构造函数以及IS和AS操作符。我们做了大量工作来实现属性的声明、注册和归档,并生成运行时类型信息,用于将公开的属性、事件和方法信息传递给开发环境。在我们的32位版本中,你会看到该功能的一些有趣应用。一个非常独特的改进是我们使用绑定方法实例指针实现了事件委托。它们非常高效,并很好地融入了语言。当然,我们也做了很多工作来添加结构化的异常处理。此外,还有很多小细节是人们所要求的,比如对C调用约定的支持。

Q. Delphi以类似于Apple的Object Pascal的方式实现对象,所有对象都在堆上分配。而Turbo/Borland Pascal的早期版本采用了一种更像C++的方式,允许在栈上或静态地分配对象。你能解释一下这种变化背后的原因吗?

A. 这实际上是一个关于特性与复杂性的问题。D


http://www.kler.cn/a/576968.html

相关文章:

  • docker 若依plus cloud 部署 oss配置失败
  • 前端项目中export和import的作用
  • 【JVM】字节码指令集
  • 正向代理与反向代理
  • 【玩转23种Java设计模式】结构型模式篇:组合模式
  • Python开发Scikit-learn面试题及参考答案
  • PyTorch深度学习框架60天进阶学习计划第15天:迁移学习实践
  • 【2025】基于Python+Django的酒店民宿预订管理系统(源码+调试+答疑+学习资料)
  • 基于SpringBoot的商城管理系统(源码+部署教程)
  • 使用 Yarn 安装依赖的完整指南
  • linux 基本命令教程,巡查脚本,kali镜像
  • 关于C++数据类型char的类型是整数的思考
  • 从多智能体变成一个具有通过场景生成多个决策路径 并在实施的过程中优化决策路径 openmanus 致敬开源精神中的每一个孤勇者
  • HeapDumpBeforeFullGC和HeapDumpOnOutOfMemoryError区别
  • 【机器学习中的“模型穿越”问题:定义、解决方法】
  • 《探秘课程蒸馏体系“三阶训练法”:解锁知识层级递进式迁移的密码》
  • Vue3技术实践:基于XLSX与File-Saver的Excel高效导出方案
  • 《Linux C 智能 IO 矩阵:输入输出的自适应数据流转》
  • sdp与传统网络安全防护的区别 sdn 网络安全
  • iOS侧滑返回手势冲突处理