Delphi — лучшая классическая среда программирования

Delphi - лучшая среда программирования

Доброго времени суток, дорогие читатели. В своем первом посте я хочу затронуть одну очень интересную тему, касающуюся того, какой язык программирования выбрать новичку.

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

Я часто вижу, как люди спрашивают, можно ли учить Delphi в 2023 году? Или вопрос может звучать так: «Что лучше мне изучить, PHP или Python?». И конечно под такими вопросами происходит самый настоящий спор. Иногда мне кажется, что если бы эти люди встретились друг с другом — они бы подрались.

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

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

В настоящее время среды разработки можно разбить на две части:

  • специализированные языки
  • языки общего назначения

Специализированные языки создавались для решения конкретных задач. Это, например, PHP. Данный скриптовый язык создавался для разработки веб-приложений.

Языки общего назначения предназначены для решения широкого круга задач. Среди таких языков можно выделить C#, Visual Basic, Python, Delphi и другие языки.

Со временем развитие технологий привело к тому, что языки общего назначения по своем возможностям не уступают специализированным языкам в тех областях, где применяются специализированные языки. Например, C# позволяет писать серверную часть не хуже, чем это делает PHP. Конечно, в этом случае используются другая технология и другой стек программ. Также и Python позволяет вести разработку под Web-архитектуру.

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

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

Delphi до сих пор является одной из самых быстрых систем разработки приложений. Причем в данной среде можно разрабатывать абсолютно любые приложений, будь то десктопные, приложений под мобильные устройства или web-приложения. Да-да, именно web-приложения, для разработки которых ранее использовались классические средства html/css/PHP (Python).

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

Я назвал свою статью «Delphi-лучшая классическая среда программирования», потому что Delphi в процессе своей компиляции создает машинный код. Не промежуточный байт-код, который создает C# или Java, а классический нативный код.

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

Кто то может задать вопрос: «А как же обстоят тогда дела с кроссплатформенностью, ведь файл exe-это исполняемый файл для Windows?». Ответ на этот вопрос очень прост. Когда вы создаете приложение, скажем на Java, то вы пишите программу один раз и затем компилируете ее для виртуальной Java-машины. Затем вы можете установить эту виртуальную машину на любое устройство с любой операционной системой и после этого свою программу. В итоге программе все-равно, какая операционная система установлена на устройстве Android, Windows или другая, так как программа будет работать в виртуальной Java-машине, а уже виртуальная машина будет переводить промежуточный код в машинный, который будет понятен для конкретной операционной системы. Удобно? Конечно да.

У Delphi немножко другой подход. Вы создаете кроссплатформенный проект на базе библиотеке FMX, которая поставляется с Delphi и пишите приложение как обычное приложение под Windows. Но, когда Ваше приложение готово к использованию, вы просто запускаете компилятор для той операционной системы, на которой вы планируете использовать приложение. После этого Delphi создает обычный нативный (машинный) код для выбранной операционной системы и вам для запуска программы не потребуется устанавливать для этого виртуальную машину Java или фреймворк, подобный .net.

Delphi — это многоцелевой язык программирования, но основной его конек заключался в работе с базами данных. В настоящее время он все также имеет развитые средства для работы с базами данных. Одна из последних технологий для работы с базами данных является FireDAC. Это очень развитая библиотека доступа к данным и управления ими. Она создавалась взамен устаревшим библиотекам BDE и dbExpress.

Delphi также поддерживает замечательную технология доступа к данным от Microsoft ADO (ActiveX Data Objects). Я практически всегда для работы с базами данных использую эту технологию.

Стоит также упомянуть, что при работе с базами данных почти всегда необходимо иметь развитые средства проектирования и разработки отчетов.

Одна из компаний, называемая FastReport (Российская компания) как раз долгое время поставляла свой конструктор отчетов именно для Delphi. Конечно со временем она стала выпускать версии и для C#. Версии для Delphi и C# активно развиваются и дополняются новыми возможностями. Это говорит о том, что Delphi действительно считается перспективной технологией.

Delphi позволяет строить крупные web-приложения. Для этого он имеет в своем составе самые современный средства. Одно из таких средств называется RAD-сервер, которому в компании Embarcadero (владелец Delphi) сейчас уделяется основной внимание. Данный продукт — это по сути готовый backend. То есть, разработчику не нужно ничего писать. Это очень гибкий, защищенный и масштабируемый продукт. Необходимо лишь написать немного кода, чтобы подключить данный продукт через web-сервер к базе данных и все. Все рутинные операции написаны и размещены в рамках данного продукта.

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

Основными фреймворками являются TMS Web Core, FMSoft uniGUI Web Application Framework, IntraWeb от Atozed Software и другие. В дальнейших постах мы познакомимся с этими технологиями. Две первые из них — это новые технологии, которые были разработаны относительно недавно. IntraWeb же поставляется с системой Delphi уже достаточно давно, но сейчас это продукт позволяет создавать действительно сложные как в визуальном плане, так и на стороне backend.

При этом с помощью данных технологий можно создавать так называемые single page application (SPA) — приложения. Это современная web-технология, которая позволяет создавать приложения, выполняющиеся в браузере. То есть, вы пишите весь Frontend и backend на одном языке Delphi, что является неоспоримо удобно. А затем вы запускаете компилятор. И точно также как компилятор транслировал Delphi-код в нативный для разных операционных систем, он точно также транслирует его в JavaScript. В итоге ваше приложения становится чистым JavaScript-приложением, которое выполняется на стороне клиента. И это увеличивает скорость работы приложения, не говоря уже о скорости его разработки.

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

Я думаю, что я смог вкратце описать причины того, чтобы выбирать Delphi в качестве среды разработки. Конечно, когда вы работаете в команде, вы вынуждены писать код на том же языке, что и остальные участники проекта — так легче достичь взаимопонимания и в дальнейшем вносить изменение в код. Например, если вы будете писать библиотеку dll на Delphi, а все остальные члены команды программировать на C#, то когда вы уволитесь с работы — они просто не смогут внести в данную библиотеку изменение. Здесь все понятно. Но когда вы создаете свои личные проекты, вы можете смело выбирать Delphi.

Основная его фишка, как я писал выше, заключается в том, что программа, написанная на Delphi безо всяких проблем будет работать много лет. Когда, скажем Microsoft, вносит какие то изменения в операционную систему, например, что-то меняет в .Net и выпускает его новую версию. Ваше приложение, написанное на C# может уже не работать с новой выпущенной версией .Net и вам придется ставить еще и старую версию.

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

Андерс Хейлсберг — талантливый программист, который является создателем Delphi и C#. Если вы смогли полюбить C#, то будьте уверены в том, что вам придется под душе и Delphi, так как данные языки создавались одним человеком.

Более того, C# создавался, основываясь на Delphi, C++ и Java. Поэтому вы легко сможете использовать совместно Delphi и C#. Синтаксис обоих языков очень схожи интуитивно понятен.

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

Если его сравнить с другими системами объективно, то можно сказать, что, например, на Visual C++ можно написать действительно все. На Delphi также все. Да-да, некоторые сравнивают Delphi и C++. Он немного уступает. Но здесь дело не в том, что он хуже, чем Visual C++, а в том, что Delphi — это следующая иерархия по степени абстракции. Я имею ввиду, что на самом низком уровне стоит ассемблер. Это самый крутой и сложный язык для разработки. Но на нем простой текстовый редактор вы будете писать до пенсии.

На втором уровне стоят более читабельные языки, такие как С, С++, Visual C++ (не важно от Борланд или Майкрософт. Я сейчас говорю в общем виде).

На следующем уровне (третьем) стоят языки с более высокой абстракцией. К ним относятся Delphi, PHP, Python, Visual Basic, Java и многие другие. Что значит с более высокой абстракцией? Это значит, что их синтаксис более логичен и более напоминает язык реального мира. А в современном мире в подавляющем большинстве — это объекты. То есть, работать с объектами в объектно-ориентированном языке легче, следовательно и код писать легче. Не то, чтобы легче, а правильнее сказать, вы на этих языках сосредотачиваетесь на творческом процессе, на самой задаче, которую вы программируете. А в таких языках как Visual C++ вам нужно еще дополнительно потрудиться в техническом плане. Хотя в нем сейчас тоже достаточно библиотек, представляющих готовые решения.

Я для себя давно выбрал Delphi. Также нравится С#. Конечно, программа написанная на Delphi и С# после компиляции не будет такой быстрой, как написанная на Visual C++. Но на сколько это будет заметно на современной технике? Я думаю, что не вы этого не почувствуете.

Если вы пишите антивирус или графическое приложение, такое как Фотошоп, тогда все-таки лучше использовать Visual C++. Писать будет однозначно тяжелее, но программа не будет такой ресурсоемкой, как написанная на Delphi.

Если вы пишите бизнес-программы, например для бухгалтерии или банка, любые программы для работы с базами данных, то лучше выбрать Delphi или другие высокоуровневые языки, которые вам понравятся. Тут вопрос коллективной разработки.

Если все из команды пишут на С#, то вы конечно можете писать на Delphi, но только библиотеки. Но как было сказано выше, ее никто не сможет отредактировать без знания Delphi. Поэтому в этом случае лучше писать на C#, как и все члены команды. Если же вы программист-одиночка, то ваш вариант однозначно Delphi, Visual Basic, C#, PHP и другие в зависимости от задачи. С этими языками вы сможете в одиночку написать достойную программу. В Visual C++ не сможете, потому что здесь нужна команда.

Например, офисный пакет написан на Visual C++. Я думаю, что офисный пакет пишет несколько десятков разработчиков. Я читал однажды статью, где было сказано, что разработкой Windows занимаются более 2000 человек. Я считаю, что разработкой офиса занимается также большое количество человек. Версии выходят раз в три года. Вот и представьте, сколько нужно времени этому большому коллективу, чтобы написать хорошую программу на Visual C++. Но я думаю, что вы будете заниматься, скорее всего другими вещами.

Поэтому ваш выбор Delphi, Java или C#. Хотя особой разницы не вижу. Только лишь в подходах. А так и тот и другой по возможностям одинаковы. Есть еще Visual Basic .Net. Он ничем не уступает C#. Просто менее популярен. Опять-таки из-за того, что его учили в школе, считается, что язык «детский». Но это предрассудки, потому что язык — это просто язык — набор слов и все. Просто люди — фанаты восхваляют любимые языки и недолюбливают языки-конкуренты.

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

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

Понравилась статья? Поделиться с друзьями:
Блог Алексея Иванкова
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: