Pull to refresh

Comments 262

Бесплатно при следующих условиях (написано же):
Вы индивидуальный разработчик и зарабатываете менее 5000 долларов в год на продаже программного обеспечения, созданного в Delphi или C++ Builder.
Вы небольшая компания (до пяти человек), которая не зарабатывает на продаже программного обеспечения или зарабатывает менее $5000 в год.
Судя по Community Edition FAQs:
A trial for Community Edition is not needed, since a free 1 year term license is provided.
То есть бесплатная лицензия на 1 год
Чуть ниже
How can I get a new 1 year key after my current CE key expires?

Users will be able to request a new 1 year key through the website. That key will be applicable to the current CE edition that’s available for download at that time.
Т.е. с возможностью продления.

Получается, что продление действует на текущую версию. Если они за год обновят ее (а они, насколько я помню, каждый год обновляют), то придется ставить новую версию.
в Visial Studio так же каждый год продлять лицензию, работает и для старой тоже. на работе до сих пор 13 стоит и продляется норм.
Учитывая исключительную обратную совместимость проектов на Delphi, а также необходимость регулярного обновления поддержки для Android и iOS, имеет смысл всегда переходить на свежую версию Delphi.
Ну, кроме поломки совместимости по ASCII/Unicode. Мне предстоит переводить наш продукт с семерки на 10.2 и это дичайшая головная боль.
Не стоит преувеличивать. Нормально всё переводится. По своему опыту переноса нескольких миллионно-строчных проектов.
Ну вот нам как раз предстоить переносить несколько млн строчные проекты, и переводится сложно. Начиная с того, что значительная часть кода привязана к строкам как буферам с предопределенной арифметикой вида 1 символ=1 байт и заканчивая сторонними библитеками, чисто ASCII строчными. То, что можно использовать псевдо ANSI строку не особо помогает, потому что весь RTL — уникодный, это приведет к постоянным преобразованиям туда сюда, плюс работа с WinAPI тоже на ANSI версии завязана и т.д. А уд сколько работы со строками как буферами…
Плохой вариант, конечно, использование строк как буферов. Но ничего, глаза боятся, а руки делают. Одно место с буферами поправите, остальные по образу.
Вариант отличный учитывая полу-автоматическое управление памятью строк.
Автоматическое управление и у array of bytes (сейчас TBytes), если что. Сделали бы сразу нормально, проблем с переносом были бы минимальными. Ну а так — страдайте, что еще сказать :)
Автоматическое управление и у array of bytes (сейчас TBytes), если что

Я не помню, есть ли у TBytes copy on write.
Использование строк в качестве буферов — более чем нормальное в условиях старого Delphi. Нет никакой технической разницы в той эпохе между набором байтов и набором символов. Тот же буфер в памяти с прямым к нему обращением.
Да и кроме того, учитывая, что код — очень-очень legacy, там и Pascal-строки есть в составе структур и т.п. весёлости.
Строки в качестве буфера всегда были спорным решением. Pascal строки можно временно или навсегда оставить, заменив на Ansi. Нужно смотреть, конечно, остальную обвязку.
Строки (именно Delphi строки) никогда не были спорным решением в качестве буфера.

Pascal строки можно временно или навсегда оставить, заменив на Ansi

Это связано со структурами данных, передаваемых и хранимых, так что не так просто.
Воздержусь от спора по общеизвестной проблеме. Считайте как хотите. Но будьте готовы понести консеквенции, что уже происходит.
Как вам будет угодно. Вы могли бы просто привести доводы в пользу своей точки зрения и мы бы мило побеседовали как инженер с инженером без эмоций и холиворов. Но надо быть готовым к тому, что в конкретном случае (том продукте, с которым я работаю) они могут быть неактуальны.

Но будьте готовы понести консеквенции, что уже происходит.

В то время, когда принимались решения, проблемы вида «в будущем будет жесткий юникод, без возможности выбора» не существовало.
У вас большой опыт в Delphi?
По мне, так конечно вопросы с переходом в Unicode есть, но не так чтобы совсем.
Большой. Проблема серьезная, в нашем продукте — точно.
Мы тоже переводили ряд проектов на Unicode. В нашем случае проблема была с протоколами обмена при работе с «железом». Но ничего катастрофичного. В большинстве случаев просто в нужных местах string на AnsiString поменяли и всё!
А если потом эти AnsiString'и надо в какой-нибудь TStringList загнать? Постоянная конвертация туда-сюда. А если с WinAPI работать?
Я оставил AnsiString только там, где он даёт серьёзное преимущество по занимаемой ОП, и где никак не предполагается никаких символов кроме CP1251. Всё остальное — string и Char (Юникодовые).

При непосредственной работе с железом можно оставить RawByteString. Но дальше текстовые строки рекомендовал бы передавать в формате string (UnicodeString). Т.е. ввод-вывод, где требуется, работаем с ANSI-строками, а вся внутренняя обработка, насколько возможно — в Unicode.
Так и придется делать. Но, во-первых, наш продукт — чисто ASCII, поэтому на пустом месте потерять ОП не очень хорошо. Во-вторых, постоянная конвертация будет туда-сюда, арифметику указателей проверять и т.д.
Весь Java и .NET на Unicode изначально, и не парятся. И если вы не занимаетесь обработкой огромных массивов русского текста, наверное вы не почувствуете большой разницы по памяти и скорости работы после перехода.

Конвертацию строк ANSI-Unicode нужно ограничить именно на уровне ввода-вывода, тогда каждый разработчик будет уверен, что во всех остальных юнитах в проекте все строки только юникодовые. Ну и при подсчёте места под строку не забывать домножать Size = Length(s) * SizeOf(Char);
Да, а наш продукт ведет родословную с турбо-паскаля, поэтому париться приходится, к сожалению.

Конвертацию строк ANSI-Unicode нужно ограничить именно на уровне ввода-вывода, тогда каждый разработчик будет уверен, что во всех остальных юнитах в проекте все строки только юникодовые

Да, это логичное решение, но траты памяти при их полной ненужности (только ASCII) огорчают.

Ну и при подсчёте места под строку не забывать домножать Size = Length(s) * SizeOf(Char)

И это проблема, которая требует ручного решения. Плюс еще при дальнейшем переходе на 64 разряда, придется руками же везде править cast'ы между указателем и 4 байтным целым…
Траты памяти при переходе на Unicode не такие и страшные (см. мою статистику ниже), а вот возможность использовать Windows API без прокладки-эмулятора ANSI — уже плюс. Рано или поздно это пришлось бы делать, если вы хотите держать свой код «в форме»: с поддержкой новых Windows API и новых Delphi.
Ну, как не страшные — весь memory footprint по строкам удвоится, а у нас их просто очень много — все буфера, все на строках.
Поскольку весь текущий код использует ANSI, мне необходимо перевести его на новую платформу так, чтобы изменения были минимальными, это же касается WinAPI. Потом вручную это можно изменить, но первоначальная задача — перенос 1 в 1. У нас объем кода — миллионы строк и не так много людей, чтобы вручную все перепроверять.
Я заморочился, проверил*. Десть миллионов вызовов StrToFloat:

1) Борландовская реализация из D7 — 3229 мс, перенесённая в XE — 3276 мс.

2) Реализация Эмбаркадеры для 32-битного компилятора — 3370 мс для юникодных строк и 5553 для анси-строк.

3) И для 64-битного компилятора, где всё сделано через {$IFDEF PUREPASCAL}, соответственно 7613 мс для юникодных и 9095 для анси-строк.
Да, всё где-то так. Могу дать по одной из своих программ статистику. GUI-программа с активным текстовым процессингом, много таблиц со строками в памяти. После частичного перехода на Unicode (полностью GUI, частично внутренности, с добавлением конвертаций Unicode — ANSI), скорость обработки тестового текста уменьшилась на 2.8%. При этом размер EXE-файла вырос на 75%, место в ОП — на 17%. Мы считаем, это отлично по скорости и приемлемо по памяти.

Сравнивались компиляторы Delphi 2007 (Win32, VCL, ANSI) с Delphi 10.2 Community Edition (Win32, VCL, Unicode). Исходный код проекта тот же. Win64 пока сильно не трогал (не было надобности), пусть пилят до уровня 32bit-компилятора.

Могу добавить, что по ощущениям работать в новом Delphi очень приятно. Очень отзывчивый интерфейс (может чуть медленнее D2007), абсолютно стабильная работа, видно что отлично поработали над багфиксингом. В целом ощущение современного продвинутого инструмента, когда работая думаешь только о задаче, и все функции на кончиках пальцев. Мышка — только для красивого форматирования форточек программы, а работая с кодом её забываешь. Но это собственно было и раньше, просто сейчас вот этот бриллиант ещё и бесплатно можно дома крутить.
скорость обработки тестового текста уменьшилась на 2.8%. При этом размер EXE-файла вырос на 75%, место в ОП — на 17%. Мы считаем, это отлично по скорости и приемлемо по памяти.

Скорость упала всего на 2.8%, программа стала медленнее — и это отлично? В чем tradeoff, если и память стало тратится больше?

абсолютно стабильная работа, видно что отлично поработали над багфиксингом

Из своих тестов могу сказать, что ряд функций стал действительно намного лучше — скажем, lookup сигнатур функций мгновенен и не глючит. Но есть и баги, которые причем не report'ятся стандартным bugreporter'ом IDE.
Да, отлично, поскольку раньше не было поддержки Unicode, а сейчас есть.
Это если он нужен. Мне вот никаким боком — все в ASCII, только английский язык. А проблем из-за принудиловки — много.
Только в статье не написано «бесплатно».
Или вы предлагаете читать дофига страниц EULA на английском и искать, где же они там упомянули о цене?
Вообще Community Edition как раз подразумевает бесплатную модель распространения.
А может кто-нибудь объяснить что за джва года? Все пишут про этот джва, а я не в курсе и гугл не особо помог.
Это шутка такая? Гугл первыми ссылками отвечает на вопрос.
А это не ты ли мне в карму насрал?
Поднажми народ! Ещё есть куда расти. )))
Я буду звать вас — засранцы.
Эу, народ, правда хватит. Это тема про Делфи, тут должно быть тепло, дружелюбно и по-домашнему уютно.
В темах про Дельфи не бывает тепло и дружелюбно. Всегда из ниоткуда появляются хейтеры.
UFO just landed and posted this here
UFO just landed and posted this here
Повторюсь:
В темах про Дельфи не бывает тепло и дружелюбно. Всегда из ниоткуда появляются хейтеры.
Успокойтесь уже закапывать. За 15 лет не закопали.
UFO just landed and posted this here
С такими веселыми ссылками и не хейтер? Смешно. Не нравится — не используй. Никто насильно не заставляет. Странные какие-то, чесслово.
UFO just landed and posted this here
Ок, пусть у него складывается такое впечатление, что язык+сама среда настолько хороши, что, не смотря на всех его недоброжелателей, которых я уже видел тысячи, он живёт и активно развивается. Судьба у него, безусловно непростая. Посмотрите на любой другой язык: нигде нет такого количества хейтеров. Ни один язык не вызывает такого количества ненависти и близко. Увы, это судьба.
UFO just landed and posted this here
Тут есть большая разница :) Их ненавидят чаще всего те, кто их использует. А Delphi же, почти всегда, ненавидят те, кто его не использует. Бывают еще и такие, которые его вообще не видели или видели последний раз семёрку, которой уже 15 лет в обед. И пытаются нас, постоянно использующих (а заодно и всех), убедить, насколько язык плох и мёртв.
Сам язык Delphi очень даже неплох, понятен и читабелен. Но, начиная с определенного момента: выпуск Delphi 8 — Borland стал заниматься совершенно не тем. И смог таки убить свой уникальный стек технологий разработки. Заодно разогнал комьюнити. Народ ругался, плакал, но перешел на Visual Studio C# и C++. Всё. Получится ли создать новое комьюнити? Совсем не факт. Те, кого Borland тогда оттолкнул своими сумасшедшими стратегическими решениями теперь 100 раз подумают, стоит ли снова связываться.
Конечно же жаль: начиная с Turbo Pascal'ей и вплоть до Delphi 7 — это были отличные продукты, которые активно развивались.
Большинство проблем Delphi (были) связаны не с самой технологией, а с её менеджментом на протяжении многих лет.
Вы излишне драматизируете — никто не спорит с тем, что у Дельфи микроскопическая ниша. Спорят с «язык мертв».
Если зайти в практически любую тему про Дельфи, то комментарии хейтеров будут на первом уровне, т.е. это не ответы. И это реально странные комментарии, прочтя которые не понимаешь, зачем человек вообще зашел в этот хаб и комментирует эту статью.
UFO just landed and posted this here
Ага. Дружелюбие просто зашкаливает!
Давайте, поднажмите, -24 в карму это как-то маловато для вопроса про «джва».
Вы неправильно установили причинно-следственную связь между вашими постами и вашей кармой.
Да что вы говорите!?
Вы открыли мне глаза.
А клетчатый плед и тапочки выдают?
Вот-вот. Только корованы все еще грабить там нельзя.

Скажу про C++:
Нет вменяемого intellisence, раскрытия макросов, больших типов из 11 стандарта, стандартная библиотека порезана… и т.д., и т.п.… и чего они ждали, спрашивается, столько времени?

А их ценовую политику я показывал как образец неудачной шутки, когда Starter Edition (где было выпилено почти все) стоил как будто это Visual Studio профессиональная какая-то, а цены на лицензии полнофункциональных версий взлетали до небес. Было ощущение что свои довольно кривые решения они скрывали от широкой публики за заоблачным ценником, когда до этого тот самый ламповый Deplhi, да и C++ Builder от Borland выстрелили именно во многом благодаря условно бесплатному распространению в ВУЗах, школах и т.д.

Обидно до злости что только сейчас очнулись. Да только им еще современные удобные IDE догонять и догонять.
Да, только в 2017 году они действительно решили «подарить» Starter миру. По крайней мере в store больше он не продавался, не видел правда его так же и списке для бесплатной загрузки — возможно что не нашел, а может и просто выпилили эту версию как никому не нужную совсем.
ДА!
Вчера установил, второй день радуюсь.
Это наверняка интересно тем, кто поддерживает легаси на аутосорсе :)
Легаси это до юникод версий делфи. Так что данная версия помочь сможет не всем и не всегда, а жаль.
Плюсом стоит упомянуть драйвер БД. Без него она будет очень унылая, а уговаривать клиента приобретать еще ПО сейчас тяжело.
Новость навеяла теплые и ламповые воспоминания из институтских времен :) Диплом я защитил 15 лет назад. А последний раз столкнулся с Делфи лет 5 назад, когда предложили сделать диплом для учащегося ПТУ. Сделал за пару дней, названия функций, синтаксис, структура классов на удивление легко вспомнились. Только открыл IDE и институтские воспоминания нахлынули, кодинг доствил кучу удовольствия, как будто вернулся на 10 лет назад!
Под андроид интересено. Остальное — хлам столетней давности, ни одного нового продукта на делфи давно уже никто не разрабатывает.
ни одного нового продукта на делфи давно уже никто не разрабатывает
Ну вы ведь сами понимаете что это утверждение несколько голословно)))
Мы разрабатываем, и старые поддерживаем, и новые делаем. Так что утверждение уже неверно.
В настоящий момент на главной вижу:
Can't create/write to file '/tmp/#sql_552_0.MYD' (Errcode: 28 — No space left on device)

Неужели хабраэффект?
Судя по матрице, Firedac PRO/Community поддерживает только локальные серверы?

Как на этом можно заработать 4999к в год?
Есть же ещё сторонние наборы компонент для доступа к СУБД.
UniDAC. Стоит дешевле, умеет больше, работать с ним — приятнее. Техподдержка отвечает на русском)
Наш продукт напрямую через mysql connector работает, например. Заработать можно и совсем другие порядки.
Вообще, этот шаг нужно было сделать году этак в 2004-м, вместо их предыдущих попыток выпуска бесполезных бесплатных редакций без поддержки TDataSet и тому подобных издевательств. Но хорошо хоть сейчас.
А это одноразовая акция, привязаная к версии 10.2.3 или для 10.3 тоже будет доступна?
Один я вижу в EULA ограничение по совокупному годовому доходу $5000, хоть для индивидуального разработчика, хоть для компании? Даже если ПО используется для внутреннего употребления, а организация некоммерческая, но доната набрали за год $5000 — в пролёте. Или разработчик заработал вообще на другом ПО.
Кто лучше знает язык/юриспруденцию, переубедите меня.

Там с разными ограничениями вообще сурово. Но при запуске Starter Edition было еще суровее, причем при цене в 200 долларов. Будем надеяться на лучшее.

Starter они потом бесплатно начали раздавать

Только как говорят разработчики, на Starter можно было создавать только «Hello world!». Я не программист, я переводчик, мне для перевода ничего не надо кроме блокнота и карандаша, но я не понимаю, почему тогда Starter продавали и самое главное покупали? Когда вышли Microsoft Visual Studio Community тогда сделали Starter бесплатной, но с ограничениями и по функционалу и по доходу.
Мне вот тут подсказывают, что Delphi и C++Builder Community Edition это уже совсем другой уровень, чем Starter и он почти соответствует версии Professional и уже можно опять возвращать обучения на нем начинающих, как это было в 90-х, а так же писать утилиты для собственных нужд.

Так что для меня эта новость очень даже хорошая, потому что она дает шанс попробовать хороший продукт дома, без всякого нарушения закона и даже потом можно свои программы продавать.
Здравствуйте!

Не думал, что опущусь так низко, но если хотите попробовать хороший продукт дома, то попробуйте Microsoft Visual Studio Community 2017. Это и легально, и созданные программы можно продавать подороже (если мне не изменяет память, до 1 млн.$ в год).
Ещё и функционал полностью соответствует Professional редакции без всяких урезаний.
Это и легально, и созданные программы можно продавать подороже (если мне не изменяет память, до 1 млн.$ в год).

Там ещё круче, если студия используется для создания драйверов, расширений студии или open-source проектов её можно использовать независимо от количества сотрудников и дохода компании.
Спасибо, обязательно попробую. Давно хотела научиться делать маленькие программы для себя.
Насколько я понимаю — прямой профит непосредственно от разработки на используемой/используемых версиях CE не должен превышать 5000. То есть — если человек зарабатывает в год 5000, но не с помощью Delphi, то его можно вполне использовать. Если же контора зарабатывает в том числе и на Delphi, больше 5000, то нельзя.
Вот только они имеют тенденцию звонить тебе и спрашивать, зачем ты ее установил?
Не шутка, реальный кейс:
Контора купила три лицензии для трех разработчиков. Все лицензии активированы как положено, с именами, телефонами, компанией. Один из разрабов, находясь в отпуске установил на свой личный бук демоверсию студии, т.к. ключа рядом не было. Указал свои данные. На следующий день — звонок в офис от эмбаркадеро, с вопросом: зачем ваш сотрудник установил демоверсию?
Мне через час позвонили после того как я поставил трайл (оставив свой телефон, они требовали его для получения ключа). Ну я так понимаю они не столько убедиться хотят, сколько проводят опросы и собирают статистику. Спрашивали всякое, типа сколько у меня опыта работы с делфи, какие проекты я собираюсь разрабатывать на делфи и т.п.
Но все равно осадочек неприятный.
Ограничение — вполне нормальное. Всякие академические применения — подпадают. Плюс компании могут пробовать новые версии, и если они покатят, закупить лицензии. Мы недавно купили лицензию на новую 10.2 чтобы только попробовать, сможем ли мы на нее перевести продукт. И это недешевая лицензия. А так — можно попробовать, увидеть преимущества и купить уже пакет (для серьезной компании отобьется быстро).
Эх, помнится писал курсовик на Дельфи в конце прошлого тысячелетия… Не очень ясно, кому это сейчас может быть интересно. Тут есть кто его сейчас использует для новых разработок? Расскажите, зачем?
Мы. Периодически пишем простые утилиты для работы со специфическими девайсами под Windows. Для собственного внутреннего использования.
Минимум кода, максимум удобства. SDK от разработчика железяки с готовыми компонентами. Шлёп на форму, UI готов, события, обработчики, исключения — готово.
Можно сказать полностью заменил Visual Basic и макросы MS Office.
UFO just landed and posted this here
Только Free Pascal в качестве замены Тому Самому Borland Turbo Pascal под DOS на этапе разбора оставшихся DOS-проектов.
Пробовали. На двух компах из трех под линуксом простейшее приложение висло без причины.
Это не совсем альтернатива все же. Как минимум, отладчик Лазаруса (надстройка над GDB) — полная шляпа. Компиляция дольше, еще некоторая несовместимость с дельфиской codebase даже в режиме совместимости.
Мне интересно, было. Пока не попробовал то что у них считается «современной IDE». Отличий от C++ Borland Builder образца года 2002 на столько мало, а багов веселых (не пофикшеных с того же года) на столько много, что это и смех и слезы.

Я правда не знаю кому они это продают, и кто это покупает и использует. Но мои ощущения сугубо отрицательные от данного продукта, если говорить о C++ Builder. Про Deplhi не скажу, может там дела получше.
Есть куча узкоспециализированного корпоративного софта, начиная от медицины и научных расчетов до какой-нибудь нефтегазодобычи. Там нельзя вот так просто взять и переписать все на Java/.net Причём самое парадоксальное, что им этот новый Delphi не особенно и нужен, ибо все пишется где-то на 7 версии.
Все попытки писать новые модули на других языках делают только хуже, тк начинается полный зоопарк в проекте.
В клинике одной очень крупной ведется весь учет да и вся клиника работает на собственном приложении Delphi 7. Вы просто не представляете как их работа зависит от этого приложения, я покапался в ее коде и видно сразу, что приложение это одного разработчика, изначально им много лет писал ее один программист, дописывал туда кучу всего, потом, к сожалению, его болезнь застала и он умер. Как дальше развивать его не ясно. Но delphi жив и еще долго будет жить!!!
ИМХО если очень крупная клиника не смогла вылечить своего единственного разработчика — то это серьезный повод задуматься всем остальным пациентам :-)
Ага, а если бы они заставили переделывать хорошо работающее быстрое приложение на Java или .NET, то психиатр понадобился б главному врачу. :)
Какой бы крутой клиника не была, но, например, последняя стадия рака на данный момент неизлечима. И еще много всяких «на данный момент», к сожалению…
Я вот не понимаю, зачем вообще писать на Java монструозные (по занимаемым ресурсам) приложения с простецким GUI, если предполагается использование программы только в Windows? В Delphi тоже самое можно сделать быстро и красиво.
Мы пишем много софта на Delphi. В большинстве случаев софт работает с внешн им «железом». Обмен данными в основном по COM и Ethernet. Во-первых, очень много наработок. Переходить на что-то другое просто глупо. Во-вторых, высокая скорость разработки интерфейса. В-третьих, кроссплатформенность. Одни и те же модули используем при разработке Windows программ, так и под Android. В-четвертых, скорость компиляции Полная сборка довольно приличного проекта с кучей форм составляет 2-4 сек. Разрабатывать программу одно удовольствие. В-пятых, офигенно удобные компоненты для работы с базами данных. В-шестых, наличие бесплатных и недорогих платных библиотек компонентов. Например, JVCL, EhLib, TMS и пр.
У нас в городе в ВУЗах его изучают. Проблем с разработчиками вообще нет! Кроме того, нужно относится к языку как к инструменту. Какие-то вещи лучше писать на Си, например, ПО под микроконтроллеры. А какие-то намного лучше и быстрее разрабатываются на Delphi.
Порог вхождения довольно низкий. Переучить толкового программера за месяц-два вполне реально. По собственному опыту. Ну а благодаря обсуждаемой инициативе, станет еще проще искать людей. Предыдущая ценовая политика, безусловно, сильно отпугивала.
У нас берут с опытом работы на любых языках и переучивают, это ерунда.
WPF ничем не хуже, а XAML куда гибче и мощнее. Ещё скажите, что ваши компоненты лучше нормального ORM с Linq в комплекте.
К чему это писькомерство? Я написал, что мы активно используем Delphi и он нас полностью устраивает. Гибкости там хватает. Работать с разметкой в WPF мне лично не понравилось. Но это всё вопрос предпочтений.
Самое главное, что Delphi даёт возможность очень быстро разрабатывать программы. Не нужно тратить время на ручное описание разметки. Программист сосредоточен только на решение самой задачи.
К тому, что вы написали, что Delphi, чуть ли не единственный инструмент, который позволяет быстро разрабатывать интерфейсы и это один из плюсов, в VS есть визуальный дизайнер, как для Windows Forms, так и для WPF, в QT неплохой дизайнер, в WxWidgets тоже дизайнер есть. Кучу библиотек компонент вы упомянули, так для WPF есть не хуже, так как и Xaml позволяет менять поведение стандартных компонентов вообще без написания кода, плюс под WPF существует не меньше библиотек компонентов. Про ручное описание разметки, на своем опыте скажу, на Xaml писать ручками получается чаще быстрее (учитывая подсказки IntelliSence в VS) чем визуально, настраивая мышкой свойства через инспектор объектов. А как в Delphi c DI, MVVM и прочими паттернами?
Описывать руками то, что можно сделать мышкой — это маразм. Ясное дело, что визуальные редакторы и в других средах есть. Но в Delphi он более лаконично реализован.
в VS есть визуальный дизайнер, как для Windows Forms, так и для WPF, в QT неплохой дизайнер, в WxWidgets тоже дизайнер есть

Вы знаете, я уже почти десять лет серьёзно не работаю с Delphi, так, было какое-то сопровождение легаси-проектов. Сейчас в новых инструментах появилась масса интересных, удобных плюшек по кодогенерации, по тестированию, по дебагу. Мне нравится, это здорово. Меня злит только одна вещь: по продуктивности создания UI, мать его так, сейчас, в 2018-м году нет ни одного современного инструмента, который бы сравнялся с древнючим дизайнером форм, который был у Delphi ещё в 1998-м году. Во всех этих ксамлах приходится не проектировать UI, а верстать. Хочешь посерединке расположить группу элементов — лепи один контейнер, в него другой и т.д. Это лишняя работа и ненужные сущности для оконных приложений. Они и в браузерах, по-большому счету, были бы не нужны, но там такой подход сложился исторически.
Поддерживаю полностью. Я удивлен что нет ни одного зрелого open source проекта который бы решал эту задачу. Потому что все Designer (от Microsoft, от Qt и т.п.) почему то рассчитаны либо на описание всех элементов в коде, либо на верстку, когда человек-дизайнер делает формочки, а человек-программист пишет код.

А я хочу накидать элементов на форму и в коде легко и свободно работать с ними как с объектами языка. Как это решает тот же Delphi ну и C++ Builder с ним же.
Это частично из-за того, что в Delphi по умолчанию используется фиксированное расположение элементов (fixed layout), что не совместимо с нормальным автоматическим ресайзом форм, HiDPI и прочими вещами, нужными с в наше время.
Там же есть FireMonkey с ХЕ, там наверно лучше с лайоутом?

А в VCL да, по крайней в 2007 и со стандартными компонентами, было сложно создавать не совсем стандартные формы, нет даже грид лайота, только anchor'ы. В итоге пришлось в коде расставлять позиции и размеры при ресайзе.

Потом перешли на Qt, там не было таких проблем с такими же формами.
В VCL с какой-то версии есть TFlowPanel — кидаешь на форму эту панельку, а потом в неё кучей кидаем контролы, а панель сама их распологает согласно указанным правилам. В некотором роде костыль, но если сильно надо…
Ну а В FMX есть TFlowLayout: arranges child controls as if they were words in a paragraph, TGridLayout и проч. Подробнее: FMX.Layouts.
Они и в браузерах, по-большому счету, были бы не нужны, но там такой подход сложился исторически.
А мы и веб в Delphi также делаем — формочками :)
unigui.com
Очень удобно, пользователи в восторге.
Нет уж, обратно в текстовую консоль вы уже нас никогда не затянете :) Наелись за то время, пока Delphi не было. Редакторы форм — очень удобная фишка.
При чем тут консоль, речь идёт про Windows Presentation Foundation и язык разметки XAML. «Редактор форм» есть, даже два: встроенный в Visual Studio и более продвинутый в Microsoft Expression Blend
Ага, только гуру WPF всё же рекомендуют писать XAML вручную, ибо проблем со всеми его WYSIWYG редакторами предостаточно…
Да пишешь вручную, но в редакторе сразу видишь как поменялся внешний вид.
Ну так и в дельфи, если более менее сложный UI кучу времени будешь настраивать свойства в инспекторе, что мало чем отличается от набора кода, а потом ещё всякие обработчики событий для изменения поведения писать.

Последний раз я делал UI на дельфи в 2010 году и может быть мои знания устарели, но я не ощущаю кардинальной разницы между тем что делал тогда и делаю сейчас на WPF.

Так писать то DFM тоже как бы руками можно :) Только никто это в здравом уме не делает.
Ну так и в дельфи, если более менее сложный UI кучу времени будешь настраивать свойства в инспекторе
Куча времени обычно уходит на нормальное расположение контролов. Ну плюс может 2-3 процента времени галок пару нажать. По собственному опыту дизайна сотен форм. Может только какие-то очень-очень хитрые компоненты и есть, в которых нужно дизайнер мучать долго и нудно. Но я так сходу и не припомню
а потом ещё всякие обработчики событий для изменения поведения писать.
Чаще для взаимодействия между компонентами, инициализации, финализации. Само поведение бывает, но редко.
Дизайнер форм — одна из сильнейших сторон Delphi. Скорость проектирования просто космическая.
К слову говоря, не только дизайнер. А визуальное проектирование вообще. Множество невизуальных компонент. Которые кинул, связал и забыл. В последних версиях это еще улучшилось.
Погуглите: livebindings designer delphi.
www.youtube.com/watch?v=WSbulwePlKQ
image
Если код совсем лениво набирать :)
Ага, мы тоже такой штукой пользуемся. Очень удобно! А компоненты в Delphi это отдельная тема. Удобно собственные создавать!
А в VS дизайнер видели? Ничем не хуже.
Покажите что-то подобное для невизуальных компонент, если можно. Видео или скриншоты.
В VS тоже можно визуально биндинги настраивать, но в WPF нет понятия невизуальных компонентов, там еще проще, к любому компоненту можно привязаться, без всяких промежуточных компонентов или привязать класс к форме как ViewModel и привязываться к нему.
Ещё раз. Delphi — это среда быстрой разработки! Она избавляет от необходимости писать кучу ненужного кода руками! Это громадный плюс!
То есть можно как-то сделать как в Delphi: установить класс-коннект к базе, класс-транзакцию, класс-набор данных, привязать всё это к гриду без единой строки кода?
Немного не так, но да, аналогичный функционал там тоже делается визуально. Основное отличие ADO.NET от модели данных Delphi в том, что там датасет — это не набор данных, а единое локальное хранилище для всех наборов приложения.
Там хуже даже редактор кода! После дельфинского редактора как назад в прошлое возвращаешься.
Скажу, на Xaml с InlelliSence даже удобнее и быстрее писать, чем визуально в инспекторе настраивать, ну и камень в огород VS, дизайнер Xaml постоянно падает неизвестно от чего.
UFO just landed and posted this here
На моей текущей работе пишем конечные автоматы для складских роботов, на прошлой — софт для реанимации в госпиталях. Есть заказчики, которым только нативное подавай — то есть никаких Java, .Net и т.д.
А при выборе нативного языка Delphi обойдется дешевле, так как разрабатывать проще, зарплаты ниже, чем к примеру на C++
UFO just landed and posted this here
Мы. Пилим софт для школ. Успешно. Запустили мобильное приложение под Android и iOS. Единая кодовая база. Очень удобно.
А больше в мире нет кроссплатформенных мобильных платформ?
UFO just landed and posted this here
UFO just landed and posted this here
Current Status
We're currently in a beta phase, which means that the framework is generally usable for writing applications, but there may be some bugs and breaking changes as we continue development.
Накидать рабочую бетку любой программы — это 20% усилий. Ещё 80% — это отловить баги, отшлифовать интерфейс, ускорить узкие места, учеть пожелания пользователей,… при этом не потеряв удобства работы и желательно предложив нечто, чего нет у конкурентов.
Не буду оригинален, если скажу, что с этим предложением они опоздали лет на десять.
UFO just landed and posted this here

Еще лучше — 20. К 2003 году, кажется, пациент был еще жив, но смертельный диагноз уже был. Там же наложились несколько больших движений:


  • MS выпустила .NET и агрессивно пропихивала его. В 2003 уже было понятно, что .NET надолго и выпущена VS 2003. В 2003 виндовая разработка очень быстро мигрировала на .NET. И потому что C# неплох, и потому что MS пропихивала на место VB/Delphi и прочего.
  • Хейлсберга Borland зря упустил. Это 1996.
  • Borland (и все его ипостаси) в 2000-2003 пыталась усидеть на нескольких стульях, по сути проедая драгоценное время. Заигрывания с Qt, Kylix, JBuilder, попытки влезть в .NET отказавшись от Win32, а потом вернуть Win32. Слияния, поглощения, переименования. А по факту после Delphi 6 застой.

Короче, хороший пример то ли отсутствия стратегии, то ли очень неудачной стратегии. А вот в 1998, наверное, можно было успеть сделаться непотопляемыми, раздав официально Community Edition.

Пока что не всё упущено, хотя и многое, сложно спорить. У того же шарпея, судя по Тиобу, дела тоже так себе. И это не смотря на уже открытые сырцы.
А что с ним не так? Держится на 5-м, 6-м месте стабильно уже давно.
Держится, однако просел с 8-ми процентов до 4х. Майкрософт не от хорошей жизни сырцы открыла :) Однако, увы, слабо помогло.
UFO just landed and posted this here
Он был может и слаб, но туда ломанулась тьма народу с VB6 (а софта, на нем написанного, было чуть ли не больше, чем всего остального софта вместе взятого)

Спорить можно до бесконечности, в любом случае это "было бы" и Борланд опоздал, а задним умом удобно быть умными :)
Но таки мне кажется .NET был явно уже безальтернативен, VB6 явно MS не собирался развивать (а это был очень популярный язык), а С++ MS пытался не развивать (Managed C++ похож на анекдот), но им самим надо же было на чем-то писать. Хотя может именно на этом фоне и надо было форсировать (совместимостью с тем же свежевышедшим C++03, например).
Я посмотрел по Tiobe, он не до конца адекватен, но, да, пожалуй и в 2003 был у них шанс (Deplhi, C#)

Я примерно в 2007 писал на managed C++. Интерфейс программ — формошлепство из дотнета, а сама логика нативная. Попытки перевести всю логику на дотнет приводили к значительному падению скорости.
Давно не запускал visual studio, есть ли сейчас какой-то простой способ скрещивания формошлепства с нативным кодом? Или только использовать внешние dll и конструкции public static extern IntPtr
— Разделяете C++/CLI код для WindowsForms от нативного C++ по разным файлам исходного кода. В свойствах файлов для C++/CLI ставите managed, в свойствах исходников для C++ убираете соответственно.
— Не подключаете заголовочные файлы стандартной библиотеки C++ где идет работа с потоками (всякие mutex, threads и т.п.) в файлы с кодом managed C++/CLI.
— Не держите экземпляров классов native C++ в глобальных переменных managed кода и в managed классах (только через голые указатели можно).
— Для хранения managed указателей из нативного C++ используете обертки gcroot.

Короче говоря поменьше мешаете в кучу managed и unmanaged код, C++/CLI и C++, и все работает. GUI отдельно, логика отдельно.

PS: microsoft активно проталкивая страшный WPF всякий убрала вообще из шаблонов проектов WindowsForms проект. Так что чтобы новый создать надо сначала найти шаблон, благо в интернетах все есть. Ну и Designer для этих форм тоже не обновляется, потому как падал через раз при открытии формы, так и падает.
UFO just landed and posted this here
В бизнесе, похоже, вполне неплохо. Многомиллионные сделки. Как говорил в своё время Твен, слух о моей смерти был сильно преувеличен.
Так потому и продают за конские деньги, что их продукт никому не нужен. Популярный софт можно и дешево раздавать, всё равно за счет количества продаж будешь в плюсе. А тут, похоже, целевая аудитория — это те, кто уже вбухал в софт на Дельфи кучу человеколет и кому теперь просто некуда деваться с подводной лодки.
UFO just landed and posted this here
На Лазарус не всегда легко перейти, особенно всякие низкоуровневые штуки типа драйверов.
Лазарус — это как Опен Офис в обсуждениях МС Офис, он как бы есть, но пользоваться без боли им сложно.
Последний раз после обсуждения Делфи, вроде бы жто было после выпуска Стартер-Едишн, я установил этот Лазарус, создал Хеллоу Ворлд, сохранил проект, перезапустил Лазарус, но открыть только что сохранённый проект не смог :)

Не знаю, очень плотно работаю с лазарусом уже достаточно долго. Полет отличный. Сама IDE уже более удобная, чем Delphi. Если бы у них был еще нормальный дебагер — я бы вообще в делфи не заглядывал.
Может быть глюки мак-версии или просто генеральский эффект…
А как там с управлением памятью? Подсчёт ссылок, сборщик мусора или всё вручную?
нельзя бесконечно ездить на тех, кто уже что-то там когда-то давно в их платформу вбухал
А вот и нет, можно)))
Реальный кейс: мой работодатель. Куплены: D5, D7, D2009, XE2, XE5, XE8, XE10, XE10.1, XE10.2 Последние — по подписке, со скидками.
Зачем? У нас куплены D7 и будет выкупаться 10.2, все.
10.3 уже вот-вот, не спешите.
Что-то для того же Кобола (даже и он еще не умер :) ) не слышно никакой движухи. А вот для Delphi — постоянно. Какая тут может быть смерть?
Я вообще не в теме кобола, но подозреваю, что программистов, способных допиливать компилятор и тулзы для разработки, ещё на порядок меньше, чем собственно коболистов. Те компиляторы ещё, поди, на ассемблере написаны были, а на современные перетаскивать код 40-летней давности никто никогда не решится.
Скажите, как с приобретением IDAPro обстоят дела?
Да смотря что понимать под «не всё плохо». У меня на хабре некоторое время назад был диалог, где я удивлялся, почему Embarcadero не понимает простой вещи: приток новых платящих клиентов возможен только в рамках роста общего количества проектов, а для новых проектов нужны люди, которые знают, любят и поддерживают платформу. А откуда этих людей взять, если даже студент не может бесплатно скачать Delphi и поиграть с ней?

А мой собеседник говорил, что в Embarcadero не дураки сидят и понимают, что их поезд ушёл, так что задача здесь иная: выдоить корову по-максимуму, пока не сдохла. Мне не очень импонирует такой цинизм, но сам я иного объяснения тоже не вижу. Да, ребята успешно монетизируют что имеют, но эта бизнес-стратегия заканчивается естественным тупиком. Считайте, что некий теряющий популярность сайт решает компенсировать убытки тем, что вешает больше рекламы и дерёт за эту рекламу больше. Ну и до поры-до времени это всё работает.

Собственно, вот эта новость про Community Edition, возможно, показывает, что тупик уже не за горами, и стратегию пора менять. И удачи им в этом деле, на которое даже в самом оптимистичном раскладе уйдут долгие годы. Им надо компенсировать лет 15, наверно.
Зная текучку в западных компаниях, интересно — у них хоть кто-то есть, кто вообще помнит с чего все началось?
Мне кажется, что в дополнение к видимой части айсберга есть огромная подводная часть. Если заглянуть на linkedin, то создаётся впечатление, что люди только и делают, что пилят блокчейн-стартапы с machine learning. В реальности же массе специалистов нет никакой нужды создавать себе linkedin-профили и прыгать из стартапа в стартап. Можно всю карьеру построить на знании Кобола. Или Delphi.
По собственному опыту. С паскалем связан, если брать ZX Spectrum, лет 25. Основной инструмент разработки — Delphi и переходить никуда не собираюсь. Смысл? Если на нём всё отлично получается.
Вам — никакого. А теперь с точки зрения фирмы, продающей продукт:

— есть люди, которые пользуются, и их всё устраивает;
— есть люди, в силу различных причин уходящих с платформы.

В результате со временем общее количество пользователей только падает. Нужна ещё третья категория: люди, которые на платформу переходят откуда-то ещё (ну или тех, для кого она первая). И в случае Delphi этих людей взять неоткуда, в первую очередь благодаря упёртости производителя, который абсолютно и совершенно никак не пытался поддерживать к нему интерес в студенческо-преподавательской среде.

Вот вы-то в годы своей юности взялись осваивать модный и популярный продукт среди вашего поколения, да? А не Кобол. Так и нынешние так же поступают.
И в случае Delphi этих людей взять неоткуда, в первую очередь благодаря упёртости производителя, который абсолютно и совершенно никак не пытался поддерживать к нему интерес в студенческо-преподавательской среде.
По собственному опыту: людей можно найти без проблем. Либо переучить.
А не Кобол.
В молодости Паскаль был далеко не единственным, но самым понравившимся. Были: Бейсик (спектрумовский 100% знаю, фактически первый язык), Форт, Ассемблер (он и остался), C, C++. Был бы Кобол, возможно и его бы пробовал. Но такого чуда и тогда не было и сейчас особо не видно :) Delphi же сейчас на каждом углу, как говорится. Вот — уже и бесплатно раздавать начали. Много читал, много пробовал. На ассемблере игру даже на Спектрум написали с приятелем как-то :) Но прижился именно Паскаль. Не потому, что он модный и популярный. А удобный и понятный. Позже появилось Delphi. После паскалевских сред типа BPW это, конечно, был прорыв.
По собственному опыту: людей можно найти без проблем. Либо переучить.

Можно. Вопрос в том, кто этим будет заниматься.

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

Тут всё решают числа. Одиночки такие всегда найдутся, но требуется именно постоянный приток свежей крови, которого нет.
Я бы не сказал, что свежей крови совсем нет. Людей на форумах немало. Посмотрите сами:
www.cyberforum.ru/delphi
www.sql.ru/forum/delphi
fire-monkey.ru
forum.ru-board.com/forum.cgi?action=filter&forum=33&filterby=topictitle&word=delphi
freepascal.ru/forum
www.delphisources.ru/forum
www.programmersforum.ru/forumdisplay.php?f=1
forum.sources.ru/index.php?showforum=9
И, думаю, после последних новостей будет еще больше.
На этих форумах почти все новички это студенты с помогите-решите-лабу-из-вуза.
Это, к сожалению, не статистика. Я же не могу в самом деле посчитать, как с годами менялось количество пользователей этих форумов. Если взять Stack Overflow trends (первое, что в голову пришло), то тренд вполне ясен:

image

Новости для делфистов хорошие, но для публики вне этого сообщества они ничего не значат. Ух ты, тут бесплатно раздают лицензию на среду разработки для тех, кто зарабатывает менее 5000 долларов в год! Офигеть, уникальное предложение!

Понимаете, я не за и не против. Если популярность Delphi будет расти — ну и прекрасно, я рад за них. Я лишь говорю, что всё это как слону дробина, и язык «выстреливает» лишь тогда, когда есть мощная синергетика — поддержка бизнеса, энтузиастов, преподавателей.

Мы здесь по факту обсуждаем довольно жалкие новостные поводы за отсутствием иных.
Статистику, всё таки, стоит понимать.
Аналогичные показатели у многих 'старых' языков:
insights.stackoverflow.com/trends?tags=c%23
insights.stackoverflow.com/trends?tags=c%2B%2B
А у 'новых' конечно же растёт:
insights.stackoverflow.com/trends?tags=r
Оно и логично: количество вопросов ограничено, зачем повторяться, если и так уже всё спросили и ответили?
А вы сравните ещё и абсолютные показатели: в ваших примерах ниже 2.5% ничего не падает. В отличие от.

Как бы то ни было, я предлагаю некую статистику, её можно действительно интерпретировать по-разному. Предложите другие данные, можно будет их обсудить.
Я написал, что видно из статистики. Delphi тут (в плохом смысле) не уникален. Большинство 'старых' языков падает на stackoverflow всё последнее десятилетие.
Но вы игнорируете другие вещи, которые точно так же видны из статистики:
По C++ падение с 5% до 2.5-3%, т.е. грубо говоря в 2 раза, по Delphi падение с 0.8% до 0.2% — в четыре раза, ну и 0.2% — это уже почти что статистическая погрешность.
CE может улучшить позиции, я думаю.
Я надеюсь, что они сами увидели эти тренды и потому приняли решение выпустить Community Edition.
Эти тренды в таком ключе движутся уже почти 15 лет, их нельзя было не увидеть. Скорее, у них или старый менеджер продукта пошел наконец на пенсию, или наблюдательный совет сменился.
Вопрос в том, кто этим будет заниматься.

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

Короче говоря, всё возможно, но в итоге это просто будет отражаться на затратах. Хорошие Делфи-программисты будут требовать более высоких затрат, а дешёвыми окажутся лишь те, которых больше никуда не взяли.

Я в целом тут говорю не о проблемах конкретных фирм (они и вправду справятся), а о глобальных перспективах всей платформы, которые, на мой взгляд, туманны — благодаря идиотскому менеджменту Embarcadero и пятнадцатилетнему ковырянию в носу.
'Вникать' и учить человека всё равно нужно. Ни один не придёт в более-менее крупный проект и не начнёт сразу что-то делать. Вот — пусть вникает сразу на Delphi.
В носу они далеко не ковырялись, а достаточно хорошо продвинулись за 15 лет. Очередной правильный шаг, хоть может и несколько запоздалый.
Вы снова фокусируетесь на одном высказывании и игнорируете остаток. Нарисуйте себе портрет человека, который сейчас будет готов потратить серьёзное время на изучение и оттачивание мастерства в Delphi. Его дальнейшие перспективы будут куда более ограничены по сравнению с тем, кто хорошо знает Python, например. Этим можно будет заниматься только (а) за большие деньги; (б) от безысходности и (в) ради очень крутого проекта (но вы не Google, так что эту опцию отбросим).
Зачем мне теоретизировать? Я вам говорю из свое практики: найти людей не проблема. Проекты у нас может и не гугловские, но успешные и долгоиграющие.
Да я выше уже говорил, что не вижу проблем для любой конкретной компании. У вас всё будет в порядке, не сомневаюсь. У тех, кто сейчас имеет старые успешные системы на Коболе, тоже всё будет в порядке.

Моё видение ситуации состоит в том, что в перспективе рынок Embarcadero будет лишь сужаться, равно как и количество рабочей силы, соображающей в Delphi. Вот и всё, на большее не претендую.

Для вас это, скорее всего, пустое размышление, но для очередного поколения программистов и создаваемых проектов — фактор крайне существенный.
О смерти Delphi я слышу все 15 лет, в течение которых им занимаюсь. Однако — он до сих пор актуален и на плаву. Так что, ок, посмотрим что и как дальше будет.
Вот тема 2002-го года (16 лет назад):
Будущее Делфи
А про Delphi в Америке мало кто и слышал… и работы там на ней родной не найти… по сравнению с тем же ВБ.
И вот так уже больше пятнадцати лет. Одно и тоже. Одно и тоже. :)
Хоть бы что новое придумали за 15+ лет похорон то :)
Я не знаю, что такое «смерть языка». Пока есть люди, использующие Кобол, Кобол жив. Повторюсь, я уверен, что у вашей конторы всё будет в порядке, и на ваш век хватит специалистов, которые смогут поддерживать проекты на плаву. Вопрос исключительно в соотношении приходящих и уходящих людей и размера рыночной ниши. Ну, соответственно, можно лишь сравнивать, кто «более жив», а кто «более мертв», не более того.
Можно долго над графиками медитировать, но вот реалии:
Даже на hh.ru реальных вакансий программистов C# с з/п от «ста тыщ» — единицы на всю Москву.
Кризис у нас идёт вялотекущий, скрытый. Реально устроиться на работу сейчас некуда.
UFO just landed and posted this here
Ну вот — реальные данные с форума. Я это не придумал :)
Никакой человек не придя в сложный проект не будет сходу делать что-то серьезное. Он все равно будет учиться по месту.
Да, очевидно. Вопрос в конкретных затратах и в том, в чём мотивация человека изучать платформу, которая переживает далеко не лучшие свои дни.
Я бы посмотрел с другой стороны: учитывая этот фактор, о котором вы говорите, компании будут предлагать что-то интересное соискателям.
Есть же большая разница между «учить архитектуру проекта» и «учить платформу и архитектуру проекта».
Разумеется. Я говорю о том, что «учить платформу», если говорить о Дельфи — это фактор меньшего порядка по сравнению с изучением проекта. Серьезно.
А я вам возражу. Всё как раз наоборот. Программисту в общем случае практически не нужно учить проект. Это же не продакт-менеджер. Выяснил то, что касается его текущей задачи и приступил к работе. Это вопрос даже не дней, а часов. Всё остальное можно узнать по ходу дела, в рамках выполнения других задач.
С платформой всё намного сложнее. Да, на изучение языка и некоторых основных инструментов и библиотек нужно не очень много времени, это вопрос недель. Но это уровень джуниора. Чтобы код не просто работал, а был качественным, уйдут уже месяцы.
Выяснил то, что касается его текущей задачи и приступил к работе.

Это не всегда возможно. Дальше спорить «оно вот так — нет, наоборот» не имеет смысла без конкретных проектов. Может быть и так и вот этак. Учитывая, что Дельфи часто применяется в легаси-проектах, мне мое утверждение кажется более реалистичным, но спорить не буду.

Чтобы код не просто работал, а был качественным, уйдут уже месяцы.

Если парадигма платформы — кардинально другая, то да. С Дельфи, кмк, такого не наблюдается. Значительная часть решений присутствует в Си, Джаве, Нет-платформе.
Это не всегда возможно.

Это практически всегда так. Я даже затрудняюсь представить себе ситуацию, когда технического задания на конкретную задачу может быть недостаточно для того, чтобы приступить к работе. Только если техническое задание абстрактное, код не документирован, и спросить не у кого.
Если парадигма платформы — кардинально другая, то да. С Дельфи, кмк, такого не наблюдается.

Вы с разными парадигмами платформ столкнётесь сразу же. Например, в модели работы с данными, т.к. ADO.NET vs DBaware vs JDBC vs Hibernate / EF — вообще разные миры. Это только по-крупному. А самое неприятное, что вы будете постоянно натыкаться на различия в подходах в мелочах, и это самое трудно выявляемое, т.к. вроде как код работает, но написан он неверно, не в соответствии с правилами, принятыми на платформе. В дотнете, например, для хранения конфигурации приложения предусмотрена поддержка со стороны платформы, в Delphi этого нет, и Delphi-программист, пересев на дотнет, с большой вероятностью по привычке сядет что-то велосипедить или искать стороннее решение. В Java нет свойств, и Java-программист, пересев на Delphi, по-привычке будет юзать методы и приватные поля, в тех местех, где надо было делать как раз свойства. И этот код тоже будет работать, но он будет некачественным и требовать переделки. Таких нюансов очень много, и они всегда вылезают, когда человек пересаживается на незнакомую платформу.
Это практически всегда так. Я даже затрудняюсь представить себе ситуацию, когда технического задания на конкретную задачу может быть недостаточно для того, чтобы приступить к работе. Только если техническое задание абстрактное, код не документирован, и спросить не у кого.

Да запросто — я хорошо помню свою первую задачу в этой компании, которая вылилась в тривиальное изменение одной строки кода. Но чтобы понять, что именно менять и как, мне пришлось изучать систему не один день.

что вы будете постоянно натыкаться на различия в подходах в мелочах

В мелочах — да, с этим никто и не спорит. Этот разговор не имеет смысла, потому что все завязано на своеобразное понимание сторонами слов «качественно», «мелочь», «трудно» и пр.
Понимаете, я на Delphi пишу не от безисходности, а в своё удовольствие :) И так всегда было и будет.
Они не настолько отстали на сегодняшний день. Ключевое — не настолько.
Просто в сознании многих Дельфи остался на уровне D5-D7, когда они им пользовались, и сравнивают они ту память с другими современными языками. Аналогично люди, которые много лет назад ушли с платформы Windows зачастую склонны выдавать за недостатки Windows как таковой свои воспоминания о версиях W95-98.
Помнится решил тряхнуть стариной и поставить триальную версию на посмотреть. Скачал, поставил. Через денёк приходит майл от какого-то манагера продаж, мол, как вам наша новая версия. Я ей често сказал, что картинка города Берлина на заставке очень красивая, дальше программа весит и меня не пускает, поэтому про всё остальное сказать ни чего не могу. :)
видимо руки кривые. все работает. проблема явно только у вас.
UFO just landed and posted this here
Вы случайно не пытались одновременно 32 и 64 платформы устанавливать?
Важный шаг, но критична была не цена в проблеме утраты влияния, кмк.
Куча работ (именно у значительной части то прослойки разработчиков, которые использовали делфи и билдер) связана с разработкой, использущей сторонние библиотеки (OpenCV, Caffe и вот это вот все). Но все это из за устаревшего компилятора не собирается под тем же билдером вообще никак.
Вроде появился clang в билдере. Но попытку собрать ML библиотеки уже похоже некому делать. :(

Delphi, как языку, не хватает нормальной стандартной рантайм библиотеки уровня C# или Java. Правда, не знаю как сейчас дела обстоят, но лет 5 назад все еще было плохо.

Да, неплохо, взглянул на обилие библиотек и понял, а где менеджер зависимостей, типа maven, npm, nuget и т.п.

Они почти все независимы. В чем, собственно, и прелесть. Такого зоопарка как в Линуксе или Питоне нет и близко, к счастью.
К слову — там только актуальное и бесплатное. Платного всего, понятно, еще как минимум столько же.
А он везде нужен? Кмк, это перенос проблем других платформ.
В догонку к «скоро умрет».

Был на семинаре от TMS, где они представляли свою новую разработку:
создание приложений для Web на Delphi, прямо в IDE.

Пайплайн примерно такой:
-в студию устанавливается плагин, который добавляет в опции проекта и опции ИДЕ настройки для веб
-создается приложение на основе ихнего шаблона, и использует FNC-компоненты (ессно от TMS)
-приложение пишется практически как обычное VCL-приложение на языке Delphi, только в пространстве имен FNC
-для использования контролов на форме (т.е. в окне браузера) они перевели практически все необходимые контролы
-после компиляции студия запускает браузер, и ваше приложение работает в браузере.

Как это работает:
-под капотом ихний собственный т.н. DelphiToJavaScript Compiler, построенный на основе опенсорсного FPC
-этот компилятор читает дельфи-код и преобразовывает его в яваскритп
-есть возможность использовать как шаблон формы свой собственный HTML
-HTML также может быть сгенерирован компилятором автоматически
-можно использовать CSS
-можно подгружать свои собственные js-библиотеки (не показывали как, но утверждают что можно)
-после запуска студия открывает браузер и стартует ваше приложение в браузере
-приложение можно дебажить, НО:
-а) только в браузере
-б) браузер получает от студии map-файл с инфой для отладки, и отображает исходный код на дельфи (это показали, действительно в браузере код на дельфи, и деже отображаются значения переменных)
-можно подключаться к БД посредством REST-технологии, все запросы к БД при этом работают асинхронно
дополнение) можно писать серверное приложение, которое будет принимать и обрабатывать эти запросы к БД, т.е. аналог фронтэнда и бэкэнда можно писать на дельфи
-приложение выполняется полностью в браузере
-минимальный размер приложения был от 250кб, утверждалось что если пройтись спец. оптимизатором по ява-коду, то будет еще меньше

Мое личное имхо #1:
очень интересно, мы будем это у себя пробовать.
Лично я раньше не очень уважал TMS и их поделки, но пообщавшись с их командой изменил свое мнение, эта работа действительно впечалила.

Мое личное имхо #2:
Эмбаркадеро может присмотреться к TMS и купить их, как было в свое время с предшественником Fire-Monkey. Потом пару лет на болезненное костылестроение с этой технологией, пока они не приведут ее в стабильное состояние. Потом можно будет пользоваться.
Рекомендую так же посмотреть в сторону UniGUI:
unigui.com
Отличное решение для веба под Делфи. Мы активно используем.
Работает с помощью Sencha ExtJs. Которую, к слову, Идера (текущий владелец Delphi) купила.
Также можно посмотреть:
www.youtube.com/watch?v=oelLPoPbWVw
community.embarcadero.com/blogs/entry/web-front-end-frameworks-webinar
… а нам пришлось это писать ручками. Потому что памяти тээмэска жрала как не в себя да висела дай боже. Они наверняка изменились — TMS компоненты — вполне себе хороший пакет.
А это точно Community Edition?

По мне так это shareware продукт с триальным периодом. Только вот в отличии от класической shareware где триал даётся на время здесь вместо времени ограничителем выступают деньги от продажи разработанного приложения.

Так же когда в названии продукта используется «Community Edition» я подразумеваю что вот это самое «коммюнити» которое образуется вокруг продукта может влиять на его развитие и имеет доступ к коду самого продукта (как например сделано у JetBrains с IntelliJ CE). Прочитав FAQ и погуглив я не нашел репозитороия с исходными кодами Delphi и C++Builder Community Edition.

Получается что по сути Embarcadero анонсировало наличие триала у своих продуктов, а не Community Edition.
Именно с Delphi и TurboPascal я начал свое погружение в программирование. Ностальгия аж, было все в 2001м году, супер, первые 400р на программинге я заработал именно на Delphi
Год назад нужно было выдернуть достаточно сложную бизнес-логику из десктопного проекта на Delphi 5 и перенести в веб на бекенд для работы с хипстерским стеком. Как-раз тогда не хватало подобного выпуска, из-за чего даже пробовать не стал триал, сразу переключился на FPC/Lazarus. И не жалею, чтоб собрать старый проект понадобилось не больше часа, при том что Delphi не касался больше 10 лет. Позже, после выпиливания GUI и от Lazarus отказался в пользу IDEA CE + I-Pascal.
Оно разговаривает!

Неужели жива еще дельфа. Разрабатывал на 2-5 версиях, было время
Чем отличается набор компонент доступных в Delphi Community Edition от Professional версии?
На официальном сайте не нашел сравнения…
Вроде (бегло просмотрев) ничем. Всё что есть в Pro — есть и в Community. Отличаются только лицензией.
Ничем не отличается.
Turbo Pascal -> BP7.0 -> Delphi 1,2…
-> Compaq Visual Fortran -> Intel Fortran
ИМХО маленькая простая Delphi c отличной оптимизацией/векторизацией/coarray была бы удобна многим «непрограммистам» ;))
Я последний раз занимался созданием Desctop приложений в начале 2000-ых. Delphi и С++ Builder тогда были очень удобными инструментами для создания несложных приложений типа:
— Корпоративных баз данных с множеством табличек и формочек (зачастую 90% делалось drag-and-drop)
— Программы для работы с железом
— Всякие не сильно навороченные утилиты
Из плюсов был:
— Очень низкий порог вхождения
— Толковые IT-шники осваивали платформу на базовом уровне буквально за неделю, после чего уже могли писать несложный, но вполне рабочий софт
— Большое количество специалистов любого уровня квалификации на рынке.

А какие сейчас платформы пришли на смену? Чтобы было также просто, но функционально и с простым освоением?

UFO just landed and posted this here
Спасибо. Если C#/WinForms действительно легко освоить на базовом уровне, я пожалуй уделю им неделю-другую своей жизни. Потребность в быстром написании всяких простых БД и утилит есть, а использовать для этого мой родной web-стек часто крайне не эффективно и избыточно.
Это тот самый случай, когда крайне неэффективно и избыточно.
А если хочется делать под Linux и мобильные устройства, то что выбрать?
Xamarin про мобилки (не совсем то же, что и winforms, зато можно логику использовать с десктопа). А в linux есть mono рантайм, умеющий (насколько — тут не скажу, увы) в winforms.
поддержка Python и С# планируется в RAD Studio?

Ну что за вопросы, конечно, нет

Похоже это тот самый случай когда лучше поздно, чем никогда.
$ sarcasm mode on
Ура! Преподаватели-айтишнэги вузов необъятной восторженно кричат и в небо чепчики бросают! Можно дальше забивать дерьмом голову студентам и школьникам!
$ sarcasm mode off

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

У нас в вузе кроссплатформенную разработку преподают на эмбаркадеро. Застрелится и не встать никогда.

Может хватит уже насиловать труп, а посмотреть в сторону массы технологий, которые забесплатно и без ограничений?
В новых билдерах вроде выкинули свой компилятор и взяли clang.
Only those users with full accounts are able to leave comments. Log in, please.

Articles