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

История возникновения и развития языка программирования Си (С++) и Java

Содержание:

Введение

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

Существует несколько парадигм (ключевых подходов), которые управляют конструированием программ. Первый подход считает программу моделью, ориентированной на процесс (process-oriented model). При этом программу определяют последовательности операторов ее кода.

Первые компиляторы (например, FORTRAN) поддерживали процедурную модель программирования, в основе которой лежит использование функций. Следующий этап развития связан с переходом к структурной модели программирования (к ней относятся компиляторы ALGOL, Pascal, C), в основе которого лежат следующие положения: программы представляются в виде совокупности взаимосвязанных процедур и данных, которыми эти процедуры (или блоки) оперируют. Здесь широко используются процедурные блоки и минимальное использование GOTO. Эти программы являются более простыми. Такие языки программирования, как Pascal, C успешно используют эту модель. Но здесь часто возникают проблемы, когда растет размер и сложность программ.

Другой подход, названный объектно-ориентированным программированием (ООП), было создано для управления возрастающей сложностью программ. ООП организует программу вокруг ее данных (то есть вокруг объектов) и набора четко определенных интерфейсов с этими данными. Объектно-ориентированную программу можно характеризовать как доступ к коду, который управляется данными (data controlling access to data). Такой подход имеет некоторые организационные преимущества, а именно:

1. Можно повторно использовать код программы и таким образом экономить время на разработку.

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

3. Программы с использованием ООП легко тестировать и модифицировать. Можно разбить программу на компоненты и тестировать работу каждого из них.

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

Цель курсовой работы – рассмотреть историю возникновения и развития языка программирования Си (С++) и Java.

Для достижения цели необходимо выполнить следующие задачи:

  • рассмотреть алгоритмические языки программирования и проанализировать их развитие;
  • рассмотреть историю возникновения и развития языка программирования С++;
  • рассмотреть историю возникновения и развития языка программирования Java;
  • провести анализ современных тенденций развития языков программирования.

1 Алгоритмические языки программирования и их развитие

1.1 История развития алгоритмических языков программирования

В пятидесятые годы двадцатого века с появлением компьютеров на электронных лампах началось бурное развитие языков программирования. Компьютеры, которые стоили в то время гораздо дороже, чем разработка любой программы, требовали высокоэффективного кода. Такой код разрабатывался на языке Ассемблер вручную. В середине 1950-х годов под руководством Джона Бэкуса для компании IBM был разработан алгоритмический язык программирования FORTRAN. Создание этого языка стало точкой отсчета эры алгоритмических языков программирования. В качестве альтернативы к языку FORTRAN, который тогда ориентировался на архитектуру IBM под руководством Питера Наура в конце 1950-х годов был разработан язык ALGOL. Основной целью, которая руководила разработчиками этого языка, была независимость от конкретной архитектуры вычислительной системы. Кроме того, разработчики языка ALGOL пытались разработать язык, который был бы удобным для описания алгоритмов и который использовал бы систему обозначений, являющуюся близкой к той, которая принята в математике.

Языки FORTRAN и ALGOL были первыми языками, ориентированными на программирование вычислений.

Язык PL/1, первые версии которого появились в начале 1960-х годов, расширял возможности языка FORTRAN. Но несмотря на определенную популярность этого языка у программистов, которые работали на компьютерах IBM и машинах серии EC, сегодня он представляет чисто теоретический интерес.

В конце 1960-х годов под руководством Найярда и Дала был разработан язык Simula-67, который использовал концепцию типов данных. Фактически это был язык, который использовал понятие класса. В середине 1970-х годов Вирт предложил язык Pascal, который сразу стал широко использоваться. В то же время по инициативе Министерства обороны США началась работа по созданию языка высокого уровня, который получил имя Ada, в честь Ады Лавлейс, программистки и дочери лорда Байрона. Над проектом работали четыре независимые группы, но все они за основу использовали язык Pascal. В начале 1980-х годов был разработан первый промышленный компилятор языка Ada.

Универсальный язык программирования C был разработана в середине 1970-х годов Денисом Ритчи и Кеном Томпсоном. Этот язык стал популярным языком системного программирования и в свое время использовался для написания ядра операционной системы UNIX. Стандарт языка C начал разрабатываться рабочей группой института стандартов ANSI в 1982 году. Международный стандарт языка C был принят в 1990 году. Язык C лег в основу языков программирования C ++ и Java.

Язык C# (произносится Си-Шарп) – это язык программирования от компании Microsoft. Он входит в версию Visual Studio-Visual Studio.NET. Кроме C # в Visual Studio.NET входят Visual Basic.NET и Visual C ++.

Одна из причин разработки нового языка компанией Microsoft – это создание компонентно-ориентированного языка для новой платформы .NET. Другие языки были созданы до появления платформы .NET, язык C # создавался специально под эту платформу и не имеет совместимости с предыдущими версиями языков. Еще одна причина разработки компанией Microsoft нового языка программирования – это создание альтернативы Java. Язык C # является наиболее известной новинкой в ​​области создания языков программирования. В отличие от 60-х годов двадцатого века – периода бурного языкотворчества – в настоящее время языки создаются крайне редко. Идеологом и руководителем разработки нового языка стал Хейлсберг, который входил в число ведущих разработчиков одного из самых популярных сред разработки – Delphi. В Microsoft он принимал участие в создании версии Java – J. Язык C # создавалась как язык компонентного программирования, и в этом одна из главных преимуществ языка – направленность на возможность повторного использования созданных компонентов.

Наряду с алгоритмическими языками параллельно развивались и языки, которые предназначались для обработки деловой информации, а также языки искусственного диалекта. К первым относится язык COBOL, а ко вторым – языки LISP и Prolog. Язык LISP, который был разработан в 1960-х годах под руководством Дж. Маккарти, был первым функциональным языком обработки списков, который нашел широкое применение в теории игр.

С появлением персональных компьютеров, языки стали составными частями интегрированных сред разработки. Появились языки, используемые в различных офисных приложениях, например, VBA (Visual Basic for Application).

В 1990-х годах с распространением сети Интернет расширяется возможность распределенной обработки данных, что отображается и на развитии языков программирования. Появляются языки, которые ориентированы на создание серверных приложений, таких как Java, Perl и PHP, языки описания документов – HTML и XML Традиционные языки программирования C ++ и Pascal также видоизменяются: под языком программирования начинает пониматься не только функциональность самого языка, а также библиотеки классов, представляемых средой программирования. Акцент из спецификации самих языков программирования переносится на стандартизацию механизмов взаимодействия распределенных приложений. Появляются новые технологии – COM и CORBA, которые используют взаимодействие распределенных объектов.

1.2 Области применения языков программирования

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

  • научные исследования (C ++, C #, FORTRAN, Java);
  • системное программирование (языка C ++, Java);
  • обработка информации (языка C ++, C #, COBOL, Java);
  • искусственный интеллект (LISP, Prolog);
  • издательская деятельность (Postscript, TEX);
  • удаленная обработка информации (Perl, PHP, Java, C ++, C #);
  • описание документов (HTML, XML).

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

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

1.3 Парадигмы программирования

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

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

  • Процедурные языки, которые представляют собой последовательность операторов, которые выполняются. К процедурным языкам относятся: FORTRAN, C, Ada, Pascal и некоторые другие. Код программы на процедурном языке может быть записан следующим образом:

operator1; operator2; operator3.

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

function1 (function2 (function3 (beginning_date))).

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

if condinion1 then operator1;

if condinion2 then operator2;

if condinion3 then operator3.

  • Объектно-ориентированные языки, основанные на построении объектов как набора данных и операций над ними. Объектно-ориентированные языки объединяют и расширяют возможности, которыми обладают процедурные и аппликативные языки. К объектно-ориентированным языкам относятся C ++, ObjectPascal, Java.

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

1.4 Стандартизация языков программирования

Концепция языка программирования неразрывно связана с его реализацией. Для того, чтобы компиляция одной и той же программы разными компиляторами всегда давала одинаковый результат, разрабатываются стандарты языков программирования. Существует ряд организаций, которые занимаются именно вопросами стандартизации. Это Американский национальный институт стандартов ANSI (American National Standards Institute), Организация международных стандартов ISO (International Standards Organization) и тому подобное.

Как правило, при создании языка выпускается частичный стандарт, который определяется разработчиками языка. Если язык становится достаточно популярным, то со временем появляются различные версии компиляторов, который не точно следуют частичному стандарту. В большинстве случаев идет расширение изначально зафиксированных возможностей языка. Для приведения наиболее популярных реализаций языка в соответствие друг с другом разрабатывается согласительный стандарт. В процессе развития языка могут появляться новые стандарты, отражающие современные нововведения. Так, речь FORTRAN сначала была стандартизирована в 1966 году. В результате был издан стандарт FORTRAN 66. Позже этот стандарт несколько раз пересматривался. В результате в 1977 году был выпущен FORTRAN 77, после появился и FORTRAN 90.

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

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

1.5 Среда проектирования

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

Компилятор языка программирования выступает как составная часть среды проектирования. Сама программа наряду с конструкциями, которые предусматриваются стандартом, как правило использует библиотечные функции и предоставляются средой проектирования. К интегрированной среде проектирования Visual Studio.NET входит библиотека классов MFC (Microsoft Foundation Classes), которая значительно упрощает процесс разработки приложений, использующих оконный интерфейс.

Интегрированная среда проектирования Visual Studio.NET позволяет создавать и компилировать приложения на языках C ++, C #, Visual Basic и Visual J #. Для разработки приложений на языке C ++ используется также среда CBuilder.

Для проектирования приложений на языке Object Pascal используется интегрированная среда проектирования Borland Developer Studio (Delphi).

Наиболее удобной средой разработки программ на языке Java является интегрированная среда проектирования JBuilder.

1.6 Трансляция (компиляция) программ

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

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

Конечным исполняющим кодом являются приложения, реализуемые как EXE-файлы, DLL-библиотеки, COM-компоненты. К интерпретирующему коду можно отнести байт-код JAVA-программы, который выполняется с помощью виртуальной машины JVM.

Языки, которые формируют конечный исполняющий код, называются компиляционными языками. К ним относятся языки: С, С ++, FORTRAN, Pascal. Языки, реализующие интерпретирующий код, называются интерпретируемыми языками. К таким языкам относится язык Java, LISP, Perl, Prolog.

В большинстве случаев код, который создается в результате процесса трансляции, формируется из нескольких программных модулей. Программным модулем называется определенным образом оформленный код на языке высокого уровня. Процесс трансляции в этом случае может выполняться как единое целое – компиляция и редактирование связей, или двух отдельных этапов – сначала компиляция объектных модулей, а после вызов редактора связей для создания конечного кода. Этот подход более удобный для разработки программ. Он реализуется в трансляторах языков C и C ++.

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

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

2 История возникновения и развития языка программирования С++

C++ (Си-плюс-плюс) – универсальный язык программирования высокого уровня с поддержкой нескольких парадигм программирования: объектно-ориентированной, обобщенной и процедурной. Разработал Страуструп (англ. Bjarne Stroustrup) в AT & T Bell Laboratories (Мюррей-Хилл, Нью-Джерси) в 1979 году и назван «Си с классами». Страуструп переименовал язык в C++ в 1983. Базируется на языке С. Определен стандартом ISO / IEC 14882: 2003.

В 1990-х годах С++ стал одним из важнейших языков программирования общего назначения.

При создании С++ стремились сохранить совместимость с языком С. Большинство программ на С исправно работают и с компилятором С++. С++ имеет синтаксис, основанный на синтаксисе С.

Нововведениями С++ по сравнению с С являются:

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

В 1998 году ратифицирован международный стандарт языка С++: ISO/IEC 14882 «Standard for the C ++ Programming Language». Текущая версия стандарта – ISO / IEC 14882: 2003.

История развития языка программирования С ++ содержит такие ключевые события:

  • Апрель 1979 – начало работы над Cи с классами (C with Classes).
  • Октябрь 1979 – рабочая версия Cи с классами (Cpre).
  • Август 1983 – C ++ впервые используется в Bell Labs.
  • 1984 – название C ++.
  • Февраль 1985 – первый внешний выпуск C ++ – Cfront Relese E (Educational – выпуск для учебных заведений).
  • Октябрь 1985 – первый коммерческий выпуск – Cfront 1.0.
  • Февраль 1987 – Cfront 1.2.
  • Декабрь 1987 – первый выпуск GNU C++ (1.13).
  • 1988 – Первые выпуски Oregon Software C++ и Zortech C++.
  • Июнь 1989 – Cfront 2.0.
  • 1989 – книга «The Annotated C++ Reference Manual» (ARM). Основан комитет ANSI C++.
  • 1990 – первая техническая встреча комитета ANSI C++; приняты шаблоны (templates), исключительные ситуации (exceptions) первый выпуск Borland C++.
  • 1991 – Первая встреча ISO; Cfront 3.0 (с шаблонами) книга «The C ++ Programming Language» (2-я редакция).
  • 1992 – Первые выпуски IBM, DEC, Microsoft C++.
  • 1993 – RTTI (Run-time type identification – определение типа во время выполнения) принято; пространства имен (namespaces) и string (шаблонный по символьным типом) принято.
  • 1994 – принято STL.
  • 1996 – принято export.
  • 1997 – окончательное голосование комитета, завершенный стандарт.
  • 1998 – ратифицирован стандарт ISO C++.
  • 2003 – технические поправки к стандарту; начало работы над C ++ 0x.
  • 2005 – первое голосование по возможности C ++ 0x; auto, static_assert, rvalue references принятые в общем.
  • 2006 – Первое официальное голосование по C ++ 0x.

Название «Си++» была придумана Риком Масситти (Rick Mascitti) и впервые использована в декабре 1983 года. Ранее, на этапе разработки, новый язык назывался «Си с классами». Имя, которое получилось в итоге, происходит от оператора Си «++» (увеличение значения переменной на единицу) и распространенном способе присвоения новых имен компьютерным программам, заключается в добавлении к имени символа «+» для обозначения улучшений. Согласно Страуструпом, «это название указывает на эволюционную природу изменений Cи».

Некоторые программисты на Си могут заметить, что если выполняются выражения x = 3; y = x ++; то в результате получится x = 4 и y = 3. Однако если второе выражение будет y = ++ x; то получится x = 4 и y = 4. Исходя из этого, можно сделать вывод, что логичнее было бы назвать языке не Си ++, а ++ Си. Однако оба выражения c ++ и ++ c увеличивают с, а кроме того выражение c ++ распространенней.

Педанты также могут отметить, что введение языка Си ++ не изменяет самого Си, поэтому самым точным именем было бы «С + 1».

3 История возникновения и развития языка программирования Java

В 1991 году группа инженеров из компании Sun под руководством Патрика Нотона и члена совета директоров Джеймса Гослинга занялась разработкой небольшого языка, который можно было бы использовать для программирования бытовых устройств, например, контроллеров для переключения кабельного телевидения.

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

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

Никлаус Вирт, создатель языка Pascal, в свое время разработал машинно-независимый язык, который генерирует промежуточный код для какой-то гипотетической машины. Этот язык стал коммерческим продуктом под названием UCSD Pascal. (Такие гипотетические машины часто называются виртуальными – например, виртуальная машина языка Java, или JVM.)

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

Инженеры, работавшие над проектом «Green», также использовали виртуальную машину, что решило их основную проблему.

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

История развития языка Java:

  • JDK 1.0 (23 января 1996).
  • JDK 1.1 (19 октября 1997) – добавлены внутренние классы, JavaBeans, JDBC, RMI, переработанные события AWT.
  • J2SE 1.2 (Playground) 4 декабря 1998 – разделение на 3 редакции: J2SE (Java 2 Platform, Standard Edition), J2EE (Java 2 Platform, Enterprise Edition), J2ME (Java 2 Platform, Micro Edition), strictfp, reflection, Swing, JIT compiler, Collections.
  • J2SE 1.3 (Kestrel) 8 мая 2000.
  • J2SE 1.4.0 (Merlin) 13 февраля 2002.
  • J2SE 5.0 (1.5.0) (Tiger) 29 сентября 2004 – существенная доработка языка. Добавлен ряд элементов, например, цикл for each, объектное представление простых типов и др. Также изменен принцип нумерации версий.
  • Java SE 6 (1.6.0) (Mustang) 11 декабря 2006.
  • Java SE 7 (1.7.0) (Dolphin) 28 июля 2011.
  • Java SE 8 (1.8.0) (codenames have been discontinued, but the codename Spider is common among java developers) 18 марта 2014 – добавлена ​​поддержка лямбда-выражений.

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

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

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

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

http://apeps.kpi.ua/images/news/2018/tiobe.jpg

Рисунок 4.1 – Рейтинг язык программирования по популярности TIOBE

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

Любой компьютерный топ обязательно включает JavaScript, это действительно самый популярный язык программирования, который должен быть в арсенале каждого, кто стал специалистом. На счет остального набора в сети нет единого мнения. Чтобы узнать правду, был проанализирован HeadHunter –крупнейший сайт для поиска работы и размещение вакансий.

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

http://apeps.kpi.ua/images/news/2018/work.jpg

Рисунок 4.2 – Рейтинг языков программирования в результате анализа вакансий

Из первой десятки в высших учебных заведениях изучают «C#» и «Python». Другие языки изучаются самостоятельно. Статические показатели отражают общую картину, но, чтобы понимать, какие языки программирования будут востребованы в ближайшем будущем, нужно изучить динамическое изменение в требованиях к претендентам. Для этого были выполнены сравнения вакансий по 2018 и 2019 годы (рисунок 4.3).

http://apeps.kpi.ua/images/news/2018/dynam.jpg

Рисунок 4.3 – Динамическое изменение востребованности языков программирования в результате анализа вакансий по 2018 и 2019 годы

Результаты наглядно показывают, что в 2019-2020 огромным спросом будут пользоваться специалисты, которые знают Kotlin.

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

http://apeps.kpi.ua/images/news/2018/pret.jpg

Рисунок 4.4 – Рейтинг языков программирования по востребованнасти у претендентов

Исходя из результатов анализа, для 29 тыс. предложений работы для JavaScript разработчиков приходится 69 тыс. резюме. Иными словами, на 1 место 3 претендента. Примечателен здесь другой факт, на 1500 предложений для Kotlin-разработчиков, резюме настолько мало, что они даже не вошли к выдаче.

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

1. JavaScript

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

2. Swift

Ни один рейтинг топовых языков программирования не обходится без Swift. Код используется для разработки нативных приложений под iOS. Он очень востребован. Современные тенденции таковы, что многие жители СНГ, как американцы и европейцы, переходят на технику от Apple. В связи с этим перед разработчиками становится непростая задача перестроится и делать продукты для нового типа аудитории. Нативные приложения работают быстрее, чем кроссплатформенные варианты. Поэтому язык становится популярным, что и позволило ему занять второе место.

3. Go

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

4. PHP

Интернет – самая большая и эффективная рекламная площадка. Чтобы ею воспользоваться, нужен сайт, а для этого нужен программист со знанием PHP. Язык пользуется огромной популярностью, поскольку совместим с наиболее востребованной CMS WordPress. Но с его помощью можно создавать качественные сайты под любой движок. Для программистов, ориентированных на разработку веб-площадок, знания PHP обязательно. Если интересует разработка приложений, изучение языка можно отложить.

5. Python

Пятое место чисто по статистике, по факту Python вскоре если не вытеснит, то составит конкуренцию JS. Главное преимущество, кроме простоты кодинга, наличие нейронных сетей и соответствующих библиотек. Это важно для аналитиков, банкиров, подобные решения используют поисковые системы Google и Яндекс. Еще одно преимущество – развитое сообщество разработчиков. В сети есть множество готовых решений и специализированных форумов, где новичкам помогут разобраться в решении сложных задач.

6. Java

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

7. C#

Си Шарп – это без преувеличения самый простой и понятный язык программирования высокого уровня. Он создавался с целью соединить в себе все лучшее из других кодов и у разработчиков это получилось. С помощью C# можно реализовать любую задачу, от создания небольшого вычислительного алгоритма, к написанию полноценной игрушки на Unity Game. Поскольку язык относительно старый, много программистов обходят его стороной, но это ошибка. Си Шарп сочетает в себе Python, Java и ближайших родственников С и С++. Подходит для разработки как десктопных, так и мобильных приложений.

8. Kotlin

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

9. Rust

Язык разработан Mozilla Foundation. Как и другие продукты компании, он основана на принципе открытого кода. Главная особенность в том, что с помощью операторов контролируются абсолютно все действия. Это позволяет обеспечить высокий уровень безопасности. Rust интересен в первую очередь тем, кто занимается разработкой собственных IT продуктов.

10. Delphi

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

Заключение

Наиболее массовые языки программирования: C #, Java, C / C ++, PHP. Pythоn близок к тому, чтобы стать следующим мейнстримом в веб-программировании; Scala рассматривается как серьезный претендент на роль следующей основного языка в инфраструктуре JVM.

Популярность языков программирования во многом зависит от существующей ИТ-моды. Ранее это были языки ООП, сейчас – Интернет скрипты и языка СУБД. Что будет завтра, можно только догадываться.

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

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

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

Список использованных источников

1. Информатика: Компьютерная техника. Компьютерные технологии: Учебник для студентов высших учебных заведений / Под ред. А.И. Пушкаря. – М .: Издательский центр «Академия», 2003. – 704 с.

2. Дыбкова Л.М. Информатика и компьютерная техника: Пособие для студентов высших учебных заведений. – М .: «Академвидав», 2002. – 320 с.

3. Основы построения и функционирования компьютеров. Учебное пособие / С.В. Арбуз, А.Г. Король, И.В. Сорбат.-Харьков: Изд. ХНЭУ, 2009.-212с.

4. Основы информатики и вычислительной техники. Лабораторный практикум и индивидуальные занятия. И. Радельчук, В.В. Третько, Н. Точанська-Хмельгицький: ХНУ, 2005 -161 c.

5. Ковалюк Т. В. Основы программирования. Учебник для вузов. – М.: Издательский группа «ВРV», 2005. – 384 с.

6. Информатика, программирование. Програма, методические указания и контрольные задания для студентов технологических специальностей заочной формы обучения / Л.С.Драпак, В.И.Спиридонов.-МГУ, 2006.-116с.

7. Федоров А.Г. Microsoft Visual Studio 20008 / Краткий обзор ключевых новинок. Издательская группа BHV, 2008. – 176 с.

8. Объектно-ориентированное программирование: лабораторный практикум для студентов направлений образования "Программная инженерия" и "Компьютерные науки" / Ю.В.Форкун, Р.В. Узорчатые, С.С. Блащук,-Хмельницкий: ХНУ, 2008.-143 с.

9. Основы программирования: лабораторный практикум для студентов направлений образования "Программная инженерия" и "Компьютерные науки" / Л.С. Драпак. – МГУ, 2010. – 128с.

10. Симонович С.В., Евсеев Г.А., Алексеев А. Специальная информатика: Учебное пособие – М .: АСТ-Пресс-книга, 2003. – 480 с.

11. Баженова И.Ю., Сухомлин В.А. Основы информационных технологий. Введение в программирование. - Интернет-Университет Информационных Технологий www.intuit.ru- Москва, 2007.-326 с.

12. Ткаченко А.Н., Каплун В.А. Объектно-ориентированное программирование на языке Java. Учебный пособие. –ВНТУ, 2006. – 107 с.