Delphi: программирование для всех!
Пять лет назад известная компания Borland выпустила первую версию своего средства визуального программирования Delphi. К разочарованию приверженцев фигурных скобок (в связи со спецификой языка именно так называют программистов, использующих С или С++) программы в Delphi надо было писать на языке Pascal, имеющем дурную репутацию "студенческого". Однако большинство серьёзных разработчиков вскоре поняло, что Pascal уже не "игрушка для детей", каким его можно было считать раньше, а новое профессиональное средство для быстрой разработки высококачественных программных продуктов.
Сейчас торговая марка Borland известна, пожалуй, каждому программисту. Кто-то скажет, что фирма написала отличный компилятор для языка С++ или создала мощную и быструю среду визуальной разработки приложений - Delphi. Но так было не всегда.
Компания была организована в далеком 1983, когда о средах визуальной разработки еще никто не мог мечтать, однако продукты Borland даже тогда отличались высоким качеством. Как это ни удивительно, даже вездесущая Microsoft не могла создать столь качественных средств разработки. Успех Borland можно объяснить простым стремлением сделать программирование комфортнее.
За последние годы политика Borland претерпела ряд изменений. Сначала переименование в Inprise, отказ от мелких клиентов и переход к созданию инструментов для больших компаний, потом возрождение в лице нового президента Дейла Фуллера (Dale Fuller)
Что же представляет из себя Borland сейчас?
Для начала компания вновь сменила имя - теперь в пресрелизах пишут Inprise/Borland. Все вполне логично: Inprise - "свежий ветер" в области разработки инструментов для электронной коммерции и программного обеспечения под Linux. Borland - привычный и устоявшийся авторитет, известнейшая торговая марка.
Седьмого февраля этого года было объявлено о слиянии двух крупнейших высокотехнологичных компаний - Corel и Inprise/Borland. Называется приблизительная сумма сделки - 2.44 миллиарда долларов. Но не стоит рассматривать это, как "смерть" Borland. Напротив, два гиганта компьютерной индустрии решили объединить усилия и сообща работать над созданием нового продукта под Linux. Corel предложила свои разработки в области графических технологий и операционных систем на базе Linux. В свою очередь Borland займется созданием средств разработки. У обеих компаний появляется уникальный в истории шанс - использовать огромный потенциал Linux для создания новых мощных продуктов на базе open source (open source - модель распространения программного обеспечения, при которой клиенты могут получать исходные коды программ).
Многие пользователи продуктов Borland под Windows могут быть напуганы - "Если Borland начнет получать деньги из Linux, то зачем развивать продукты, написанные под Windows?!". На самом деле Borland не бросает (и вряд ли когда-либо бросит) перспективный рынок средств разработки для Windows, напротив, Inprise/Borland лишь расширяет область своей деятельности.
Крайне интересна политика компании по отношению к Interbase. Недавно было объявлено о решении сделать этот продукт также Open Source. Этот шаг открывает разработчикам программного обеспечения, использующим продукты Borland, беспрецедентные возможности.
Но вернемся к основной теме данной статьи. Что же такое Delphi? Это средство визуального программирования, в основе которого лежит объектно-ориентированный язык. Тогда возникает еще один вопрос, что такое "визуальное программирование".
Представим себе, что программист не печатает код своей программы, а объясняет системе, что бы он хотел увидеть. Конечно, это преувеличение - никакая система не поймет человеческий язык и тем более не сможет адекватно выполнить необходимые действия, но разработчики Delphi сделали первый шаг в этом направлении. В Delphi многие действия требуют гораздо меньше времени и выполняются более интуитивно.
Безусловно, что для быстрого создания приложений необходим иной взгляд на программирование вообще. Для этого основой Delphi стал объектно-ориентированный Pascal (который так и называется Object Pascal и сильно отличается от стандарта языка).
Теперь программист не пишет стандартный код, а оперирует с более абстрактными понятиями - классами, событиями, свойствами, компонентами.
Для ясности необходимо определить понятие компонента. Взгляните на ваш Windows или на Internet Explorer, где Вы, возможно, читаете этот текст (это не относится к людям, предпочитающим печатную форму). Перед Вами кнопки, полосы прокрутки, выпадающие списки, меню и т.д. Все это - компоненты. А зачем писать что-то по сто раз, когда можно использовать библиотеку визуальных компонентов - VCL (Visual Component Library). Вам нужна кнопка. Зачем вспоминать длинные строчки кода - просто поместите на рабочую формочку нужный компонент. Даже слово "поместить" не совсем подходит - с компонентами работать до того просто, что программисты предпочитают более вольную терминологию "выкинуть" или "использовать", т.е. как бы переместить компонент из библиотеки на формочку.
Почему же Delphi получила такую популярность? На этот счет существует несколько мнений и причин. Delphi - это продукт, уникальным образом сочетающий высокопроизводительный компилятор, объектно-ориентированные средства визуального программирования и универсальный механизм доступа к базам данных.
Начнем по порядку. Время компиляции программ у любого C-языка на порядок дольше, чем у Delphi, это понижает отдачу от программиста - не каждый может писать код без малейших ошибок. Даже на мощных машинах С-продукты не могут обеспечить быстродействия, присущего Delphi.
Другим важным фактором успеха Delphi является его "визуальность". Можно сказать, что здесь программист не должен думать о всяких мелочах - как создать окно или кнопку, какие для этого необходимы классы или библиотеки. Задачи, для которых на C требуется множество усилий, в Delphi решаются несколькими кликами. Однако, вопреки сложившемуся мнению, при этом язык не теряет возможности доступа к низкоуровневым свойствам объектов, это делает его уникальным.
Для многих программистов немаловажным фактором является способность системы работать с базами данных. Delphi поддерживает базы данных, причем с той же присущей системе визуальностью. С таким же изяществом позволяет она разрабатывать и клиентский уровень СУБД "клиент-сервер", что чрезвычайно актуально сейчас. Встроенные мастера позволяют быстро создать необходимые компоненты и процедуры, а программисту остается лишь дописать свой код.
Пока я пишу эти строки, все время хочется сказать "пользователь", а не "программист".
Действительно, система настолько интуитивна и интеллектуальна, что её могут использовать все - от самого крутого программиста до простого пользователя Windows.
Сейчас многие приверженцы Visual C++ или Visual Basic, вероятно, бросают на меня косые взгляды и не хотят расставаться со своими любимцами. Ниже я приведу несколько аргументов, которые могут заставить кого-то изменить свое мнение.
Почему Delphi, а не VB?
Если Вы используете VB для написания макросов или событий в Microsoft Word или Access, то здесь вариантов быть не может - Delphi предназначен для иных целей.
Если Вы используете VB для приложений, работающих исключительно под Windows, то это просто не серьезно. Для начала давайте взглянем на панель компонентов Delphi - пользователи VB многое теряют. В сети с каждым днем появляются все новые и новые компоненты, написанные под Delphi, а не под VB.
Программы, написанные на VB, имеют больший размер, а также большее время исполнения.
Для небольших проектов (простое вычисление по формуле) это незначительно, однако для солидных разработок это неприемлемо.
VB не объектно-ориентированный язык программирования, на нем нельзя писать сложные структуры и классы. Это существенный минус для тех, кто пишет большие программы - там без ООП обойтись невозможно.
Я не буду упоминать об интерфейсе VB - это личное мнение каждого. Скажу лишь, что мне больше нравится Delphi (опять же это моё субъективное мнение).
Тема этой статьи не "VB против Delphi", поэтому надо замолвить и пару слов о Visual C++. Что не говори - система мощная, однако есть три основных фактора, "отпугивающих" программистов.
Во-первых, большое время компиляции программ (в среднем в два - три раза дольше, чем у Delphi).
Во-вторых, на разработку проекта в среднем тратится больше времени опять же за счет необходимости возиться с кнопками и окошками.
И, наконец, последнее. Многим просто не нравится строгость C++. Система учитывает разницу в регистре символов, требует больших затрат при работе со стандартными элементами, не всегда корректно поддерживает русский язык.
Одним из преимуществ Visual C++ является большая сжатость кода и меньшее время исполнения программы. Да, с этим поспорить нельзя. По сравнению с С++ код, откомпилированный в Delphi, действительно немного неэкономный, а по поводу быстродействия нужно сказать пару слов. Конечно, если в Delphi работать с изображением через Pixels, то тут на лице просто улыбка появляется, но если все делать профессионально, то качество конечного продукта будет наивысшим.
Если обобщить все вышесказанное, то можно сказать, что Visual С++ - среда для глобальных разработок, таких, где борьба идет за каждый байт и за каждую миллисекунду, потраченную на выполнение программы. Но что важнее - потратить в три раза большее время или получить хороший программный продукт сейчас - решать вам.
В заключение хочется обратиться еще к одной теме. Почему Delphi-программистов не "отрывают с руками", почему работодатели так стремятся заполучить С-программера? Здесь ситуация более серьезная, чем кажется.
Для начала нужно помнить о некоторой инертности рынка. Delphi появился только пять лет назад, никто не хочет целиком доверять новому программному обеспечению.
Многие производители просто не хотят писать продукты на Delphi. Общее мнение заключается в следующем. Microsoft написала Windows, Microsoft написала средства разработки. Вывод: мы будем пользоваться разработками Microsoft. Что можно сказать по этому поводу?