2020年使用Delphi的25个理由(我觉得四个优点:控件+可视化开发+跨平台+数据库,还有一个编译快,运行快)——人生苦短,我用Delphi!
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!的更多相关文章
- 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版
<zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...
- 《zw版·delphi与halcon系列原创教程》zw版_THImagex控件函数列表
<zw版·delphi与halcon系列原创教程>zw版_THImagex控件函数列表 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两 ...
- WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)
#define WM_ERASEBKGND 0x0014 Parameters wParam A handle to the device context. // ...
- DELPHI中如何让FORM窗体透明,只显示控件?
DELPHI中如何让FORM窗体透明,只显示控件?分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:7largewanglargewanglargewang等级:Blank ...
- Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄(转)
用我的方法来控制其他程序窗体上的窗口控件,必须先了解什么是 回调函数.我的理解是这样的: 回 调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows操作系统,比如其他的程序等 ...
- Delphi中如何控制其他程序窗体上的窗口控件
回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以随时按照你提供的地址调用这个函数通知你,并按照预先规定好的形式传递参数 ...
- delphi压缩与解压_不需要特别的控件
unit unzip; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Delphi 查找标题已知的窗口句柄,遍历窗口控件句柄
有了回调函数的概念及上面的例子,我们可以继续了.其实想要找到一个标题已知的窗口句柄,用一个API函数就可以了:FindWindow.其函数原形是:function FindWindow(lpClass ...
- Delphi 控件大全
delphi 控件大全(确实很全) delphi 控件查询:http://www.torry.net/ http://www.jrsoftware.org Tb97 最有名的工具条(ToolBar ...
随机推荐
- IDEA快速定位一个文件到项目目录
第一步:快捷键搜索java文件关键字 快捷键Ctrl+N,如果设置为Eclipse版本快捷键为Ctrl+Shift+R 第二步:定位文件到项目目录中 1.在当前文件下 2.点击定位按钮 3.定位到项目 ...
- 搭建selenium+Python+eclipse 的开发环境
下载安装Python,下载“python-2.7.9.msi”后可直接安装 下载安装setuptools,下载setuptools-11.3.1后,用命令提示符转到安装包中setup.py所在的位置, ...
- HDU - 6198 number number number(规律+矩阵快速幂)
题意:已知F0 = 0,F1 = 1,Fn = Fn - 1 + Fn - 2(n >= 2), 且若n=Fa1+Fa2+...+Fak where 0≤a1≤a2≤⋯≤a,n为正数,则n为mj ...
- a标签的超链接提交form表单
<form action="/home/search" method="get" id="search_form"><di ...
- oracle基础知识小结
一.查看oracle用户.角色信息1.查看所有用户 select * from all_users; select * from user_users; 2.查看用户或角色系统权限 select * ...
- 一百零八、SAP的OO-ALV之二,创建屏幕Screen
一.在资源管理器,右键->创建屏幕 二.输入4位数字 三.输入屏幕的描述 四.在逻辑流里面PBO用于显示屏幕,PAI用于用户交互. 五.在元素清单里面,在屏幕中的所有元素都是在元素清单中的
- 《新标准C++程序设计》4.1(C++学习笔记12)
运算符重载的概念和原理 一.运算符重载的需求 C++预定义的“+.-. * ./.%. ^ .&.~.!.|. = .<< >>.!= ”等运算符,只能用于基本数据类型 ...
- Swift 类的使用class
/* 类属性的介绍 Swift中类的属性有多种 1.存储属性:存储示例的常量和变量 2.计算属性:通过某种方式计算出来的属性 3.类属性:与整个类自身相关的属性 存储属性 存储属性是最简单的属性,它作 ...
- 干货分享:常见的留学生Essay写作逻辑结构
任何一种类型的Essay写作都应遵循一种逻辑结构,Long Essay可能在不同部分依据情况使用不同的逻辑结构.本文将为大家分享六种常见留学生Essay写作逻辑结构,为方便阅读本文采用中英文对照方式. ...
- vue学习(四)插槽
一 匿名插槽 // 语法 Vue.component('MBtn', { template: ` <button> <slot></slot> </butto ...