Подтвердить что ты не робот

Почему так сложно создавать 64-битную Delphi?

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

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

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

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

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

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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

Тем не менее, есть некоторые проблемы и соображения дизайна для x64, и я просто надеюсь, что команда Embarcadero поделится своими мыслями о них и обсудит с сообществом (чтобы предотвратить тиражирование, как у нас было об изменении юникода).

Ответ 7

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

Ответ 8

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