Современный специалист или студент на грани выхода в свободное плавание должен уметь разрабатывать ПО,а так же уметь работать с БД, включая BigData. Но пока студент учится, знания СТРЕМИТЕЛЬНО устаревают.Очень быстро меняется технологический ландшафт (– между 1999 и 2005 это 6 лет, практически срок обучения специалиста ) и в конце обучения полученные знания и навыки чаще всего уже не актуальны.
В итоге можно выделить несколько проблем современного обучения:
1.Студентам интересно знать, что их ждет?В учебных заведениях обучают по большей степени системному программированию. Но прикладное программирование – это не системное. Работодателям нужны грамотные разработчики + прикладные знания.
2.Преподавателям полезно знать, каковы потребности рынка труда? Преподавателям так же не выгодно обучать учащихся программированию, не имея представления какими специалистами и с какими знаниями интересуются работодатели . Ведь в таком случае ВУЗ (колледж, школа ) не будут являться престижными заведениями.
3.В каких средах, на каких языках, и для каких систем нужно обучать студентов программированию? Обучая студентов программированию нужно учитывать многофункциональность языка. Ведь в ином случае выпускаясь из учебного заведения и поступая на работу, где требуют знания другого языка, придется переучиваться.
Практическое решениеПрактически идеальным решением является начало обучения в Delphi с последующим расширением опыта путем использованием C++Builder для овладения профессиональными навыками и подготовкой специалистов, владеющих наиболее востребованными технологиями создания ПО. Процесс обучения программирования разбивается на два взаимодополняющих этапа:
первичные навыки и базовые знания в Delphi;
профессиональная подготовка и выход на высочайший уровень в C++Builder.
Рассмотрим подробно этот подход в порядке нарастания нагрузки как на учащихся, так и преподавательского состава.
Идеальным языком для обучения программирования в среде Delphi XE6 является Pascal: Delphi основана на Pascal, специальном языке для быстрого изучения программирования, поэтому он обладает простым и наглядным синтаксисом, не перегруженным специальными символами и не требующим заучивания неочевидных и трудночитаемых последовательностей.
Языковые особенности языка Delphi/Pascal таковы, что используют в качестве ключевых слов легко читаемые и интерпретируемые символьные последовательности. Это позволяет «проговаривать» тексты программ, и это поддерживается при использовании Delphi/Pascal.
Не следует забывать и о преподавателях. При выполнении практических заданий и лабораторных работ обычной практикой является синхронная проверка и выявление, а также исправление ошибок в программном коде учащихся. Обычный режим подразумевает, что преподаватель в учебном компьютерном классе находится в положении стоя за спиной у учащегося за компьютером, переходя от одного к другому. Чем чётче и понятнее ключевые слова, чем легче они различимы. Чем жёстче и проще типовые языковые конструкции, тем меньше времени тратится на помощь учащемуся в обнаружении и исправлении ошибок. Также это способствует уменьшению напряжения органов зрения преподавателя.
Delphi на основе Pascal имеет очень низкий порог вхождения. Визуальная среда, поддерживающая функции форматирования, подсветки синтаксиса и отладки. Среда является эргономически сбалансированной и удобной как для начинающих, так и для опытных пользователей.
Delphi – хорошая совместимость. Код даже на Pascal будет работать в Delphi XE6.
С++Builder – то же самое, только на С++.
Рассмотрим в этом качестве интегрированную среду разработки IDE и языковой базис на примере RAD Studio XE6, которая состоит из Delphi XE6, C++Builder и HTML5 Builder. Соответственно, языковые средства данного пакетного решения – это Delphi/Pascal, C/C++ и ряд популярных языков и технологий для Web-разработки. Такое сочетание весьма эффективно, если целью обучения программирования является формирование универсальных знаний и навыков, необходимых для создания современного программного обеспечения (ПО), в максимально широком диапазоне учащихся.
Среда и язык программирования для выработки первичных навыков на основе элементарных знаний должны обеспечивать минимально возможный порог вхождения. Здесь речь идёт не только о школьном образовании. Студенты вузов любой специальности обязаны иметь представление о том, как разрабатывается современное ПО. С одной стороны, это важно для подготовки как минимум грамотных пользователей уже созданных систем. С другой – практически любая сфера человеческой деятельности, включая гуманитарные области, при углубленном изучении требует разработки и использование сложного прикладного ПО. Юриспруденция, лингвистика, социология, политические науки и т.д. в современном виде подразумевают умение специалиста за функционалом применяемых систем видеть и понимать алгоритмы, реализованные в программном виде.
Кроссплатформенная разработкаИнструменты кроссплатформенной разработки позволяют создавать приложения сразу для нескольких мобильных платформ. В отличие от гибридных инструментов, в таких кроссплатформенных инструментах используется не HTML5, а сторонние языки программирования, код которых компилируется в на активное для каждой платформы приложение.
Разработка кроссплатформенных мобильных приложений в DelphiКомпания EmbarcaderoTechnologies представила очередной релиз RAD Studio, набора средств разработки, включающих в себяDelphi,C++ Builder,HTML5 Builderи ряд сопутствующих продуктов. Основное новшествоRADStudio XE5состоит в том, что с помощью Delphi стало возможным вести разработку нативных приложений дляAndroid– самой популярной на текущий момент мобильной платформы.
Выпуская новую среду разработки, в компании EmbarcaderoTechnologies надеются облегчить труд программистов, которым нужно создавать свои приложения в вариантах более чем для одной целевой платформы.
Сегодня от корпоративных разработчиков нередко требуют создания одного и того же мобильного приложения в варианте как для iOS, так и Android, а настольных — иногда одновременно для Windows и Mac.
Во многих случаях приложения для каждой из операционных систем приходится разрабатывать практически с нуля, с использованием различных языков и библиотек. «В результате компания вынуждена содержать несколько команд разработчиков, создающих разные кодовые базы, в итоге реализация функциональности высокого качества на всех платформах обходится весьма недешево.
Embarcadero не первая, кто пытается предложить кроссплатформенную среду разработки мобильных приложений. В частности, у компании Xamarin есть соответствующий плагин для MicrosoftVisualStudio, а Oracle предлагает расширение для своей среды ApplicationDevelopmentFramework.
Но другие подобные системы обычно предусматривают использование JavaScript и прочих технологий веб-разработки, которые нередко уступают по функциональности и быстродействию нативному коду, Embarcadero предлагает среду разработки приложений на современных объектных языках программирования, компилирующую в машинный код.
Appmethod предоставляет набор интерфейсов программирования, которые обеспечивают единство функциональности на различных платформах. Это позволяет компилировать для них один и тот же код без изменений, но у программиста есть возможность менять внешний вид приложения для каждой из платформ.
Если разработчик желает воспользоваться особенностью, имеющейся в одной ОС, но отсутствующей в другой, это можно сделать с помощью вызовов нативного API соответствующей платформы. Во многих случаях это не понадобится, обещают в Embarcadero, поскольку Windows, iOS, OSX и Android предлагают весьма похожую функциональность, хотя доступ к ней синтаксически может быть разным.
Теоретически вы сможете создавать приложения, на сто процентов совместимые по коду между всеми платформами
Первый продукт Embarcadero — кросс-платформенная среда разработки на SQL под названием Rapid SQL — вышел в 1993 году. В 2007 году компания купила у BorlandSoftware среды разработки на ObjectPascal и C++ — Delphi и C++ Builder соответственно.
Следует отметить, что пакет сред разработки RAD Studio XE5, предлагаемый Embarcadero, уже содержит технологию Firemonkey, которая позволяет компилировать один и тот же код для разных целевых платформ, в том числе мобильных. На сайте компании отмечается, что фактически Appmethod от XE5 будет отличаться только отсутствием поддержки специфических технологий Windows, таких как VCL и dbExpress. Что касается будущего Delphi и C++Builder, в Embarcadero указывают, что эти продукты «имеют много общего с сAppmethod и будут развиваться вместе» с новой средой.
Когда Embarcadero начинала развивать RAD Studio, среда была ориентирована на быструю разработку настольных приложений для Windows и Mac OS. В последующих выпусках в качестве целевых платформ были добавлены мобильные устройства.
В новой версии сделаны очередные шаги к тому, чтобы предложить возможность компиляции приложения из единой кодовой базы для множества платформ, как мобильных, так и настольных.
Благодаря колоссальной популярности различных онлайн-сервисов стало привычным, что их клиентские приложения есть в вариантах как для ПК, так и для смартфонов, причем многие функции на всех платформах работают идентично. Создание приложения в версиях для многочисленных устройств отнимает много времени у разработчиков, которым приходится учитывать индивидуальные особенности каждой платформы и каждый раз практически заново создавать пользовательский интерфейс.
В XE7 решение этих задач упрощается за счет нового компонента под названием FireUI. Он позволяет создать мастер-копию программы, которая затем автоматически модифицируется для индивидуальных платформ с помощью соответствующих шаблонов (Views — «представлений» в терминологии Embarcadero). В комплект поставки среды включены готовые шаблоны для ПК с Windows и планшетов SurfacePro, компьютеров Apple и устройств на iOS, а также для GoogleAndroid и GoogleGlass.
Меню и другие визуальные элементы, созданные в FireUI, автоматически адаптируются в зависимости от размеров, разрешения и ориентации экрана устройства, на котором работает приложение.
Новая версия среды разработки должна помочь в переносе Windows-приложений, созданных в ее предыдущих версиях, на мобильные платформы, полагает Эл Хилва, аналитик IDC.
Embarcadero — не единственный поставщик инструментов разработки, реализующий в них поддержку многоплатформенного программирования. К примеру, компания Xamarin предлагает плагин для VisualStudio, позволяющий создавать приложения для iOS и Android. Возможности кросс-платформенной разработки предоставляет также специальное расширение для среды OracleApplicationDevelopmentFramework. Сама Embarcadero выпустила новый инструмент, Appmethod, позволяющий объединить кодовую базу для iOS и Android, правда, настольные приложения он не поддерживает.