个人认为vc/c#/java/delphi是中级语言,高级语言vb、python、JavaScript须用c/c++来写运行库(dll、Ocx、sdk、Api),而中级语言绝大多数底层运行库都是用语言本身写成的,由于兼具效率和易用性,既可编写系统软件,又能编写商业、工业软件。
ObjectPascal语法优雅、严谨,初用感觉有点罗嗦,但做大中型项目,这个缺点反而变成优点。实际上,严谨而灵活的语法,让开发者很少在语句查错方面花费精力。
ObjectPascal在数据类型方面也很有优势,在基础数据类型层面直接提供集合、类引用、接口、函数类型、方法指针、匿名函数、泛型,省去了声明或构建这些复杂数据类型的周折,同时大量减少在项目开发中指针的使用,但又有完整的指针功能,这样指针就不再摧残码农,更多精力集中于业务逻辑。可见,当初安德森在设计ObjectPascal时,在功能性、易用性的平衡取舍是花费相当的功夫的。尽管过去了20多年,语言框架已今非昔比,但今天很多现代语言,在功能性和易用性并没有几个能真正超越delphi,delphi学习曲线很平坦。
Delphi最大优势是面向组件编程,无论多复杂的功能,那怕几万行代码,例如复杂的TDataSet、Fastreport、Firedac、ImageEn等都只须用一个图标搞定,每个组件对象仿佛是有生命的小精灵,拍几下手它就活蹦乱跳地诞生了(create),喂它几个野果(赋参数),然后喊叫它几声(调用方法),它立马忠实地完成您交给的复杂使命。说实话,商业化项目,用delphi写比用java、.net、python至少节省30%代码。
现代delphi还有另一大特色就是FMX,基本无须什么改变,一套代码就可以编译为linux、win 、ios 、android,真正的跨平台编程。EMB未来计划用FMX完全取代基于win32的VCL。现在,结合delphi强大的数据处理能力和便捷易用性、原生高效能、安全稳定性,能撰写跨平台的桌面型、移动型、WEB型应用项目。例如,您可以使用FMX、DataSnap Rest、FireDac编写连接远程数据库Oracle、SqlServer的工业级、商务级高并发App/EXE,开发效率要高于java、.net。可以预见,EMB发展FMX的战略是与时俱进、卓有成效的。
Delphi不足的是,在语言层面对Web开发支持不足,主要靠第三方组件intraweb、unigui,这是导致前10年Delphi跌落神坛的主要因素。另外,FMX的功能、效果与android studio、Js/html5主流框架仍有差距,组件生态和用户生态还显单薄。当然这一切的问题,都是delphi没有像google、microsoft这样的爹的。
未来,delphi将凭借与生俱来的优秀基因和矢志不渝的进取精神,开启delphi新的伟大复兴征程,这是每个delphier的愿望和梦想,这个梦想一定能实现。
本人是Delphi的坚定信仰者和忠实实践者,我将在头条定期更新具有理论性和实践性的文章,如果您喜欢delphi,我将与您同行,共同领略Delphi优秀素质。如果您喜欢我的文章,请加个关注点个赞,谢谢您的支持。