RAD Studio XE5 для эффективного обучения программированию

Как евангелист Embarcadero я общаюсь с программистами достаточно интенсивно и на пределе физических возможностей. Траффик приблизительно 1000 человек в год. На семинарах ко мне подходят преподаватели, которые используют Delphi и C++Builder в обучении. После знакомства с возможностями RAD Studio XE5 они спрашивают: «Можно ли увидеть список весомых аргументов в пользу Delphi и C++Builder именно для образования?». Вопрос понятен. Люди годами используют эти продукты для обучения программированию, наблюдая, как их воспитанники с нуля достигают хорошего уровня с точки зрения самостоятельной разработки. Но «борьба» между технологиями ведётся и в области образования, а новомодные увлечения и броские продукты с необоснованно раздутым имиджем негативно воздействуют на людей, далёких от учебного процесса, но влияющих на принятие решений. Из уважения к преподавателям, часто за небольшие деньги растящих молодое IT-поколение, привожу такие доводы, подкреплённые личным более чем 15-ти летним опытом (школьники, студенты, аспиранты, преподаватели).

В условиях всё усиливающейся роли обучения программированию на всех этапах – от школьной скамьи до вуза – очень важно выбрать эффективную программную среду. Рассмотрим в этом качестве интегрированную среду разработки IDE и языковой базис на примере RAD Studio XE5, которая состоит из Delphi XE5, C++Builder и HTML5 Builder. Соответственно, языковые средства данного пакетного решения – это Delphi/Pascal, C/C++ и ряд популярных языков и технологий для Web-разработки. Такое сочетание весьма эффективно, если целью обучения программирования является формирование универсальных знаний и навыков, необходимых для создания современного программного обеспечения (ПО), в максимально широком диапазоне учащихся.

Среда и язык программирования для выработки первичных навыков на основе элементарных знаний должны обеспечивать минимально возможный порог вхождения. Здесь речь идёт не только о школьном образовании. Студенты вузов любой специальности обязаны иметь представление о том, как разрабатывается современное ПО. С одной стороны, это важно для подготовки как минимум грамотных пользователей уже созданных систем. С другой – практически любая сфера человеческой деятельности, включая гуманитарные области, при углубленном изучении требует разработки и использование сложного прикладного ПО. Юриспруденция, лингвистика, социология, политические науки и т.д. в современном виде подразумевают умение специалиста за функционалом применяемых систем видеть и понимать алгоритмы, реализованные в программном виде.

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



Практически идеальным решением является начало обучения в Delphi с последующим расширением опыта путем использованием C++Builder для овладения профессиональными навыками и подготовкой специалистов, владеющих наиболее востребованными технологиями создания ПО. Процесс обучения программирования разбивается на два взаимодополняющих этапа:
  • первичные навыки и базовые знания в Delphi;
  • профессиональная подготовка и выход на высочайший уровень в C++Builder.

Рассмотрим подробно этот подход в порядке нарастания нагрузки как на учащихся, так и преподавательского состава.
Идеальным языком для обучения программирования в среде Delphi XE5 является Pascal:

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

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

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

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

Delphi принадлежит к семейству RAD-инструментов. Ручной ввод программного текста сочетается с манипуляциями в интерактивном режиме с готовыми компонентами. Преподаватель может варьировать методику, начиная как с «чистого» программирования, так и с «быстрой разработки». Всё зависит от возрастной, психофизических особенностей конкретной группы учащихся. Можно даже делить единый урок на две части – «классическое программирование» и интерактивное обучение в игровой форме для сохранения концентрации внимания.

Актуальной версией является Delphi XE5, но она поддерживает работу в режиме «канонических» учебных примеров а-ля консольное приложение с текстовым или файловым вводом/выводом.

Delphi XE5 имеет встроенный набор визуальных 3D-компонентов. Программирование по-настоящему становится интерактивным. Это не «утомительный набор текста программы», а живое взаимодействие со средой разработки. Часть времени можно уделить «рисованию в 3D» в design-time, затем можно перейти к программному динамическому созданию объекты сцены в runtime, потом добавили эффекты анимации в design-time, потом запрограммировали реакции на действие пользователя.

В основе Delphi лежит традиционный Pascal, очень многие примеры легко переносятся в новую версию XE5. Учебно-методические материалы на Pascal могут использоваться и в XE5 с весьма умеренными доработками. Любое развитие обучающих материалов легко осуществимо на основе имеющейся весьма обширной базы примеров и учебной литературы.

Delphi на основе Pascal – язык профессиональной разработки. Миллионы сточек кода, коммерчески успешные приложения, широкий спектр прикладных областей. Языковые возможности современной версии данного языка не ограничивают учащихся выполнением учебных примеров. Можно использовать методы обобщенного программирования и расширенную RTTI.

Delphi XE5 позволяет создавать приложения для мобильных систем. Теперь уже никто из учащихся не почувствует сомнения по поводу актуальности изучаемой технологии. Телефон или планшет на базе Android, iPhone или iPad — эти современны устройства на базе iOS и Android могут быть запрограммированы на языке Delphi/Pascal.

Delphi обеспечивает раннюю занятость молодежи. По окончанию учебного заведения в силу простоты и доступности, что является залогом получения надежных навыков практического использования, выпускники уже могут самостоятельно создавать практически значимые приложения, включая взаимодействие с СУБД на компонентном уровне.

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

Delphi способствует стабилизации учебных планов и программ благодаря возможности вести мульти-платформенную разработку под Windows, Mac OS, iOS и Android. Если под каждую платформу изучать отдельный язык или технологию, то следует планировать обучение по следующим направлениям:
  • один семестр C;
  • один семестр C++;
  • один семестр Java;
  • один семестр C#;
  • один семестр Objective-C.

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

Delphi – универсальная среда, инвариантная относительно платформ, для которых создаётся приложение. Можно добавлять новые программно/аппаратные платформы, исходя из их популярности на рынке. Учебный план, количество и содержание лабораторных работ остается неизменным с поправкой на рассмотрение особенностей новой платформы, что в рамках единого инструмента не требует значительных временных затрат.

Delphi для учителей и преподавателей способствует универсализации собственных знаний. При современном темпе развития IT-технологий есть большая опасность того, что учащиеся могут по знаниям превосходить преподавателей. Пусть это лишь поверхностное знакомство, неглубокие навыки, формальные методы – всегда есть риск потери имиджа. С Delphi для Windows, Mac OS, iOS и Android преподаватель чувствует себя защищенным, т.к. самые новые и актуальные операционные системы и устройства не являются проблемой. Практически любое современное и модное устройство, принесенное учащимися в учебное заведение, может быть запрограммировано на основе единого кода.

Delphi как единая технологическая среда способствует сотрудничеству между преподавателями и студентами. Рабочая группа может быть сформирована из студентов любого уровня, аспирантов и преподавателей. Исключается ситуация потери преемственности, когда студенту младшего курса поручают продолжить работу аспиранта, но все время тратится на освоение нового языка (Java или C++), а фактическая работа по модернизации алгоритмического наполнения системы обречена на провал. Единство языка и инструмента, доступного всем, начиная со школы – залог успешности в создании общей базы исходных кодов и возможности перехода с уровня «учебное приложение» на «научный проект».

Delphi на основе Pascal – это не «пожизненная» привязка именно к данной технологии. C++Builder – визуальная среда быстрой разработки, построенная на тех же принципах, что и Delphi. Учащиеся, освоившие Delphi, практически мгновенно адаптируются к C++Builder и начинают осваивать специфику и возможности профессиональных языков C/C++.

C++Builder следует рассматривать как следующий после Delphi этап изучения технологий программирования.

C/C++ — одни из самых распространённых языков программирования, но они изначально были рассчитаны на уже подготовленных разработчиков с опытом работы. Здесь крайне важно именно постепенная подача материала с максимальной проработкой и закреплением полученных знаний на конкретных примерах.

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

Изучение и реализация типовых алгоритмов параллельно со знакомством с языком программирования C++ значительно увеличивает нагрузку на учащихся. Если алгоритмы уже освоены, а навыки их реализации уже выработаны, то изучение C++ значительно ускоряется.

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

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

После изучения основ программирования в Delphi и совершенствования навыков разработки в C++Builder возможно использование HTML5 Builder в составе RAD Studio XE5. HTML5 Builder представляет собой удобную визуальную среду для web-разработки, включая HTML5, CSS3, JavaScript и PHP. Такой подход позволит рассматривать широкий спектр современных технологий программирования для создания приложений под Windows, Mac OS, iOS, Android, а также клиентских и серверных web-приложений.

RAD Studio XE5 с Delphi XE5 и C++Builder в своём составе представляет собой набор идеальных для обучения программированию сред, который легко адаптируется под различные учебные заведения, их профили, уровень начальной подготовки учащихся, методики обучения, а также целей и задач обучения – от начального знакомства до профессиональных навыков.

Если учебные программы предполагают использование предыдущих версий Delphi и C++Builder, то при поставке RAD Studio XE5 открывается доступ к ним, включая: Delphi XE4, Delphi XE3, Delphi XE2, Delphi XE, Delphi 2010, Delphi 2009, Delphi 2007, Delphi 7, C++Builder XE4, C++Builder XE3, C++Builder XE2, C++Builder XE, C++Builder 2010, C++Builder 2009, C++Builder 2007, C++Builder 6. Это позволяет обновлять учебные планы до использования версий XE5 без нарушении текущего образовательного процесса, постепенно обновляя содержание курсов и наполнение практических работ вплоть до мобильной разработки под iOS и Android.

С RAD Studio XE5 сохраняется преемственность методических материалов, учебной литературы и образовательных планов и стратегий, что исключительно важно, т.к. более 70% школ Российской Федерации используют Delphi/Pascal в обучении. Но и более сложные языки программирования C/C++ также доступны в продолжении совершенствования навыков и развития знаний, вместе с технологиями web-программирования. При создании приложений для различных платформ, таких как Windows, Mac OS, iOS, Android, а также web-приложений учебные планы становятся актуальными, а учащиеся – гарантированно востребованными как получившие универсальное образование в области программирования.

Компания Embaradero упростила поставку образовательных лицензий RAD Studio XE5 с точки зрения доступа студентам к описанным продуктам для самостоятельной подготовки, выполнения домашних заданий и курсового/дипломного проектирования вне стен учебного заведения и с использованием личных компьютеров.

image
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 28

    +5
    Пропагандистская статья какая-то.
      0
      У таких статей один плюс — они помогают понять логику авторов странных нововведений и политики, и оценить перспективы исправления.
      +11
      Ветка комментариев про цены на Дельфи, Express версии и всё такое прочее.
        +4
        Был бесплатный Turbo Delphi Explorer, да сплыл…
          –4
          Есть более удачная ветка (пост) про цены/поставки — ссылка в тексте.
          Бесплатная редакция отсутствует, на что есть масса причин. Но их осознание требует определённой подготовки. Итак, посмотрим, откуда берётся «бесплатные» средства разработки.

          Они существуют, но причина их «бесплатности» в том, что это есть оплата «в натуральной» форме «притаскиваняи Вас на» и «приковываине Вас к» конкретной платформе. Поясню на тривиальных примерах.

          — Вам дарят принтер (продают с убытком), но потом Вы пожизненно (для принтера) будете покупать картриджи определенной модели;
          — Вам дарят «станок для бритья» (он не стоит инчего), но Вам придется пользоваться только определенным типом лезвий (даже в рамках отдельного бренда);
          — Вам дарят средство разработки, но создавать приложения на нём Вы сможете только под определенную платформу (ОС, hardware);
          — …

          Последний пункт чуть сложнее, чем первые 2, т.к. схема не одноходовая. Вендор даёт Вам лицензию «бесплатно», а платит за Вашу лицензию польователь Вашей (одно-платформенной) программы, который из-за Вашей программы вынужден покупать программно-аппаратную платформу, в цену которой входит производство «беслпатного» средства разработки.

          Давайте формульно:
          Ц_продажная_платформы = Ц_платформы + Ц_средства_разработки;

          т.е. стоимость инструмента «замаскирована». Если хотите — плата за лояльность Вам.

          Казалось бы — ну и славно! Есть же «халява», почему бы и не воспользоваться?!
          Так то он так, так и было до момента, когда на одной платформе Windows было два сравнимых инструмента Windows-разработки: Visual Studio и Delphi. Опять же, надо понимать, что из-за практически монопольного доминирования ОС Windows прибыли корпорации Microsoft… мммм… позволяли достаточно быстро и мощно «фаршировать» студию всем, чем можно. Собственно, это и продолжает происходить.
          И если Microsoft может «вбить в студию» всё, что дуже угодно — от «функционального программирования» до «ALM». Можно шпиговать разнотравьем, получая пирожок, пахнущий всем сразу. Можно сделать две платформы WPF и Silverlight, а потом прибить их обе. Вообще, Microsoft все спокойно относилась к «плохим запускам». Как в комической индустрии — всегда на долю «хороших» пусков обязательно будет доля «плохих». Вспомните Millennium, Vista. Здесь я не привожу «критику» Microsoft — великой корпорации, которая стала двигателем цивилизации на рубеже XX-XXI вв.

          Но вся эта «бесплатная» монета всегда имеет и вторую сторону. Как только доминанта Microsoft была сломлена — нет, не альтернативной настольной системой, а мобильной платформой… точнее сразу 2-мя… Какой прок от бесплатной Visual Studio, если она не даёт создавать приложения под iOS и Android?
          Происходит «перегазгузка» компетенций разработчиков. 10 лет C# и Visual Studio не значат ничего.
          Кстати, я теперь начал догонять, почему в начале моей деятельности «старые программисты» всегда норовили мне рассказать «про перфокарты» и «машинные коды». Им было до глубине души обидно, что их навыки «заклеивания дырочек» никому не нужны, а ячейки и регистры уже давно другие, никого не парит «засунуть программу в 20 кибайт» и т.д., а p2 = (p = NULL)? ++p: p--; стало цениться больше, чем 20 опыт фортрана.

          Теперь Delphi/C++Builder/RAD Studio стала мульти-платформенным средством, акции знания Delphi (C++Builder/RAD Studio) резко подскочили вверх на фоне .NET-скиллов… (кто не верит, посмотрите, сколько стоит iOS-девелопер vs .NET девелопер).

          И уже с грустью в голосе Microsoft объявляет партнёрство с Xamarin (сами не могут поддерживать Android и iOS, хотя чисто технически для Microsoft сделать «ms android native studio» проблем не представляет). Всё это к тому, что «прося бесплатный турбо эксплорер» нужно представлять себе причины существования оного в прошлом, доступности Visual Studio Express сегодня, а также проблему «соскакивания» с тулзы или «перезагрузки» компетенации в будущем.

          Если есть желание дальше обсудить — welcome. Только давайте не «стоя лбом к стенке», а сделав два шага назад, чтобы видеть всю картину целиком. Кстати, рад буду рассказать и дальше, особенно в контексте «Samsung Android Studio», выхода Tizen, фрагментации рынка мобильных платформ, доли рынка Microsoft в мобильных системах (несмотря на бесплатность Visual Studio Express… извините, не удержался).

          Дело в том, что я работал «чистым технарём». Вопросы маркетинга, продвижения, «первой дозы бесплатно» меня мало интересовали, а также доступа к данным не было. Сейчас же у меня больше времени на «осмысление картины в целом». Конечно, хочется ответить на вопрос «бесплатности» лицензий на RAD Studio как «дяди не понимают что-то». К сожалению, это не так, а «дяди готовы объяснить, как мир устроен».

          Считайте, что стоимость лицензии на RAD Studio — это цена свободы. Вы не обязаны писать для Windows. Или для Mac OS. Или iOS. Или Android. Свобода того стоит, даже если просто пересчитать стоимость ведения 4 отдельных проектов под 4 разных платформы.

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

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

            Вернемся к теме применения делфи для образования. Вот есть MS. Кафедра покупает(достаточно дешево) подписку и раздает своим студентам бесплатную полноценную платформу для обучения ( Windows + MSVS Pro ). Вот есть Apple (OS X + iOS), там студент просто берет и ставит XCode (но нужен Mac). Вот есть бесплатный GCC. Вот есть Intel, которая для некоммерческих целей раздает бесплатно свои компиляторы и инструменты отладки и профилирования приложений. Вот есть Qt и Qt-Creator, которые можно использовать для разработки под любую платформу.

            Что может предложить в ответ делфи? Устаревшую платформу по конской цене (существенно больше чем у той-же MS)?

            Я прекрасно понимаю, что корпорации предлагая первую дозу бесплатно хотят чего-то в замен и чаще всего это вендор-лок, однако, в большинстве случаев продукты этих корпораций решают конкретно мои проблемы и, по этому, у меня есть смысл соглашаться на этот лок. А какой смысл лочится на делфи? Что он может предложить реально полезного? Указанная вами универсальность подходит для прототипироваия, но не для разработки реальных приложений, которые должны адекватно выглядеть и вписываться в существующие инфраструктуры платформ…
              +4
              Как человек, буквально выросший на C++Builder/Delphi, я не могу без боли смотреть на происходящее (уже много-много лет) с этим проектом, и методично буду высказываться в каждой соответствующей ветке.

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

              Мы можем соглашаться или нет с таким позиционированием, но в нынешней дискуссии речь о другом. Вы сначала пишете про всякие «низкие пороги вхождения» (потому что нет тернарной условной операции), что автоматически подразумевает некий начальный этап обучения. Если речь идёт о втором-третьем языке, то и ?: надо бы понять, и указатели, и && (какая трагедия). А если мы говорим о первом, то какая ко псам кроссплатформенная мобильная разработка с использованием профессиональной среды?!

              На начальном уровне я бы дал человеку Python или, прости господи, Visual Basic, и пусть учится. Не «зависнет» он на картриджах к принтеру, потому что всё равно будет у него и второй язык, и третий, и четвёртый, а если не будет, то и программистом такого выпускника трудно назвать. А чтобы не зависеть ни от поставщика дорогих картриджей к дешёвому принтеру, ни от продавца супер-дорогих принтеров, всё равно придётся изучить ему и открытые среды разработки, и открытые библиотеки.

              Можно обсуждать сколько угодно преимущества и недостатки Delphi, но дело не в них, а в общей политике. Когда-то Apple подсадил половину Америки на свои далеко недешёвые компьютеры, продавая их с крупными скидками в университеты. Студенты — это главные евангелисты любой платформы. Вырастая со знанием инструмента и с любовью к инструменту, они будут всячески его продвигать и поддерживать. А Embarcadero студентов не любит. Хотя казалось бы.

              Но видимо, прав Голубицкий: у компании, как и у человека, есть некая карма, заданная отцами-основателями. И если Майкрософт изначально был известен любовью к vendor lock-in, попыткам монополизации и умением испоганить хороший продукт, то родовое пятно Borland — вот такая невменяемая политика, которую пытаются скомпенсировать многократным переименованием бренда.

              И да, по поводу крутости Object Pascal. Вообще-то автор сего языка думал над тем, как его улучшить. И мы все знаем, какой язык он создал следующим по счёту. (То же самое относится к автору языка Pascal, просто Pascal).
                –2
                Мне доставляет большое удовольствие разговор с Вами. Будучи «вне компании Embarcadero», я думал абсолютно аналогичным образом. Но сейчас, видя ситуацию изнутри, я продолжаю полностью понимать Вашу позицию, однако не могу полностью согласиться с ней.

                Возможно, есть некие «обобщенные» подходы в виде «кармы». Born to be wild, natural born loser… Можно уподоблять судьбу программного продукта судьбе человека — младенчество, юность, зрелость, старость, смерть… Можно пофантазировать на тему ренессанса, ресторации или второго рождения. Всё это хорошо укладывается в формат «журнализма». Прям подмывает применить метафору, гиперболу, умеренное «передёргивание», начать задавать самому себе риторические вопросы и т.д. Главное, вовремя удержаться и не выводить дискуссию — достаточно важную — из разряда обмена профессиональными мнениями в «игру в снежки», когда мы начинаем метко швыряться друг в друга крепкими, но уже слегка подтаявшими от разгоряченных рук снежками fragментарных аргументов и фактов.

                Но вернёмся на секунду к чистой полемике. Я даже не буду цепляться за отдельные фразы. Хотя, пожалуй, «отобью» Майкрософт. Нельзя так огульно клеймить корпорацию, де-факто определившую облик современной IT-цивилизации. И я сомневаюсь, что где-то есть специальный штаб, где заговорщики секретном бункере зловеще замышляют коварные планы, как умышленно испортить какой-то продукт, «убить» технологию и «подставить» разработчиков/пользователей. Извините, коллег по «цеху» я в обиду не дам. IT-вселенная так быстро меняется, общие потребительские настроения настолько непредсказуемы, технологии слишком быстро достигают верхней грани технического совершенства, что даже великие стратеги и гениальные инженеры не могут… не могут что? обеспечить линейный рост функциональности и качества. Очень быстро «идея, подающая большие надежды» становится «большим разочарованием». Если посмотреть на космическую отрасль (я полагаю, у очень многих программистов в настоящем есть родители, которые работали именно в этой сфере), то там тоже полно гениальных всплесков, тупиковых ветвей, великих катастроф, ярких прорывов и т.д. Нужно чуть более с пониманием относится к проблематике создания и развития сложных технических систем. Не создавать себе кумиров, чтобы потом в них не разочаровываться.

                Теперь о Borland/Embarcadero. Был период эйфории, когда новые возможности RAD были помножены на резкий рост интереса к разработке прикладных программ. Это — не потому, что в Borland-е работали «волшебники» (хотя и это тоже). Delphi не была бы таковой, если бы не Microsoft Windows со своим API. А «паровозило» тут железо, что неудивительно. Delphi сыграла роль «автоматической коробки передач», которая очень эффективная при условии наличия автомобиля, который в современном виде невозможен без бензина, который в современном виде невозможен без определенного уровня мощности нефтедобы/перерабатывающей промышленности. В какой-то момент АКПП была предметом культа, теперь стала «полезным агрегатом», не более.

                Но в момент бурного и практически лишенного альтернативы роста популярности Delphi у компании Borland были ресурсы «продолжать удивлять», а также «поражать» и даже «восхищать». Но идеологическая зависимость VCL от WinAPI сокращала поле для проявления фантазии. Такой «захватывающий» прогресс в плане добавления функциональности к средству разработки уже нельзя было поддержать, извините, никакими ресурсами. Вместо обычного станка разработчикам дали универсальный станок с ЧПУ. Дальше что? Дальше Borland продолжила исследования в смежных областях. Не было никакого умышленного «предательства интересов трудового народа».

                В какой-то момент Borland начала «упираться границами» в другие средства разработки — да — Microsoft Visual Studio и Java (имея свой JBuilder, когда-то бывший сверхпопулярным). Я тогда работал тренером Delphi (и, поймите правильно, Visual Studio). В какой-то момент количество учащихся начало уменьшаться, т.к. «все уже выучились», а рост числа программистов стал коррелировать с общим ростом населения (с той же интенсивностью). Но бизнес (любой бизнес) хочет расти не «вместе с населением», а быстрее. Средства разработки стали собственностью компании Embarcadero. Первым делом (после неудачных попыток «поиграть на поле .NET» в последние годы Borland) мы постарались «отдать часть технологических долгов», стабилизировав IDE. Были сделаны различные нововведения в язык Delphi. Технология была приведена в состояние готовности для нового «скачка» возможностей. Этим и стала «мобильная революция».

                Теперь общая направленность развития — мульти-платформенность. Задачи решались поэтапно — сначала Windows и Mac OS на основе единого кода. Затем iOS на платформе FireMonkey. Далее, Android. В «технологическом стеке» средств мобильной мульти-платформенной разработки Delphi занимает все более и более уверенные позиции. Это обусловлено потребностями рынка. Постепенно «классические VCL-разработчики» начинают пробовать свои силы в сфере «корпоративной мобильности» на основе годами наработанной компетенции. Игрушечная «обезьянка» стала «Платформой FM», появились наши «герои» (например, Digifort, за 2 недели реализовав iOS и Android версию своего мобильного клиента). Да, тут есть неоспоримая заслуга нашего R&D (значительная часть которого уже представлена российскими инженерами). Но это это всё явилось результатом правильной стратегии развития компании Embarcadero. У нас есть конкуренты, мы их уважаем. Но есть чем и ответить. Техническая гонка вооружений на фоне объективной рыночной реальности — вот залог развития прогресса. Так было и авиастроении, и в системах вооружения, и в других областях НТП.

                Совершенно понятно, что такое соперничество, столкновение идей, подходов и реализаций не идёт «мирно и гладко». Твёрдотопливные двигатели или жидкостные? Реактивные двигатели или винтовые? Ракетное вооружение и ствольная артиллерия? Для кого-то это оборачивается личной трагедией. Для кого-то — точкой профессионального роста. Главное, отбросить эмоции и «честно забивать голы», а не кричать на трибуне «рыжего с поля».

                Завершить хочу следующим позитивом. Мы сейчас проводим конкурс мобильной разработки под Android в Delphi. Количество поданных заявок приятно удивило. Особо хочется отметить студентов — они просто счастливы, что освоенная в рамках учебного процесса Delphi позволяем им реализовывать свои идеи для мобильных устройств. Скоро подведем итоги конкурса, я буду рад поделиться результатами и показать, как современный вариант Delphi с «Платформой FM» решает задачи разработки мобильных приложений на основе единого кода и для Android, и для iOS. Скоро подтягивается C++Builder для iOS, это для Pascal-haters.

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

          –2
          Ветка комментариев про Python/Ruby/JS, переходящяя в вежливую дискуссию о чистом функциональном программировании и хаскеле.
            +13
              –2
              Дайте языку время для реабилитации в современном мире. Иногда все новое — это хорошо забытое старое. В отличии от форточной студии, ребята следят за тенденцией и двигаются в мир мобильных приложений и кросс — платформмености. Да пока не совсем удачно, но и это лучше чем совсем ничего.
                –3
                Получилось креативненько, спасибо! :)

                Немного отвлекаясь от смешной и творческой доработки картинки, добавим серьёзности.
                Речь шла о массовом обучении программированию. Здесь критерий «поиска работы» не является 100% валидным. Мы говорим о том, что ориентировка на текущие потребности рынка труда именно в профессиональной сфере не может служить основой для выбора технологии обучения.
                Если посмотреть на текущие потребности, вызванные бурным ростом числа мобильных устройств, то — да — доминантой будут Java и Objective-C. Но какая доля всех школьников и всех студентов будут искать работу именно в сфере программирования? Зачем же остальных мучить Java и Objective-C?
                Давайте пойдём дальше. Не надо ли в школе начать изучение Big Data?

                Ещё раз прошу задуматься именно о «массовости» и «доступности». Стоит ли ради менее 1% школьников/студентов непрограммистских специальностей ставить под угрозу общий уровень понимания основ программирования? Тогда могут поднять голос биологи. Они потребуют пересмотра образования в школе типа «даешь молекулярную биологию» и «генетику» в начальных классах! Лингвисты заставят учить детей минимум 3 языка (германская группа, романская группа и какой-нибудь азиатский язык). Спортсмены попросят ввести обязательные уроки физкультуры на манер тренировки профессиональных хоккеистов 5 раз в неделю. В этом-то и смысл высшего и/или специального образования, когда уже совсем небольшая группа «затачивается» на конкретных нужды узкого сегмента рынка труда.

                Тем, кому надо — да, могут после Delphi в рекордные сроки начать C++Builder в рамках специализированных программ уже в школе. Есть пример, когда в средней школе ученикам дают OpenGL и COM-технологию. Есть и спецклассы литературного профиля — они и Байрона переводят в качестве ДЗ. Но пусть Delphi/Pascal будут тем самым первым и любимым языком программирования для абсолютного большинства школьников и студентов. Сможете на этот счет картинку переделать? :)
                  +2
                  Зачем первым языком делать Delphi? Куда с ним потом?
                  У C# не настолько и выше порог вхождения, это же не C++.

                  Если все равно сложно — есть VB.NET.
                  Там:
                  1) очень простой и человеческий синтаксис, проще, чем в Delphi.
                  2) 95% возможностей от C# и 100% возможностей платформы .NET
                  3) есть бесплатная, в т.ч. для коммерческого применения студия
                  4) есть открытые реализации этого же языка и среды
                  5) можно разрабатывать Windows приложения, веб-сайты, приложения для телефонов (Windows Phone бесплатно, Android\iOS — Xamarin)

                  Более того, можно писать взрослые коммерческие приложения как на самом VB.NET, так и очень легко перейти на C#.

                  Вот сравните теперь это c Delphi.
                    –1
                    Спасибо за Ваши тезисы, открытая полемика никогда не вредила отдельно взятому подходу, если приверженцы не пытаются обосновывать свои позиции «вопросами веры».

                    Если в противопоставлении схемы обучения
                    Delphi — C++
                    нам предъявляется
                    VB.NET — C#
                    то появляется возможность перевести дискуссию в более-менее осмысленное русло, что позволяет говорить предметно.

                    VB.NET при достаточно спорном заявлении о «большей доступности, нежели Delphi/Pascal» в силу исторических обоснований самого факта своего появления не является языком профессиональной разработки. С одной стороны, можно достаточно уверенно поставить знак равенства между C# и VB.NET. С другой — в эпоху массового перехода на платформу .NET я не могу привести примеров, когда программисты выбирали VB.NET, а не C#. В России мне такие примеры неизвестны, хотя, в частности, в США еще в до-дотнетовскую эпоху VB считался вполне приемлемой компетенцией в плане зарабатывания денег. Хотя и здесь можно говорить о «попсовости» C#/.NET, т.к. сама корпорация Microsoft при разработкt программного обеспечения «на продажу» использовала и использует другие технологии разработки. В России в профессиональной среде VB.NET вызывал недоумение, а любой «изолированно-само-обучившийся» VB.NET-у специалист при первом же трудоустройстве пересаживался на C#.

                    Это подтверждает тезис, что языковая группа Visual Basic всегда была менее профессионально-пригодной, чем Delphi/Pascal.

                    Двинемся дальше в сторону обоснования миграции с VB.NET на C#. VB.NET настолько «подобен» C# (см. п. 2 выше), что качественного роста и расширения сферы познаний в области языковых средств для разработки ПО такой переход не даст. Приведу аналогию:
                    изучение VB.NET и переход на C# с точки зрения лингвистики весьма близко иллюстрируется началом изучения первого иностранного языка — испанского, а затем переход на португальский. Или из русского в украинский. Слишком близка грамматика и слишком родственны корни в силу технологического базиса (.NET).

                    Но является ли C# сам по себе универсальным? Давайте посмотрим на программу прошедшей конференции Microsoft www.msdevcon.ru/2013/schedule доклад F01. Там была попытка «увести» разработчиков от C# в мир С++, что не является безболезненным. Можно ли доверять C#, если сама Microsoft в общении с разработчиками как минимум не демонстрирует уверенности. Еще раз хочу напомнить конференцию Microsoft DevCon 2011, где явственно присутствовал C++ в качестве рекомендованных языковых средств.

                    На выходе мы имеем:
                    — VB(.NET) менее «профессионален», чем Delphi/Pascal при соизмеримой простоте в плане освоения;
                    — C#(.NET) менее востребован, чем C++ в плане широты охвата платформ, включая же платформы Microsoft.
                    Поясню диаграммой:

                    [0-уровень] --->---------->-------------> [профессиональный уровень]
                    Visual Basic --->----------->------------ C#
                    Delphi/Pascal ---->----------->------------>--------------С++

                    Работа по первой схеме учащиеся получать меньше, чем по второй.

                    В завершении немного о «кроссплатформенности» C#. Да, Xamarin даёт возможность использовать C# для программирования под iOS и Android. Но во-первых, единство исходного кода всего проекта для одновременной поддержки нескольких платформ требует работы, работы и еще раз работы. Во-вторых, инструмент Xamarin пока решает достаточно понятные прагматичные задачи, а их «ценник» выглядит более, чем впечатляющим. Здесь ценовая политика никак не коррелирует с «материнской средой» Visual Studio по очень понятным соображениям.
                    Разработка под Windows Phone в плоскости бесплатного использования Visual Studio, конечно, важна, но не на столько, чтобы говорить серьёзно с учётом распространенности этой платформы, включая учащихся и преподавателей. Опять же — учитывая имидж Windows Phone в молодёжной среде.

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

                    В заключении можно сказать, что пп. 1...5 справедливы. Но они не являются аргументами в пользу изменения на VB.NET -> C#. А связка Delphi/Pascal -> C++ даёт более широкий диапазон знаний, большую востребованность (включая важность C++ на платформах Microsoft) и беспроблемный охват максимального количества популярных платформ: Windows, Mac OS, iOS, Android на ЕДИНОМ коде. Добавим к этому унификацию учебных материалов и единообразие среды RAD Studio XE5. Пока подход является наиболее эффективным.
                –2
                C++ Builder весьма неплох. Быстрая разработка GUI-приложений. На выходе получаем exe без всяческих .NET-зависимостей. 64-битная версия тоже наконец-то появилась. Я считаю, Delphi нужно уничтожить и сосредоточиться на C++ Builder. Компоненты оставить те же самые, и при этом люди будут писать программы на нормальном языке.
                  +2
                  А как С++ Builder по сравнению с Qt Creator?
                    0
                    А что, стандартная версия Дельфи порождает исполнимый код с .NET зависимостями?
                      –4
                      Сравниваю Delphi и C++ Builder с библиотекой VCL с одной стороны и Visual Studio с библиотекой WinForms с другой стороны (там как раз .NET).
                        +1
                        А почему нужно сравнивать .NET среду с не-.NET средой? Разве такое сравнение будет корректным? WinForms — это часть .NET.

                        Тогда уж берите для сравнения Visual Studio с MFC (или WinRT), а не с WinForms.
                          0
                          MFC неудобен, с ним даже не сравниваю.
                            0
                            Без комментариев :)
                              0
                              Ну давайте, расскажите про удобство MFC по сравнению с WinForms.
                                0
                                Дело не в этом. А в том, что не нужно сравнивать теплое с мягким.

                                Сравниваю Delphi и C++ Builder с библиотекой VCL с одной стороны и Visual Studio с библиотекой WinForms с другой стороны (там как раз .NET).


                                Если с одной стороны вы берете Delphi/C++ Builder + VCL, то с другой стороны нужно брать Visual Studio + MFC.

                                Если с одной вы берете Visual Studio + .NET, тогда с другой нужно брать Delphi Prism.
                                  0
                                  WinForms — удобен, требуется .NET
                                  MFC — неудобен, не требуется .NET
                                  Delphi, VCL — удобен, но не C++, .NET в какой-то версии требуется, в какой-то нет
                                  C++ Builder, VCL — C++ без .NET с VCL — идеально удобно.
                                    0
                                    Не меняйте тему разговора, пожалуйста. Вы согласны с тем, что сравнивать между собой нужно продукты одного класса, а не разных?

                                    Кроме того, мне неясно, почему вы упорно из всей .NET технологии упоминаете только WinForms. WinForms уже в некотором смысле безнадежно устарел. Ему на смену пришел WPF.
                                      –2
                                      >>Ему на смену пришел WPF.

                                      Я был на Microsoft DevConf'2011. На (о чём писал).
                                      На слайде было (рекомендации по использованию, озвученные г-ном Черномордиковым):

                                      — C++
                                      — WinForms
                                      — Silverlight
                                      — HTML5

                                      Что изменилось с тех пор? (см. запись трансляции Visual Studio 2013 launch):
                                      этого слайда больше нет.
                                      Зато есть ASP.NET + Xamarin для разработки на C# под мобильные платформы (посмотрите программу, пожалуйста, сами, она легко гуглится).

                                      Так что — является ли WinForms «бэктрендом» для WPF, что случилось с WPF в контексте Silverlight, что у нас с «сервелатом», что рекомендует Microsoft в качестве средств разработки…
                                      А это и было предсказуемо. .NET изначальна была «технологией одного вендора».

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

                                        Про WinForms я вашего высказывания не понял. WinForms является устаревшей технологией. Это факт. Ей на смену в десктопных приложениях пришел WPF. Это тоже факт. А ASP.NET, мобильные платформы и все прочее мы с вами не обсуждали.
                                          –1
                                          >>WinForms является устаревшей технологией.

                                          Ссылочку плиз. Из официальных презентаций корпорации Microsoft.

                                          >>Ей на смену в десктопных приложениях пришел WPF

                                          Ссылочку, пожалуйста, где корпорация Microsoft рекомендует использовать WPF для разработки современных «настольных» приложений.

                                          >>мобильные платформы и все прочее мы с вами не обсуждали.

                                          Зато рынок «обсуждает». Степень актуальности средства разработки зависит от того, можно ли с его использованием создавать мобильные приложения для самых популярных платформ iOS и Android.

                                          >>Вы согласны с тем, что сравнивать между собой нужно продукты одного класса, а не разных?

                                          Вы где-то увидели сравнение каких-либо технологий, которые я приводил?
                                          Я привёл, но только с позиции обучения программированию (это — тема статьи, извините, автор в праве выбирать тот контекст обсуждения, который указан в качестве темы).

                                          Здесь связка Delphi (первый этап) и C++Builder (второй этап) — очень привлекательный подход для:
                                          — охвата максимально широких масс учащихся;
                                          — выработки актуальных знаний и навыков.

                                          Прошу Вас, расскажите, как Вы будете учить детей на WPF разрабатывать под Windows, Mac OS, iOS и Android.

                  Only users with full accounts can post comments. Log in, please.