Почему так сложно создать 64-битный Delphi? - PullRequest
21 голосов
/ 26 июня 2010

В Интернете полно разработчиков, запрашивающих 64-разрядную версию Delphi, и пользователей программного обеспечения Delphi, запрашивающих 64-разрядную версию.

  • Delphi 32bit: 1.470.000 страниц
  • Delphi 64bit: 2.540.000 страниц: -)

Вот почему я удивляюсь, почему Embarcadero до сих пор не предлагает такую ​​версию.

Если бы это было легко сделать, я уверен, что это было бы уже давно. Итак, какие именно технические трудности 1011 необходимо преодолеть Embarcedero?

  • Это компилятор, RTL / VCL или IDE / Debugger?
  • Почему переключение с 32-разрядного на 64-разрядное устройство сложнее, чем для Borland, с которого было переключение с 16-разрядного на 32-разрядное?
  • Команда FPC сталкивалась с подобными проблемами, когда добавляла 64-битную поддержку?
  • Наблюдаю ли я за чем-то важным, когда считаю, что создание 64-битного Delphi должно быть проще, чем Kylix или Delphi.Net?

Ответы [ 8 ]

13 голосов
/ 26 июня 2010

Что касается того, что я читал на форумах, я думаю, что основная задержка заключалась в том, что компилятор для 32-битных систем вообще нельзя было легко адаптировать к 64-битным версиям, поэтому им пришлось написать новый компилятор со структурой, позволяющей переносить это на новые платформы легко. Эту задержку довольно легко понять в этой области.

И первое, что нужно было сделать новому компилятору, - это поддерживать текущую 32-битную Windows, прежде чем настраивать ее на 64-битную, так что дополнительную задержку также легко понять.

Теперь, на пути к поддержке 64-битных систем, Embarcadero решил использовать 32-битные MacOSx, и некоторые люди этого не понимают. Лично я считаю, что это хорошее маркетинговое решение для бизнес-точки зрения Embarcadero (подождите, я не говорю, что 64-битная поддержка менее важна , читайте внимательно, я говорю не о важности, а о коммерции ). Это очень спорная дополнительная задержка на пути к 64-битным (кроме того, Embarcadero говорит, что у них есть команды, работающие параллельно, на самом деле есть задержка, по крайней мере, для проблем с версиями - повторный маркетинг -).

Также полезно иметь в виду, что FPC не является коммерческим продуктом, поэтому они могут добавлять / удалять функции легче, чем Delphi.

6 голосов
/ 26 июня 2010

Если бы не ограничение для расширений оболочки (у меня есть такое, которое загружается в Windows Explorer), я бы, наверное, никогда не заботился о 64. Но из-за этого ограничения оно мне нужно, и оно мне нужно сейчас.Так что мне, вероятно, придется развить эту часть в Free Pascal.Жаль, кроме этого, есть несколько приложений, которые действительно выиграют от 64. ИМО, большинство пользователей либо пьют кулейд, либо недовольны тем, что их обманули, когда они купили что-то, что звучало замечательно, но превратилось в головную боль.Я знаю парня, который с удовольствием запускает Win7 / 64, поэтому у него достаточно оперативной памяти для запуска полной копии XP на виртуальной машине, которая ему не понадобится, если он получит Win7 / 32, как я ему и сказал.: - <<br> Я думаю, что все были обмануты производителями HW, особенно дилеры ОЗУ, у которых иначе был бы очень мягкий рынок.
В любом случае, вернемся к рассматриваемому вопросу ... Я попал междурок и трудное место.Мои клиенты предъявляют требования ко мне из-за архитектурного решения от M $ (не допускающего 32-битных DLL в Windows Explorer) и проблем восприятия (64-битная должна быть в два раза лучше 32, или, возможно, 32 должна работать на"пенальти" или что-то).Так что меня ведет в основном «искусственная» мотивация.И поэтому я должен спроецировать это на Embarcadero.Но, в конце концов, потребность в 64-битной поддержке в Delphi - это IMO, в основном основанная на BS.Но они должны будут ответить на это, как и я.

5 голосов
/ 26 июня 2010

Я слышал, что они хотели полностью переписать компилятор без потери обратной совместимости. Учитывая, что нет полного синтаксического описания языка (я спрашивал, но их нет, поэтому я сделал свой доступным для широкой публики). Я могу представить, что документация не так полна, как они этого хотели. Поэтому они, вероятно, пытаются реконструировать свой собственный код.

Я решительный сторонник Delphi, и я думаю, что 2009 и 2010 годы - отличные релизы (сравнимые с солидным номером 7). Но отсутствие 64-битной поддержки в конце концов убьет их.

Возвращаясь к вопросу, самой большой проблемой должен быть компилятор. Переключение с 16 на 32 бит было проще, потому что было меньше наследства (delphi 2 был 32 бит, а язык Object Pascal был намного проще, чем сейчас). Я не уверен насчет свободного паскаля. Может быть, их код был легко портировать. Может быть, они потеряли некоторую обратную совместимость. Чтобы быть уверенным, вы можете спросить их.

5 голосов
/ 26 июня 2010

Реальные проблемы не технические. Сначала Borland / CodeGear, затем Embarcadero, показывают, что им не нравится поддерживать более чем одну версию Delphi для Windows. Они задержали переключение Unicode, пока не смогли полностью отказаться от поддержки ОС Ansi. На самом деле они должны поддерживать и компилятор / библиотеку Win32 и 64-битный компилятор / библиотеку, потому что используется сочетание 32- и 64-битной ОС Windows. Я полагаю, что они пытаются задержать это настолько, насколько это возможно, чтобы избежать того, чтобы поддерживать 32-битные как можно больше. Компилятор Delphi стал довольно старым и сложным в обслуживании, но они решили переписать его, ориентируясь на операционные системы, отличные от Windows, и я уверен, что драйвер заключался в переносе некоторых инструментов баз данных Embarcadero на 32-битные платформы, отличные от Windows, игнорируя реальные потребности клиентов Delphi. и снова откладывая 64-битный компилятор и библиотеку в кросс-платформенной попытке снова попытаться сократить углы, чтобы доставить его быстро, и, таким образом, обречен на неудачу еще раз. Упорно, они не хотят, чтобы перейти к циклу выпуска в два года, потому что они хотят свежие наличные деньги каждый год, несмотря на то, что становится все труднее выпускать действительно хорошо сделано улучшений в столь короткий цикл - и потребовалось почти четыре года, чтобы исправить проблемы, появившиеся в Delphi 2005 меняется. В свою очередь, им приходится заставлять разработчиков работать над внесением «незначительных» улучшений, чтобы оправдать обновления, вместо того, чтобы полностью работать над 64-битными файлами.

5 голосов
/ 26 июня 2010

Я думаю, что наиболее близкий, который я видел, к "ответу" на ваш вопрос с точки зрения Embarcadero, суммирован в этой статье о будущем компилятора Delphi , написанном Ником Ходжесом .

4 голосов
/ 26 июня 2010

Я знаю, что вы спрашиваете о технических проблемах, но я думаю, что маркетинговый отдел может быть самой большой проблемой ... Я уверен, что они гораздо более взволнованы перспективой новых рынков, которые приносят новых клиентов, таким образом, способных сместить приоритеты,Проблема (на мой взгляд) в плохом послужном списке: в прошлом мы видели kylix и delphi.net, которые оба были ehm kylixed.Я могу себе представить, что новые клиенты будут ждать и посмотреть, останется ли он где-то, и что, в свою очередь, может решить Embarcadero покинуть его преждевременно.что команда Embarcadero поделится своими мыслями о них и обсудит с сообществом (чтобы предотвратить недовольство, которое мы имели в связи с изменением юникода).

2 голосов
/ 26 июня 2010

Аллен Бауэр из Embarcadero недавно также сказал, что им пришлось по-разному реализовывать поддержку исключений для 64-разрядных систем «из-за различий в исключениях ABI на Win64».

2 голосов
/ 26 июня 2010

Уже существует 64-битный Delphi (Object Pascal). Это называется Free Pascal . Так что, хотя я не сомневаюсь, что это сложно, это не «так сложно», что это невозможно. Конечно, я не могу рассуждать об Embarcedero.

...