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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

Существует множество языков программирования, таких как: "Basic", "Cg", "Pascal", "C++", "Java" и так далее. Каждый язык применяется по своему направлению.

Актуальность данной темы состоит в том, что в программировании существует большая масса языков программирования и с каждым годом их цифра растет, но такие языки как: "C", "C++", "Java" все ещё остаются актуальными и широко используются, так же как и программисты, работающие на данных языках программирования. Для успешной работы на данных языках программирования, необходимо знать историю их создания и развития.

Цель данной работы – изучить историю создания и развития языков программирования "C", "C++" и Java.

В связи с этим поставлены следующие задачи:

1) Изучить историю возникновения языка C (C++);

2) Определить основные этапы развития языка C (C++) ;

3) Рассмотреть историю возникновения языка Java;

4) Представить основные этапы развития языка Java;

5) Рассмотреть использование языков программирования в современном мире.

Объект исследования: Языки программирования Си (C++) и Java.

Предмет исследования: История, структура, потенциал таких языков программирования, как Си (C++) и Java.

1. ИСТОРИЯ ВОЗНИКНОВЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ C (C++)

1.1. Появление языка C

В наше время очень трудно найти специалиста, который не знал бы такого языка как C. Данный язык, по сути, является компактным языком программирования общего назначения, созданный Деннисом Макалистером Ричи (Dennis MacAlistair Ritchie), в 1972 году для операционной системы Unix, на компьютере Digital Eauipment Corporartion PDP-11.

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

[1]Язык был назван в честь его предшественника - языка B, представленного в 1970 году. Так, многие важные моменты языка С были взяты из языка B, разработанного Кеном Томпсоном (Ken Thompson) в 1970 году, так же идеи были взяты и из языка BCPL, автором которого является Мартин Ричардс (Martin Richards). BCPL был создан в 1966 году в Кембриджском университете. Однако влияние языка BCPL, было косвенным - через язык B.

Языки B и BCPL являются "бестиповыми языками". В этом их главное отличие от языка C, который в свою очередь обеспечивает разнообразие типов данных. Из базовых типов можно выделить: символы, а также целые числа с плавающей точкой различных размеров. Формирование выражений осуществляется за счет операторов и операндов. Из указателей, структур, массивов и объединений возможно получить целую иерархию производных типов данных.

C, B и BCPL входят в группу традиционных процедурных языков, а именно: Fortran, Algol 60. Они ориентированы на системное программирование, имеют небольшой размер и описание, также легко поддаются трансляции простыми компиляторами. Они «близки к машине» в том, что вводимые ими абстракции легко связываются и взаимодействуют с конкретными типами данных и операциями, предоставляемыми обычными компьютерами, а для того, чтобы произвести ввод и вывод данных, и взаимодействие с системой они задействуют библиотечные подпрограммы.

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

Во многом языки BCPL, B и C различаются синтаксически, но в основном они похожи. Программы состоят из последовательности глобальных деклараций и объявлений функций (процедур). В BCPL процедуры могут быть вложенными, но не могут ссылаться на нестатические объекты, определённые в содержащих их процедурах. B и C избегают такого ограничения, вводя более строгое: не имеют вложенных процедур.

Каждый из языков (за исключением самых древних версий B) поддерживает раздельную компиляцию и предоставляет средства для включения текста из именованных файлов.

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

[2]Некоторые структурные различия между BCPL и B происходят из-за ограничений промежуточной памяти. Например, декларации BCPL могут иметь такую форму:

let P1 be команда

and P2 be команда

and P3 be команда

. . .

где текст программы представляет собой команды, содержащие всю процедуру. Поддекларации, объединённые при помощи and обрабатываются одновременно, поэтому имя P3известно внутри процедуры P1. Подобно этому BCPL может упаковывать группу деклараций и выражений в выражение, которое возвращает значение, например

E1:= valof (декларации ; команды ; resultis E2 ) + 1

[3]Компилятор BCPL без труда обработает такие конструкции, сохранив и проанализировав разобранное представление всей программы в памяти до вывода результата. Ограничения по памяти для компилятора B требовали однопроходной техники, когда вывод производится как можно раньше, и модификация синтаксиса, которая делает это возможным, была перенесена в C.

Так, в конце 1973 годы были заложены основы языка C.

1.2. Развитие языка C (C++)

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

Так, в 1983 году ANSI[4] создал технический комитет под названием: "X3J11" для создания стандарта языка C, с целью обеспечить недвусмысленное и машинно-независимое определение языка. Стандарт был утвержден в 1989 году. ISO[5] и ANSI скооперировались, чтобы стандартизировать C в международном масштабе и совместный стандарт был опубликован в 1990 году и носил название: "ANSI/ISO 9899:1990.

Язык C имел большой объектно-ориентированный потенциал, который высвободил Бьерн Страуструп путем перенесения возможностей классов Simula 67 в C.

Первым вариантом названия "нового" языка было: "C с классами", но потом, он стал называться C++. C++ был разработан в Bell Labs, однако, позже был перенесен в другие индустрии и корпорации и достиг большой популярности. По прошествии стольких лет, C++ до сих пор остается востребованным языком в мире, унаследовав как хорошие, так и плохие стороны языка C.

[6]Бьерн Страуструп: "Я придумал C++, записал его первоначальное определение и выполнил первую реализацию. Я выбрал и сформулировал критерии проектирования C++, разработал его основные возможности и отвечал за судьбу предложений по расширению языка в комитете по стандартизации C++", - пишет автор самого популярного языка программирования. - "Язык C++ многим обязан языку C, и язык C остается подмножеством языка C++ (но в C++ устранены несколько серьезных брешей системы типов C). Я также сохранил средства C, которые являются достаточно низкоуровневыми, чтобы справляться с самыми критическими системными задачами. Язык C, в свою очередь многим обязан своему предшественнику, BCPL; кстати, стиль комментариев // был взят в C++ из BCPL. Другим основным источником вдохновения был язык Simula67. Концепция классов (с производными классами и виртуальными функциями) была позаимствована из него. Средства перегрузки операторов и возможность помещения объявлений в любом месте, где может быть записана инструкция, напоминает Algol68. "

Само название "C++" было выдумано Риком Масситти. Данное название указывает на эволюционную природу перехода к нему от C. "++" в данном случае, является ничем иным, как операцией приращения в C. Названия D язык не получил, поскольку он является расширением C и в нем не делается попыток исцеляться от проблем путем выбрасывания различных особенностей.

[7]Изначально язык программирования C++ был разработан, чтобы автору и его друзьям не приходилось программировать на ассемблере, C или других современных языках высокого уровня. Его главной целью было сделать написание хороших программ более простым и приятным для отдельного программиста. Плана разработки C++ на бумаге никогда не было; проект, документация и реализация двигались одновременно. Конечно, внешний интерфейс C++ был написан на C++. Никогда не существовало "Проекта C++" и "Комитета по разработке C++". Поэтому C++ развивался и продолжает развиваться во всех направлениях, чтобы справляться со сложностями, с которыми сталкиваются пользователи, а также в процессе дискуссий автора с его друзьями и коллегами.

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

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

[8]Язык C++ стал основой для многих языков, одним из таких языков является язык - Java.

2. ИСТОРИЯ ВОЗНИКНОВЕНИЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ JAVA

2.1. Возникновение языка Java

[9]Годом начала развития языка Java можно считать 1991 год. Одним из создателей данного языка является Джеймс Гослинг (James Gosling).

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

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

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

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

Гослинг начал с расширения компилятора C++, чтобы избежать связи разработки с конкретной платформой. Но один C++, даже со всеми расширениями, не сможет удовлетворить все потребности. Так, в середине 1991 года был задуман язык Oak. Впоследствии переименован в Java. "В конце концов, язык — это средство, а не самоцель, - поясняет Гослинг. - Мы не собирались зацикливаться на С++, а хотели разработать систему, которая позволяла бы создавать большую распределенную разнородную сеть из бытовых электронных устройств, способных взаимодействовать между собой".

Коллектив проекта "Green", в 1992 году, выпустил "*7" - устройство, названное "ручным пультом дистанционного управления" - типа PDA. Создание данного устройства, являлось плодом огромных усилий по доработке Oak и других компонентов.

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

До прихода в команду Green Патрик Нотон (инженер проекта "Green"), возглавлял проект Sun по разработке пользовательской среды Open Window.

Малогабаритное устройство "*7" выгодно подчеркивала компактность и эффективность кода, являвшегося ядром технологии. Данное устройство широко демонстрировалось в Sun и произвело впечатление на таких важных персон, как Скотт Макнили и Билл Джой, однако его дальнейшая судьба оставалась неясной.

Пока коллектив работал над Oak и *7, два его члена - специалист по оборудованию и технологии Эд Фрэнк и специалист по планированию бизнеса Майк Шеридан - подготовили примерную деловую и технологическую программу, которой могла бы воспользоваться какая-либо сторонняя компания типа Dolby Labs, чтобы создать и лицензировать технологию, и поместила бы логотип Sun на бытовую электронику вместе со своим. Ко времени появления демонстрационной модели *7 были готовы несколько версий этой программы. Однако в начале 1993 года, когда в Sun анализировались возможности применения Java, коллектив проекта Green, преобразованный к этому моменту в компанию FirstPerson, узнал об объявленном компанией Time-Warner конкурсе на разработку операционной системы для телевизионных приставок и технологии "видео по запросу". "Это было то, что надо", - вспоминает Гослинг.

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

FirstPerson продолжала работать над телеприставками до начала 1994 года, когда ее коллектив пришел к выводу о бесперспективности этого рынка. "Было много совершенно необоснованной рекламы", - поясняет Гослинг. Ряд недавних событий показал, что и сейчас рынок интерактивного ТВ еще не сформировался.

Тогда Нотон сумел доказать необходимость сворачивания работ над телеприставками и концентрации усилий в области онлайновых служб, CD-ROM и платформ для настольных систем. FirstPerson была распущена, и около половины ее сотрудников ушло в компанию Sun Interactive, где они стали заниматься разработкой серверов цифровых видеоданных. Но некоторые из них по-прежнему пытались найти пути применения технологии Java в объединенных в сеть настольных системах.

Весь 1993 год и половину 1994 года продолжались безрезультатные поиски покупателей продукции, разработанной в рамках проекта "Green" (под новым названием "First Person, Inc."). (Патрик Нотон, один из основателей группы, впоследствии в основном занимавшийся маркетингом, налетал в общей сложности более 300 тысяч миль, пытаясь продать разработанную технологию.) Проект "First Person, Inc." был прекращен в 1994 году.

Тем временем разрасталась сеть World Wide Web. Ключом к ней являлся браузер, который мог превратить гипертекст в изображение на экране.

В интервью журналу Sun World Гослинг сказал, что в середине 1994 года разработчики языка поняли: "Нам нужно создать действительно крутой браузер. Такой браузер должен представлять собой одно из немногих приложений модной клиент-серверной технологии, в которой жизненно важным было бы именно то, что мы сделали: архитектурная независимость, выполнение в реальном времени, надежность, безопасность — вопросы, не являвшиеся чрезвычайно важными для рабочих станций. И мы создали такой браузер".

Браузер был разработан Патриком Нотоном и Джонатаном Пэйном. Позже он превратился в современный браузер HotJava. Он был написан на языке Java, чтобы продемонстрировать всю его мощь. Однако разработчики не забывали о мощных средствах, которые теперь называются апплетами, наделив свой броузер способностью выполнять код внутри Web-страниц. "Демонстрация технологии" была представлена на выставке Sun World '95 23 мая 1995 года и вызвала всеобщее помешательство на почве языка Java.

Компания Sun выпустила первую версию языка Java в начале 1996 года.

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

2.2. Этапы развития языка Java

[10]Вскоре после выхода первой версии Java Development Kit группе экспертов по вопросам безопасности и Принстонского университета обнаружили первые ошибки в системе защит Java 1.0. Компания Sun Microsystems развернула исследования в области безопасности Java-программ. В частности, она обнародовала спецификацию и код виртуальной машины и библиотек, ответственных за защиту. Это ускорило выявление и устранение ошибок. В любо случае, разработчики Java здоров затруднили задач обхода её механизмов безопасности. Обнаруженные с тех пор ошибки носили очень технически характер и весьма немногочисленны.

Следующая версия была более удачна (Java Development Kit 1.1). Были устранены наиболее грубые недостатки, улучшены средства рефлексии и реализована новая модель событий для программирования ГПИ (Графический пользовательский интерфейс). Но все эти изменения были недостаточны, так как возможности данной версии были всё ещё ограничены.

Далее последовала версия Java 1.2, которая стала самым обсуждаемым событием на конференции JavaOne в 1998 году. В новой версии слабые средства для создания графического пользовательского ин­терфейса и графических приложений были заменены мощным инструментарием. Это был шаг вперед, к реализации лозунга "Write Once, Run Anywhere" ("Однажды написано — везде выполняется"), выдвинутого при разработке предыдущих вер­сий. В декабре 1998 года через три дня после выхода в свет название новой версии было изменено на более длинное: Java 2 Standard Edition Software Development Kit Version 1.2(Стандартная редакция набора инструментальных средств для разработки программ­ного обеспечения на Java 2, версия 1.2).

Кроме Standard Edition, были предложены еще два варианта: Micro Edition ("микроредакция") для портативных устройств, например для мобильных телефо­нов, и Enterprise Edition (редакция для корпоративных приложений).

Версии 1.3 и 1.4 набора инструментальных средств Standard Edition являются ре­зультатами поэтапного усовершенствования первоначально выпущенной версии Java 2. Они обладают новыми возможностями, повышенной производительностью и содержат намного меньше ошибок. В процессе развития Java многие взгля­ды на аплеты и клиентские приложения были пересмотрены. В частности, оказалось, что на Java удобно разрабатывать высококачественные серверные приложения.

В версии 5.0 язык Java подвергся наиболее существенной модификации с момента выпуска версии 1.1. (Первоначально версия 5.0 имела номер 1.5, но на конференции JavaOne в 2004 г. была принята новая нумерация версий.) После многолетних иссле­дований были добавлены обобщенные типы (которые приблизительно соответствуют шаблонам C++), хотя при этом не были выдвинуты требования модификации вир­туальной машины. Ряд других языковых элементов, например, циклы в стиле for each, автоупаковка и метаданные, были явно "навеяны" языком С#.

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

По мере того как в центрах обработки данных все чаще стали применяться аппа­ратные средства широкого потребления вместо специализированных серверов, для компании Sun Microsystems наступили тяжелые времена, и в конечном итоге она была приобретена компанией Oracle в 2009 г. Разработка последующих версий Java приостановилась на долгое время. И только в 2011 году компания Oracle выпустила новую версию Java 7 с простыми усовершенствованиями. А более серьезные измене­ния было решено отложить до версии Java 8, выпуск которой ожидался в 2013 г.

[11]Следующая версия (Java 9) была выпущена в 2017 году, компанией Oracle. Изменения коснулись функций интерфейса. В 2018 году последовал выход двух новых версий: Java 10 и Java 11. Все версии, на 2018 году, представлены в Приложении 2.

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

3. ИСПОЛЬЗЫВАНИЕ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ В СОВРЕМЕННОМ МИРЕ

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

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

[12]Для рассмотрения популярности языков, я буду основываться на показателях компании TIOBE Software по так называемому индексу TIOBE.

Методикой данной компании является количество поисковых запросов на наиболее популярных порталах: Google, Blogger, Wikipedia, YouTube, Yahoo!, Baidu, Amazon, Bing.

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

Исходя из данных портала TIOBE (смотреть Приложение 1), можно сделать вывод, что по их расчетам самыми популярными языками являются: Java, C, Python, C++, C#.

Несмотря на свой возраст, языки Java и C (C++), всё ещё остаются самыми востребованными языками программирования.

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

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

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

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

Также Java широко используется в электронной коммерции и в области вэб-приложений. Огромное количество RESTful сервисов было создано с использованием Spring MVC, Struts 2.0 и похожих фреймворков. Даже простейшие приложения, основанные на Servlet, JSP и Struts, достаточно популярны в различных государственных проектах. Многие вэб-приложения государственных, оздоровительных, страховых, образовательных, оборонительных и некоторых других отделений написаны на Java.

Обширна Java и в области встраиваемых систем. Можно увидеть на что способна платформа, вам нужно всего 130 KB для использования Java (на смарт-картах и сенсорах). Как мы уже знаем, изначально Java разрабатывалась для встраиваемых систем. Данная область была главной частью при создании Java.

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

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

Одним из отличий Java от C является отсутствие процессора, азначит и нет #-директив таких, как #define, #include, #ifdef. Дело в том, что в Java нет необходимости в них.

Эквивалентом константы, объявленной в C/C++ через #define, служит переменная, объявленная в классе Java как static final, например java.lang.Math.PI. Преимущества такого подхода: строгая типизация констант и уникальность иерархических имен, что исключает конфликты (то же PI нельзя переопределить).

Макросы (другое использование #define) заменены inline-подстановкой, осуществляемой компилятором Java для "коротких" иетодов автоматически.

Ненужность #include объясняется двумя факторами. Во-первых, файл класса (с суффиксом .class) одновременно является и объявлением класса, и его определением (реализацией), значит, отпадает необходимость в загаловочных h-файлах. Во-вторых, стандартизованность в размещении файлов классов по каталогам дает возможность интерпретатору Java однозначно определять местоположение загружаемого класса, значит отпадает необходимость директивного включения файлов исходного текста.

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

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

Следующим популярным языком программирования является Python.

[13]Python - высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. В отличие от С исполняется ровно в тот момент, когда мы его запускаем. До последнего момента программа — это всего лишь текст.

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

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

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

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

Мы рассмотрели каким образом анализируются языки программирования по популярности, как отличаются друг от друга C(C++) и Java, где применяются самые популярные языки программирования в наше время. Исходя из изученных данных можно сделать вывод, что языки Java b С(С++) остаются востребованными, несмотря на время и появление всё новых языков программирования. Каждый из нас, каждый день, встречается с устройствами, которые запрограммированы на том или ином языке.

ЗАКЛЮЧЕНИЕ

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

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

Без языка C (C++) мы бы не увидели такого языка как Java и много других языков.

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

Рассматривая использование языков программирования в современном мире мы видим, что C (C++) и Java играют главные роли, несмотря на свой "возраст". Появляющиеся новые языки хоть и имеют более удобные формы, могут быть более многофункциональными, но всё равно не могут обогнать по популярности и востребованности C (C++) и Java.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Дейтел Х.М., Дейтел П.Дж. Как программировать на C++ / Х.М. Дейтел, П.Дж. Дейтел. - М.: Бином-Пресс, Москва, 2008. - 1456 с.
  2. Майк МакГарт Программирование для начинающих / Майк МакГарт. - М.: 4-е издание, Москва, 2016. - 192 с.
  3. Себеста Р.У. Основные концепции языков программирования / Р.У. Себеста. - М.: Вильямс, 5-е издание,Москва, 2001. - 670 с.

Страуструп Б. Язык программирования C++ / Б. Страуструп. - М.: Бином-Пресс, Москва, 2015. - 1136 с.

  1. К. Хорстманн, Г. Корнелл Java 2. Библиотека профессионала. Том 1 / Хорстманн К. Корнелл Г. - М.: Вильямс 2014, 9-е издание. - 864 с.
  2. M. Richards and C. Whitbey-Strevens. The Language and its Compiler / M. Richards and C. Whitbey-Strevens. - М.: Cambridge Univ.,1979. - 184 с.
  3. M. Richards. The BCPL Reference Manual, / M. Richards. - М.: MIT Project MAC Memorandum, 1967. - 31 с.
  4. Michael O'Connell Java The inside story We interview Java's creators to find what they had in mind / Michael O'Connell. - М.: SunWorld, July, 1995
  5. https://www.oracle.com/technetwork/java/archive-139210.html#top
  6. https://www.tiobe.com/tiobe-index/
  7. https://www.python.org/

ПРИЛОЖЕНИЕ

Приложение 1

TIOBE Programming Community Index

Источник: https://www.tiobe.com/tiobe-index/.

Приложение 2

Версии Java по датам выхода и версиям с языковыми изменениями

Версия

Год выпуска

Новые языковые средства

1.0

1996

Выпуск самого языка

1.1

1997

Внутренние классы

1.2

1998

Отсутствуют

1.3

2000

Отсутствуют

1.4

2002

Утверждения

5.0

2004

Обобщенные классы, цикл в стиле for each, автоупаковка, аргументы переменной длины, метаданные, перечисления, статический импорт

6

2006

Отсутствуют

7

2011

Оператор switch со строковыми метками ветвей, ромбовидный оператор, двоичные литералы, усовершенствованная обработка исключений

8

2014

Лямбда-выражения, библиотеки потоков и даты/времени, интерфейсы с методами по умолчанию

9

2017

Литералы в коллекциях, оператор Элвиса, Class Optional, Streams, IO, Regrexp, обработка процессов ProcessHandle

10

2018

Объединение восьми репозиториев в один

Таблица составлена по: https://www.oracle.com/technetwork/java/javase/namechange-140185.html.

  1. Майк МакГарт Программирование для начинающих / Майк МакГарт. - М.: 4-е издание, Москва, 2016. - С. 10.

  2. M. Richards and C. Whitbey-Strevens. The Language and its Compiler / M. Richards and C. Whitbey-Strevens. - М.: Cambridge Univ.,1979. - С. 50.

  3. M. Richards. `The BCPL Reference Manual,' / M. Richards. - М.: MIT Project MAC Memorandum, 1967. С. 1.

  4. ANSI - Американский Национальный Комитет Стандартов.

  5. ISO - Международная Организация Стандартов.

  6. Страуструп Б. Язык программирования C++ / Б. Страуструп. - М.: Бином-Пресс, Москва, 2015. - С. 22.

  7. Дейтел Х.М., Дейтел П.Дж. Как программировать на C++ / Х.М. Дейтел, П.Дж. Дейтел. - М.: Бином-Пресс, Москва, 2008. - С 56.

  8. Себеста Р.У. Основные концепции языков программирования / Р.У. Себеста. - М.: Вильямс, 5-е издание,Москва, 2001. - С. 116.

  9. Michael O'Connell Java The inside story We interview Java's creators to find what they had in mind / Michael O'Connell. - М.: SunWorld, July, 1995

  10. К. Хорстманн, Г. Корнелл Java 2. Библиотека профессионала. Том 1 / Хорстманн К. Корнелл Г. - М.: Вильямс 2014, 9-е издание. - С. 37.

  11. https://www.oracle.com/technetwork/java/archive-139210.html#top

  12. https://www.tiobe.com/tiobe-index/

  13. https://www.python.org/