Delphi 是一个基本上被我遗忘的工具, 要不是在使用RapidSql , 我是收不到Embarcadero 公司发出的邀请来參加Delphi XE5的公布会的。

有人可能要问为什么是Embarcadero (名称很拗口)而不是Borland 开Delphi 公布会, 这是由于Borland那几年撑不下去, 把IDE工具打包成立了CodeGear 公司,已经被Embarcadero 收购了。

实际上十多年前以前參加过机械工业出版社主办的一个技术沙龙, 李维先生作为Borland 技术专家, 畅谈了“程序开发之道和未来软件开发趋势”。 形象生动,气氛热烈,我还有幸被抽中为一等奖,奖品似乎好像是程序猿大本营和李维的新书《Dephi 6/Kylix 2 (SOAP/Web Service)程序设计篇》。

当时记得最清楚的一个小细节时,李维问:你们其中有多少人在用O/R Maping, 大家面面相觑,没听说过 ,汗!

后来和一做J2EE的同学聊起来,认为可能是当时去听讲座的人大多是微软阵营(包含我),而微软当时的面向WEB开发的产品,比如ASP, IIS, ADO, COM+等并不十分注重J2EE所推崇的“模式”, “O/R Mapping” , 即使在Java 阵营, Hibernate 这种产品也刚刚出现,所以不知道也不为怪了。

10多年过去了, 李维当时的新书中提到的Kylix ,也就是Delphi 的Linux 版本号, 非常明显没有取得市场的认可,慢慢的就从大家视线中消失了。

不不过Kylix, Borland 公司的非常多明星产品, 也在时代的变革中,编程范型的转化中,  慢慢的褪去光环,用户越来越少,社区越来越小。

Delphi 作为C/S 时代的王者,没有跟上B/S , 互联网时代,非常快被Java 代替了主导地位。 而它的昔日老对手VB 已经傍上了.NET这个大款,衣食无忧。

JBuilder 因为受到IBM支持的Eclipse 的强劲冲击,功能不见得比Eclipse率先多少,在平台,社区的开放度上更是差的非常远,  非常快就难觅踪影。

10年在IT界显得太长了, 改变了非常多东西, 甚至Borland这样一个以前伟大的公司都已经不存在了。

所以当我坐在公布会的现场,突然产生了一种恍惚感。

李维看起来甚至比10年前还年轻一些,他在旁边候场的时候居然没有认出来 :-)

演讲依旧非常精彩,笑点非常多, 仅仅是非常多台湾的术语须要在脑子里略微翻译一下。

现场演示也非常棒,充分展示了XE5的功能,细节我就不啰嗦了, 大家能够在网上看到。 我仅仅记录一下印象深刻的几点:

  1. 多设备开发是以后的方向,现场统计大部分人都有3台以上的设备,Desktop, Laptop, Pad, Mobile Phone
  2. Delphi XE5 不会支持Windows Phone, 由于MS在移动市场的占有率是在是太小太小了
  3. 将来会支持穿戴式设备的开发,Glass, Smart Watch
  4. Delphi将来会倾向于做Backend as a Service (BAAS) , 把后端的数据和处理能力用REST+JSON 暴露, 让移动端轻松訪问
  5. 把传统的Delphi应用移植到Mobile非常easy (当然或许李维仅仅是举了一个灰常简单的样例)。
  6. 在Mobile上开发有非常多不同于传统Delphi开发的Best Practice, 比如List 的数据Load
  7. FireMonkey 确实强大,把不同的设备和平台做了抽象, 让程序猿能够直接使用FireMonkey 提供的UI来编程,抛开iOS,Android 的UI细节, 但我觉得这是一把双刃剑,抽象确实能方便开发者, 但同一时候会丧失一些”个性“ (比如特殊的UI),为了弥补这些“个性”,可能须要花费巨大的精力

总之界面也是一如既往的熟悉, 操作还是一如既往的方便,速度还是一如既往的快, 最重要的是一份Delphi Code 能编译生成多种平台和设备的Native Code, 充分展现了Delphi在编译领域一直以来的强悍实力, 不知道像IBM, MS,前Sun公司有没有实力做出类似的产品。

可是我始终认为这是Delphi的最后的挣扎。

Delphi 变成了Embarcadero 的产品,那个以前的王者,非常明显在桌面开发中已经没有阵地了, 仅仅好拼命向现在的热点移动开发转移,開始支持iOS, Andriod 开发。

可是现在的Delphi社区确实是非常小了,老一代使用Delphi的程序猿中究竟有多少人这么多年来还在坚守?   有多少人已经转向了Java ,.NET 平台以及PHP,Ruby 等后起之秀?

甚至Mobile ?

Delphi的坚守者有多少人会转向 XE ,学习FireMonkey 用它来开发Mobile应用程序?

新一代的没实用过Delphi的程序猿,大部分都是直接学习XCode, Object-C ,还有Android 开发, 他们其中有多少人会愿意学习Object Pascal 语言, 进而用Delphi来开发?

假设是我,恐怕是不愿意的。

不知道作为Delphi之父,如今身在微软的Anders Hejlsberg, 看到这种Delphi,会做何感想?

据李维讲,C++ Builder 也会在今年推出新版本号,支持iOS和Android应用程序开发, 和Delphi类似,我对这个产品的前景也非常悲观。

另外,小米手机不知道为什么出了问题,照的照片非常模糊,凑合着上个图吧:

垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想的更多相关文章

  1. 垂死或涅槃重生 -- Delphi XE5 我们将宣布感情的回归

    Delphi 在很大程度上是一个被遗忘我的工具. 无论是在使用RapidSql , 我还没有收到Embarcadero 本公司发行参与邀请Delphi XE5该公告将. 可能有人会问,为什么Embar ...

  2. Delphi XE5 支持的Android 版本

    Delphi XE5 已经支持Android应用开发.  那XE5支持Android的哪些版本呢?Delphi编译的APP能部署到Gingerbread (2.3.3-2.3.7), Ice Crea ...

  3. DELPHI XE5 与SQLITE

    最近一次使用DELPHI做项目是使用DELPHI2009,为了访问本地数据库方便,使用ACCESS数据库,不需要安装驱动,(WINDOWS自带),但是ACCESS数据库的性能确实很糟糕,通过ADO连接 ...

  4. Delphi xe5 手机开发经验(新手级别)

    Delphi xe5 手机开发经验(新手级别) http://diybbs.zol.com.cn/1/34037_699.html http://www.delphitop.com/html/jiqi ...

  5. delphi XE5下安卓开发技巧

    delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...

  6. Delphi XE5 常见问题解答

    Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...

  7. DELPHI XE5开发WEB服务器及安卓手机客户端

    Xe5开发web服务端和手机客户端 ------------------------------------- Delphi xe5作为最新开发利器,就类似如当年的DELPHI,功能强大,快发速度快, ...

  8. Delphi XE5 如何与其他版本共存

    如果你想使用Delphi诸如XE4.XE3.XE2.XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简单修改两行就行啦. 找到Delphi XE5的安装根目录C:\Program F ...

  9. Delphi XE5 与其他版本共存

    来源于http://www.board4allcz.eu 作者是gateway 如果你想使用Delphi诸如XE4.XE3.XE2.XE之类的版本跟Delphi XE5共存的话,在cglm.ini中简 ...

随机推荐

  1. Win2003部署Framework 4.5框架的MVC4项目

    [一篮饭特稀原创,转载请注明出自http://www.cnblogs.com/wanghafan/p/4554672.html]  Win2003中IIS6部署Framework 4.5框架的MVC4 ...

  2. M-JPEG和MPEG-4的区别 M-JPEG VS MPEG

    http://blog.sina.com.cn/s/blog_4b357b300100gre9.html M-JPEG VS MPEG http://blog.csdn.net/bluesky_sun ...

  3. char 和 varchar

    固定长度或可变长度的字符数据类型. char [ ( n ) ] 固定长度,非 Unicode 字符数据,长度为 n 个字节.n 的取值范围为 1 至 8,000,存储大小是 n 个字节.char 的 ...

  4. 常用linux命令合集(持续更新中)

    我的博客:www.while0.com 开发调试 readelf-a 查看elf文件中的内容 hexdump -C 用16进制查看文件 objdump -d 反汇编目标文件 nm 查看目标文件或者可执 ...

  5. 海量数据的二度人脉挖掘算法(Hadoop 实现)

    最近做了一个项目,要求找出二度人脉的一些关系,就好似新浪微博的“你可能感兴趣的人” 中,间接关注推荐:简单描述:即你关注的人中有N个人同时都关注了 XXX . 在程序的实现上,其实我们要找的是:若 U ...

  6. BZOJ_1615_[Usaco2008_Mar]_The Loathesome_Hay Baler_麻烦的干草打包机_(模拟+宽搜/深搜)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1615 一个主动轮带着一些轮子转,轮子带着轮子转,轮子带着轮子转...一个非主动轮只会被一个轮子 ...

  7. 微支付开发(.net)

    最近一周多进行微支付开发工作,总结一下关于微支付开发中遇到的问题. 如写得不对请大家提出,第一次自己写文章.嘿嘿... 1.申请微支付,登陆公众平台后(公众号为服务号并已认证),进入“服务”-“服务中 ...

  8. 深入理解OAuth2.0

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  9. [转]ASP.NET MVC 入门6、TempData

    ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信大家都看过“在ASP.NET页面间传值的方法有哪几种” ...

  10. 测试一个函数的运行时间(C++)

    #include <ctime> static clock_t Start,Finish; Start=clock(); fun(); Finish = clock(); double t ...