25年后从10个使用Delphi的理由到1个至25个使用Delphi 10.3的理由


25年前发布Delphi 1时,我汇总了使用Delphi的十大理由。这是我精通Delphi原始书的序言中的原始列表:

“可以使用许多编程环境,但是Delphi之所以出色,有很多原因。以下是我以相反顺序使用Delphi的十大理由:

  • 10.以前的Borland Pascal和C++编译器
  • 9.第三方组件和工具
  • 8.编辑器,调试器,浏览器和其他工具
  • 7.库源代码的可用性
  • 6.基于表单和面向对象的方法
  • 5.快速编译器
  • 4.数据库支持
  • 3.与Windows编程紧密集成
  • 2.Delphi的组件技术
  • 1.对象Pascal语言”

现在,经过了这么多年,什么会成为前十名,或者更好的“使用Delphi的25大理由”列表?这次,我不会以任何顺序对它们进行排序,并保留所有仍适用的内容(提示,全部!):

  • 1. Object Pascal语言
  • 2. 丰富的第三方组件和工具生态系统
  • 3. IDE本身,以及编辑器,调试器和其他工具
  • 4. 库源代码的可用性
  • 5. VCL仍然是本机Windows开发的最佳组件库,迄今为止,它在25年内更加稳定,并且包含所有Windows API,包括COM和WinRT。
  • 6. FireMonkey库具有为在台式机和移动平台上运行的应用程序的UI编写单一源代码的能力,并涵盖5个操作系统
  • 7. 基于表单和面向对象的方法,以及混合纯编码和可视化设计的能力
  • 8. 快速编译器,或者更好的许多快速编译器
  • 9. 针对Intel 32,Intel 64,Arm 32和Arm 64的10种本机编译器的可用性,适用于iOS(2 + 1),Android(2),macOS(2),Windows(2)和Linux(1)
  • 10.广泛的数据库支持,以及强大而全面的FireDAC库
  • 11.与Windows编程及其API的紧密集成
  • 12.能够在所有平台,台式机和移动设备上调用API
  • 13.Delphi的组件技术及其核心RTL库,从其形式和组件流机制开始
  • 14.得益于WebBroker,Indy,DataSnap,WebSnap,SOAP,BaaS客户端,云客户端,HTTP客户端库,REST客户端库和许多第三方选项,对Internet技术的深入支持
  • 15.FireMonkey设计器具有设备视图和设备上的实时预览
  • 16.现代语言扩展,例如泛型,匿名方法,属性和反射
  • 17.一个由活跃的开发人员,MVP和合作伙伴组成的社区
  • 18.与源代码的独特兼容性,使产品的旧版本(包括旧版本)与旧版本兼容,从而保留了数十亿行Delphi源代码开发人员编写的代码中的投资
  • 19.多年来,在Delphi中为所有行业和所有纬度构建了一些真正令人难以置信的应用程序,以及使用该产品的公司取得的令人难以置信的成功故事
  • 20.为所有平台编写自定义组件的能力
  • 21.使用新的组件和属性编辑器,向导等扩展IDE的能力
  • 22. RAD Server多层插件体系结构
  • 23. Visual LiveBindings体系结构
  • 24.动作和动作管理器体系结构
  • 25.用Delphi编码的乐趣;-)

在过去的25年中,使用Delphi一直是很棒的经验。Delphi 1很棒,Delphi 10.3.3是令人印象深刻的产品。德尔福万岁!

http://blog.marcocantu.com/blog/2020-february-25-reasons-delphi.html

2020年使用Delphi的25个理由(我觉得四个优点:控件+可视化开发+跨平台+数据库,还有一个编译快,运行快)——人生苦短,我用Delphi!的更多相关文章

  1. 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版

    <zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...

  2. 《zw版·delphi与halcon系列原创教程》zw版_THImagex控件函数列表

    <zw版·delphi与halcon系列原创教程>zw版_THImagex控件函数列表 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两 ...

  3. WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)

    #define WM_ERASEBKGND                   0x0014 Parameters wParam A handle to the device context. //  ...

  4. DELPHI中如何让FORM窗体透明,只显示控件?

    DELPHI中如何让FORM窗体透明,只显示控件?分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:7largewanglargewanglargewang等级:Blank ...

  5. Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄(转)

    用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是 回调函数.我的理解是这样的: 回 调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows操作系统,比如其他的程序等 ...

  6. Delphi中如何控制其他程序窗体上的窗口控件

    回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以随时按照你提供的地址调用这个函数通知你,并按照预先规定好的形式传递参数 ...

  7. delphi压缩与解压_不需要特别的控件

    unit unzip; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  8. Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄

    有了回调函数的概念及上面的例子,我们可以继续了.其实想要找到一个标题已知的窗口句柄,用一个API函数就可以了:FindWindow.其函数原形是:function FindWindow(lpClass ...

  9. Delphi 控件大全

    delphi 控件大全(确实很全)   delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org Tb97 最有名的工具条(ToolBar ...

随机推荐

  1. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-fast-forward

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  2. Ubuntu19.04的安装过程详解以及操作系统初始化配置

    Ubuntu19.04的安装过程详解以及操作系统初始化配置                                                                       ...

  3. POJ 3614:Sunscreen 贪心+优先队列

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 5378   Accepted: 1864 Descrip ...

  4. POJ 3061:Subsequence 查找连续的几个数,使得这几个数的和大于给定的S

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10172   Accepted: 4160 Desc ...

  5. c/c++ 计算屏幕的PPI

    PPI(pixels per inch)是图像分辨率的单位,表示的是每英寸所拥有的像素(pixel)数目.那如何计算勒?其实PPI计算有这相应的公式,公式为:sqrt(横向的平方+纵向的平方)/屏幕尺 ...

  6. 又一个无效的列类型错误Error setting null for parameter #7 with JdbcType NULL . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLExcept

    在更新数据时候出现的错误 更新代码如下: <update id="modify" parameterType="Standard"> update ...

  7. jQuery通过name获取值

    使用jQuery获取name="day"的input对象: 方法1 var dayObj=$('input[name="day"]'); for(int i=0 ...

  8. jar包学习

    jar: java的压缩包,主要用于存储类文件,或者配置文件等. 命令格式: jar -cf 包名.jar 包目录 解压缩: jar -xvf 包名.jar 将jar包目录列表重定向到一个文件中: j ...

  9. scala 语言特性

    Scala 语言特性 Unit 表示无值, 等价于java, C++中的void Null 表示空值或空引用 Nothing 所有其他类型的子类型, 表示没有值 Any 所有类型的超类, 任何实例都属 ...

  10. Python 打开文件(File Open)

    版权所有,未经许可,禁止转载 章节 Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(Str ...