рынок программирование оберон маркетинговый





1. Язык оберон: почему оберон?

 

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

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

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

Логическое программирование (язык Пролог и Пятое японское поколение) не оправдало надежд, будучи удобным в области логики, оно плохо адаптируется к стандартным в других областях методам алгоритмики.

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

Объектный подход позволяет в наибольшей степени обобщить специфические алгоритмы на максимально широкие области действий.

История языков программирования началась с фортрана и алгола, заложивших основу двух тенденций развития языков. Первая линия языков, связанная с фортраном, есть языки "практические", создавались в момент осознанной производственной потребности, обрастали "фичами", вводимыми ad hoc - по мере необходимости, авторами нововведений были инженеры и пользователи. Кроме фортрана это также ПЛ/1, си. Вторая линия или тенденция - это языки "теоретические", создававшиеся в недрах академическиой среды. Таковы алгол, алгол-68, паскаль.

Принято считать, что первым языком программирования высокого уровня был фортран. Предпосылки к появлению таких языков были заложены проф. А.А. Ляпуновым, предложившим операторный метод в 1953 г., на основе которого в 1954 г. в СССР появилась первая программирующая программа (так в СССР называли трансляторы) [4].

Фортран

 

Фортран - первый реализованный язык программирования высокого уровня. Создан командой Дж. Бэкуса для корпорации ИБМ через 10 лет после появления первых компьютеров [5] на основе созданного в 1954 г. алгебраического подхода, по существу совпадающего с операторным методом. Советские программы имели меньшую славу и значение только из-за подавляющего количественного превосходства американских ЭВМ.

Поскольку еще не было методик формального описания языков, то на вопросы по синтаксису и семантике программисты в шутку отвечали: "Спросите транслятор". Т.е. язык фактически определялся реализацией. В результате появились нормальные формы Бэкуса (НБФ), и исследования по языкам получили большое развитие.

Компьютеры были еще довольно слабы, и при развитии фортрана ставились две главные цели: 1) сам факт реализации высокоуровневых конструкций и 2) максимальная эффективность. В жертву эффективности, практичности и совместимости приносились все остальные параметры. Фортран долгие годы сохранял свои особенности, накопив огромное количество архаичных деталей.

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

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

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

Алгол

 

Прототип алгола был создан в 1958 году [6], на конференции в ETH (Цюрих, Швейцария) как язык общего назначения, а затем доработан комитетом Международной федерации IFIP и получил большое распространение как язык публикаций алгоритмов [7].

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

Список проблем начинался с алфавита входного языка, поскольку вводные устройства не обеспечивали достаточного набора символов. Не были стандартизованы средства ввода-вывода, что сразу ухудшило переносимость программ. Рекурсивность - не весьма частый гость в программах - добавила головную боль программистам и ухудшила реализацию. Про вызов по имени автор статьи в Википедии замечает: "Эта особенность языка Алгол-60, в остальном довольно разумно организованного, примечательна удивительным сочетанием полной практической бесполезности с чрезвычайной сложностью и неэффективностью реализации".

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

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

Неудача с Алголом 68 похоронила не только алгол, но Международную Федерацию, как актора компьютерных инноваций - далее популярные языки инициировал кто угодно, только не комитеты Федерации: оппозиционный профессор (паскаль), министерство обороны (ада), фирма (ява), простой пользователь интернета (PHP).

Бейсик

 

Довольно поучительна история языка бейсик. Язык был разработан в 1963 году профессорами Дартмутского колледжа Т. Курцем и Дж. Кемени [8]. Целью разработки было создание простого языка, пригодного для обучения студентов с использованием терминалов, которые представляли собой электрические пишущие машинки, подсоединенные к компьютеру.

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

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

Главным, хотя и не ценимым "настоящими" программистами, достоинством была миниатюрность средств языка и реализации. Язык активно использовался, но, казалось, не имел особых перспектив: мощность компьютеров росла, можно было от простых языков переходить ко все более сложным.

Внезапно появились мини-, а, затем, и микрокомпьютеры. Вот здесь-то и понадобился миниатюрный язык с хорошими наработками по среде программирования. Хотя эти компьютеры и снабжались операционной системой и ассемблером, но в качестве учебного средства были мало пригодны без языка высокого уровня. Поэтому сразу самые первые IBM-PC кроме ОС стали снабжаться автономной бейсик-системой. Язык и среда бейсик стали де факто стандартом для всех микрокомпьютеров.

С ростом компьютера рос и бейсик. Исходная компактность позволяла без труда наращивать возможности. Запас компактности оказался столь велик, что, когда понадобился встроенный в среду редактирования текстов язык, бейсик оказался вполне подходящим. Так появился VBA, а, затем, и Visual Basic.

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

Паскаль

 

В 1970 году проф. Н. Вирт предложил алголоподобный язык - паскаль. В отличие от алгола-68 он был проще алгола-60, хорошо структурирован (не только алгоритмы, но и структуры данных) и предназначался, в частности, для обучения программированию.

В процессе разработки транслятора было сформулировано понятие абстрактной (виртуальной) P-машины для исполнения пи-кода [9], что позволило в короткие сроки перенести транслятор на другие архитектуры, и новый язык получил широкое распространение в качестве средства для обучения.

Еще одной идеей, связанной с паскалем, и способствовавшей его популярности среди новых пользователей стало создание среды программирования Turbo. Разработчики новых версий, ориентированные на производство, добавляли в среду новые средства: полноценные строки, модули (из разработанной проф. Виртом Модулы), графическую библиотеку. Будучи предельно простым, язык достаточно долго выдерживал возрастающую нагрузку, пока не превратился в гигантскую систему Delphi. Сам Вирт не поощрял усложнения, вызванные текущими потребностями и реализованные подручными, весьма неэлегантными способами. Взамен он предлагал новые языки, но инерция фирм и пользователей не способствовала такому развитию. Так, достигнутые проф. Виртом результаты разработок (Модула-2, оберон) были раздерганы на заплаты в турбо-паскаль, аду, яву, дельфи, С#.

Си

 

Язык Си был создан К. Томпсоном и Д. Ритчи в 1972 г. для замены ассемблера в системном программировании [10]. В частности, ставилась цель обеспечить переносимость и эффективный результирующий код, что роднит его с фортраном, который, однако, предназначался для прикладного программирования.

Как и любой язык, создаваемый с узкой утилитарной целью, Си был очень скромен, экономен и элегантен. Ввиду направленности на работу с памятью (основная деятельность в системном программировании) в качестве основы данных язык содержал незадолго до того изобретенные "указатели" и адресную арифметику. Даже массивы в Си - это не что иное, как указатели плюс адресная арифметика.

Фактически, это был язык не высокого, а "среднего" уровня. Это определило как слабости, так и сильные стороны языка. Большинство проблем создавало безудержное использование указателей, ведь указатель среди типов данных - то же, что goto среди операторов: он создает из кода такую же лапшу, в которой трудно найти концы. Впрочем, лапшу на Си можно создать буквально одной строкой, например, на Баше была многостраничная дискуссия (между KoloDen, Stefmania и др.), каков результат после int i = 5; i = ++i + ++i;.

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

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

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

Оберон

 

Оберон создан проф. Н. Виртом и его сотрудниками в процессе работы над операционной системой для рабочей станции [11] и продолжает линию паскаль-модула-оберон, являясь наиболее совершенным продуктом. К нему можно отнести слова В.О. Сафонова (сказанные по поводу языков АТД, но вполне подходящие к оберону)[12]: "... язык должен быть концептуально богаче своих предшественников, но структурно проще". Как указал Свердлов [13], только в линии развития паскаль-модула-оберон достигнуто уменьшение сложности средств при увеличении возможностей и выразительности. Во всех прочих случаях переход к более простым и современным парадигмам характеризовался полным отказом от традиции предшественников. Так погибли без потомков ПЛ/1 и алгол-68.

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

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

Недостатки оберона можно разделить на первичные (присущие языкам Вирта) и вторичные (последователи Вирта, увы, не Билл Гейтс в области маркетинга). Как указывал сам Вирт, свою часть работы он сделал - дал народу язык. Его использование - целиком на ответственности использующих.

Итак, недостатки:

. Традиционное пренебрежение строками как типом данных. Можно вспомнить, что в исходном виртовском паскале с текстами было так же трудно работать. Только добавление в турбопаскаль (из бейсика?) полноценного набора строковых функций сделало возможным использовать паскаль для обработки текстов.

. Бедные средства работы с файлами.

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

И, хотя оберон-семейство не пользуется популярностью в массах, оно содержит уже достаточно много членов. кроме исходной системы Вирта это версия для встроенных систем Оберон-07, среда разработки и выполнения BlackBox, Active Oberon, Zonnon. Однако, эти разработки отнюдь не равноценны. И если BlackBox реализует преимущества оберона не слишком отягощая семантику, то введение в последующие обероны такой модной детали как property свидетельствует о непонимании самой концепции, положенной Виртом в основу языка.

Поэтому представляется, что за основу дальнейших действий надо принять оберон-2 и компонентный паскаль (BlackBox), как версии, наиболее соответствующие духу языка.

Перед программистским сообществом, как 50 лет назад, стоит задача внедрения более рационального языка, чем наиболее распространенные. Языка свободного от коммерческих интересов монополий. И такой язык есть, это - оберон.

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


2. Рынок языков программирования

 

Рынок и его компоненты, акторы и взаимосвязи показаны на рис. 1.

 

 

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

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

Вторым необходимым процессом для функционирования рынка языка программирования является обучение. Без обучения языку и средствам программирования невозможно эффективно программировать. Обучение может быть как в специально предназначенных для этого структурах (школы, вузы, курсы), так дома, причем во-втором случае обязательно использование средств обучения: книг, журналов, стандартов, интернет-материалов. В качестве лиц, принимающих решение о поддержке того или иного языка выступают преподаватели, учащиеся, а также структуры, формирующие планы учебные планы - государственная система образования.

Созданием учебных материалов занимаются издательства.


3. Исследование рынка языков

 

Первое что делается в рамках маркетингового плана - это исследование рынка. Рассмотрим без детализации по сегментам существующее в настоящее время распределение языков и тенденции изменения этого распределения. Возможны различные подходы к оценке популярности языков программирования. Для объективной более объективной картины полезно использовать сразу несколько альтернативных методов с учетом различных акторов рынка.

В основу рейтингов популярности языков обычно кладут данные по количеству постов в интернет-дискуссиях. Вот, например, рейтинг языков программирования, составленный Антоном Эртлем. Критерием служит количество постов в конференциях UseNet, нормированное на максимум текущего года (табл.1).

 

Таблица 1. Рейтинг языков программирования А.Эртля.

Язык Нормированная популярность, %
  2007 год 2008 год 2009 год
Fortran 20,5 20,4 25,1
C 83,8 94,2 94,0
C++ 100,0 82,0 67,7
Ada 10,9 9,3 8,0
Pascal 5,9 5,5 2,8
Oberon 0,3 0,3 0,0
Java 91,1 100,0 64,2
Javascript 43,1 49,7 39,5
Perl 38,6 32,6 31,3
PHP 35,0 50,5 29,3
Python 75,6 84,9 100,0
Ruby 75,4 80,0 64,2
Tcl 25,5 30,5 20,1

 

Выводы:

Лидер каждый год меняется. В 2009 г. моднее всех был Python.

Си удерживается вблизи 100%, а вот C++ теряет популярность.

Падает ажиотаж вокруг Ruby и Явы.

К паскалю теряют последний интерес.

Даже такой бессодержательный продукт как тикль все же вызывает значительно больший интерес, чем паскаль. Об обероне говорить вообще перестали. В качестве возражения против такого метода подсчета популярности языка можно сказать, что не всяким языком, про который говорят, пользуются для реального программирования. Однако, сравним разные рейтинги, даже полученные одним и тем же методом. Вот рейтинг авторитетного TIOBE Community на тот же 2009 год (табл. 2).

 

Таблица 2. Рейтинг языков программирования TIOBE.

Язык Рейтинг
  Java 18,8
  C 16,9
  PHP 10,4
  C++ 9,9
  Basic 8,7
  C# 4,4
  Python 3,9
  Perl 3,8
  Javascript 3,0
  Ruby 2,5
  Delphi 2,1
  PL/SQL 1,0
  Objective-C 0,9
  SAS 0,8
  Pascal 0,7

 

Как видим, по мнению TIOBE Community о питоне говорят намного меньше, чем о яве. Сильно различаются и первые пятерки популярности: в одном случае это Питон, Си, Си++, Ява и Руби, в другом - Ява, Си, PHP, Си++ и Бэйсик.


Таблица 3. Рейтинг популярности языков программирования HeadHunter

Язык % вакансий % резюме резюме/ вакансий
C/C++ 26,4 19,2 0,7
Java 5,2 8,6 1,7
Basic 4,2 4,8 1,1
C# 14,0 6,8 0,5
Pascal 0,7 9,3 13,3
Delphi 5,9 13,0 2,2
Perl 10,0 4,6 0,5
PHP 19,1 13,0 0,7
Javascript 4,0 7,6 1,9
Python 2,6 1,1 0,4
Ruby 0,4 0,2 0,5

 

Рассмотрим рынок языков с точки зрения работодателей. В табл. 3 дан рейтинг популярности языков программирования на Северо-Западе России по данным фирмы HeadHunter (hh.spb.ru), которая проанализировала около 12000 заявок работодателей и около 12000 резюме с января по август 2008 г.

При рассмотрении этой таблицы надо иметь в виду, что проценты резюме и вакансий не означают, что именно в таких процентах резюме и вакансий были упоминания данного языка программирования. Иначе, эти проценты были бы в сумме больше ста процентов, поскольку часто в вакансиях и почти всегда в резюме упоминаются несколько языков. Т.е., если Вы, например, знаете только Яву, то это не означает, что вам доступны лишь 5% вакансий! Вторым недостатком проведенного исследования было произвольное ограничение (БЕЗ УКАЗАНИЯ реальных количеств запросов) резюме и вакансий 12000. В реальности на одну вакансию в базах данных приходится до 100 резюме.

Для исправления указанных ошибок пришлось самостоятельно обработать первичные данные. Составлен рейтинг востребованности языков программирования. Был сделан запрос к одному из сайтов поиска работы по следующим данным: программист, Санкт-Петербург (отсортированы по дате в порядке убывания). Из полученных вакансий и резюме были использованы те, в которых указаны в качестве профессиональных навыков знание языков программирования (за исключением 1С - таковых вакансий было до четверти от всех). Всего было проанализировано 50 вакансий и 50 резюме.

НРЯ - насыщение рынка языка программирования (количество резюме, приходящихся на 1 вакансию). Использованы следующие соотношения, выявленные при запросе "программист Санкт-Петербург": на 1 вакансию приходится в среднем 4 резюме табл. 4).

 

Таблица 4. Рейтинг популярности языков программирования среди работодателей.

Язык % вакансий % резюме НРЯ
  PHP      
  Javascript      
  C++      
  C#      
  C      
  Java      
  Delphi      
  Basic      
  Pascal      
  FoxPro      
  Perl      
  Python      
  Asm      
  Итого     -

 

Как видим, в реальности, со знанием Явы Вы можете претендовать уже не на 5% вакансий, а на 14%. А самой востребованной является связка PHP-Javascript. И на каждую вакансию Перла приходится не пол претендента, а целых 6! Но главный вывод - что на вакансию с Паскалем приходится более 10 претендентов - странным образом сохраняется.

Мнение издателей изучалось путем обобщения данных по предложению книг в интернет-магазине с упоминанием популярных брэндов (см. табл.5).

В таблице:

Наличие - предлагается купить;

Всего - всего в базе данных с учетом уже распроданных (это значение может быть немного завышено, поскольку магазин хранит в базе не названия книг, а "партии", и может быть несколько партий одной и той же книги - переиздания, допечатки тиража и поступления из разных источников или по разным ценам);

Снижено - предлагается со скидкой к первоначальной цене;

% снижено - процент наименований со скидкой.

 

Таблица 5. Число книг с упоминанием названий языков в заглавии.

Язык Наличие Всего Снижено % cнижено
C++        
Delphi        
PHP        
Basic        
Pascal        
C#        
Java        
Javascript        
C        
Perl        
Fortran        
Ruby        
Python        
Tcl        
Haskell        
Oberon        

 

В реальности, книг с использованием конкретных языков значительно больше. Например, все книги по программированию в системе Windows, основаны на C/C++, но для простоты учета были взяты только те книги, для которых название языка вынесено в название.

Выводы из таблицы:

Популярность различных языков (у издателей!) различается в сотни раз. Издатели предпочитают гнать в сотый раз нечто проверенное, а не предугадывать перспективу.

Явный избыток изданий - по трем языкам: си, бейсику и фортрану, о чем свидетельствует вынужденное снижение цены половины предлагаемых книг. Сравнение таблицы с таблицами популярности, составленными по другим критериям, показывает: дельфи и паскаль занимают слишком высокое место, а руби и питон - слишком низкое, что еще раз указывает на то, что издатели ориентируются на "вчерашние" интересы читателей. Можно предположить, что даже та незначительная доля популярности дельфи, которая отмечается рейтингами, отчасти объясняется доступностью и обилием литературы; когда издатели снизят выпуск, начнется лавинообразное снижение количества новых адептов. У оберона и, особенно, у Компонентного паскаля в связи с этим неплохие перспективы заместить дельфи и паскаль в планах издательств - благодаря инертности издателей, которые уже сейчас испытывают сильнейший дефицит новых идей в и даже названий издаваемых книг. Летом 2010 года на Украине было проведено исследование использования различных языков программирования [16]. Ценность данному исследованию придает то, что исследовались различные аспекты рынка языков программирования. Наряду с вопросом о используемом языке, были также вопросы о дополнительном языке, первом освоенном языке, языках, используемых в хобби-проектах. Результаты исследования сведены в нормированную таблицу 6 (сведения по редко используемым языкам и языкам неоператорной парадигмы объединены в графу другое).

 


Таблица 6. Популярность языков программирования на Украине.

  % от 2394 участников % от Сейчас
  Сейчас Еще Первый Желание Смена Хобби
C# 21,5 20,0 8,4      
Java 21,1 21,9 10,0      
PHP 15,4 18,6 14,6      
C/C++ 14,2 22,7 26,7      
Python 6,5 18,2 1,3      
Ruby 3,5 6,2 0,0      
Obj-C 2,7 5,2 0,0      
Delphi 2,3 4,9 16,7      
Javascript 1,8 49,9 0,8      
Perl 1,6 7,0 2,5      
Basic 0,4 2,8 6,7   -  
другое 9,0 - 12,3   - -

 

В таблице:

Сейчас - программируют в настоящее время;

Еще - используют в качестве дополнительного;

Первый - первый освоенный язык программирования;

Желание - хотели бы использовать в будущем проекте;

Смена - количество программирующих на данном языке, желающих сменить его на другой;

Хобби - используют язык в личных проектах.

Выводы по результатам:

1. Мэйнстрим программирования это все те же Си (в различных ипостасях), Ява, PHP.

2. Наиболее важным сопутствующим языком является Javascript, но выходит на уровень лидеров и Питон.

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

. Потому что желающих перейти на Питон и Руби - больше всего. А с Дельфи 40% желают уйти.

. Что же касается хобби-проектов, то больше всего используется Javascript. Много творящих на Питоне - вдвое больше, чем имеющих с ним дело по работе. Однако, и использование Дельфи значительно превышает его долю в рабочих проектах. Значит, удобство Дельфи (а это самый важный фактор после новизны, влияющий на выбор в хобби-проектах) признается большинством программистов, знающих этот язык.


4. Разработка маркетингового плана

 

Цель маркетинга - совершенствование социальной среды эффективных программных средств.

Актором данного маркетингового плана должна выступить некоторая инициативная группа фанов Оберона и патриотов России. Предполагаемая деятельность не может быть доверена ни коммерческим, ни государственным структурам, поскольку ни те, ни другие не нацелены на выполнение идеологических задач, и в процессе таких задач всегда искажают социальную целевую установку. Но в качестве партнеров их использовать не только можно, но и нужно - перекладывая на них решение частных задач с получением приемлемых выгод.

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

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

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

В составе ИГО предполагаются следующие структурные единицы:

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

. Группа проектных разработок. Создает проектные разработки в расчете на реализацию намеченными исполнителями.

. Группа коммивояжеров. Ищет союзников, партнеров, исполнителей проектов, ведет с ними переговоры.

. Группа маркетинга. Осуществляет общее маркетинговое сопровождение проектов.

. Программисты. "Гвардия", в срочном порядке ведут работы непосредственно по программным продуктам. Разрабатывают идеологию. Затыкают дыры. В эту группу требуется завербовать порядка 20 высококлассных программистов. "Молодая Гвардия" - рекрутируются из студентов, аспирантов, выпускников. Около 50 человек. Под руководством опытных программистов развивают продукты, исправляют ошибки, готовят продукты к эксплуатации.

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


5. Миссия, регион, целевые группы

 

Миссия проекта: распространение рационального программирования на базе языка оберон.

Регион - Россия.

Целевые группы маркетинга:

. Потребительские группы.

. Программисты.

. Программисты-любители.

. Независимые программисты.

. Программисты фирм.

. Руководители разраб<



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-03-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: