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

Обзор языков программирования высокого уровня (Виды языков программирования)

Содержание:

Введение

Актуальность темы исследования.

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

У меня появилась возможность проанализировать тенденции развития первоначальных этапов появления такого понятия, как “Язык программирования”.

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

Объектом моего изучения является тема - «Языки высокого уровня».

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

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

- изучить теоретические основы и историю появления;

- исследовать общую концепцию языков программирования;

- провести анализ популярных и востребованных языков;

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

Теоретические исследования IT индустрии и новых тенденций в этой области проводятся как зарубежными, так и отечественными учеными и изобретателями. Большое внимание к исследуемой сфере проявляли такие специалисты, как Гавриков М. М., Иванченко А. Н., ими сформулированы теоретические основы разработки и реализации языков программирования.[1]

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

Зарубежные IT разработчики и ведущие специалисты известных IT компаний, внесшие свой вклад в развитие IT индустрии:

Конрад Цузе, Кэтлин Бус, Чарльз Адамс и Джек Гилмор в проекте Whirlwind МИТ, Джон Кемени, Томас Курц, Алан Кёртис Кэй, Адель Голдберг, Юкихиро Мацумото, Карл Глейзбрук, Шарль Бринчманн, Томас Лукка и Кристиан Соллер.

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

Глава 1. История появления языков высокого уровня

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

Компьютер в свою очередь - это некая машина, способная выполнять различные действия в соответствии с заложенной в нее программой. Именно программа определяет возможность полезного применения ЭВМ. Благодаря возможности менять исполняемые программы, закладываемые в память машины без изменения ее электронной схемы, мы получаем удивительное свойство - универсальность, то есть способность одной и той же машины выполнять разные функции.[2]

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

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

Первое устройство, которое можно назвать программируемым - это шкатулка и Жаккардовый ткацкий станок (1804 г.). Далее следует появление математических абстракций и, наконец, появление первого, высокоуровневого языка в 1942-1945 годах.

История появления языков программирования начинается с машинного кода, т.е. использовались числовые значения (0;1), позже, для облегчения работы программистов и для возможности выполнения новых целей, был разработан язык Ассемблер в 50-ых годах (использование аббревиатур и коротких команд). Машинный код и Ассемблер были схожи, и их относят к низкоуровневым языкам.

Программы, написанные на Ассемблере, не могли обрабатываться процессором самостоятельно, поэтому был создан Транслятор - это программа, которая преобразует текст, написанный на определенном языке программирования, в программу на машинном языке.

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

1.1 Виды языков программирования

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

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

Полнофункциональные языки

  1. Объектно-ориентированнные (Парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Вместо классов используются объекты-прототипы).
  2. Структурные (Методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической структуры блоков).
  3. Процедурные (Программирование на императивном языке, при котором последовательно выполняемые операторы можно собрать в подпрограммы).
  4. Логические (Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций).
  5. Аспектно - Ориентированные (Парадигма программирования, основанная на идее разделения функциональности для улучшения разбивки программы на модули).
  6. Функциональные (Раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется, как вычисление значений функций в математическом понимании).
  7. Мультипарадигменные (Как правило, язык программирования, который был разработан специально, как инструмент мультипарадигмального программирования, то есть изобразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего неродственных языков).

Неполнофункциональные

  1. Эзотерические (Язык программирования, разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации какой-либо идеи (так называемое «доказательство концепции», англ. proof of concept).
  2. Графические (Язык, предназначенный для написания программ машинной графики и пользования ими).
  3. Символический язык, язык символического кодирования (Язык программирования, ориентированный на конкретные ЭВМ и основанный на кодировании машинных операций при помощи определенного набора символов).
  4. Гибридный (Язык программирования, использующий также средства другого языка).
  5. Базовый язык (Машинный язык, общий для семейства ЭВМ язык программирования в СУБД с автономным языком).
  6. Общий язык (Машинный язык, общий для группы ЭВМ и используемых ими внешних устройств).

1.2 Языки программирования – «Серебряный век» PLANKALKUL (Планкалкюль)

Планкалкюль (Plankalkül) - первый в мире язык программирования высокого уровня. Его разработал немецкий инженер Конрад Цузе между1942 и 1946 годами для своего компьютера «Z4». В 2000 году в Свободном университете Берлина (Freie Universität Berlin) был создан более упрощенный интерпретатор его диалекта, но это не принесло ему популярности среди инженеров-программистов.

Любопытной особенностью языка Plankalkül являлась двумерная запись программы, что роднит его с некоторыми современными так называемыми эзотерическими языками (BeFunge и пр.) [3]

FORTRAN (Фортран)

Считается, что первый высокоуровневый язык, который нашел применение и, все еще, используется сейчас - это Fortran (Фортран). Создан в период с 1954 по 1957 годы под руководством Джона Бэкуса в корпорации IBM. Название расшифровывается как FORmula TRANslator, что означает - переводчик формул.

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

Написанная на Фортране программа - это последовательность операторов языка программирования. Операторы разделяются на выполняемых операторов и операторов, которые не участвуют в вычислениях и называются невыполняемыми.

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

Невыполняемые операторы описывают элементы программы, например данные или программные компоненты.

Ниже перечислены некоторые сильные стороны современного Фортрана.

        1. Векторные операции (операции над целыми массивами и секциями массивов на поэлементной основе).
        2. Структуры данных (производные типы).
        3. Средства параметризации типов данных.
        4. Управляющие структурные конструкции (if – end if, do – end do, select case – end select).
        5. Операции и присваивания, определяемые в программе[4].

COBOL ( Кобол)

Cobol - один из старейших представителей языков программирования, появился в 1959 году, разработчик - Грейс Хоппер. Главной целью этого языка была разработка бизнес приложений. К 1997 году кодом на Коболе обрабатывалось около 90 % финансовых транзакций в мире и 75 % коммерческих транзакций.

1.3 Языки программирования - “Золотой век”

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

Формируется несколько языков, которые положили начало важным направлениям в программировании:

  1. Algol
  2. C/С++
  3. Pascal
  4. Simula
  5. SmallTalk
  6. LISP
  7. SML

AlGOL

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

Язык Algol был предназначен для написания алгоритмов, а не для вычислений. Благодаря Алголу появилось само понятие «структурного программирования». Был разработан, чтобы избежать некоторых проблем с работой с Fortran и, в конечном итоге, породил множество других языков программирования. Прежде всего, это хорошо продуманный символический язык программирования, достаточно близкий к математическому языку.[5]

С/С++

Компилируемый*, статически типизированный* язык программирования общего назначения, разработанный в 1969—1973 годах. Разработчик - Деннис Ритчи.

К 1973 году язык Си стал достаточно силён, и большая часть ядра UNIX, первоначально написанная на Ассемблере, была переписана на Си. Это было одно из самых первых ядер операционных систем, написанное на языке, отличном от Ассемблера.

Язык Си очень быстро менялся, разработчики дополняли его новыми функциями и особенностями. К 1983 году в язык были добавлены новые возможности, такие как виртуальные функции, перегрузка функций и операторов, ссылки, константы, пользовательский контроль над управлением свободной памятью, улучшенная проверка типов и новый стиль
комментариев (//).

Язык Cи - это язык относительно "низкого уровня". В такой характеристике нет ничего уничижительного, это просто означает, что язык Cи имеет дело с объектами того же вида, что и большинство ЭВМ, а именно с символами, числами и адресами. Объекты могут объединяться и пересылаться посредством обычных арифметических и логических операций, осуществляемых реальными ЭВМ[6].

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

PASCAL

Язык Паскаль был разработан в 1970 г. Никлаусом Виртом в качестве учебного языка для того, чтобы учить студентов программированию. Он воплотил в себе все идеологические аспекты структурного программирования, не смешанные с техническими вещами.

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

В настоящее время «Pascal» является одним из самых развитых языков программирования.

В последнее время повсеместно используется расширенный вариант языка «Pascal», который называется «Turbo Pascal» и имеет больше возможностей в сравнении с утвержденным стандартом языка.[7]

В 1986 году фирма Apple разработала расширенную версию языка Паскаль, получив в результате Object Pascal. Он был разработан группой Ларри Теслера, который консультировался с создателем - Никлаусом Виртом.

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

SIMULA

Название расшифровывается как (SIMUlation LAnguage). Языку более
50-ти лет. Первая версия, известная как Simula I, появилась в 1964 — 1965 годах. Авторы языка — норвежские ученые Кристен Нюгор и Оле-Йохан Даль.

Уже в 1967 году вышла версия Simula-67, которую называют сейчас просто Simula. В нашей стране первую версию языка запускали на компьютере Урал-16.

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

SMALLTALK

Это динамически типизированный, объектно-ориентированный язык программирования, разработанный в Xerox PARC*, разработчики: Алан Кэй, Дэн Инголс, Тед Кахлер, Адель Голдберг. Был разработан в 1970-х годах.

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

  1. Smalltalk представил миру виртуальную машину (VM)*, которая позволяет программному обеспечению быть независимым от платформы.
  2. В Smalltalk появилась первая современная среда разработки (IDE), которая включала текстовый редактор, браузер системы и классов, инспектор объектов и свойств и отладчик. Это привело к возникновению многих IDE, которые сегодня используют разработчики, такие как Visual Studio, Xcode и IntelliJ IDEA.
  3. Smalltalk был первым языком, поддерживающим «живое» программирование и усовершенствованные методы отладки*, такие как проверка и изменение кода в момент работы.
  4. Smalltalk представил миру концепцию MVC (Model-View-Controller).[8]

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

Smalltalk первым ввёл использование объектных баз данных. Хотя они и не получили широкого распространения, объектные базы данных, всё же, имеют свои нишевые рынки.

LISP (ЛИСП)

LISP был придуман Джоном Маккарти в 1958 году для решения задач нечислового характера. Долгое время LISP использовался исключительно узким кругом специалистов по искусственному интеллекту. Но, начиная с 80-х годов прошлого века, LISP начал набирать обороты и сейчас активно используется.

Английское название этого языка – LISP является аббревиатурой выражения LISt Processing (обработка списков). Понятие “список” оказалось очень емким. В виде списков удобно представлять алгебраические выражения, графы, элементы конечных групп, множества, правила вывода и многие другие сложные объекты. Списки являются наиболее гибкой формой представления информации в памяти компьютеров.

Рассмотрим ключевые особенности:

  1. Формы представления программ и обрабатываемых данных в LISP идентичны и являются списочными структурами. В связи с этим, открывается несколько возможностей: обработка программой других программ и универсальности самого синтаксиса.
  2. Реализация списков позволяет не задумываться об управлении памятью, резервировании, и освобождение ячеек происходит динамически.
  3. Существование LISP-машин – вычислительных машин, архитектура которых оптимизирована для эффективного выполнения программ на языке LISP. LISP-машины не слишком распространены, по некоторым данным их количество во всем мире не превышает 10000.

SML

Функциональный язык программирования общего назначения, разработанный Робином Милнером в конце 70-ых.

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

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

Наиболее важные характеристики:

  1. Является функциональным языком программирования. Функции могут передаваться в качестве аргументов, вырабатываться в качестве результата и храниться в переменных.
  2. SML является интерактивным языком. Каждое введенное предложение анализируется, компилируется и исполняется, и значение, полученное в результате исполнения предложения, вместе с его типом выдается пользователю.
  3. SML является строго типизированным языком*. Каждое допустимое выражение имеет тип, который автоматически определяется.
  4. SML содержит средства разбиения программ на модули, обеспечивающие возможность разработки больших программ по частям.

1.4 Ключевые определения

  • Компилируемый язык - язык программирования, исходный код которого преобразуется компилятором в машинный код и записывается в файл с особым заголовком и/или расширением для последующей идентификации этого файла, как исполняемого операционной системой.
  • Типизируемый язык - приём, широко используемый в языках программирования, при котором переменная, параметр подпрограммы, возвращаемое значение функции связываются с типом в момент объявления, и тип не может быть изменён позже.
  • Интегрированная среда - комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).
  • Структурное программирование - парадигма программирования, в основе которой лежит представление программы в виде иерархической структуры блоков. Концептуализирована в конце 1960-х — начале 1970-х годов на фундаменте теоремы Бёма - Якопини, математически обосновывающей возможность структурной организации программ.
  • Объекты в программировании - некоторая сущность в цифровом пространстве, обладающая определённым состоянием и поведением, имеющая определенные свойства и операции над ними. Как правило, при рассмотрении объектов выделяется то, что объекты принадлежат одному или нескольким классам, которые определяют поведение объекта.
  • Классы в программировании - это элемент ПО, описывающий абстрактный тип данных и его частичную или полную реализацию.
  • ООП (Объе́ктно-ориенти́рованное программи́рование) - методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.
  • Xerox PARC - научно-исследовательский центр, основанный по настоянию главного научного сотрудника фирмы Xerox Джека Голдмана в 1970 году. В 2002 году PARC становится отдельной компанией.
  • Виртуальная Мишина (VM) - это компьютерная программа, которая представляет имитацию оборудования для операционной системы, работающей как внутрисистемный процесс. Виртуальные машины полезны для тестирования или развёртывания нескольких независимых операционных систем на одном физическом компьютере.
  • Отладка программы - этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.

Глава 2. Эпоха Объектно - Ориентированного программирования

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

ООП (Объе́ктно-ориенти́рованное программи́рование) - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определённого класса, а классы образуют иерархию наследования.

Главные характеристики ООП

  • Класс – модель ещё не существующего объекта. Фактически он является схемой объекта, описывая его устройство.
  • Объект – экземпляр класса, сущность в адресном пространстве вычислительной системы, которая появляется при создании экземпляра класса.
  • Абстракция – присвоение объекту характеристик, четко определяющих его границы, которые отличают его от всех других объектов. Основной идеей является отделение способа использования составных объектов данных от деталей их реализации в виде более простых объектов.
  • Инкапсуляция – объединение свойств (данных) и методов (подпрограмм) в классе для того, чтобы скрыть данные объекта от остальной программы и обеспечить целостность и независимость объекта (изменение свойств объекта возможно только через специальные методы класса).
  • Наследование – механизм языка, который позволяет описать новый класс на основе уже существующего класса (или классов) с добавлением новых свойств и методов.
  • Полиморфизм – свойство системы использовать объекты с одинаковым интерфейсом без получения информации о его типе и внутренней структуре.

2.1 Основные языки, которые поддерживают концепцию ООП

  1. Ada
  2. Delphi
  3. Java
  4. Java Script
  5. Objective-C
  6. Python
  7. Ruby
  8. Swift
  9. C++

ADA

Язык программирования, созданный в 1979—1980 годах в ходе проекта Министерства обороны США, целью которого являлась разработка единого языка программирования для встроенных систем. Под системами, прежде всего, имелись ввиду бортовые системы управления военными объектами.

DELPHI

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

JAVA

Объектно-ориентированный язык программирования, разрабатываемый компанией Sun Microsystems с 1991 года и официально выпущенный 23 мая 1995 года. Изначально новый язык программирования назывался Oak (ОАК) и разрабатывался для бытовой электроники, но впоследствии был переименован в Java и стал использоваться для написания приложений и серверного программного обеспечения.

Язык Java особенно удобен для написания интернет-приложений, но область его применения этим не ограничивается. Появление Java стало коренным переломом в программировании, поскольку изменило наше представление о форме и назначении программ. В настоящее время программист не может считать себя профессионалом, если он не умеет писать программы на Java. [9]

JAVA SCRIPT

Появился в 1995 году, разработчик - Брендан Эйх.

Когда JavaScript создавался, у него было другое имя – «LiveScript». Однако, язык Java был очень популярен в то время, и это повлияло на решение позиционировать JavaScript как «младшего брата» Java, это решение было полезным маркетинговым ходом.

Со временем JavaScript стал полностью независимым языком со своей собственной спецификацией, называющейся ECMAScript, и сейчас не имеет никакого отношения к Java.

OBJECTIVE-C

Компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си. В частности, объектная модель построена в стиле Smalltalk — то есть объектам посылаются сообщения.

Язык Objective-C является надмножеством языка Си, поэтому Си-код полностью понятен компилятору Objective-C.

PYTHON

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

RUBY

Был создан в 1995 г., автор - Юкихиро Мацумо́то.

Ruby — интерпретируемый, объектно-ориентированный язык программирования с четкой динамической типизацией. Он сочетает в себе Perl-подобный синтаксис с объектно-ориентированным подходом. Также некоторые черты заимствованы из языков программирования Python, Lisp. Кроссплатформенная реализация интерпретатора языка Ruby распространяется на условиях открытого программного обеспечения. Код, написанный на Ruby, может быть понятен даже человеку, который не разбирается в программировании.

SWIFT

Появился в 2014 году, автор - Крисс Латнер.

Компилируемый язык программирования общего назначения. Создан компанией Apple, в первую очередь, для разработчиков iOS и macOS. Swift работает с фреймворками Cocoa и Cocoa Touch. Это первый язык программирования промышленного качества, который так же понятен и увлекателен, как скриптовый язык. Написание кода в песочнице позволяет экспериментировать с кодом Swift и видеть результат мгновенно, без необходимости компилировать и запускать приложение.[10]

Swift заимствовал довольно многое из Objective-C. В то же время, он предоставляет разработчикам многие функции, которые прежде были доступны в C++ и Java, такие как определяемые наименования, обобщения и перегрузка операторов.

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

Часть функций языка выполняется быстрее по сравнению с другими языками программирования. Например, сортировка комплексных объектов выполняется в 3,9 раз быстрее, чем в Python, и почти в 1,5 раза быстрее, чем в Objective-C.

С++

Разработка языка началась в 1979 году. Целью создания C++ было дополнение Cи возможностями, удобными для масштабной разработки ПО, с сохранением гибкости, скорости и портабельности C.

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

Глава 3. Рейтинг самых востребованных языков программирования

Топ-3 самых популярных языков:

  • Java
  • C
  • Python

По версии рейтинга TIOBE (Индекс TIOBE — индекс, оценивающий популярность языков программирования, на основе подсчёта результатов поисковых запросов, содержащих название языка.) На рисунке 1 представлена таблица индекса TIOBE.

Рисунок 1 - таблица индекса TIOBE

На рисунке 1 наглядно видно, как некоторые языки упали в позиции по сравнению с 2018 годом, но Java, C, Python , C++ остались на прежних местах.

Данные за 2019 год

  1. Java
  2. C
  3. Python
  4. C++
  5. C#
  6. Javasript
  7. SQL
  8. PHP
  9. Objective-C
  10. Visual Basic.NET

Глава 4. Специфика и применяемость различных языков

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

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

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

4.1 Основные направления деятельности

Front - End Разработчик

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

Необходимо знать:

  1. HTML и CSS;
  2. Различные фреймворки;
  3. Препроцессоры (SASS/LESS);
  4. JavaScript вместе с библиотеками;
  5. Системы отладки и сборки программ

Back – End Разработчик

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

Небходимо знать:

  1. PHP;
  2. Python;
  3. Java;
  4. Go;
  5. Ruby.

Full – Stack Разработчик

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

Разработчик игр

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

Специалисты этого направления востребованы в игровых студиях и стартапах.

Необходимо знать:

  • C/С++, С# или другой язык программирования того же класса;
  • Java и Библиотеки;
  • Open GL или DirectX;
  • Unity, Unreal Engine, Torque или другие игровые движки.

Андроид - Разработчик

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

Необходимо знать:

  • Android Studio;
  • Java;
  • OpenGL;
  • Android SDK.

IOS - Разработчик

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

Необходимо знать:

  • Swift или Objective-C;
  • CoreData;
  • XCode;
  • OpenGL;
  • Cocoa Touch;
  • CoreGraphics.

1C Программист

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

Необходимо знать:

  • Язык конфигураций 1С;
  • Типовые конфигурации (Бухгалтерия, Предприятие, Управление торговлей );
  • Базы данных T-SQL.

Инженер программист

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

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

Необходимо знать:

  • Языки программирования C/C++, C#, Delphi и другие;
  • Знание низкоуровневого программирования (Assembler);
  • Значительный багаж технических знаний (Зависит от выбранной отрасли)

Заключение

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

1804-ый год - построен Жаккардовый Ткацкий станок (Жозеф Мари Жаккар), он произвёл революцию в ткацкой промышленности, появилась возможность программировать узоры на тканях при помощи перфокарт, это было первое программируемое устройство. С этого периода началось быстрое развитие программируемых устройств и первых вычислительных машин. Далее, 19 июля 1843 года, графиня Ада Августа Лавлейс написала первую в истории человечества программу для Аналитической машины. Эта программа решала уравнение Бернулли, выражающее закон сохранения энергии движущейся жидкости. Наличие вычислительной техники не гарантировало успех и быстрый прогресс, потому что не было создано надежного, высокоуровневого языка программирования.

Создание первого, широко известного языка высокого уровня Fortran в период с 1954 – 1957 привело к образованию комитета ученых по разработке «универсального» компьютерного языка. C этого момента началась великая Информационная Эпоха.

Цифровая революция, это то время, в котором мы сейчас живем. Открывается огромное количество возможностей для изучения и создания элементарных по своей работе приложений и устройств. Быстрое развитие IT технологий приводит к появлению уникальных технологических инноваций. На данный момент, в мире насчитывается более 8000 языков программирования. Но нет такого утверждения, как «лучший язык». У каждого языка присутствует своя специфика, свои правила, синтаксис, стандарты и предназначения. Каждый язык имеет свою литературу, в которой прописан свой алфавит, символы и правила построения алгоритма. Это целое искусство в мире технологий.

По просьбе Центра Занятости Населения, рекрутинговая компания Superjob проанализировала все предложения о работе в сфере IT за 2015 год на российском рынке и рассказала, какие позиции оказались самыми высокооплачиваемыми.

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

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

  1. Теоретические основы разработки и реализации языков программирования: учебное пособие/Гавриков М.М., Иванченко А.Н. под ред. Гринченкова Д.В. — Москва: КноРус, 2016. — 178 с.
  2. А.А. Тюгашев. Основы программирования. Часть I. – СПб: Университет ИТМО, 2016. – 16 с.
  3. А.А. Тюгашев. Основы программирования. Часть I. – СПб: Университет ИТМО, 2016. – с-18
  4. Горелик А.М. Эволюция языка Фортран. Устаревшие черты языка и средства для их замены. C.
  5. Бартеньев О. В. Б24 Современный Фортран. - 3-е изд., доп. и перераб. - М.: ДИАЛОГ-МИФИ, 2000 ( С-9)
  6. Язык Алгол и его применение к задачам исследования операций, П. Бруаз , c – 8
  7. Перевод на русский язык классической книги А. Голдберг (Adele Goldberg) и Д. Робсона (David Robson) "Smalltalk-80: The Language". С - 10
  8. ЯЗЫК С, Б.В. Керниган, Д.М. Ритчи. С-11
  9. Основы программирования на языке Pascal
    Дмитрий Кудрец 2018 , с - 3
  10. Шилдт Герберт » Java: руководство для начинающих (ЛП)
    С - 3
  11. SwiftBook - Официальная Документация, С -5
  12. Айк Харазян «Язык Swift» Самоучитель , 2016 (С -16)

Приложения

  1. Теоретические основы разработки и реализации языков программирования : учебное пособие / Гавриков М.М., Иванченко А.Н. под ред., Гринченков Д.В. — Москва : КноРус, 2016. — 178 с.

  2. А.А. Тюгашев. Основы программирования. Часть I. – СПб: Университет ИТМО, 2016. – 16 с.

  3. А.А. Тюгашев. Основы программирования. Часть I. – СПб: Университет ИТМО, 2016. – с-18

  4. Горелик А.М.

    Эволюция языка Фортран. Устаревшие черты языка и средства для их замены. C.3

  5. Язык Алгол и его применение к задачам исследования операций , П. Бруаз , c - 8

  6. ЯЗЫК С
    Б.В. Керниган, Д.М. Ритчи. С-11

  7. Основы программирования на языке Pascal
    Дмитрий Кудрец 2018 , с - 3

  8. Перевод на русский язык классической книги А. Голдберг (Adele Goldberg) и Д. Робсона (David Robson) "Smalltalk-80: The Language". С - 10

  9. Шилдт Герберт » Java: руководство для начинающих (ЛП) С - 3

  10. SwiftBook - Официальная Документация, С -5