maksy's personal web-site logo




Name:
Message:




Статьи

Про Delphi в современном мире
Перевод статьи Крейга Чапмана


Delphi — самый охраняемый секрет.

Я устал это слышать. Кто использует Delphi? Разве он не старый? Это нишвый продукт? Могу ли я найти работу программистом на Delphi? Около 20 лет или около того слышу одну и ту же необдуманную чушь, укоренившуюся в сознании людей. Пришло время расставить все точки над i, и быть честным.


Введение

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

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

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


Дельфи потрясающий!

Меня когда-то обвиняли в «проблеме с навыками», потому что я так твердо придерживаюсь Object Pascal как в своей работе, так и в своих хобби. Конечно, такие обвинения мог выдвинуть только тот, кто меня не знает. Я не настолько «фанатик Паскаля», чтобы быть «фанатиком программирования». Я изучил много языков программирования и много инструментов за эти годы и люблю разбираться в деталях особенностей синтаксиса, систем управления памятью, кроссплатформенных подходов и т. д. Да, я старше, настолько, что я программировал в коммерческих целях на заре всемирной паутины и в качестве хобби еще до того, как вы смогли заполучить в свои руки 16-битный домашний компьютер, но я не из тех разработчиков, которые решили придерживаться только одного инструмента и не быть в курсе событий.

Итак, учитывая, что я мог бы оставить Delphi позади в любой момент своей карьеры до сих пор, и все еще мог бы с другими навыками, которые у меня есть, почему я так твердо придерживаюсь Delphi и Object Pascal? Я уверен, что если вы значительно моложе меня, это выглядит странно. Я не хочу сказать, что я мудрее вас, ну, по крайней мере, в отношении программирования. Вместо этого я просто поделюсь с вами своим опытом.

Сегодня Delphi — это мощный инструмент разработки, ориентированный на быструю разработку приложений. За исключением нескольких оговорок, которые я рассмотрю позже, так было всегда. С Delphi вы можете, если захотите, перетаскивать пользовательский интерфейс или создавать его в коде во время выполнения, если хотите. Что выделяется, так это не обязательно его «RAD Visual Designer», хотя это и мощный инструмент, а скорее то, насколько просто все делать. Язык Object Pascal, лежащий в основе Delphi, элегантен, и как только вы с ним познакомитесь, вы это оцените. IDE совершенно проста и приятна в использовании, ну, в основном, и, безусловно, по сравнению с конкурентами.

При том, что так много крупных организаций переходят от унифицированного веб-интерфейса к собственным мобильным приложениям, разве не было бы здорово, если бы вы могли проектировать пользовательский интерфейс приложений Android и iOS в одном конструкторе? Как насчет поддержки обоих с помощью единой кодовой базы? Что, если я скажу вам, что одни и те же макеты пользовательского интерфейса можно повторно использовать в Android и iOS, при этом соблюдая все руководства по дизайну, необходимые для вставки в магазины приложений, и управляемые собственным исполняемым файлом ARM, и практически без необходимости в условных определениях? Мечта? Нет — Delphi делает это. Фактически, вы можете создать и запустить одно и то же приложение на целевых настольных компьютерах Windows и MacOS! (прим. переводчика - под Wine в Linux тоже отлично работает). Лучше всего то, что все это довольно тривиально. После некоторой начальной настройки IDE и инструментов развертывания вы нажимаете кнопку, и ваше приложение развертывается на целевом устройстве и запускается. О, и отладка? Если вам нужно отладить свое приложение, вы можете отладить его прямо из IDE Delphi, пока оно работает на целевом устройстве, для которого оно создано.


Что насчет сервера? бэкенд?

Ну, вы можете написать свой бэкенд, используя Delphi. От собственных бинарных плагинов ISAPI для модулей IIS или Apache до самостоятельных HTTP-серверов, RESTful API или все еще поддерживать тот старый интерфейс SOAP/XML, который есть у вашего работодателя. Delphi уже давно существует, он может все.

А что, если вам действительно нужен веб-фронтенд? Delphi изначально не предлагает сильных предложений в этом отношении, в конце концов, это родной инструмент, но есть несколько отличных сторонних дополнений, которые также предоставляют эту функциональность. От HTML, обслуживаемого сервером, до транспилированного Javascript, HTMx, все, что вам нужно. Это доступно, потому что сообщество Delphi и рынок стороннего кода сильны и активны.

Больше всего меня на протяжении многих лет забавляло наблюдение за коллегами, пытающимися выполнить задачи, которые занимают несколько дней, но которые, как я знаю, можно выполнить в Delphi за считанные минуты. Я могу воспользоваться высокоуровневыми инструментами, которые быстро прототипируют любое приложение, а затем получить настолько низкий уровень, насколько мне может понадобиться. Он позволит мне ссылаться на любой двоичный файл, общий объект, dll или даже управляемую сборку .NET (при условии, что эта сборка скомпилирована для поддержки взаимодействия). Delphi — мощный инструмент, и за десятилетия своей истории он создал огромную индустрию успешных стартапов, которые сегодня являются ведущими мировыми приложениями. Почему я не перешел с него на другие языки программирования? Зачем мне это делать? Этот инструмент слишком хорош, чтобы быть правдой, и он по-прежнему приносит мне зарплату каждый месяц, каждый год.


Популярность

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

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

Теперь, вы могли заметить, что я описываю Delphi как надежный «старый» инструмент, и это в некоторой степени правда. Delphi существует уже давно, но, как я вернусь к этому через минуту, это не означает, что Delphi не современен. Однако прежде чем я объясню эту двусмысленность, давайте немного поговорим о его возрасте в отношении его популярности. История довольно интересна.

Я повторял это утверждение много раз, и мне не стыдно упоминать его снова здесь. Delphi изначально и на протяжении многих лет был разработан тем же человеком, который сегодня является главным архитектором Microsoft C# и .NET, Андерсом Хейлсбергом. Я повторяю это здесь, потому что это довольно актуально. Будучи рожденными одним умом, Delphi и C# имеют на самом деле довольно много общего. Тем не менее, хотя C#, возможно, является бесспорным королем мира разработки приложений, Delphi продолжает страдать от этой репутации малопопулярного языка. Почему?

Ну, потому что они были и остаются конкурентами. Видите ли, в ранние годы Delphi мир на самом деле использовал только одну операционную систему, Microsoft Windows. Я говорю о днях до роста популярности Apple, до того, как появились мобильные телефоны, и, конечно, до того, как они стали «умными». Было три инструмента, доступных для разработки приложений на Windows, и это были Visual Basic, Visual C++ и Delphi. Visual C++, возможно, имел небольшое преимущество перед Delphi с точки зрения количества пользователей, просто потому, что это был продукт Microsoft, нацеленный на разработку приложений Microsoft Windows. Мне жаль говорить это о Visual Basic, но его популярность была, безусловно, ниже, чем у Delphi в свое время.

Когда дело дошло до выбора инструментов разработки приложений, были только три вышеуказанных варианта. Конечно, вы могли использовать один из компиляторов C++, доступных бесплатно в то время, но вы бы работали без быстрого инструментария разработки приложений, который был в других продуктах. У вас бы не было никакого «визуального конструктора», и вам пришлось бы продираться через API Windows. Конечно, были те, кто так и делал, но большинство корпоративных разработчиков программного обеспечения использовали либо один из инструментов Microsoft Visual, либо Delphi.

Это тоже не было случайностью. До появления визуальной линии разработки Microsoft была только одна компания, которую уважали или воспринимали всерьез в разработке приложений, и это была Borland. Borland, создатели Delphi в то время, были известны своими Turbo C++ и Turbo Pascal, предшественниками «C++ Builder» и «Delphi», которые сегодня производятся Embarcadero.

Так что же пошло не так для Delphi? Что ж, Borland приняла ряд бизнес-решений, которые для сообщества пользователей Delphi показались очень странными. Delphi уже был невероятно популярен и продолжал расти, однако компания решила, что вместо этого хочет сосредоточиться на продаже «профессиональных услуг». Это странное решение было связано с решением Андерса покинуть Borland в 1996 году, чтобы присоединиться к Microsoft в разработке C#.

Правда, к тому времени Java пережила огромный подъем в своем успехе, и Microsoft заявила, что им нужен продукт, который будет конкурировать с Java, но то, что они заявляют, похоже, не соответствует действительности. Популярность Java была обусловлена в основном тем фактом, что она была кроссплатформенной, чего не было ни в C#, ни в .NET. Долгое время, без борьбы за OpenSource, C# был нацелен на Microsoft Windows, будь то настольный компьютер или сервер. Я подозреваю, что правда немного более туманна. Я думаю, что Microsoft чувствовала давление растущей популярности как Delphi, так и Java и хотела их раздавить. Они хотели, чтобы кто-то, кто четко понимал, что делает язык полезным и популярным, сделал то же самое для них, и, о боже, они добились этого с Андерсом.

C# и .NET невероятно хорошо рекламировались Microsoft. Например, они не утруждали себя общением с разработчиками, руководителями групп или менеджерами, нет, они ориентировались на руководителей высшего звена организаций. С их существующей прочной репутацией обладателя ведущей в мире операционной системы и деньгами, которые можно было потратить на маркетинговые исследования, они появлялись везде, где задерживались лица, принимающие решения. Тем временем Borland барахталась, принимая странные решения о переходе в профессиональные услуги и разделяя свой бизнес на отдельные подразделения для своих инструментов разработки и баз данных. Если что-то и украло популярность Delphi, так это C#, определенно.

Что происходит с продуктом, который пользуется бешеной популярностью, а затем внезапно теряет популярность? Что ж, в случае с Delphi, хотя многие переключили свои разработки с нуля на C# или другие инструменты, те, у кого были существующие продукты, написанные на Delphi, продолжали поддерживать их в Delphi. Вы должны понимать, что почти у всех в магазине был Delphi в той или иной форме, даже если их основная разработка не была сделана на Delphi, это был инструмент, который они не могли позволить себе игнорировать. По сей день количество продуктов, все еще использующих Delphi, продолжает меня удивлять. У меня нет цифр, честно говоря, трудно оценить, потому что, хотя есть много популярных продуктов, о которых вы слышали, написанных на Delphi, о большинстве из них вы, вероятно, никогда не слышали...

Продукты на основе Delphi по-прежнему являются лидерами рынка в сфере бизнес-приложений по всему миру. В Великобритании и Европе ведущим программным обеспечением для управления заведениями для досуга и одним из ведущих приложений для управления отелями являются приложения Delphi, я знаю это, потому что работал над этими продуктами. Я не уверен, где это уместно сегодня, но я также работал над приложением, которое обслуживало крупнейшие телекоммуникационные сети по всему миру, поддерживаемые крупнейшей в мире базой данных Oracle-RAC и приложением Delphi. Тематические парки, включая громкие имена, которые приходят на ум, когда вы думаете о них, управляются приложением Delphi, опять же, я знаю, потому что я работал над этим приложением. Мой нынешний работодатель - мировой лидер в управлении молочными фермами. Поработав в Embarcadero, нынешних производителях Delphi, я знаю, что у него прочные позиции в медиа, ядерных объектах, управлении железными дорогами, добыче и переработке нефти, авиаперевозках, банковском деле, NASA все еще использует его, и это только верхушка айсберга! Многие организации все еще используют продукты, которые они поддерживают уже 40 лет, написанные на Delphi...

Подождите, Delphi не существует уже 40 лет, он только что отпраздновал свое 30-летие, как эти организации могут поддерживать в нем приложения 40-летней давности? Ну, обратная совместимость Delphi не уступает ни одному другому продукту. До Delphi Borland продавала своего предшественника Turbo Pascal, и Delphi остается по сей день, в значительной степени обратно совместимым даже с Turbo Pascal – хотя эти кодовые базы подвергались интенсивному обслуживанию на протяжении многих лет. Портирование Turbo Pascal на последнюю версию Delphi потребовало бы значительных усилий сегодня, но это все еще выполнимо, чего нельзя сказать ни о каком другом инструменте разработки с такой длинной родословной, за исключением, может быть, чистого C/C++.


Дельфи старый.

Да, я только что сказал, что Delphi существует уже очень давно, и что продукты, которым уже 40 лет, все еще поддерживаются с его помощью. Однако и Delphi не стоял на месте все эти 30 лет. Видите ли, мы закончили нашу историю истории Delphi выше, когда C# набирал обороты на рынке, а Delphi терял свою популярность из-за того, что Borland плохо обращалась с продуктом в коммерческих целях. Что ж, долгое время не было новых версий Delphi. Насколько рост C# навредил популярности Delphi, настолько же тот факт, что Borland фактически отказался от этого продукта, навредил ему еще больше. Большинство компаний-разработчиков программного обеспечения застряли на Delphi 7, которая была до Unicode, поддерживала только Windows и была ограничена 32-битными приложениями, поскольку была создана в дни до повсеместного распространения 64-битных настольных компьютеров и серверов. Многим компаниям было трудно отказаться от Delphi, потому что она была, как мы бы сказали сегодня, «полным стеком». У них были критически важные серверы и службы, написанные на Delphi, и продукты, которые еще нужно было продать, в мире, где развитие веб-технологий сделало поддержку Unicode необходимой.

Сообщество Delphi удивительно, и его экосистема сторонних разработчиков богата. Организации, которые смогли удержать свои продукты Delphi, смогли выжить, и в конечном итоге появились новые релизы от Borland (хотя история для меня сейчас туманна, в какой-то момент они были переименованы), но новые релизы, хотя и выглядели более современными, не решали проблему отсутствия поддерживаемых технологий. Родился «смартфон», приложения были в моде, а у Delphi не было прочной опоры. Так было до тех пор, пока не появился Embarcadero.

Embarcadero была основана в 1993 году и занимала прочные позиции на рынке инструментов баз данных, они даже были клиентами Borland для Delphi. В 2008 году Embarcadero приобрела линейки продуктов Delphi и C++ Builder у Borland и приступила к их улучшению. В относительно короткие сроки был написан новый компилятор с совместимым фронтендом предыдущей версии, но совершенно новым бэкендом. Он поддерживал 64-битные версии Windows, а также имел поддержку unicode. Embarcadero начала агрессивно отвоевывать упавший рынок Delphi. Вскоре после этого Delphi смогла нацелиться на Mac OS, а затем и на Android и iOS.

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

Однако самое важное то, что, будучи зрелой технологией, основанной на генерации собственного двоичного кода, Delphi может работать со всеми современными серверными, настольными и мобильными операционными системами. Linux Server полностью поддерживается, но Linux как настольный компьютер — это исключение, которое нуждается в адаптации. Он может линковаться с написанным на C и C++ объектным кодом, общими объектами или файлами DLL, может использовать сборки .NET (если они созданы для поддержки взаимодействия) и даже имеет возможность подключать Python к своим приложениям. Честно говоря, он довольно хорошо взаимодействует со всем, благодаря усилиям как со стороны его производителя, так и его удивительной, богатой сторонней экосистеме. У Delphi есть полезное сообщество, не имеющее себе равных среди любых других инструментов разработки.

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

Delphi не старый. Ладно, он старше многих популярных языков сегодня. Он того же возраста, что и C/C++, если вернуться к раннему Паскалю, но он не выглядит на свой возраст. На самом деле, он просто зрелый. Он может делать все, и без особой суеты.


Delphi — процедурный! Абсурд.

А теперь я перехожу к самой интересной части. Расскажу о некоторой дезинформации, окружающей Delphi.

Изначально язык Pascal действительно был процедурным, потому что он существовал до того, как компиляторы начали вводить объектно-ориентированное программирование, но сегодня Delphi не является таковым. Рассмотрим родословную C/C++. C получил классы и был впервые назван C с классами, переименованным в C++. Ну, примерно в то же время, когда появился C++, появился и Object Pascal. Delphi, основанный на Object Pascal, никогда бы не стал таким популярным, как раньше, если бы не ООП. Delphi отличается тем, что и C, и C++ продолжали существовать как отдельные продукты, каждый из которых продолжал развиваться. Pascal просто развивался, сегодня нет поддерживаемой версии Pascal, которая была бы только процедурной, вместо этого Pascal является объектно-ориентированным, но все еще поддерживает процедурное программирование, если вы захотите его использовать.

Я слышал совсем недавно, что Delphi «использует Pascal» и, следовательно, является процедурным языком. Видите ли, если бы вы ввели правильный поисковый запрос, скажем, используя слово «pascal» вместо «Object Pascal» или «Delphi», вы действительно могли бы найти ссылку на тот старый компилятор Pascal начала 1980-х, который был полностью процедурным. Я слышал, как ведущий на YouTube говорил о Delphi, который, очевидно, никогда не пользовался этим продуктом и допустил эту ошибку. Вот в чем проблема с таким зрелым продуктом, как Delphi, информация не просто устарела, а устарела дико.

В том же духе я слышал, что говорят: «Паскаль — это язык для изучения, поэтому Delphi — это игрушка». в течение дня или двух после того, как услышал «Паскаль трудно выучить».

Когда Никлаус Вирт изобрел Паскаль, он действительно изобрел его как язык для обучения студентов, язык для изучения, так сказать. Однако то, что изобрел Никлаус Вирт, хотя и остается основой современного языка Паскаль, не имеет прямого отношения к тому, что стало одним из ведущих пакетов разработки приложений 90-х годов, и не имеет никакого отношения к тому, чем этот язык является сегодня. Если бы Delphi был просто игрушкой, я бы не писал этот пост, я бы переключился на какой-то другой инструмент в какой-то момент своей карьеры, по необходимости, и я бы никогда не оглядывался назад.

Услышать обратную сторону того же аргумента, что Паскаль трудно выучить, на самом деле просто вишенка на торте. Изначально он был разработан как образовательный язык! Правда в том, что Паскаль стал незнакомым. Поскольку почти каждый популярный язык программирования сегодня является некоторой свободной производной синтаксиса C/C++, паскаль рассматривается как слишком отличающийся для изучения. Я понимаю, я познакомился с несколькими языками программирования за эти годы, но я сопротивлялся изучению Python. Почему? Ну, python слишком отличается как от Pascal, так и от синтаксиса на основе C, чтобы быть мне интересным. На самом деле, он во многом напоминает мне Basic, который я писал в качестве хобби в детстве, но тем не менее я не потратил время на его изучение (ну, немного, но не в всерьёз).

Однако я не делаю ничего, чтобы утверждать, что Python — это поддельная интерпретированная подделка старого Basic, неспособная на настоящую разработку.

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


Не изучайте Delphi, если хотите найти работу.

Этот аргумент «Не изучай Delphi, если хочешь получить работу» — настолько глупая позиция, что я почти не хочу, чтобы те, кто его разделяет (или верит в это), были частью сообщества Delphi. Извините, я знаю, что это может показаться немного угрюмым, но подумайте об этом по-настоящему…

Помимо того факта, что у Delphi все еще достаточно здоровая база пользователей, чтобы терпеть новые таланты, сам аргумент — это форма ленивого невежества. Если вы изучаете язык только для того, чтобы получить работу, вы, в лучшем случае, посредственный разработчик программного обеспечения. Я никогда не работал веб-разработчиком, но у меня не было выбора, кроме как выучить немного Javascript. Я никогда не работал штатным разработчиком C#, но мне приходилось использовать его для работы, даже для взаимодействия между ним и Delphi. В обоих случаях Javascript и C# мне не только приходилось в какой-то степени их изучать, я хотел этого! Я писал любительский код на обоих языках и на нескольких других. Черт возьми, я все еще нахожу веские причины изучать ассемблер!

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

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

Сегодня доступны новые языки, от Rust до Zig, Odin и многих других. В любом случае, я думаю, что их коммерческое использование остается довольно ограниченным рынком сегодня, особенно в разработке приложений. Отбрасываю ли я эти языки, потому что не вижу для них много возможностей для работы? Конечно, нет, быть хорошим разработчиком — это оттачивать мастерство, а это мастерство включает в себя знание того, как писать код, а не просто понимать какой-то язык или фреймворк. Взгляд на то, как работают эти компиляторы и что они могут делать, дает представление о том, что является хорошей (или плохой) практикой, и позволяет мне поразмыслить над моим постоянным решением придерживаться Object Pascal.

Давайте посмотрим правде в глаза, если вы поклонник любого из языков, которые я здесь упомянул, или вы поклонник Python, который, несмотря на рост своей популярности, все еще не является подавляющим держателем доли рынка труда, как бы вы сделали эти языки более популярными? Ответ — писать на них код. Покажите их, покажите, что они могут делать, покажите их своему боссу! Если вы тратите время на своей основной работе, чтобы создать что-то дополнительно, что-то полезное для вашего работодателя, и говорите ему, что это сделано на языке программирования, о котором он никогда не слышал, что ж, тогда у него есть причина узнать, что это за язык.

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


Это стоит слишком дорого!

Я не собираюсь здесь лгать. У Delphi довольно высокая стоимость входа, однако, она разумно оценена, и есть несколько отличных вариантов, чтобы начать бесплатно.

Видите ли, Delphi — это коммерческий продукт. Это не какой-то инструмент мечты с открытым исходным кодом, вокруг которого много шумихи. Это практичная система разработки приложений корпоративного уровня с сильным наследием, сильным сообществом и тоннами функциональности из коробки. Этот вид продукта не появляется из-за одного разработчика или горстки разработчиков, в него вкладывались годы крупных инвестиций, и у него есть лицензионный сбор. Когда вы видите цену лицензии, вы, возможно, испытываете некоторый шок — но вот что вам следует иметь в виду…

Сравнивая набор функций Delphi с любым другим инструментом разработки, вы обнаружите, что он на самом деле совсем не дорогой. Если вы хотите получить те же функции из инструментов Microsoft, например, что ж, вы заплатите примерно столько же, если не больше. Delphi продается по модели единовременной бессрочной лицензии, после того как вы его купили, подписка не требуется (ну, есть дополнительная подписка на обновления), и нет никаких роялти за его использование. Если вы купите Delphi 12 сегодня, вы можете использовать его для создания любого приложения, которое захотите, на неограниченный срок, и продавать это приложение, не будучи никому за него должным. IDE никогда не перестанет работать на вас, потому что вы не заплатили за подписку. Таким образом, при сравнении с годовой подпиской на инструментарий Microsoft, на том же уровне функций (то же количество целей и т. д.), вы обнаружите, что цена на самом деле примерно такая же. Более того, если сравнить его с чем-то более дешевым или бесплатным, то окажется, что у них просто нет функциональности, сопоставимой с Delphi, поэтому сравнение не имеет смысла.

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

Если вы действительно не можете переварить лицензионный сбор или звонок от торгового представителя, ну, тогда всегда есть Lazarus. Lazarus — это альтернатива Delphi с открытым исходным кодом. Из коробки IDE некрасивая (по крайней мере, на Windows), она выглядит устаревшей и уродливой. Все это можно исправить в какой-то степени, сделать ее немного более современной, ее свободноплавающие окна можно закрепить, ее тему можно сделать светлой или темной в зависимости от комплектации — но Lazarus, будучи открытым исходным кодом, не распространяется таким образом и не сразу очевидно, как что-то менять. Тем не менее, независимо от того, как она выглядит, это надежная и стабильная IDE, которая обеспечивает доступ к высококачественному компилятору объектного паскаля с открытым исходным кодом, в основном совместимому с Delphi. У нее даже есть режим, который пытается клонировать компилятор Delphi, называемый «DelphiUnicode».

Я не могу обещать, что работа с Lazarus будет столь же гладкой, как с Delphi, просто потому, что это не коммерческий продукт, но он мне очень нравится, и вы можете использовать его, чтобы узнать кое-что о современном Паскале.


Заключение.

Хватит. Я видел комментарии на этой платформе, которую Илон называет «X», как раз сегодня вечером от людей, которые говорили: «Delphi старый», «Delphi — нишевый», «Delphi ограничен». Единственный настоящий минус Delphi — это продолжающееся распространение невежества в отношении него. Является ли Delphi новым горячим инструментом в долине? Нет, но он, вероятно, более эффективен, чем этот инструмент, и к тому же проще в использовании. В то время как большинство доступных сегодня компиляторов разработаны для определенной нишевой цели, Object Pascal остается компилятором общего назначения. Хотя многие другие инструменты кажутся более популярными, Object Pascal по-прежнему создает ведущие мировые приложения для поддержки широкого спектра отраслевых вертикалей, он более популярен, чем вы думаете.

Больше всего Delphi нужно, чтобы его заметили (снова) и попробовали. Дайте ему шанс, посмотрите, на что он способен. Присоединяйтесь к его сообществам в Facebook, Twitter (X), Stack Overflow, Github, вы найдете их привлекательными и дружелюбными, что сегодня редкость. Самое главное, они помогут вам преодолеть начальное обучение. Просто отклонить продукт из-за того, что вы плохо информированы, — трагедия, не только для сообщества, которое вас приветствовало бы, но и для вас тоже.

Вам нужно немного Pascal в вашей жизни!
Здесь может быть Ваша реклама :)





Web1.0 designed by Maksy 1998-2024 likes Hosted by Web1.0 Hosting counter