Маркетинг идей на примере языка программирования оберон

Тип работы:
Курсовая
Предмет:
Маркетинг


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Соль-Вытегорский Педагогический колледж

Факультет Менеджмента образования

Курсовая работа

по курсу «Некоммерческий маркетинг»

Тема: Маркетинг идей на примере языка программирования Оберон

Студент Оружай Виктор

Преподаватель Б.П. Смулянский

Соль-Вытегорск

2011 год

Введение

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

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

Исторически первой была концепция совершенствования производства [1]. Суть: любой товар будет продан, если он доступен по цене и удовлетворяет минимальным требованиям по характеристикам. Заботой предпринимателя является снижение производственных издержек как основа низких цен. Ценовая конкуренция. У истоков концепции стояли такие личности как Генри Форд (за 7 лет Форд снизил цену автомобиля с $ 950 до $ 360 [2]).

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

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

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

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

Первые четыре концепции демонстрируют здоровую маятниковость внимания к различным аспектам бизнеса — производству (1-я и 3-я концепции) и сбыту (2-я и 4-я концепции). Пятая концепция пытается вывести конкуренцию за пределы дихотомии производство-сбыт.

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

Не на публику, а для своих даются такие рекомендации:

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

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

В IDE Delphi обычный пользователь использует 80% возможностей первой версии, по 30% инноваций — в версиях 2 и 3 и 0% из последующих 3-х. Ежегодные обновления версий при отсутствии идей есть типичная «порча монеты», если взять аналогию из мира финансов.

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

И тем не менее, в бизнесе накоплен хороший багаж идей по созданию и внедрению общественно значимых новшеств. Перенос этих идей в более общую по отношению к экономике социальную систему получил наименование социального маркетинга. Конечно, при таком переносе надо учитывать два обстоятельства: 1) следует избегать переносить социально неприемлемые приемы «социально-этического» маркетинга, 2) следует стараться уменьшить негативные последствия коммерческой деятельности, вытекающие из категорического императива этой деятельности — получения максимальной прибыли.

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

Социальный маркетинг делится на две большие группы:

1) маркетинг реализаций;

2) маркетинг инноваций.

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

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

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

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

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

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

В то же время надо четко отделять социальный маркетинг от коммерческого, не поддаваясь на манипуляции идеологических наемников ТНК, смешивающих социальный маркетинг с так называемым «социально-этическим» и так называемым «социально-ответственным» маркетингом. Как, например, в следующей цитате:

«Мы определяем данную концепцию следующим образом: социальный маркетинг -- это изучение и формирование потребностей покупателей и удовлетворение их более эффективными методами, чем конкуренты, при условии повышения благосостояния всех членов общества» [15].

Возникает вопрос: может ли в социальной маркетинговой программе участвовать коммерческая организация? Может ли она быть организатором социального маркетинга? На ограниченном промежутке времени интересы общества и интересы конкретной фирмы могут совпадать. Например, внедрение эффективного языка программирования — в интересах общества. Инициативная группа по пропаганде этого языка может существенно повысить использование программных продуктов на базе языка. При этом фирма, выпустившая транслятор с данного языка получит больше прибыли. Таким образом, сотрудничество инициативной группы и фирмы будет взаимовыгодно.

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

По английскому выражению: «У общества нет постоянных коммерческих партнеров, есть только постоянные социальные интересы».

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

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

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

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

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

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

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

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

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

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

1. 1 Фортран

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

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

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

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

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

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

1. 2 Алгол

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

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

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

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

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

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

1. 3 Бейсик

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

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

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

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

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

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

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

1. 4 Паскаль

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

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

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

1. 5 Си

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

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

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

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

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

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

1. 6 Оберон

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

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

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

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

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

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

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

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

И, хотя оберон-семейство не пользуется популярностью в массах, оно содержит уже достаточно много членов. кроме исходной системы Вирта это версия для встроенных систем Оберон-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.

Язык

Рейтинг

1

Java

18,8

2

C

16,9

3

PHP

10,4

4

C++

9,9

5

Basic

8,7

6

C#

4,4

7

Python

3,9

8

Perl

3,8

9

Javascript

3,0

10

Ruby

2,5

11

Delphi

2,1

12

PL/SQL

1,0

13

Objective-C

0,9

14

SAS

0,8

15

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), которая проанализировала около 12 000 заявок работодателей и около 12 000 резюме с января по август 2008 г.

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

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

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

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

Язык

% вакансий

% резюме

НРЯ

1

PHP

42

46

4

2

Javascript

32

34

4

3

C++

24

38

6

4

C#

20

28

6

5

C

18

18

4

6

Java

14

18

5

7

Delphi

10

14

6

8

Basic

4

12

12

9

Pascal

4

16

16

10

FoxPro

4

2

2

11

Perl

4

6

6

12

Python

2

4

8

13

Asm

2

2

4

Итого

180

238

-

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

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

В таблице:

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

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

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

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

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

Язык

Наличие

Всего

Снижено

% cнижено

C++

99

320

26

26

Delphi

94

223

31

33

PHP

61

119

12

20

Basic

56

193

28

50

Pascal

50

128

19

38

C#

45

100

10

22

Java

44

139

8

19

Javascript

27

73

6

22

C

24

48

12

50

Perl

14

41

0

0

Fortran

8

16

4

50

Ruby

5

6

1

20

Python

4

11

0

0

Tcl

3

3

0

0

Haskell

0

3

0

0

Oberon

0

0

0

0

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

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

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

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

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

% от 2394 участников

% от Сейчас

Сейчас

Еще

Первый

Желание

Смена

Хобби

C#

21,5

20,0

8,4

111

17

76

Java

21,1

21,9

10,0

103

17

78

PHP

15,4

18,6

14,6

53

47

95

C/C++

14,2

22,7

26,7

76

21

108

Python

6,5

18,2

1,3

199

21

206

Ruby

3,5

6,2

0,0

170

18

168

Obj-C

2,7

5,2

0,0

83

22

105

Delphi

2,3

4,9

16,7

61

63

172

Javascript

1,8

49,9

0,8

53

42

719

Perl

1,6

7,0

2,5

54

41

138

Basic

0,4

2,8

6,7

50

-

140

другое

9,0

-

12,3

153

-

-

В таблице:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.2. Руководители разработки ПО.

1.3. Потребители П О.

2. Производители программных средств.

3. Образование.

3.1. Учителя школ.

3.2. Преподаватели вузов.

3.3. Среда обучения и самообучения.

3.4. Научные работники.

6. Сегментирование рынка

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

1. Десктопные приложения.

2. Серверные приложения.

3. Скрипты в интернет-браузерах.

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

Традиционным применением языков Вирта является также образование. В этой области развитие оберон-проектов идет по хорошо сбалансированному плану «Информатика-21», укомплектован замечательными кадрами, и добавить тут нечего. Кроме одного: успех проекта возможен только при поддержке с флангов — широкого движения за качественное программирование. На узком фронте такие задачи не решить.

Таким образом, если не говорить об образовании, то наиболее перспективным направлением продвижения являются десктопные приложения. Удачным принципом сегментирования данного направления является сегментирование по выделению лиц, принимающих решение (ЛПР).

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

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

На выбор языка программистами-любителями решающее значение имеет навык работы и общественное мнение — «шум» вокруг языка.

Таким образом, по мотивации можно выделить сегменты:

1. Руководство фирм.

2. Самостоятельные программисты.

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

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

Работа по созданию программных продуктов для разработки серверных приложений и скриптов поручается «Молодой Гвардии».

7. Позиционирование

Позиционированием называется процесс выработки образа продукта в глазах пользователя. Хотя на разных сегментах могут быть нюансы, должно быть выработано общее представление, с которым будет ассоциироваться Оберон в обществе. Часто позиция выражается некоторым слоганом, например, «Просто, надежно, эффективно — выберите три: Оберон». Этот слоган отсылает к известному слогану: «Быстро, качественно, дешево — выберите два». Наш слоган подчеркивает тот факт, что именно в Обероне «простота» не противоречит надежности, а надежность — эффективности. Вот, к примеру, как рекламируется Питон («Программируем коллективный разум"[18]).

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

Легкость чтения… опытный программист может прочитать написанный на Python код и понять, что он должен делать.

Простота расширения. Дополнительные библиотеки… можно без труда скачать, установить и использовать.

Интерактивность… полезно тестировать функции. не составляя отдельной тестовой программы. Программы на Python можно запускать прямо из командной строки, а кроме того у него есть интерактивный режим…

Если отбросить модные, но неверные утверждения, то нетрудно заметить, единственное преимущество Питона — доступ к библиотекам (анализатор RSS-документов, интерфейс к SQLite). По-видимому, усилиями «Гвардии» проблемы можно закрыть в исторически минимальный срок. Да и рекламируемый «коллективный разум», он же WEB-2. 0, основан на разработках, известных со времен кибернетики. Но зато каков маркетинг! Привязка Питона к наиновейшим самомоднейшим мемам интернета дает блестящий (будем надеяться быстротечный) успех. Но такие методы пуристичному Оберону противопоказаны.

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

С другой стороны, все время поминается «текстоориентированный интерфейс», как непременный атрибут. Эта ориентированность враз выбрасывает Оберон из конкурентной корзины формоориентированных десктоп-приложений. И позиционирует Оберон-программы как конкурентов программы Word и консольных интернет-приложений на базе HTML. Но никакая оберон-программа не может конкурировать с вордом из-за нераскрученности и бедности средств редактирования (или, в альтернативе, гигантских затрат на создание таких средств ad hoc). А неготовность специализированной (в среде интернет) версии Оберона при распространенности готовых средств работы с HTML, делает бессмысленной трату времени на рекламу обероновских интернет-приложений, которых, кстати, не существует даже в демоверсии.

Также надо учитывать, что в таком сегменте, как образование, образ Оберона должен опираться не на простоту освоения, не на схожесть с паскалем (не НОВЫЙ паскаль), не на надежность. «Сложность», в школьном восприятии не есть порок. Наоборот, приобщение к «сложному», непонятному профанам, есть мотив изучения. Стать «гуру» почетно. Паскаль же воспринимается как нечто давно известное, не новаторское, не современное. Надежность — вообще пустой звук для человека не проводящего 70% времени в поисках неуловимых багов, утечки памяти, скрытых ошибок в указателях.

В образовании Оберон — это НАСТОЯЩИЙ, полноценный, насыщенный язык программирования, в котором ВСЕ ЕСТЬ, что НАДО, и нет ничего, что не надо. В отличие, например, от неполноценного си (все современные концепции моделируются громоздкими конструкциями), перенасыщенного Си++, в котором к неполноценным конструкциям си добавлены излишние.

Ява и Си-шарп — всего лишь вульгарные подражания Оберону, откуда взяты недопонятые идеи, испорченные впридачу кривой реализацией.

Ну, а прочие питоны — это просто карикатуры на бейсик, замаскированные от критики «объектами» и прочими новомодными «фичами».

8. Маркетинг-комплекс

Маркетинг-комплекс — это весь маркетинг в куче. Иначе называется 4P (product, price, place, promotion). К product относятся методы, ориентированные на свойства товара. Price объединяет методы, связанные с ценой. Place — это каналы распространения, а promotion — это «продвижение» (реклама и пр.).

Маркетинг-комплекс лучше рассматривать в приложении к каждому сегменту рынка по отдельности.

8. 1 Маркетинг-комплекс в сегменте «Школьное образование»

Целевыми группами в сегменте «Школьное образование» являются учащиеся (основная группа), учителя информатики и функционеры системы образования. Последняя группа включена, поскольку на этом уровне принимаются решения о содержании курса информатики.

Оберон в сегменте занимает порядка 0,1% рынка. Остальное занято паскалем и, отчасти, бейсиком. Так что есть куда расти.

Наилучшим продуктом на базе оберона в сегменте является Black Box. Этого, по-видимому вполне достаточно на обозримую перспективу. Однако, учебной литературы, требующейся для преподавания, нет или практически нет. Учебных планов нет. Пособий для учителей нет. Таким образом, порог вхождения высок, и поэтому так мало учителей вообще знают о языке.

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

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

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

ПоказатьСвернуть
Заполнить форму текущей работой