zoukankan      html  css  js  c++  java
  • Delphi的没落有三个原因(比较贴切)

    Delphi的没落有三个原因:
    1,Object pascal并没有像C/C++那样成为业内标准。

    如果你使用C或C++写程序,可以在任何地方进行编译,例如Windows、Linux、手机,甚至是单片机上都可以使用C写程序。

    没有成为标准的后果就是跨平台,以及影响第三方编译器的出现。Delphi曾经有一个Linux版本叫做Klinx但是已经好多年不再更新了。

    所以这么多年来Delphi只有Borland一家公司苦苦支撑。

    2,人才流失,与内部决策失误。
    Delphi之父Anders Hejlsberg离开Borland去了微软,导致Delphi的编译器有三年的时间无人敢动,因为Anders Hejlsberg完全使用汇编实现的编译器,无人能够看懂。

    Anders Hejlsberg去了微软之后推出了.NET框架,主打语言是C#,无论从类库命名还是代码风格都与Delphi很像,C#语法接近C,又不兼容C。接近C的好处是C系的程序员(C/C++/Java/PHP/)很容易上手,不兼容C的好处是没有历史负担,语法语义可以做的很优美。

    此外决策层,频繁出现失误,有很长一段时间Delphi盲目的去跟随.NET,甚至IDE都改用.NET编写,还推出了VCL for .NET,结果却是丢掉了Win32原生开发,而重新编写的IDE又存在大量BUG,白白耗费大量时间与财力,而技术方面,无论是VCL还是编译器、甚至IDE从Delphi7以后就停步不前。

    3,市场转变

    开发市场现在更注重B/S结构的应用,桌面应用正在大幅减少,Delphi显然不是一个理想的WEB开发语言。

    在桌面市场,解释执行的字节码正在成为主流,像Java、C#、Python、Ruby都是解释类语言。解释执行不容易发生内存泄露与内存错误,因为内存不再需要程序员去手动释放,程序编写更简单,语法也更加灵活,虽然效率可能会略低,但当前的趋势就是用CPU的时间去换取更昂贵的程序员时间,因为大部分程序对效率的要求并不高。其中C#的类库命名很接近Delphi,Delphi程序员转入最为C#比较容易。

    使用Delphi编写一些项目,你可能需要几位比较高级的程序员才能胜任,而使用Java或C#只需要更少和更加普通的程序员。项目完成后Java或C#由于解释执行的原因会更加健壮,因为大部分问题都可以在编译期发现和解决。而Delphi编写的应用则需要较长的Debug时间,项目进度变慢。

    当前的大部分项目,健壮性、开发周期、维护难度远远要比最终执行效率重要100倍。所以企业更多的是在招聘Java与C# 程序员,所以培训机构也在培养Java与C#程序员。现在根本无法见到一个像样的Delphi的培训机构,企业在招聘Delphi程序员的时候往往只是为了维护老旧的项目。

    这个时候如果有新手问“我应该学习那种语言?”,“那种语言更容易就业?”。此类问题的答案是显而易见的。这对Delphi来说是一个恶性循环。

    对于VB的没落的原因我没有仔细考虑过,因为我只用了30天的VB就把他扔掉了,他太简陋,语法不严谨“Else if”和“ElseIf”具有不同的语义,很容易写错。


    作者:庄园
    链接:https://www.zhihu.com/question/19622196/answer/12493867
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    --------------------------------------------------------------------------------------------
    认同你上述答案,但应该还有非常重要的一条:Borland 靠 Delphi 生活,而.net或java的拥有公司则没有这个压力。因此,我们国内的盗版环境对Borland是致命的伤害!若Borland不严打盗版,则收入有限而难以加大研发投入,以及加大文档支持与宣传力度;而严打盗版及制订高价,那么软件公司是能不用就不用,再加上你说的那几条,当然是雪上加霜了。
    --------------------------------------------------------------------------------------------
    还做了没有任何市场的Kylix
    --------------------------------------------------------------------------------------------
    王军,移动互联网/大数据
    vb和delphi盛行的时候,正是windows下PC软件开发的黄金时代;后来互联网时代,变为java php .net等流行了;现在是移动互联网时代,流行的是java和object C
     
    知乎用户,观天读史看天下
    韬神 赞同
    我认为Delphi的没落,主要有两个原因:
    1、Delphi的发展没有跟上时代的要求。Delphi的成果缘于能够高效支持C/S开发,大量组件尤其是数据库组件降低了开发C/S结构中的数据库开发难度,提高效率。但是由于固守传统,错失B/S开发的机遇。李维在《Borland传奇》中讲过,Delphi在早期版本中(印象里是5.0)曾经有支持B/S开发的动议,但是被Borland公司高层否定了,未能有效利用C/S时代的优势,错失了历史机遇。等后来(7.0)加上支持B/S开发组件时候,技术上已经大大落后于时代了,成了非主流技术。除了B/S开发之外,即便是Windows底层开发Delphi也无法支持,更不必说嵌入式系统开发了。
    2、Borland公司发展失误无法提供有力支持。Borland公司除了开发工具之外没有其他盈利产品,而开发工具产品在与Microsoft竞争中又逐渐处于劣势,拿不出足够资源来支持Delphi的发展。最后只能将开发工具卖给 Embarcader。
  • 相关阅读:
    为什么要用Hibernate框架? 把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了?
    Weblogic12c安装与配置详解
    淘宝自己的前端框架KISSY(类似jquery)
    ExtJS4中initComponent和constructor的区别
    Servlet的getContextPath(), getServletPath(), getRequestURI(), getRealPath("/")
    Hash Join 一定是选择小表作为驱动表吗
    oracle for loop 简单
    oracle正则表达式
    Android开发--用户定位服务--UserLocation
    android蓝牙开发---与蓝牙模块进行通信
  • 原文地址:https://www.cnblogs.com/findumars/p/5334761.html
Copyright © 2011-2022 走看看