代码之家  ›  专栏  ›  技术社区  ›  Wouter van Nifterick

Why is creating a 64bit Delphi so hard?

  •  21
  • Wouter van Nifterick  · 技术社区  · 6 年前

    The Internet is full of developers requesting a 64bit Delphi, and users of Delphi software requesting 64 versions.

    • delphi 32bit : 1.470.000 pages
    • delphi 64bit : 2.540.000 pages :-)

    That's why I've been wondering why Embarcadero still doesn't offer such a version.

    If it was easy to do, I'm sure it would've been done a long time ago already. So what exactly are the 技术的 difficulties that Embarcedero need to overcome?

    • Is it the compiler, the RTL/VCL, or the IDE/Debugger?
    • Why is the switch from 32bit to 64bit more complicated than it was for Borland to switch from 16bit to 32bit?
    • Did the FPC team face similar problems when they added 64bit support?
    • Am I overseeing something important when I think that creating a 64bit Delphi should be easier than Kylix or Delphi.Net?
    8 回复  |  直到 15 年前
        1
  •  13
  •   someone    15 年前

    对于我在论坛上读到的内容,我认为主要的延迟是32位编译器根本无法轻松地适应64位,因此他们必须编写一个新的编译器,其结构允许它轻松地移植到新的平台上。在那个领域,很容易理解这种延迟。

    And the first thing the new compiler had to do is to support the current 32-bit Windows before targeting it for 64-bit, so that extra-delay is also easy to understand.

    Now, in the road to the 64-bit support, Embarcadero decided to target 32-bit MacOSx, and that decision is something that some people don't understand at all. Personally I think it's a good marketing decision for the Embarcadero business point of view (wait, I'm not saying 64-bit support is less 重要的 仔细阅读,我不是在谈论重要性而是商业性)。这是一个非常有争议的额外延迟到64位(除了Embarcadero说他们有团队并行工作,事实上有一个延迟,至少在版本控制问题上-市场营销再次-)。

    还有一点很好,那就是FPC不是一个商业产品,所以他们可以比Delphi更容易地添加/删除功能。

        2
  •  6
  •   Chris Thornton    15 年前

    如果不是因为shell扩展的限制(我有一个加载到Windows资源管理器中的扩展),我可能永远不会关心64。但是由于这个限制,我需要它,现在我需要它。所以我可能要在免费帕斯卡中开发这个部分。可惜的是,除了此之外,几乎没有什么应用程序能真正从64中受益。IMO, most users are either drinking the coolaid, or are angry about having been duped into buying something that sounded great but turned into a headache. 我认识一个人,他很乐意运行Win7/64,所以他有足够的内存在虚拟机上运行一个完整的XP,如果他像我告诉他的那样获得了Win7/32,他就不需要它了。:-lt;
    我认为每个人都被硬件制造商欺骗了,特别是RAM经销商,否则他们的市场将非常疲软。
    Anyway, back to the question at hand... I'm caught between a rock and a hard place. My customers are placing demands on me, due to an architecture decision from M$ (not allowing 32-bit DLLs in Windows Explorer) and perception issues (64-bit must be twice as good as 32, or maybe 32 has to run on the "penalty core" or something). So I'm being driven by a largely "artificial" motivation. And therefore, I must project that onto Embarcadero. But in the end, the need for 64-bit support in Delphi is IMO, mostly based on BS. But they're going to have to respond to it, as will I.

        3
  •  5
  •   PhiS    15 年前

    I guess the closest I've seen to an "answer" to your question from Embarcadero's point of view is summarised in this article on the future of the Delphi compiler Nick Hodges。

        4
  •  5
  •   user160694    15 年前

    The real issues are not technical. Borland/CodeGear first, then Embarcadero, show they do not like to mantain more than one Windows version of Delphi. They delayed the Unicode switch until they could drop Ansi OS support wholly. Actually they would need to support 二者都 a Win32 compiler/library and a 64 bit compiler/library because there are a mix of 32 and 64 bit Windows OS used. I believe they are trying to delay it as much as possible to avoid to mantain the 32 bit ones as much as they could. Delphi compiler became pretty old and difficul to mantain, but they decide to rewrite it aiming at non-Windows OSes, and I am sure the driver was to port some Embarcadero database tools to non-Windows 32 bit platforms, ignoring Delphi customers' actual needs, and delaying again the 64 bit compiler and library in a cross-platform attempt made again trying to cut corners to deliver it quickly, and thereby doomed to fail once more.

        5
  •  5
  •   Peter Stone    15 年前

    I have heard that they wanted a complete rewrite of the compiler without losing the backward compatibility. Considering that there is no full syntax description of the language (I have asked, but they haven't so I made my own available to the general public). I can Imagine that the documentation is not as complete as they wanted it. So they are probably trying to reverse engineer their own code.

    回到问题上来,最大的问题应该是编译器。从16位到32位的切换更容易,因为遗产更少(Delphi2是32位的,对象pascal语言比现在简单得多)。

        6
  •  4
  •   Remko    15 年前

    I know you are asking for the technical issues but I guess the marketing department might be the biggest issue... I am sure they get far more excited from the prospect of new markets that bring new customers an thus manage to shift priorities. A problem (in my opinion) is the bad track record: we have seen kylix and delphi.net in the past that were both ehm kylixed. I can imagine that new customers will wait and see if it's around to stay and that in turn might decide embarcadero to leave it prematurely.

    That said: there are certainly some issues and design considerations for x64 and I just hope that the Embarcadero team will share it's thoughts about them and discuss with the community (to prevent rants as we've had about the unicode change).

        7
  •  2
  •   Matthew Flaschen    15 年前

    There already is a 64-bit Delphi (Object Pascal). 它叫 Free Pascal . 所以,虽然我不怀疑这很难,但它并不“太难”,这是不可行的。当然,我不能猜测禁运。

        8
  •  2
  •   Rob McDonell    15 年前

    Allen Bauer from Embarcadero also said recently that they had to implement exception support completely differently for 64-bit "due to differences in the exception ABI on Win64".

    推荐文章