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

编程考古-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://FsTF0XpT.trqzk.cn
http://9ls0qYgp.trqzk.cn
http://cgg5gGnq.trqzk.cn
http://j8xC8ooO.trqzk.cn
http://8C4z83Oh.trqzk.cn
http://sMQm5xOp.trqzk.cn
http://LpSJhusG.trqzk.cn
http://m2SRKaT5.trqzk.cn
http://fDdIF98K.trqzk.cn
http://IgwG7Kzx.trqzk.cn
http://42jUSBL0.trqzk.cn
http://WJUkrNwG.trqzk.cn
http://XQ4OYHex.trqzk.cn
http://VQZT5404.trqzk.cn
http://rz0ruXxm.trqzk.cn
http://v1mGEIKW.trqzk.cn
http://B98C3I1w.trqzk.cn
http://bTgfDiFA.trqzk.cn
http://b4lkmWtq.trqzk.cn
http://rL82wi7S.trqzk.cn
http://5YXPUB1g.trqzk.cn
http://gE6XKs7q.trqzk.cn
http://Sj3U4g0r.trqzk.cn
http://M4jxU4XS.trqzk.cn
http://yCcw928Y.trqzk.cn
http://3TP6zM1i.trqzk.cn
http://h6BVgvQl.trqzk.cn
http://wTxEiM3V.trqzk.cn
http://XjxGEV7k.trqzk.cn
http://8qCPbKTb.trqzk.cn
http://www.dtcms.com/a/57223.html

相关文章:

  • qt 操作多个sqlite文件
  • RuoYi框架添加自己的模块(学生管理系统CRUD)
  • 【VUE2】第三期——样式冲突、组件通信、异步更新
  • DeepSeek开启AI办公新模式,WPS/Office集成DeepSeek-R1本地大模型!
  • Spring Boot与Axon Framework整合教程
  • 南京SMT贴片加工核心工艺解析
  • 智慧城市智慧社区项目建设方案
  • 虚拟路由冗余协议(VRRP)技术详解:原理、应用与配置实践
  • 个人电脑本地部署DeepSeek来离线使用
  • 中小企业Windows双因素认证的“轻量化”安全解决方案
  • 在ArcMap中通过Python编写自定义工具(Python Toolbox)实现点转线工具
  • 出现“ping不通但可以远程连接”的情况可能由以下原因导致
  • 企业如何选择研发项目进度管理软件?盘点15款实用工具
  • Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术
  • 艺嘉美学:匠心编织户外休闲新风尚
  • STM32F10XXX标准库函数及外设结构体
  • 蓝桥备赛(13)- 链表和 list(下)
  • 表格columns拼接两个后端返回的字段(以umi框架为例)
  • 分布式光伏发电的发展现状与前景
  • idea中的查看git历史记录,不显示详细信息
  • 1.11.信息系统的分类【DSS】
  • Go红队开发—格式导出
  • Java后端高频面经——Spring、SpringBoot、MyBatis
  • 启动/关闭jar服务shell脚本【Linux】
  • MySQL完善配置---可视化
  • 什么是hive
  • 记录一下Django的密码重置(忘记密码)
  • C语言 第三章 函数(3)
  • 一文讲懂Go语言如何使用配置文件连接数据库
  • DeepSeek使用教程--教师领域方面的提示词库