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. POJ 1151:Atlantis 线段树+扫描线

    Atlantis Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 19374   Accepted: 7358 Descrip ...

  2. centos7上安装mysql8

    话不多说仍然是更换虚拟机的系列安装. 一.首先下载最先版的mysql.到官网下载https://dev.mysql.com/downloads/file/?id=477146 下载后上传linux到相 ...

  3. maven在windows下的安装配置及手动引入oracle数据库jar包

    一.maven的安装配置 注意:在进行如下配置之前,有个前提是你的java的jdk安装配置正确才行 1.首先,下载maven,网址http://maven.apache.org/download.cg ...

  4. xv6 锁

    在xv6 中锁对象是 spinlock,spinlock中的locked为1的时候表示被占用,为0的时候锁空闲. struct spinlock { uint locked; // Is the lo ...

  5. 自己安装windows版本的Flink

    参照 https://blog.csdn.net/clj198606061111/article/details/99694033 我自己做一遍 找到对应的网址 https://flink.apach ...

  6. Django——优美的Path()函数

    path( )作用:解析URL地址 path( ) 标准语法: (<>为必须的参数,[]为可选参数) path(<route>, <view>, [name=Non ...

  7. 类的始祖Object

    一.概述 Object时java中顶级父类,也是唯一没有父类的类:它是整个java中最基本的类,在java中所有的类都默认继承了Object. 二.重要方法 1.clone方法 克隆出一个新的对象. ...

  8. VUE随手记坑

    1.el-select 默认选中的问题 <el-select v-model="temp.audit" placeholder="请选择"> < ...

  9. PHP ~ 设置和读取 Cookie

    一,设置 Cookie setcookie("user",$user,time()+3600);     // user 为用户名,$user 为变量的值   二,读取 Cooki ...

  10. libevent简介

    一.参考资料 1.ubuntu下安装libevent 2.libevent实现TCP 服务端