【问题标题】:Are framework dependencies a problem?框架依赖是个问题吗?
【发布时间】:2008-12-27 23:02:39
【问题描述】:

我认识一个人,他有一家单人公司,用 Delphi 和 Pascal 开发应用程序。他在处理工作量方面遇到了问题。因此,他需要找到一名员工。

找不到人,他说他的公司对毕业的学生没有吸引力。原因之一是他使用了一个不太流行的开发平台,因为很多开发都是在 .NET 或 Java 中完成的。

所以我问,“那为什么不切换到 .NET 或 Java?”

他的回答是他不想依赖微软。 MS 可以改变 .NET 框架,破坏他的应用程序。由于用户界面不好,Java 也不是一个选择。

由于 Delphi 以 Win32 为目标,如果您想要速度/便携性,它似乎非常有吸引力。也不需要虚拟机。

框架是否对应用程序开发人员构成“威胁”? 但是,我对delphi了解不多,但是由于它的高级特性,它不也是一个框架吗?

【问题讨论】:

    标签: delphi frameworks


    【解决方案1】:

    我认为远离微软的理由很薄弱。如果 Microsoft 更改了 .NET 框架并破坏了应用程序,我很确定一切都会崩溃。此外,我不太同意 Java 不是一个选项,因为如果 UI 不好(我想不出比 Eclipse 更好的反例)。

    如果您的朋友只知道 Delphi,那将是一个很好的理由。框架绝不会对应用开发者构成威胁。

    【讨论】:

      【解决方案2】:

      您朋友吸引候选人的一些问题可能只是与营销有关。

      例如,如果他宣传“经验丰富的 Delphi 程序员”的职位空缺,他可能不会收到很多以前从未使用过 Delphi 的人的询问,因为他们不会认为自己有机会被录用.

      如果这不是问题,那么他也许可以通过关注工作性质和工作环境的优越性来提高招聘人员的机会。

      例如,如果工作需要使用 Delphi 来构建非常酷的产品,那么它会吸引更多人。

      最后,如果他为程序员建立了一个非常好的工作环境,并且报酬丰厚,那么这也可能会有所帮助。

      理想情况下,他能够提供:

      1. 真正令人兴奋的工作
      2. 高薪
      3. 良好的工作环境
      4. 一种“酷”的编程语言

      如果缺少其中一个,他可以通过“加强”其他的来弥补。

      但是,缺少的人越多,招募他的难度就越大。我会说,如果他缺少两个或更多,那么他就有麻烦了。

      听起来他不想改变“4”。我建议他看看其他 3 个,看看他能不能多吹捧一下。这可能会有所帮助。

      【讨论】:

      • 另一个问题是,他希望人们多呆几年。所以他不希望人们在2年内离开去寻找更好的机会。作为一个人,人们可能没有太大的成长空间。
      • 是否有不到 8 年才开始使用 Delphi 的 Delphi 开发人员?我认为许多 Delphi 开发人员都是 Turbo Pascal 恐龙。我还不是恐龙(32 岁),但我很久以前就开始使用 TP。我认为找到初级 Delphi 开发人员比找到有经验的开发人员更难。
      【解决方案3】:

      当然,要在 java 或 .net 中获得显着的开发性能,他需要投入大量时间。这正是所缺乏的。这是典型的锁定情况。它并不像之前建议的那样死胡同,因为 FreePascal 正在慢慢达到可以取代 Delphi 的程度,并且是 64 位和多平台的,但仍然很困难。

      由于在 Delphi 和 VCL 上投入了大量时间,他现在可能能够非常快速地开发应用程序。使用 java 或 .net 达到同样的目的,了解要使用的习语和模式,对于一个人的业务来说太昂贵了。

      Microsoft 和 Sun 因重大更改和非常糟糕的建议而使开发人员陷入困境。对于 Sun 而言,您只需回想一下我们应该如何开发 J2EE 应用程序,而 Microsoft 会留下易于跟踪的经过尝试和放弃的技术。

      [回复评论] 我向大公司推荐 Delphi 应用程序没有问题。当前 Java 或 .net 中的开发风格不太可能比 Delphi 具有更长的寿命。我可能不会在其中开始新的应用程序开发。我还会仔细查看团队组成,看看它是否可以处理应用程序的预期寿命,但这适用于所有开发环境

      【讨论】:

      • 同意这一切——尽管它引出了一个问题:除了最小的企业之外,你会推荐基于 Delphi 的应用程序吗?只要他没有发展计划,他当然可以留在德尔福。
      【解决方案4】:

      他仍然依赖于 Windows。微软可以、已经(并且可能会再次)改变 Windows,因此它破坏的不仅仅是一些现有的应用程序。但这就是科技界的生活;这是一个不断移动的目标。

      但就像他针对一个版本的 Delphi 进行编译一样,他可以轻松地选择一个版本的 .net 框架或一个版本的 java、Python+pygtk 等并坚持使用它。出于这个原因,可能会安装多个版本的框架。

      它们依赖关系,但它们并不难满足。它们的好处远远超过任何部署问题。

      【讨论】:

        【解决方案5】:

        恕我直言,这就像在说“我开 Model-A,因为福特不会很快改变它。”你的朋友不是“依赖”Delphi 编译器吗?他们不进行更新/更改/改进吗?也许不像微软对.NET 做的那样频繁,但我相信他必须做一些继续教育。

        自 2.0 以来,Microsoft 没有对 .NET 进行任何框架范围的更改。 .NET 3.0 和 3.5 是附加版本,它们添加了新功能,可以根据需要使用或保留。 .NET 以开源形式提供,借助反射,您可以深入挖掘其最深处(出于我自己的目的,我在 ASP.NET 中对模板化服务器控件进行了逆向工程。)

        根据我的经验,职业发展需要跟上技术的步伐。如果 Microsoft 和 Sun 习惯于在每次更新中进行重大更改,让开发人员的生活陷入困境,那么它们就不会成为价值数十亿美元的公司。

        【讨论】:

          【解决方案6】:

          对于您的朋友来说,这是一个有趣的立场,因为他的客户正在接受对 Delphi 的依赖(与 .NET 不同,它没有第二来源),更关键的是,他们依赖于一个小而不断缩小的开发和支持资源(包括您的朋友。)

          【讨论】:

          • 您确实获得了 Delphi 所基于的整个 VCL 框架的完整源代码,并且通过社区贡献对其进行了修改。
          【解决方案7】:

          正如 Oli 所指出的,您可以针对任何您喜欢的框架。但是,MS 几乎没有在任何框架中引入重大更改。他们甚至保留了较差的 API (ReaderWriterLock) 以保持后台兼容性。从 3.5 开始,C# 现在具有将复杂任务的开发时间减少至少一个数量级的功能。使用该框架,您可以使用 WCF 创建通信层,使用 WinForms 创建简单美观的 UI,并使用具有多个锁定 API 的线程池用于多线程应用程序。对于每个问题,C# 都有多种解决方案,如果没有 .NET 框架,用其他语言实现这些解决方案需要更长的时间。过去一个月我在工作中所做的事情需要一年的时间才能正确地使用我非常精通的 C++(我的第一语言)。这家初创公司对他来说可能太贵了,但任何不这样做的人认为 .NET 框架是 Windows 开发的未来却一头雾水。在某些情况下,您需要推出自己的解决方案,但该框架简化了许多重复的编码任务。

          【讨论】:

            【解决方案8】:

            每个依赖项,包括一个框架,都是一个成本。每个人都有好处。问题是,收益是否大于成本。这必须在每个项目和每个框架的基础上回答,但根据我的经验,在几乎所有情况下它显然都是值得的。

            顺便说一句,.NET Framework 应用程序(或库等)可以针对任何版本的 Fx。如果他针对 v3.5 编写代码,而 v4 中的某些内容破坏了它,没问题,只是不要将其更改为针对 v4。

            【讨论】:

              【解决方案9】:

              嗯,不同版本的 .NET 框架可以共存。

              作为示例,我认为开发到 2.0 版没有真正的问题。

              【讨论】:

                【解决方案10】:

                我也是 delphi 开发人员,我看不出有人会从 delphi 切换到 .net 的任何理由。 Delphi 基于 VCL,我现在已经稳定了 10 年或更长时间,如果有人开始使用 Delphi 1.0 开发应用程序,它仍然可以在 Delphi 2009 或 Delphi for .Net 中编译。

                Delphi 也比 .Net 快得多,如果您开发数据库应用程序,您可能不会注意到速度,但如果您从事图像处理或其他集成算法,delphi 代码比 C#/Vb.net 更快。

                Delphi cominity 也比 .net 更大,VCL 也比 .net 有更多的东西。

                Microsoft C++ 只兼容以前的版本,但是用 C++ 编码是可怕的,我知道它的强大但在时间紧迫时无法与 delphi 相提并论,对于那些没有使用 delphi 的人只需在谷歌搜索 VCL 组件看看delphi社区有多大。

                我也知道一些程序员在 vb5 中开发应用程序,如果不进行大量更改就无法在 vb6 中继续开发,当 .net 发布时,他们必须坚持使用旧工具,或者重写所有东西。

                对不起,我的英语不好。

                【讨论】:

                • 我认为Delphi不稳定。几乎没有 D1 - D2007 现实世界的项目可以在 D2009 中简单地重新编译。如果您使用任何 3rd 方组件,升级到新的 Delphi 总是一团糟。我知道一直坚持使用 Delphi7 的程序员,因为此后的每个版本都相当“不稳定”。
                猜你喜欢
                • 2021-11-03
                • 2010-09-22
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-08-11
                相关资源
                最近更新 更多