Бета-тестирование 64-битного компилятора Delphi

image
Открыта регистрация на бета-тестирование новой версии Delphi с 64-битным компилятором. Посмотреть видео-обзор и зарегистрироваться можно на официальном сайте. Если у вас есть Delphi XE или RAD Studio XE, то у вас будет приоритет в получении бета-версии.

Нововведения ожидаемы:
  • Размер NativeInt, NativeUint — 64 бита
  • Размер Pointer — 64 бита
  • 64-битная индексация в динамических массивах (теоретически до 1019 элементов)
  • Все подсчёты для чисел с плавающей точкой возвращают Double.
  • Новый вид вызова функций через регистры. register, pascal, cdecl, stdcall не используются.
  • Все используемые библиотеки в проекте должны быть 64-битными.
  • Делать ассемблерные вставки теперь нельзя: либо вся функция написана на ассемблере, либо вся на Delphi.

VCL, RTL и WinAPI работают как и прежде.
+36
5 апреля 2011, 12:33
5
Zelenov 23,6

комментарии (89)

+12
SynteZZZ #
Ура! Так и TotalCommander x64 дождаться можно.
0
dewevle #
Первая же мысль!
0
vcrank #
Это было бы замечательно, но если верить разработчику, то он портирует TC на Lazarus. Поэтому есть вероятность, что ему не будет дела до Delphi x64
–2
Valery4 #
Тоже об этом читал, но делает он это не из академического интереса, а потому, что 64 разряднае версия Delphi — это нечто вроде Duke Nukem Forever. Если будет быстрее портировать на Delphi и работать будет не хуже, чем частично портированая на Lazarus версия (например 32 разрядную версию он собирает в Delphi 2, потому, что она работает быстрее в разы) — то будет тогда собираться на Delphi x64.
–2
tonkado #
например 32 разрядную версию он собирает в Delphi 2, потому, что она работает быстрее в разы

прикольно, интересные подробности
0
Valery4 #
Тут в комментах уже уточняли, похоже все таки исполняемый файл получается меньшего размера.
0
r3code #
Lazarus бесплатно дает перспективу освоения *-nix систем. Да и энтузиастов freepascal это также привлечет.
–1
dude_sam #
))) Об этом же подумал!
+11
arkady #
Берите FAR, он уже давно есть для x64 ;)
+2
Valery4 #
FAR хорош, но не всех устраивает.
0
arkady #
Я держу и то и то, в TC для меня только два важных преимущества: вкладки и фоновое копирование. В FAR есть реализация и этого, но не такая наглядная как в ТС. Есть средний вариант File Navigator, но хотя он существует уже более 10 лет, особо не развивается. Но как «фар в окне» вполне работоспособен
–2
Paul #
Кстати, зачем он x64? Я вот так и не понял, и пользуюсь x86.
0
Paul #
Аргументации к минусам, я так понял, не будет?
0
r3code #
RTFM в аргументацию.
А если и этого не хватит, то пожалуйте bit.ly/kNFeFb
0
Paul #
32-битный FAR правильно заходит в 64-битный system32 на 64-битной винде. Ещё аргументы есть?
0
r3code #
Пользователю вообще неважно какая архитектура и процессора — главное делает, что надо.
С точки зрения пользователя компьютер — черный ящик, и глубоко пофиг как он это делает.

Программистам же это важно, но это не к вам.
Все ссылки даны. Читайте, учитесь.
0
Paul #
Перестанье разводить демагогию. Объясните конкретно, какие выгоды даёт использование 64-битного FAR перед 32-битным. Послать в RTFM каждый может, только TFM большой, вам ведь не составит труда процитировать хоть пару пунктов?

Что до ссылки на статью — я её прочитал. Статья ни о чём, какой-то словесный понос в стиле «на 64-битной системе ставьте всё 64-битное, но юзайте 32-битный IE, но если вам очень надо, то юзайте и 32- и 64-битное, блаблабла» и ни слова о том, в чем же выгода.

Я понимаю, зачем юзать 64-битный фотошоп. Я отлично понимаю, зачем нужны 64-битные драйвера. Но зачем 64-битный FAR? Вы в нём собрались файлы объемом более 4ГБ редактировать что-ли? Или он вдруг станет в 10 раз быстрее работать от того, что будет 64-битным, а не 32-битным?
–1
r3code #
вот один ответ вы уже сами нашли, вашими же словами:
«выгоды даёт использование 64-битного FAR перед 32-битным»
— «в нём собрались файлы объемом более 4ГБ редактировать».
Продолжайте и все получится. Успехов.
0
Aledensoft #
На сколько я помню, TC компилируют то ли с пом. Delphi 2, то ли 3. Причем автор особо не собирается переходить на современные компиляторы.
+8
Koshelew #
«TC компилируют то ли с пом. „
Прочитал как “компилируют то лиспом» и завис.
+2
hhrhhr #
Недавно пробегало интервью с разработчиком, в котором этот вопрос затронут:
Широко известный факт, что вы до сих пор пишете свой файл-менеджер на допотопном Delphi 2. С чем это связано?
Я являюсь обладателем лицензионных версий всех последних Delphi, поэтому я достаточно хорошо представляю себе их возможности. Но дело тут вот в чем: компиляция exe-файла в Delphi 2 дает на выходе файл, ощутимо меньший по размеру, чем, например, в Delphi 7...

Там далее (первая часть, вторая часть) и про Lazarus и про «нужность» 64 битов.
0
aviaconstructor #
И наконец, ждём от них шестидесятичетырёхбитный С++. У нас есть заказчик, много на Борланде написавший, и мы для него поддерживаем наши библиотечки (компилятся на gcc, Visual). Из последних проблем, которые пришлось решать только для этого заказчика — в их старой версии C++Builder тридцатидвухбитный time_t. Близок, близок дветысячитридцатьседьмой/восьмой год… Авось, перейдут на новую версию. Надо!
0
kostyl #
дветысячитридцатьседьмой/восьмой год

2036 -> 1:250 000
–7
xabar #
2011 год! В то время как весь мир пользуется 64 битами везде, где не лень… в Делфай они только появляются. Может стоит задуематься о чем нибуть?

Статья опоздала лет эдак на 5.
+4
Beduir #
Лучше поздно, чем никогда.
+8
corristo #
Делфай?
0
arkady #
Наверное комментатор учился у одного из самородков, авторов таких перлов как «Вьёрд» :) А раз на конце «i», а алфавит все знают лучше чем сам язык — то вывод очевиден
+5
Monca #
Зря смеетесь, в америке и канаде именно так произносят.
–1
xabar #
хотел написать «Быдло» — но что — то передумал…

Это еще один повод задуматься
0
GSirr #
Смотрел эмбаркодеровские видяшки, проджект-менеджер так и говорит — «Дэлфай»
+1
Andrey2008 #
«В то время как весь мир пользуется 64 битами везде, где не лень…» — Не пользуется. Всё только начинается. Это я Вам как говорю, как озабоченный данной тематикой.

И эта статья лишний тому пример.
–1
phasma #
в области бухгалтерских программок, которые через MS Office печатают отчеты?

Веб уже давно перешел на amd64, у нас всего 1 или 2 сервера не поддерживают amd64, на них там что-то лежит, никто не знает что.
+4
arkady #
Речь идет о софте, поддерживающем x64, его действительно не так уж много
+1
adminimus #
почти весь встречавшийся мне опенсорсный софт нормально собирается и работает под х64
0
arkady #
Топик о Delphi, речь о Windows-софте, разумеется
+2
adminimus #
не вижу противоречия
+2
arkady #
Противоречия конечно нет, но среди популярного софта для Windows (в котором процент опенсурса весьма мал) — для x64 сделано не так уж много
+1
burjui #
Неужели всё так плохо? Я сейчас сижу в 64-битной Ubuntu 10.10, и у меня весь софт под архитектуру amd64, кроме компилятора D. Даже говнокодный драйвер от Ralink на Wi-Fi карту, переделанный ими из виндовского, и то собрался и работает. А проприетарщики за деньги не могут сборки для 64-битной Windows сделать?
+1
arkady #
Windows хорошо поддерживает текущие версии, поэтому наверное многие пока не напряглись по этому поводу. Это ведь лишние затраты. Я б не сказал «что все плохо», т.к. старое работает, но софта x64 пока не так много
0
Andrey2008 #
Подтверждаю.
0
ncix #
На Delphi какбэ мало софта для серверов пишут. Во основном десктоп. Загляните в среднюю контору, не найдете вы на менеджерских тачках более 10% 64-битных осей
0
kvabr #
>> Статья опоздала лет эдак на 5

А может просто на 4 дня?
0
valyard #
Ура! 64битный vvvv!
+1
AlexKonshin #
Я уже отчаялся надеяться и перевёл паскалевские проекты на FPC.
+1
Korobov #
От маркетинговых анонсов до дела прошло и 10 лет…

Вообще, новая версия, если успеют, обещает много сюрпризов. В том числе, кросс-платформенность. Гуи для основных настольных ОС купили у нашего соотечественника Евгения Крюкова aka «KSDev», насчёт компилятора не известно. Вдруг, FPC? :)
0
Korobov #
* не прошло и 10 лет.
0
diamant #
>>Гуи для основных настольных ОС купили
Дельфя под мак?
0
Korobov #
Гуи для мак у них есть.
Насчёт компилятора не известно. Поэтому и возникают мысли о FPC.
0
CLR #
Аналог WPF, при желании проект можно собрать хоть под iOS.
+8
DeleteOne #
Оно еще разрабатывается? Я думал дельфи похоронили давно.
+3
AlexKonshin #
Он как Ленин, его не похоронят…
+5
gorenski #
Его сейчас активно развивает Embarcadero Technologies, надо отдать им должное весьма и весьма не плохо.
+3
darked #
Вы видать давно не работали в их Rad Studio )) Для меня это поневоле инструмент на каждый день и могу сказать что развивают они его очень с натяжками… Главный пинок в них — это документация! Там сейчас такой хаос творится что просто ужас, по очень многим вещам и классам нет вообще встроенной документацией, исходники становятся единственным источником.
На с++ билдер вообще без слёз не взглянешь… Постоянно падает, жутко тормозит…
0
JayDi #
Компании досталось много говно-кода от Борланда, который они последние пару релизов пытаются исправить (например, несколько тысяч ошибок и багов было закрыто с выходом последней версии Delphi XE). В т.ч. по документации тоже очень многое делается, и она постоянно дополняется/исправляется.
+1
arkady #
Можно пруф на то, что в Борланде писали говно-код? В свое время облазил пол-VCL, и я бы воздержался от таких заявлений
+1
ncix #
Если быть объективным, исходники VCL конечно не без греха. Могу сходу пару мест показать. Но в целом очень неплохой код
0
ncix #
0
arkady #
Неубедительный пример. Такая логика имеет право на жизнь, так как спасает пользователя от неправильного использования. Что пишет комментатор выше? Он явно дает понять, что говно-кода столько, что эмбакадеровцы просто по уши в работе по переделке. Фактов правда не приводит, да и вы ограничились одним примером который, кстати, без труда исправляется. Гавно-код — это когда изменение одно строчки — имеет последствия по всему модулю.
+1
ncix #
ну да, спасает. Только картинку убивает на всякий случай, чтобы точно спасти, ага. Нет картинки — нет проблемы

Еще пример: реализация метода TForm.ShowModal. Не укажу конкретно строчку, т.к. сам подход ущербный, что периодически вызывает глюки, вроде вывешивания модального окна позади основного, с блокировкой последнего. Кстати неправильные отступы в этом методе намекают, что переделывали его впопыхах.

Очень много говнокода можно увидеть в компонентах IBX. Хотя, похоже, их писали другие люди. Заштатные какие-то разработчики.

Повторюсь, VCL в целом очень неплох. Но баги конечно же есть, как и в любом продукте.

PS: Если хотите похоливарить — вы не по адресу. Я уважаю Delphi, просто знаю его вдоль и поперек.
0
arkady #
Во-первых, не для холивара пишу. Во-вторых, я согласен что недочеты есть у всех — иначе просто не бывает. Вы прочитайте просто пишет первый комментатор: мол там все очень плохо и текущим разрабам из-за этого ад.
0
ncix #
Человек или разжигает специально или просто никогда не писал на Delphi. А скорее всего и то и другое. Я просто не реагирую :)
0
JayDi #
Нет, тут просто кое-кто не видит очевидного, не читает интервью с самими разработчиками и молится на VCL как на манну небесную.
0
ncix #
Разработчики много чего могут наплести, чтобы оправдать собственную некомпетентность.

И на VCL давно никто не молится, о чем вы, гражданин разжигатель?
0
ncix #
Борланды православный код писали, но до версии Delphi 7. Потом скатились в ересь
+1
Nashev #
Они открыли документацию, на движке MediaWiki и сейчас активно её допиливают. Там, на страницах обсуждений, можете привести все свои пожелания, на них они там тоже реагируют.

ИМХО, это существенно более верный и дельный шаг, нежели комменты и отзывы в MSDN, уходящие в никуда.
0
gorenski #
От чего же, использую Rad Studio, по сравнению с D7 небо и земля. Под «развитием» же подразумевалось не только развитие IDE.
–9
zed91 #
Тыкают палками в надежде, что оно-таки оживёт. Наивные.
–6
burjui #
Эка вы мягонько сказали, а на ЛОРе в таких случаях говорят: «Не насилуйте труп». На самом деле, все идущие в ногу с прогрессом уже похоронили Delphi, но забыли сообщить об этом разработчикам. А те и рады стараться: то юникодом удивят, то 64 битами.
–10
NevRA #
Cлава Богу, что я не программирую на дельфи и меня не коснется эта «новая» фича. )
–2
NevRA #
Простите меня, если я в чем-то ошибаюсь или кого-то ненароком оскорбил. Без какой-то либо задней мысли написал.
За Delphi не слежу и для меня шок в 2011 году слышать про бета-поддержку x64 в продукте которому лет 15.
+1
stryaponoff #
Услышать про x64 15 лет назад для Вас тоже было бы шоком, полагаю
+1
Andrey2008 #
Интересно, разработчики на Pascal столкнуться с теми же 64-битными проблемами, что и Си++ программисты? Как я знаю, разработчики для Delphi, нередко отличаются смелостью при кодировании и вряд ли стесняются поместить указатель в integer и т.п. Вот интересно, какое соотношение у размеров типов будет. Где посмотреть (про модель данных)?
+1
Tujh #
Не совсем.
Для FPC читать тут, а для Делфи указано в новости:
Размер NativeInt, NativeUint — 64 бита
Размер Pointer — 64 бита

Надо полагать, сделают примерно так же как и в FPC.
+2
Andrey2008 #
Если изменится размер integer, то как минимум во многих местах должен поплыть код сериализации данных. Писали себе integer в файл и в ус не дули. А тут раз… :)
+1
ncix #
кстати интересный вопрос. Штатный сериализатор тоже по-идее лапки к верху поднимет, если ему старые 32-битные данные подсунуть. Бинарные dfm-ки тоже по-идее читаться не должны
+3
Mear #
Презентация на сайте embarcadero (ссылка в посте), 46 секунда:
Integer, Longint, Cardinal — still 32 bits
+2
burjui #
Longint — 32 бита? А 64-битный вариант будет как в C++ — Longlongint?
+1
Mear #
Да, 32 бита.
Уже давно есть Int64 и UInt64, так что вряд ли будут Longlongint делать.
0
burjui #
Это хорошо, что *int64 есть, но тогда возникает вопрос: а чем же Longint «длиннее» Integer'а?
Простая программка на C, скомпиленная gcc в 64-битном Linux, выдаёт следующие размеры типов: char 1, short 2, int 4, long 8, long long 8.
Всё логично. А в Object Pascal получается, что Long ничем не отличается от Integer. Фигня какая-то: Long же по смыслу должен быть наибольшим доступным аппаратно целым типом.
0
Mear #
Хех… как я понимаю в C++ (VC) Int так же всегда равен LongInt, по крайней мере судя по этому:
stackoverflow.com/questions/4244311/gcc-width-of-long-int-on-different-architectures
Т.е. это в GCC LongInt при х64 становится 64-битным. Так что не вижу проблем, почему бы в Delphi Int не был бы всегда идентичен LongInt, как это сделано в VS.
0
Mear #
Опять же, MSDN ни слова про изменение размера LongInt не говорит:
msdn.microsoft.com/en-us/library/cc953fe1.aspx

Как я понимаю, прикол тут в том, что в VC Int и LongInt являются фундаментальными типами и не меняю свой размер в зависимости от платформы или ОС. В свою очередь в Delphi тип Integer является гериком и (в теории) может быть другой разрядностью (об этом в справке написано). А вот что думает по поводу типов GCC я пока не нашел, но видимо в нем наоборот LongInt является генериком, раз он его размер от платформы меняет.
0
Mear #
*генериком
+1
Tujh #
Ответили же уже, а Вы не очень внимательно прочли. Ни один тип, кроме pointer, не изменился, а все х64 типы введены под другими именами.
0
Andrey2008 #
Я от Delphi далек, поэтому и спрошу. А там как раньше, pointer в integer явным кастом помещали и помещали ли? Если да, то получатся все те же прелести, что и в Си.
+2
Mear #
Помещали и помещают, так что да, миграция иногда будет не из легких.
+1
ncix #
да, это в порядке вещей. Прицепить объект например к lParam'у Месседжа. Такое даже ЕМНИП в VCL встречается. Теперь вот думается что не очень хорошая практика.
0
shiko_1st #
Ну никто же не думал, что Integer и Cardinal однажды вдруг превратятся в неаппаратно-зависимые типы данных…
0
shiko_1st #
«Размер NativeInt, NativeUint — 64 бита»
Какой размер у Integer и Cardinal?
0
drVano #
Если у вас есть Delphi XE или RAD Studio XE, то у вас будет приоритет в получении бета-версии.

Являюсь зарегистрированным пользователем Delphi 2010 и отправил им запрос на тестирование. 3-ий день тишина. Почему такая дискриминация — непонятно.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.