Комментарии 113
P.S. Если есть какие-либо возражения или предложения — пишите в комменты (они мне бибикают на email, в отличие от ЛК)
«Не до конца» пишется в три слова.
Если, например Qt и VS, стоюят до 10к рублей на человека
не биeрем в расчет организации
Понимаю ваше возмущение и минусы — сам бы себе минус поставил бы, будь возможность…
съедала почти всю оперативку (4Gb под Windows + VS)… В итоге программа заняла около 40Gb памятиОчень спорно. Хотелось бы увидеть пруфы — рабочую память и выделенную память.
По-моему обе среды достаточно компактны (сравнивая с Нетбинс, Эклипс, Андроид Студио).
Была кстати неплохая IDE, все работало, не припомню каких-то глюков или падений.
Затем перешел на Visual C++ и как-то перестал отслеживать борландовские продукты. Но иногда смотрел что же там выходило…
Не знаю как это правильно сформулировать, но вот такое бывает когда у власти не инженеры и программисты, а всякие маркетологи или как их там правильно называют. Они стали пихать в среду ВСЁ. Какие-то суперпурер-решения для «бизнеса» (в основном это касалось баз данных), которые якобы призваны решить все проблемы, баззвордные названия, стали метаться между технологиями, прикручивать все что можно… все это выливалось в экспоненциальный рост дистрибутива и трудности с пониманием «а зачем-же это все нужно».
Затем в какой-то момент они вроде как перестали справляться со своим компилятором и перешли на LLVM (или может только для С++ перешли а для Delphi остались?). Вот это жалко — хоть бы код открыли. Ведь именно они первыми реализовали в С++ свойства, очень полезная фича; вроде так никто и не попытался повторить, даже в расширениях gcc не сделали.
В общем вывод — надо им открыть код, выкинуть 90% маркетоидного мусора, провести тотальный рефакторинг (по сути чистку). Сама среда разработки была таки неплохой. Но это коммерческая до мозга костей компания, да еще и не сильно богатая, судя по конским ценам на продукты, они никогда на такое не пойдут:(
Причем есть у них действительно хорошие IDE, но вот их подход реально душит всю компанию, что жуть как обидно.
Сейчас аналогичная тема с NetBeans, потому решил написать эту статью, как заготовку
Насколько Pascal был открыт и документирован в 80-е, ровно настолько же использование Delphi мне казалось шаманством в отсутствие нормальной документации. Для работы в Windows, по сути, нужно было держать два справочника открытыми — по VCL и по WinAPI.
При этом тот же Delphi на мой взгляд, никто не смог обогнать по количеству доступных сторонних компонентов, работе с БД, а главное быстро создать и запустить в продакшен программу.
если проанализировать имеющиеся решенияЯву забыли.
При этом тот же Delphi на мой взгляд, никто не смог обогнать по количеству доступных сторонних компонентовХорошо, что вы уточнили «на мой взгляд».
работе с БДРаботать с БД с клиентского десктопа было в моде давно, сейчас это моветон. Поэтому для БД осталась необходимость только при разработке серверного ПО под винду. Много ли сейчас начинают новые проекты, где требуется на делфи разработать серверное ПО под винду?
а главное быстро создать и запустить в продакшен программуОпять таки, требования выросли. То что раньше для корпоративного сектора писалось одним человеком на коленках, сейчас требует командной разработки с системами контроля версий и юниттестами.
Но локально хранить данные в любом более-менее standalone приложении надо.
Работать с БД можно из из сервера приложений.
Но локально хранить данные в любом более-менее standalone приложении надо.
Не очень понял о чем речь. Можете привести какой-нибудь корпоративный продукт в качестве примера? Который написан после скажем 2010 года на делфи, и которому требуется локальная база данных.
Я сейчас сам участвую в подобном проекте, код пишется на делфи Rio, в качестве локальной БД используется SQLite. Работает всё достаточно шустро
Про другие примеры проектов, увы, подсказать не могу
А что вы подразумеваете под термином «корпоративные продукты»
Имеется в виду кровавый энтерпрайз, где ошибка, плохая архитектура или неверно выбранная технология может привести к колоссальным убыткам. Те продукты, которые так просто не переписать с нуля, когда это потребуется.
Работа же с БД в нем «чужая»: IntraWeb и Indy.
Вопрос: Зачем компании, которая уже много лет вытягивает последние соки из Borland IDE, платить сторонним разработчикам ради добавления в свой продукт локальную работу с БД? Ведь, если она никому не нужна, то они выкидывают деньги на ветер, да еще и увеличивают вес продукта.
Ответ прост — значит это кому-то нужно. А, т.к. RAD Studio в первую очередь коммерческий продукт, то, получается, каким-то компаниям это нужно и эти компании готовы платить за это деньги, окупающие плату сторонним разработчикам. А раз каким-то компаниям нужна поддержка работы с БД, то ваше утверждение (1812849) не совсем корректно.
Я не могу что-то оспаривать, пока не буду уверен в том, о каком утверждении речь.
Я сижу с Windows Phone, потому цитирование работает немного никак.
работе с БД
Работать с БД с клиентского десктопа было в моде давно, сейчас это моветон. Поэтому для БД осталась необходимость только при разработке серверного ПО под винду. Много ли сейчас начинают новые проекты, где требуется на делфи разработать серверное ПО под винду?
а главное быстро создать и запустить в продакшен программу
Опять таки, требования выросли. То что раньше для корпоративного сектора писалось одним человеком на коленках, сейчас требует командной разработки с системами контроля версий и юниттестами.
Но в целом вопрос сохраняется, много ли сейчас новых крупных проектов начинают на делфи? Весь софт, написанный на делфи, что я знаю, написан лет 20 назад и до сих пор его просто поддерживают.
Это не риторический вопрос, меня правда заинтересовали в этой ветке.
первыми реализовали в С++ свойства
из-за этого вендор-лока ёжики плакали кололись но продолжали…
Увы, все кончается рано или поздно. Когда-то был Borland, а теперь есть JetBrains.
А при чем здесь JetBrains?
Они выкатили очень качественную и мощную среду разработки для кучи языков и быстренько захватили огромную долю рынка, как когда-то борланд.
С удовольствием перешёл на него с QtCreator. У креатора по сути только два преимущества — более удобная навигация по плюсовому коду и подсказки в QML. Формы по-нормальному в креаторе всё равно через designer не получалось редактировать (слишком много зависимостей от кастомных компонентов и плюсовой части, так уж получилось), а со всем остальным пришлось смириться.
Зато хоть можно настроить панельки и вкладки как удобно и скрывать/восстанавливать лишнее через хоткеи, потому что когда всё это лезет в глаза — никуда не годится:
Спасибо, что ответили за меня!
До сих пор радуюсь каждому обновлению Идеи, потому что помню Delphi 7, которая была год за годом стабильно неизменна из-за того, что переход на RAD Studio был для того моего работодателя не рауионален.
В итоге программа заняла около 40Gb памяти
Памяти или свободного места на диске?
В 2019 году я бы не удивился, если честно.
к сожалению хром и прочий софт скоро догонят лидеров рынка…
надо же как то заставить покупать новые компы и смартфоны, а значит сами знаете чьи процессоры.
И самое главное — 32х32 это всего 2048 LUT блока в худшем случае (32х32 * 2 — дерево собирающее воедино множество выходов), а это всего доли процента от всей плис, всё равно я считаю что они явно не думали об оптимизации вообще, раз выжирают так много времени и гигабайт озу даже на такую тривиальную конструкцию. Да и показатели требуемой памяти (как озу так и дисковой) наглядное тому подтверждение. Вот я не поверю в наличие хоть какой то оптимизации если реализация тривиальной функции занимает ТАК много памяти. Да и часто проблемы начинаются уже на этапе компиляции, ещё до роутинга даже если используешь не критичную к скорости и сложности периферию (как то делал мост 100 уартов (9600бод) в усб фифо от фтди — тривиальная же задача, вот он компилировался очень медленно при любом раскладе, а фиттинг жутко тормозил даже занимая 10% и меньше площади плис, даже в режиме скоростного фиттинга).
Все что выше будет platform SDK.
Visual Studio качает такие же самые SDK.
Кстати, если держать вместе и RAD Studio и Visual Studio, то можно сэкономить место заставив их использовать SDK из единой директории.
К кривому и неудобному интерфейсу Embarcadero наверное можно привыкнуть, но вот к постоянному потоку идиотских глюков, багов и крашей не вышло. В итоге снес этот байтовый хлам и забыл как страшный сон.
И писать в нем стоит на Delphi, а не на C++, поскольку все самые ходовые компоненты компоненты и сам фреймворк VCL написаны на Delphi.
Используя C++ теряется доступ к отладке библиотек в своем приложении.
Что самое замечательное, компоненты Delphi и сам VCL все в исходниках, всегда доступен дебагинг на уровне ассемблера.
Для мультиплатформенного программирования Embarcadero явно слабоват если вообще юзабелен, это точно.
Но десктопные приложения под Windows в нем выходят очень крутые, но естественно только при использовании сторонних компонентов. Для успешной работы нужен набор из пары десятков сторонних пакетов компонентов.
Кто начал в Embarcadero недавно могут даже и не сориентироваться что стоит ставить, а что нет, поскольку дело очень затратное по времени, а сам Embarcadero в своей палитре предлагает весьма бедный и ограниченный набор.
Когда после Delphi 2 первый раз увидел современную ей VS (не помню какой версии), то реально офигел, что кроме кнопок и надписей, там вообще ни черта нет.Извините, наверное глупый вопрос. Я в C++Builder для себя иногда пишу программы по работе. И вот решил перейти VS, все же твердят, что он круче. Эмоции те же: как мало компонентов! Собственно, вопрос: а вообще для VS есть сторонние «компоненты»?
Как правило, компоненты, выпущенные для Дельфи, имеют версии и под .NET
Лично вам — спасибо за ответ. Потихоньку разбираюсь. Первым делом я гуглил, конечно же. Но в лоб на запрос «компоненты для visual studio» мало чего полезного выходит. Пока не допер, что там не «компоненты», а «расширения»…
Если, например Qt и VS, стоют до 10к рублей на человека (не бирем в расчет организации), то Embarcadero RAD Studio, который на текущий момент во всем проигрывает VS 2019 стоит в районе 100к
Смешались в кучу, кони люди…
Вроде рассказ о IDE, но повсеместно проскакивают какие то фейлы.
Причем тут лицензии на Qt Framework, когда речь идет о open-sourse IDE QtCreator? Большая часть qt компонентов, распостраняется с LGPL лицензией при динамической линковке, и просит объектники только по требованию, зачем вам «для прикладных задач» нужна отдельная лицензия?
Равная ситуация и с Visual Studio, которая теперь бесплатна, как и BuildTools входящий в SDK (вобще не помню что бы он когда-либо был платным)
Не спал 2е суток до этого
Вы вот лучше поспите, а потом просто перечитайте Вашу статью.
Не понятно что с чем сравнивается в статье, и чем так не доволен ТС: уродский RAD? Ну пересядьте на другую IDE. Не устраивает количество кода для формы из двух кнопок? найдите другое решение, библиотеку, или целый фреймворк.
Насчет сравнения — Qt бесплатен для личного пользования на всем, КРОМЕ встроенных систем
VS 2019 я юзаю Professional, который отнюдь не бесплатен.
Также прошу обращать внимание на значение предлога «до».
Qt LGPLv3 or GPLv3 для всего, а этого, кажется, для личного пользования более чем достаточно
Вы можете использовать стандартный Qt на встраиваемых платформах. На вашем скриншоте речь идет о специализированных дополнительных возможностях.
Но может я и тюлень, но предпочитаю ставить все из одного места
Данные дополнения как раз и решают эти проблемы.
Хотя, может я не прав и все изменилось за пару лет.
Но раньше был тот еще гемор скомпилировать Qt C++ под встроенную систему без Commertical Pack
А по борланду… помню еще С++ билдер 6. Для создания GUI, имхо, ничего лучше быть не могло. Рисуешь, прям как в vb/делфи формы, не надо играться с mfc/atl/диалогами. Как по мне, они проиграли VS из-за своей проприетарности и полной закрытости. Я понимаю, что это бизнес, и все такое, и возможно, они не могли себе позволить какой-то Borland Express сделать. Но, по итогу вышло то, что вышло. А жаль.
Даже градиент в заголовках окон он, зачем-то, сам рисовал (да, вызовом соответствующей функции Windows API).
Про отработку сворачивания окон писАл выше.
Если нужно было использовать Windows API, это в какую-то боль превращалось…
Возможно, с течением времени всё изменилось…
Сейчас Qt рисует виджеты сам: https://doc.qt.io/qt-5/qwidget.html#native-widgets-vs-alien-widgets. Говорят, так быстрее получается и без мерцания.
У VCL же, насколько я помню, у виджетов было свойство Handle, которое можно было передавать в функции WinAPI. То есть виджеты были родными, по крайней мере, с Delphi 7.
"Родные" в том смысле, что каждая кнопка и т.п. — это окно, как и в Windows. Но вот отрисовка внутри кастомная. И обработка сообщений тоже. Потому показ модального диалога, который в WinAPI в одну функцию делается, превращался в боль.
Доходило до смешного: у кнопок VCL фон, почему-то, белый был. Потому, когда приложение подвисало или тормозило, окно белыми квадратами вместо кнопок покрывалось.
Были случаи, когда при малых размерах кнопки или большом шрифте пунктир, отмечающий фокус, прямо по границе кнопки рисовался.
И никогда не забуду его "замечательный" MessageBox(). Тоже самодельный. С кнопками Yes/No/Cancel. На русской системе. Без звука выскакивали, естественно.
И т.д., и т.п.
Надеюсь, смогу помочь разобраться…
«Родными» понимаются элементы, использующие нативные вызовы и библиотеки.
Как понять, что элемент родной или нет — откройте ProcMon и посмотрите чьи .dll она использует, а также посмотрите вызовы в Microsoft spy++ — являются ли они стандартными или нет
Так вот, в старых IDE VCL был более менее нативный, но с приходом x64, то ли из-за коммерции, то ли чего, они решают писать отрисовку полностью свою, попытались и… не вышло — отрисовка использует хвосты из нативного api, хоть и реально ресуется сама.
Вы думаете компания просто так выкупила FireMonkey FMX за свои кровные?!
Вопрос: на кой фиг им тратиться на FMX, если есть платформонезависимая VCL?
P.S. Внизу человек показывает нативный хвост
А именно, c конца 2013 года. Тогда перед мной, как помню, возникла проблема поиска удобной IDE для быстрой и главное простой реализации прикладных задач. Надо сказать, что на тот момент я перегорел к JAVA и, хоть NetBeans мне нравилась, хотелось скорости работы и простоты разработки (Не забываем, что Java SE 6 была ну ооочень медленной). Короче, захотелось С/C++. Многие мои знакомые тогда использовали VS 2012 и, конечно, рекомендовали её мне с пеной у рта, мол лучшая IDE и бла-бла-бла. Ага, весила она на тот момент (развернутой) 15-20Gb и съедала почти всю оперативку (4Gb под Windows + VS), и ещё при всем при этом глючила безбожно. Но я готов был закрыть на это глаза, основной-то код я всегда пишу в Notepad++. Но «грязь» в IDE я пережить так и не смог (когда ради консольного приложения программа пишет 100500+ строк кода — это меня бесит и по сей день, я же не форму прошу сделать....) В итоге, удалил я VS 2012 и забыл о ней до 2017 года.
Где-то с конца 2013 года возникла проблема поиска удобного инструмента для быстрого и простого забивания гвоздей. Надо сказать, что на тот момент я перегорел к микроскопам, хотя некоторые из них были очень ухватистые и тяжёлые, но захотелось скорости и простоты. Короче, захотелось утюгов. Многие знакомые использовали молотки и рекомендовали их с пеной у рта, мол, лучший инструмент. Но в руку молоток не ложился, был тяжел, груб и все пальцы были отбиты. Я был бы готов закрыть на это глаза, я вообще йог и могу гвоздь по шляпку вогнать пальцем. Но эта внутренняя сложность молотка… В итоге выбросил молоток и достал новый микроскоп… электронный…
А вот насчет утюгов и молотков не согласен.
Разве VS не под C/C++ на тот момент была заточена?
И почему вы Qt Creator считаете аналогом NetBeans?
Смешно — да, есть скрытый смысл и над чем подумать — да, но все же вы слишком преувеличиваете…
Если же вас бесят мысли в слух без доказательств — смотрите внимательней теги
А вообще да, время идет, и не получится унести любимую Дельфю «на подметках сапог». Лично я увидел ее рождение, первую, 16-битную версию и был с ней до 7-й версии. Это не считая Turbo Pascal, уж и не помню, какой версии, еще только в .com компилил.
Самое большое, что выбешивает — непереносимость кода от версии к версии.
Ну и фантомные глюки компиляции, которые периодически возникают при перехрде от динамических библиотек к статике и лечатся только удалением и созданием проект с нуля.
Как то удалосб еще к 5-й рад студии прикрутить OpenCV. Компиляция проекта стала песней. После каждой перезагрузки си-билдера требовалось перекомпилить сперва библиоткеи OpenCV, причем в строго определенной последовательности. Любая другая приводила к ошибкам при линковке, причем чаще всего разным!
Как олдовый чел, юзавший Дельфи от тройки до семерки, добавлю, что семерка, конечно, лучшая версия из «нативных», но свои заморочки у нее тоже есть. Например, добавление поддержки SSL к почтовым компонентам тот еще квест. Для Jedi опять же не всегда успешно проходило обновление на новую версию. Ну а так да, Delphi forever ;-)
И насколько помню раньше в новостях было, что идейный разработчик как раз переполз из Borland в Microsoft и там начал пилить подобное но в экосистеме мелкомягких.
Много этого предвзятого мнения о неполноценности Delphi, хотя бы в radio-t пару раз было, не понимаю этого, синтаксис Pascal намного лучше C (мое мнение), в 95 % случаев даже синтаксиса Delphi 7 достаточно, а возможность быстро накидать интерфейс, т.е. преимущество вообще по необъяснимой причине считается недостатком.
Просто мнение 5% «профессиональных», «промышленных» программистов навязывается, которые про асинхронщину, функциональщину, большие данные и прочее, а в реальной жизни очень многим людям эти дебри не нужны — они просто пилят пользовательские приложения для винды. Более того, в любой офисной работе много места для автоматизации и там вовсю использую VB/VBA потому-что ничего лучше нет.
Delphi 7 + есть еще полезные примочки типа CnPack вполне хватает для непрофессионала.
У меня с Visual Studio с 2008 и 2012 проблем не возникало, ПРО версии. 2013 и 2015 почти не использовал. 2017 и 2019 комьюнити изредка при отладке бывают проблемы. Недавно решил вспомнить Дельфи (писал с 3 по 7)… Покрутил Лазарус и бесплатный Эмбарко… и вернулся к Шарпу и Плюсам.
Не поленился, нашел оригинал:
Значит ли это, что IDE мертво? Судя по курсу акций:
Переживает далеко не лучшие времена :(
Об этом еще можно еще посудить по финансовой отчетности компании:
(цыфры указаны в млн. $)
Да, и может я и ошибаюсь, но у меня закрались сомнения, что RAD Studio принадлежит
Idera Pharmaceuticals Inc (IDRA) (я знаю что Idera выкупила RAD Studio у embarcadero или у кого-то другого, меня смущает Pharmaceuticals в названии компании), акции которой мы смотрим.
Поэтому вот ссылка на источник
Вот правильная Idera: https://www.ideracorp.com И она вроде как не публичная.
И они вроде купили Embarcadero полностью.
А вообще они знамениты тем, что скупают всякие компании, увольняют родных сотрудников, и затем аутсорсят разработку в страны с дешевой рабочей силой. Поcледняя их покупка — Травис, где они уволили большую часть команды.
А IDRA это вот это https://www.iderapharma.com
Веб-обезьянок конечно наплодилось много в последние лет десять, благодаря заманчивым мечтам эффективных менеджеров удешевить писательство кроссплатформенных мордочек дл внутрикорпоративов путем широкого использования низкоопплачиваемого труда непрофильной скриптовой школоты и прочих быдлокодеров.
Но большинство десктопных долгоиграющих проектов к счастью как не писались так и не пишутся на веб-скриптах.
И те же Дельфи в найтиве еще ой как востребованы.
Например, на моем лесктопе вполне себе живут две утилиты от компании Auslogics написанные на Дельфях, еще хелпмайкер HelpNDoc и хороший проигрыватель AIMP.
А вот Skype после переезда с Дельфей как раз сильно испортился.
Все остальное написано на C++ (Графика/редакторы/утилиты и т.п.)
И ни одной программы на Java, C# или WEB-скриптах (за исключением новой морды Skype).
Я прихожу в магазины или рестораны и иногда вижу там явно дельфевые морды даже на пост-терминалах.
И в конце концов я приезжаю к своим компаньонам в Германию и вижу дельфевые решения в индустриальном секторе.
Успокойтесь вы уже хоронить Дельфи и Билдер. Конечный результат на десктопе все равно пока работает быстрее, отзывчивее и менее прожорливее чем на мэнеджет-решениях.
Решения на C++ и Qt в найтиве тоже быстры, мало-прожорливы и хороши, но набросать навороченный интерфейс ( если не брать красивенькие «открытки» на QML ) там все равно дольше и запарнее, чем на Дельфях и Билдере, а стоимость коммерческой лицензии на команду выходит даже дороже чем у Эмбаркадеры.
По Linux в 10.2 был ARC, как в мобильных версиях, и это уникально. В 10.3 Linux без ARC. Я, правда, не знаю, хорошо это или плохо. У них в так называемом nextgen массивы только динамические бывают, и, я так понимаю, ARC может приезжать паровозом только с этими нововведениями. Какой вообще смысл в нативные программы тащить ограничения ублюдошных виртуальных машин? Наоборот, нужно находить всё новые и новые способы заставить всяких дотнетчиков чувствовать себя муравьями на фоне величия нативного программирования. В Java нет двойного CAS? Ахахахаха!
У Delphi от Паскаля хороший фундамент. Массивы могут индексироваться не только чиселкой, но и перечисляемым типом, или поддиапазоном его. Открытые массивы, особенно, если Slice ещё бы кто-нибудь наконец сделал с двумя аргументами, как у Copy, позволяют глянуть в срез массива хоть на чтение, хоть на запись. Зачем это было ломать.
Вот до чего же обидно, что там на Аду не смотрят. Ведь Delphi первые такими хорошими получились под влиянием Modula-3, а сейчас по каким-то помойкам нововведения собирают. FPC, к сожалению, туда же.
Вышел Embarcadero RAD Studio 10.3.2 или то что мертво… умерло