pozitronik: (Default)
[personal profile] pozitronik
Пруфлинк.
Первая мысль - жуткое негодование. Уйти с изученной и хоть как-то поддерживаемой Delphi на опенсорсную среду с опенотсоснымсорсным компилятором? Это же сколько сил и времени потребуется на портирование в одиночку такого проекта как TC? Года два, думаю - т.е. среднее время меж выходами мажорных версий TC. При этом вряд ли появятся новые функции - на них просто времени не будет, и не факт, что не обнаружатся косяки в функциях старых. То есть как пользователя меня всё это здорово напрягает.
Но обдумав ситуацию, нашёл в ней немало хорошего.
Для начала я вспомнил, что TC пишется на второй версии Delphi, выпущенной в 1996 году (сейчас актуальна 14 версия). По сравнению с ней даже Lazarus - рай для разработчика. Эволюция языка за 14 лет даже в опенсорсной версии компилера должна предоставить множество удобных возможностей разработчику, и это очень хорошо.
По той же причине портирование на Lazarus будет не сложнее, чем портирование на новейшие версии Delphi.
В Lazarus уже сейчас есть поддержка x64-компилятора, и, думается, это одна из важнейших (если не единственная) причин портирования. В Delphi превью такого компилера обещают только в начале следующего года.
Но самое главное - код, так или иначе, будет частично переписываться, ведь обязательно всплывёт что-то, что портировать через копипаст не получится. Гислер, скорее всего, предпочтёт сохранить совместимость, так что получим неплохую оптимизацию по коду. К тому же всплывут моменты, которые, на первый взгляд, перенеслись в Lazarus, но при работе глючат - их тоже придётся оптимизировать.
Ну и если совсем углубиться в историю, можно вспомнить, что однажды TC уже переписывался с Turbo Pascal на тот же Object Pascal, что дало возможность создания 32-x битной версии. Конечно, тогда и объёмы работы были другие.

Мда, чувствую бета-тестерам прибавится работки.
Хотел бы я, кстати, посмотреть на код TC. Предположительно, Гислер не использует никакие компоненты (имеются в виду именно компоненты, а не чужой код), кроме стандартных и самописных (а что из современных компонентов вы сможете засунуть в древнюю среду разработки?), а это значит, что объёмы кода должны быть просто гигантские. Очень интересно, как это всё поддерживается, без современных-то средств рефакторинга и моделирования...
(deleted comment)

Date: 2010-07-22 06:36 am (UTC)
From: [identity profile] pozitronik.livejournal.com
Это была моя первая мысль.

Date: 2010-08-23 10:19 am (UTC)
From: [identity profile] nik-vr.livejournal.com
Блин, как это я такую новость ухитрился не заметить?

А новость-то хорошая. Я уже почти полгода активно юзаю Лазарь и перетаскиваю на него свои проекты. Довольно приличный по объёму кода проект для работы с БД удалось портировать всего за месяц не слишком плотной работы (при том, что это был первый опыт такой работы). Большую часть времени отнял отлов багов - в Lazarus из-за кросс-платформенности очень многие функции, похожие на дельфийские, на деле работают немного иначе.

В общем, я рад за Total Commander. И кстати, порт на Lazarus принесёт не только 64-бита, но и новые платформы - Linux и MacOS.

Date: 2010-08-23 10:30 am (UTC)
From: [identity profile] pozitronik.livejournal.com
Я от Lazarus, тащем-та, поимел приятные впечатления - при известном количестве упорства в нём можно писать несложные программы на уровне курсовых работ в институте. Я даже думаю, что буду на нём писать несложные тулзы для работы, чтобы не заморачиваться с лицензиями на дельфю.
Но, интереса ради, попробовал перенести с дельфи один из самых сложных своих проектов - разрабатываемую пятый год систему контроля базовых станций - обломался в самом же начале. Оракловый компонент Лазаруса не захотел коннектиться к ораклу, ругаясь на отсутствие TNS (которые были корректно прописаны, и с которыми остальной софт вполне работал).
Плюс переписывание тонн компонентов, без которых никак...
В общем, хорош анцтрумент, но простоват.

Date: 2010-08-23 10:32 am (UTC)
From: [identity profile] nik-vr.livejournal.com
Насчёт сложных компонентов - согласен, здесь пока глухо. Но TC портируется без проблем - там всё стандартно.

Date: 2010-08-23 10:31 am (UTC)
From: [identity profile] nik-vr.livejournal.com
Кстати, ещё одно подтверждение от Гислера (линк: http://www.ghisler.ch/board/viewtopic.php?t=26696):

...я в настоящее время портирую на Lazarus/Free Pascal, компоненты которого основаны на UTF-8. Я уже перенес все мои Unicode контролы на Laarus, это было очень легко. Теперь я изменяю OLE2-код под Lazarus...

Date: 2010-08-23 10:32 am (UTC)
From: [identity profile] pozitronik.livejournal.com
Да, видел. Успехов ему.

December 2016

S M T W T F S
    123
45678910
1112131415 1617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 30th, 2025 02:21 am
Powered by Dreamwidth Studios