Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

История и развитие методологии объектно-ориентированного программирования (Развитие программной индустрии России)

Содержание:

ВВЕДЕНИЕ

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

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

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

Исходя из цели, были поставлены следующие задачи:

1. Ознакомление с языками программирования.

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

3. Анализ современных языков программирования.

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

Во второй разделе рассматриваются основные принципы и подходы при создании языков программирования.

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

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

Методология и методика исследования.

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

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

Научная новизна исследования заключается в следующем:

1. исследование языков программирования:

2. рассмотрение истории развития языков программирования:

3. анализ современных языков программирования.

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

- в процессе дальнейших научных исследований по различным аспектам языков программирования;

- в преподавании дисциплин «основы программирования».

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

ГЛАВА 1. НАУЧНО-ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОГРАММИРОВАНИЯ

1.1 Сущность языков программирования и история возникновения программирования

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

Структура команды ЭВМ в простейшем случае включает в себя две части: операционную и адресную. Операционная часть содержит код операции (сложить, вычесть и т. д.). Адресная часть содержит адреса ячеек памяти; в них хранятся значения операндов, с которыми надо выполнить заданную операцию. В зависимости от числа адресов, указанных в команде, различают одно-, двух-, трехадресные команды.

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

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

Это привело к необходимости найти такое средство, которое позволит более просто наладить общение человека и компьютера. И такое средство было найдено: различные символические языки и соответствующие им трансляторы (системы программирования).[1]

Если рассматривать историю создания языков программирования сначала появилось программирование в машинных кодах, когда программист являлся единственным посредником между остальными людьми и машиной. Затем появились мнемонические представления машинного кода, ассемблер и, наконец, макроассемблер. В конце 50-х годов возникли языки формульного программирования, из которых наиболее замечательным был Фортран, позже в 60-х, произошло смещение к нечисленным методам - появился ALGOL, и наконец, к 70-м годам произошла структурная революция -ALGOL-Wи Паскаль. Потом "модульное" программирование - Модула и Модула-2. Также в это же время рождается знаменитый язык Си, идет новая революция логического программирования -PROLOG и экспертные системы. Например, в Америку проводится знаменитый конкурс, на котором побеждает ADA, а Япония толкует о проекте машин пятого поколения, основанных на SmallTalk. В итоге происходит объектно-ориентированная революция, появляются С++, Оберон, Eiffel и Модула-3.

Общественные тенденции развития языков программирования при историческом подходе проследить вполне возможно, однако изложение получается сумбурным и путаным. После Фортрана появились BASIC и VISUALBASIC. Паскаль также, по сравнению со многими другими языками, является немолодым языком программирования, но все-таки популярен в настоящие дни. Также можно столкнуться, что существует большое количество работ на ЯПKOBOL.

Рисунок 1 - Языки программирования[2]

Как видно из рисунка 1. программирование делится на два вида: процедурное и непроцедурное. Процедурное программирование, в свою очередь, делится на операционное и структурное. К операционному относятся такие языки, как Ассемблеры, Фортран, Бейсик, Си. К структурному Паскаль, Модула.

Непроцедурное делится га объектное (Смолток, С++, Делфи) и декларативное, которое состоит из логического и функционального.

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

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

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

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

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

Рисунок 2 - Языки, участвующие в создании программы[4]

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

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

Общеизвестно, что в древние времена человечество использовало приспособление, которые подобны счетам под названием якаб (ЯП). В частности такие устройства часто использовались в страна Древнего Востока. В середине 15 века такие ученые как Г. Лейбниц (1673г.), Б. Паскаль (1642г.) и В. Шиккард (1623г.) создали механические вычислительные устройства, которые были предшественниками общеизвестного арифмометра. Поэтапно в течении нескольких веков данные вычислительные машины были усовершенствованы.

Но такого понятия как программа и программирование не применялось. В начале 20 века, а именно в 1830-х годах английский ученый Кембриджского университета Ч.Бэббидж, посредством анализа результатов обработки переписи населения Франции, а также теоретического исследования процесса выполнения вычислений выработал основы архитектуру вычислительной машины.

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

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

А. Лавлейс предложила такие термины как «Рабочая ячейка» и «Цикл». Вдобавок, она составила первые программы необходимые для решения системы двух уравнений и определения «чисел Бернулли» по разработанному алгоритму, а также предположила, что в недалеком будущем будут созданы машины, которые будут сочинять музыкальные произведения, рисовать картины и изображения и использоваться в повседневной деловой практике. Именно по этой причине А. Лавлейс в современной научной литературе считается основателем научного программирования и является первым в мире программистом.

В 1854 году английский математик Джордж Буль опубликовал книгу «Законы мышления», основной научной идеей которой является «алгебра высказываний» (Булева алгебра). В начале 80-х годов 20 века работа Д.Буль стала основой построения теории релейно-контактных схем и конструирования сложных дискретных алгоритмов. На практика «Булева алгебра» многогранно повлияла на бурное развитие вычислительной техники, которая в результате стала инструментом выработки и анализа сложных схем, рычагом оптимизации большого количества логических элементов из которой на сегодняшний день состоит современная машина ЭВМ.

Также идеи Ч.Бэббиджа стали основой изучения программирования для американского ученого Г.Холлерит, который посредством построения счетно-аналитической машина и перфокарта проанализировал результаты переписи населения США на 1980 год. Впервые для определения результатов было использовано машина на электричестве.

В 1896 году ученым Холлеритом была создана предприятие по выпуску вычислительной машины (перфорационная машина и перфокарт). В 1936 году английский математик А. Тьюринг ввел в научную культуру понятие «машина Тьюринга», в качестве формального уточнений интуитивного понятия алгоритма. Тьюринг с помощью электронной машины Тьюринга показал реализацию алгоритма, т.е. существование возможности построения универсальной IBM. Машину Тьюринга можно считать как бы идеализированной моделью универсальной IBM.

В 40-х годах 20 века в качестве механической элементной базой многие ученые начали использовать электрические вычислительные машины. Впервые электромеханические машины начали производить в Германии под руководством К. Цузе (Ц-3) и в США – Г.Айкен (МАРК-1). А первая электронная машины была создана в США (1946г) группой инженеров во главе доктора Дж.Мочли (ЭНИАК – электронный числовой интегратор и калькулятор). В 1949 году в Англии была создана машина «EDSAC», которая обладала автоматическим программным управлением, внутренними запоминающими устройствами и другими основными элементами. Вопросы логических схем были решены в 1940-х годах А.Берксом, Г. Гольдстайном и Дж. фон Нейманом. Основной вклад внес американский ученый Дж. фон Нейман, который в разработке использовал ЭНИАК [11]. Он предложил мысль хранения команд управления и памяти машины, а также определил главные постулаты факторы построения современных IBM. IBM с функцией сохранения программ оказались намного эффективней, гибкой и быстродействующей в сравнении тогдашними конкурентами. В 1951 году впервые были налажены поставки по производству серийных электронных машин УНИВАК (Универсальная автоматическая вычислительная машина).

В то же самое время IBM начали производство серийных машин IBM/701. Во время СССР первыми авторами IBM, изобретенной в 1948 году, являются И. Брук и Б. Рамеев. А первая советская IBM с сохраняющейся программой создана в 1951 году под руководством С. Лебедева (МЭСМ - малая электронная счетная машина). А в 1953 году в Советском Союзе было начато производство серийных машин БЭСМ-1 и «Стрела». После создания цифровых машин с программным обеспечением в науке появилась новая область в прикладной математике, а именно – программирование.

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

Автокод – это набор псевдокоманд для решения задач (научные, инженерные и т.д.), для которых , в результате, были созданы библиотеки стандартных программ. До конца 1950-х годов основными элементами конструкции IBM были электронные лампы. Период развития идеологии и техники программирования в 1950-е годы является достижениями американского ученого Дж. фон Неймана, которые дал начало важнейшим принципам построения IBM. Но также немаловажный вклад внес и Бэкус, который в 1954 году создал FORTRAN (FORMULA TRANSLATION) . это был первый язык программирования высокого уровня, который используется и в настоящее время, но только в разных модификациях.

В 1965 году Т.Куртцем и Д.Кэмэни была проработана упрощенная версия Фортрана – BASIC. В результате которого Американская Ассоциация Стандартов (АSА) разделила его на два языка: «Фортран» и «Базисный Фортран» (далее в 1970-е и 1990-е были модифицированы). В дальнейшем после больших открытий в области микроэлектроники , элементная база IBM была заменена на более совершенную.

В результате, в 1950-е годы электронные лампы были заменены полупроводниками. Таким образом, появляется IBM – 2-го поколения; через 10 лет IBM – 3-го поколения на схемах интегрирования; еще через 10 лет IBM – 4-го поколения на больших интегральных схемах БИС. В 1990 году Япония реализует проект IBM – 5-го поколения на базе искусственного интеллекта и биоэлектроники.

1.2 Развитие программной индустрии России

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

Многие страны увидели возможности информационных технологий приносить в экономику государства высокие

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

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

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

Наиболее динамичным сегментом мирового рынка ИТ является ПО, ежегодный рост которого в последние несколько лет превышал 6%. Свыше половины совокупного объема сегмента формируют различные категории приложений, остальное приходится на системное ПО и средства разработки.

Импорт/экспорт

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

В 2014 году в условиях санкций со стороны западных стран на первый план вышли вопросы разработки и внедрения импортозамещающих технологий. Развитие собственной ИТ- продукции для ОПК, госструктур и стратегически значимых предприятий признано важнейшим направлением работы по обеспечению внутренней безопасности России.[5]

Рисунок 2 - Динамика экспорта IT-продуктов российского производства

На представленном графике видна динамика экспорта IT-продуктов российского производства. В целом, за весь рассматриваемый период времени (1999-2018) можно проследить положительную тенденцию. 2013 год отмечен очень резким скачком объемов экспорта, который, однако, в 2015 году был вновь снижен, что объясняется введением многими странами санкций в отношении нашей страны по политическим причинам.

Динамика развития рынка ИТ

Для начала рассмотрим основные драйверы и ограничители данного сектора отечественной экономики. К факторам, ускоряющим развитие рынка IT отнесем:

принятое руководством страны решение о переносе центров хранения и обработки персональных данных внутрь страны,

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

налаживание отношений России и Китая, а также создание Евразийского Экономического Союза (ЕАЭС)

Однако развитие информационных технологий в России сопряжено с рядом трудностей.

Нестабильная политическая и экономическая ситуация

Слабый рубль, политическая и экономическая неопределенность ускоряют отток капитала из Российской Федерации.

Всплеск инфляции и рост цен на импортную продукцию также существенно тормозят развитие рынка ИТ

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

Тенденции

Третья платформа

«Третья платформа», развитие которой в ближайшие несколько лет приведет к трансформации бизнес-моделей в большинстве отраслей.

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

Конвергенция

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

IT -аутсорсинг

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

Таблица 1

Показатели развития рынка IT в государственном секторе экономики

название

ОГВ

IT-директор

бюджет в 2018 г, тыс.руб

бюджет в 2017 г, тыс.руб.

Динамика

2018/2017

ПФР

Николай Елистратов

12 565 912

11 705 326

7,4%

МВД

Александр Махонов

12 184 689

7 223 373

68,7%

Федеральное

казначейство

Сергей Гуральников

11 786 894

7 925 467

48,7%

ФНС

Андрей Петрушин

11 210 106

8 565 094

30,9%

Минкомсвязи

Олег Пак

9 023 104

2 170 770

128,3%

  1. ИТ-бюджеты федеральных органов власти в 2018 году
  2. ИТ-бюджеты регионов покажут схожую динамику, достигнув 38,7 млрд рублей. По величине ИТ-бюджетов разрыв между отстающими регионами и лидерами остается огромным.

Субъект

Российской

Федерации

Объем

финансировани я в 2017 г. (на 1000 человек населения), тыс. руб.

Объем

финансировани я в 2018 г. (на 1000 человек населения), тыс. руб.

Общий объем финансировани я в 2017 г., тыс. руб.

Общий объем финансировани я в 2018 г., тыс.

руб.

Изменени

е

2018/2017

Москва

1 135

1 197

13 838 543

14 602 357

5,5%

Санкт-

Петербург

463

449

2 403 653

2 328 945

-3,1%

Московская

область

307

226

2 222 912

1 637 193

-26,3%

Республика

Татарстан

362

333

1 394 161

1 285 064

-7,8%

Новосибирска я область

327

462

898 286

1 269 736

41,4%

  1. Выручка ИТ-компаний от проектов в госсекторе, если рассматривать в среднем, также увеличивается. Из 30 компаний, вошедших в ранкинг 2018 года, 23 показали позитивную динамику, а 9 из них выросли более чем на 50%.

Компания

Выручка от проектов в госсекторе за 2017 год, тыс. руб.

Выручка от проектов в госсекторе за 2018 год, тыс. руб.

Динамика выручки 2018/2017

Техносерв

15 639 427

11 374 239

37,5%

Систематика

9 489 214

5 037 409

88,4%

ITG

8 528 880

7 982 640

6,8%

Ай-Теко

7 158 612

3 096 063

131,2%

ЛАНИТ

5 235 363

4 220 624

24,0%

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

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

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

Рисунок 3 - Структура расходов экономики в сфере информационных технологий

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

Рисунок 4 – структура рынка

На данном графике представлено изменение структуры рынка на протяжении периода с 2013 до 2018 г. На его основании можно говорить о том, что такие сегменты рынка как связь и it-обслуживание примерно постоянны на всем периоде времени. В то же время услуги, называемые Colocation и Dedicated server, представляющие собой аренду, размещение и работу по обслуживанию серверов для крупных сетевых проектов, становятся все менее востребованы, а на смену им приходит эра облачных платформ, размеры присутствия на рынке которых стремительно увеличиваются с каждым годом.

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

ГЛАВА 2. ОСНОВНЫЕ ПОДХОДЫ ПРИ СОЗДАНИИ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

2.1 Применение структурных и объектно-ориентированных подходов программирования

Большое количество широко применяемых структурных иобъектно-ориентированных подходов программирования, которые используются с помощью графических моделей, связано с отсутствием необходимых инструментальных средств.[6]

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

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

В начале 20 века создание пишущей механической машины создала «фундамент» для общедоступного создания печатного текста (поправки требовали достаточно долгой трудоемкой работы). После было изобретено электрические пишущие машины.

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

В 1981 году была выработана система SuperCalcкомпании «ComputerAssociates», в 1982 году –Multiplan, принадлежащий компании «Microsoft», далее - пакет для IBM PC Lotusl-2-3 компании «LotusDevelopment», русифицированные пакеты АБАК, ДРАКОН и др. В 1985 году появился табличный процессор Excel фирмы «Microsoft» первоначально для ПК Macintosh, а затем для совместимых с IBM PC.

Разработка этого процессора велась параллельно с ОС «Windows», версии которых охватили все характеристики графического интерфейса, вплоть до версий Excel 5.0 как приложения Windows 3.1, Excel 7.0 – Windows 95 и т. д.

На сегодняшний день создано огромного количество систем подготовки табличных документов, а именно электронные таблицы, табличные процессоры, к примеруLotus 5.0 компании «LotusDevelopmentCo», CorelQuattro 6.0 компании «CorelCo», OfficeProftessionalforWindows компании «Microsoft» и т.д. Среди вышеперечисленных программ широкое использование получила электронная таблица Excel. Вдобавок, разработаны значительное количество стандартных реляционных систем управления баз данных – СУБД (MS Access, Paradoxи др.), на основе которых строят реляционную базу данных во многих сферах жизнедеятельности.

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

К примеру, созданы такие приложения к оперативной системе Windows как: MS Office, WordPerfectOffice компании «Corel», StarOffice компании «SunMicrosystems.

Данные приложения включают в себя программные средства для реализации функций обработки существующих видов информации. Например, MS Office включает совершенствующиеся год от года (в зависимости от последней версии ОС Windows) средства обработки текста (MS Word), графики (PhotoDraw) и презентаций (PowerPoint), таблиц (Excel), баз данных (Access), электронной почты (Outlook), работы во Всемирной паутине (FrontPage), создания звуковых клипов (MS SoundRecorder).

2.2 Новое поколение программирования

Согласно рейтингу PYPL (PopularitY of Programming Language) на GitHub, первые 10 языков по частоте поиска учебных материалов выглядят так: Java (21,5%), Python (19,3%), PHP (8,3%), JavaScript (7,9%), C# (7,6%), C (6,3%), C++ (6,3%), R (3,8%), Objective-C (3,8%), Swift (3%).

При этом самым растущим в рейтинге оказался Python. Другой рейтинг, основанный на поисковых запросах, TIOBE, показывает похожий результат.

https://habrastorage.org/webt/rg/r_/-v/rgr_-vyhfu24sfyoesstqdkde4s.png

Не может в стороне оказаться мнение StackOverflow — там можно посмотреть и рейтинг специалистов, и рейтинг языков. Опять же, некоторые пересекающиеся тенденции очевидны:

https://habrastorage.org/getpro/habr/post_images/838/675/5ae/8386755aeb3953deef7f68133e3571a0.png

А вот по статистике пулл реквестов на GitHub самый популярный язык в 2018 году — JavaScript, c огромным отрывом за ним следует Python, далее Java, Ruby, PHP, C++ и т.д.

https://habrastorage.org/getpro/habr/post_images/be0/664/335/be06643351f2a4b32713a2c599127c78.png

JavaScript

Начнём с лидера пулл реквестов на Github — c JavaScript. Язык популярен и будет пользоваться популярностью ещё долгое время — это связано с тем, что язык мощный, кроссплатформенный и позволяет разрабатывать приложения, работающие в рамках тонкого клиента (браузера) для взаимодействия с пользователем. Соответственно, пока живы браузеры, будет жить и JavaScript. Популярности языку добавляют гибкие библиотеки, которые появляются почти каждый год и завоёвывают умы миллионов разработчиков. Даже если вы просто мельком просматриваете Хабр, то наверняка видели три из них — React.js. Angular.js и Vue.js. Все три библиотеки востребованы в том числе и энтерпрайзом.

JavaScript популярен помимо всего и потому, что его знают практически все. Веб сейчас – самая активная сфера в программировании. Все фронтенд-разработчики хорошо владеют этим языком. С точки зрения бекенда, популярность добавляют nodejs как server side. Electron дает выход на десктоп-приложения. В целом, бекенд, с точки зрения языков, гораздо более раздроблен по сравнению с фронтом, поэтому JavaScript прочно удерживает лидерство.
Python

Лидер роста — Python. Этот язык популярен сразу по нескольким причинам. Во-первых, он является идеальным, простым, понятным и ёмким языком для новичков. Это едва ли не лучший язык в качестве первой встречи с программированием. А во-вторых, именно Python широко используется в data science, big data, data mining. Это отличное средство для прикладного анализа, разработки парсеров и иных прикладных и научных утилит. Уверены, что этот язык ещё долго будет держаться в топах всех рейтингов. Учите смело.
Java и С++

Мы не боимся холивара и смело говорим: Java — король языков программирования. И сместить её с трона мало кому по зубам. Java — стандарт энтерпрайзной разработки, основной язык сложных систем, финансового и банковского ПО и, конечно, разработки под Android. И мы в ЛАНИТ как никто знаем, что хорошие Java-разработчики — страшный дефицит, которому компании (и мы в том числе) готовы обеспечивать достойное существование. 

Java — довольно простой язык. Но его экосистема сложна и просто огромна — свободно в ней ориентироваться и владеть всеми технологиями — действительно непростая задача. Это ни что иное, как обратная сторона огромной популярности. Java — язык для энтепрайзной разработки, язык бэкенда для web. 

Работа на С++ — больше системное программирование или что-то очень высокопроизводительное (типа High Frequency Trading на биржах). Либо игры. В бизнес-логике С++ участвует не так часто.  Опять же, если говорить в контексте наших прогнозов по технологиям выше, то что-то требовательное к ресурсам тоже выберет С++ (например, программирование датчиков IoT).
С#

Не сдаёт свои позиции С#. Разработка для платформы Microsoft .NET ведётся, в основном, на нём, C# используется при разработке игрушек на Unity. И здесь также есть перспективы долгой и счастливой работы, ведь достаточно того, что C# — детище гиганта Microsoft, а за счет открытости он постепенно и на другие платформы просачивается. Поэтому эта платформа однозначно имеет перспективы, особенно пока у Microsoft все хорошо.
PHP и Ruby

Ну и отдельно скажем о PHP и Ruby — несмотря на кармопролитные бои сторонников и противников этих языков, они остаются популярными для сферы e-commerce и web-приложений. Здесь больше специалистов, но тем не менее, спрос на рынке труда сохраняется.

Ruby, на наш взгляд, на данный момент становится менее привлекательным. Раньше Python и Ruby шли ноздря в ноздрю, но Python, помимо всего, получил большую поддержку в data science, Python также имеет Django, Flask для бекенда. Так что, может быть, смысла изучать два языка нет, если одним Python можно обеспечить себе больше юзкейсов. Но всё зависит от компании и от конкретных проектов, в которых желает работать программист.

Если вы не уверены в том, стоит ли изучать язык, просмотрите источники, Google Trends, оцените количество вакансий по каждому из языков. Не забывайте, что есть, например, SQL и noSQL, которые пригодятся в любом проекте и их знание будет весомым преимуществом на карьерном пути. И таких технологий много, можно найти своё для любого уровня подготовки и осмысления. Да, ежегодно (если не ежемесячно) появляются новые языки программирования, которые привлекают новых адептов и ярых противников, но это не значит, что стоит бросаться учить именно тот, который в тренде. 

Конечно, это ближайшее будущее, основанное на трендах, но это не единственные закономерности развития отрасли разработки программного обеспечения. Безусловно, будут появляться новые языки программирования и фреймворки, определятся новые лидеры гонки: думаем, будет много интересного в Go, Scala, Kotlin. 

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

ЗАКЛЮЧЕНИЕ

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

Языки программирования делятся на два вида: процедурное и непроцедурное. Процедурное программирование, в свою очередь, делится на операционное и структурное. К операционному относятся такие языки, как Ассемблеры, Фортран, Бейсик, Си. К структурному Паскаль, Модула.

Непроцедурное делится га объектное (Смолток, С++, Делфи) и декларативное, которое состоит из логического и функционального.

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

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

Если анализировать системы развития основных языков программирования, можно выделить следующие постоянно присутствующие, сменяющие друг друга тенденции:

• Выдвижение акцентов от частного (программирование деталей), к общему (программирование более крупных компонент);

• Формирование и совершенствование инструментария программиста (языков программирования высокого уровня и рабочей среды);

• Возрастание примитивности программных и информационных систем;

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

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Батоврина Е.В. Информационные технологии в управлении предприятием // Теория и практика управления: новые подходы. - М.: Университетский гуманитарный лицей, 2016.- 217 с

2. Берестнева О.Г. Информационные технологии в науке, управлении, социальной сфере и медицине: сборник научных трудов Международной научной конференции «Информационные технологии в науке, управлении, социальной сфере и медицине»/ Часть II / под ред. О.Г.Берестневой, О.М.Гергет; Национальный исследовательский Томский политехнический университет. − Томск: Изд-во Томского политехнического университета, 2017. − 397 с.

3. Громов Ю.Ю. Информационные технологии : учебник / Ю. Ю. Громов, И. В. Дидрих, О. Г. Иванова, М. А. Ивановский, В. Г. Однолько. – Тамбов : Изд-во ФГБОУ ВПО «ТГТУ», 2017. – 260 с. 

4. Демьянова О.В. Информационные технологии // Проблемы современной экономики. – 2018. − №1 (33).

5. Каткова Л.А. Информационно-технологическое перевооружение системы управления предприятием как фактор повышения конкурентоспособности предприятия. // Теория и практика общественного развития. – 2017.- №8

6. Котова В. А. Теоретические и методические основы реструктуризации бизнес модели промышленного предприятия: предпроектная стадия: Дисс. канд. экон. наук: 08.00.05/ Самарский. гос. эконом. ун-т. – С.: РГБ, 2016 — С. 171

7. Круглова О.В. Информационные технологии в управлении: учебное пособие. - Дзержинск: изд-во «Конкорд», 2016. – 134 с.

8. Лбов Г.С., Полякова Г.Л. Информационные технологии в современном бизнесе // Вестник Сибирского государственного аэрокосмического университета имени академика М.Ф. Решетнева. – Красноярск, 2017. - Т.31- №5. - С. 42-45.

9. Логинов, В.Н. Информационные технологии в государственном и муниципальном управлении: учебное пособие. -М: из-во КНОРУС, 2016. -240с.

10. Маркова В.Д. Информационные технологии: сущность и инновационная составляющая // Проблемы современной экономики. – 2016. – № 21. – С. 38-42

11. Наумов А.А., Бах С.А. Информационная среда. Синтез, анализ, моделирование и оптимизация. - Новосибирск: «ОФСЕТ», 2017. – 307 с.
12. Репин В.В., Елиферов В.Г. Процессный подход к управлению. Моделирование бизнес-процессов. – М. РИА «Стандарты и качество», 2015. – 408 с.

13. Тельнов Ю. Ф. Интеллектуальные информационные системы. М. : МЭСИ, 2015.

14. Титоренко Г.А. Информационные технологии в маркетинге : учебник / Под ред. Г. А. Титоренко. — М.: ЮНИТИ-ДАНА, 2016. — 335 с.

15. Тихонов Э.Е. Информационные технологии в управлении: учебное пособие. — Ставрополь: Изд-во СКФУ, 2015. – 402 с.

16. Федосеева Н.Н. Сущность и проблемы электронного документооборота в информационных технологиях // Юрист. – 2017. – №6. – С.61.

17. Филяев А.А. Оптимизация управления эффективностью и качеством обслуживания клиентов // Вестник Воронежского института высоких технологий. - 2018. - № 9. - С. 117-118.

18. Чудновский А.Д. Информационные технологии управления: учебное пособие. — 3-е изд., стер. — М. : КНОРУС, 2018. —104 с.

19. Юрьева Л.В., Илышева Н.Н. Стратегический управленческий учет для бизнеса. – М.: Инфра-М, 2017.

  1. Скотт, Т. Основы программирования. Курс программированного обучения / Т. Скотт. - М.: Советское радио, 2016. - 121 c.

  2. Шаран, Кишори . Полный обзор нововведений. Для быстрого ознакомления и миграции / Кишори Шаран. - М.: ДМК Пресс, 2017. - 211 c.

  3. Рихтер Программирование на платформе Microsoft. NET Framework / Рихтер, Джеффри. - М.: Русская Редакция, 2014. - 255 c.

  4. http://bourabai.ru/alg/system4.htm

  5. Филяев А.А. Оптимизация управления эффективностью и качеством обслуживания клиентов // Вестник Воронежского института высоких технологий. - 2018. - № 9. - С. 85.

  6. Чудновский А.Д. Информационные технологии управления: учебное пособие. — 3-е изд., стер. — М. : КНОРУС, 2018. —65 с.

  7. Наумов А.А., Бах С.А. Информационная среда. Синтез, анализ, моделирование и оптимизация. - Новосибирск: «ОФСЕТ», 2017. – 189 с.