Файл: История возникновения и развития языков программирования Си (С++) и Java (Программирование на С и С++).pdf
Добавлен: 30.03.2023
Просмотров: 334
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1 Программирование на С и С++
1.1 Языки программирования С и С++
1.2 Краткая история возникновения и развития языков С и С++
2.1 Понятие языка программирования Java
2.2 Краткая история возникновения языка программирования Java
ГЛАВА 3 Языки программирования С (С++) и Java в современном мире
3.1 С++, Java и другие языки программирования. Их область применения
Введение
Сегодня большое значение в жизни имеют информационные технологии и в настоящем мире тяжело представить нашу жизнь без компьютера, связи и ПО. Но для того, чтобы были созданы те самые программы, необходимы языки программирования, а также люди, которые их знают. Развитие компьютерных технологий даёт возможность появлению разнообразных, неизведанных знаковых систем, то есть языков программирования, для того, чтобы запись алгоритмов была ещё лучше, качественней. Если задаться вопросом, какой язык является основоположником современной эпохи языков программирования, то ответ будет прост – язык С, с последующим его перевоплощением в С++, обладающий преимуществами над своим предшественником, но как известно, современные приложения должны быть высокопроизводительными, быть нейтральными к архитектуре, работать в различных средах, из-за чего компания SunMicrosystems создает язык программирования Java. В текущий момент C++ считают основным языком, на котором пишут программные продукты во всём мире, хотя за последнее время конкурентоспособность Java повысилась и данные языки стали приблизительно на одном уровне популярности, так как оба языка отвечают всем необходимым требованиям, при этом они похожи, и, если человек изучил один из них, то с легкостью может перейти на второй.
Таким образом, актуальностью выбранной темы является востребованность языков программирования С (С++) и Java. Чтобы знать и понимать язык программирования, желательно знать и его историю.
Цель работы: изучить историю возникновения и развития языка программирования Си (C++) и Java.
Для достижения поставленной цели решены следующие задачи:
- изучить источники информации по теме;
- выявить причину возникновения языков программирования;
- узнать историю языков Си (C++) и Java;
- рассмотреть развитие языков Си (C++) и Java;
- проанализировать место языков С (С++) и Java в современном мире и будущем.
Объект исследования: языки программирования Си (C++) и Java.
Предмет исследования: история, структура, польза, потенциал таких языков программирования, как Си (C++) и Java.
Курсовая работа по теме «История возникновения и развития языков программирования Си (С++) и Java» может быть использована на занятиях информатикой, программированием и во внеклассной работе в школах, колледжах, вузах и других образовательных учреждениях и несет исследовательски-образовательный характер.
Курсовая работа состоит из введения, трёх глав, заключения и списка литературы.
ГЛАВА 1 Программирование на С и С++
1.1 Языки программирования С и С++
Как известно, самыми распространенными языками программирования в мире являются С и С++. Это – основные языки, применяемые в разработке не только системного ПО, но и прикладного. Если специалист в области информационных технологий владеет данными языками, он будет всегда иметь работу с большим заработком.
Рассмотрим особенности данного языка.
- Простота. Руководство по языку и его документация сильно упрощены для упрощения восприятия.
- Эффективность. Заключается в том, что программы, которые написаны на этом языке пропорционально небольшого размера с соответственно большой скоростью исполнения.
- Лаконичность. Запись алгоритма чётко выражена, краткая и при этом понятна.
- Компактность. Язык содержит малое количество встроенных ключевых слов и средств.
- Большой потенциал. Скорость работы достигается при помощи использования большого числа библиотек.
- Совместимость. Компиляторы работают на всех ОС и аппаратных платформ, из-за чего программу можно скомпилировать и запустить практически везде.
Но, язык С имеет и недостатки – это слабый контроль преобразования типов и в процессе работы с адресами и динамической памятью, в результате чего, без чёткого понимания в коде легко совершить ошибку, которую впоследствии сложно обнаружить, хотя, именно из-за этих недостатков у языка С есть потенциал в создании исполняемого кода, по эффективности схожего с кодом языка Ассемблера. Позднее появляется язык С++, который был лишён недостатков своего предшественника. Автор языка Бъярн Страуструп[1] способствовал добавлению в С методов объектного языка, в котором есть классы, служащие для представления внутреннего строения объектов, новые средства работы с динамической памятью и с вводом/выводом, механизм наследования. При помощи данных средств появилась возможность писать объектно-ориентированные программы, создавать библиотеки шаблонов, классов – по-другому, увеличить количество инструментов пользователя и расширить сферу применения языка. Язык С++ объединяет в себе вышеупомянутые достоинства С и новые возможности, созданные для решения основных недостатков языка С, давая возможность изучить принципы программирования высокого уровня изнутри. Язык С++ содержит в себе средства и методы высокоуровневого и низкоуровневого программирования. К методам высокоуровневого относятся структуры, механизмы наследования, классы и позднего связывания, библиотеки, шаблоны. Ко низкоуровневым методам можно отнести работу с механизмом прерываний, работу с битами символов, механизм указателей. Благодаря этому С++ весьма практичный для целей решения обширного круга задач, его изучение не является очень трудным и, наверное, любой человек, знающий низкоуровневый язык может начать изучать его, и постепенно развиваться, приобретая всё больше знаний в этой области и данном языке, и как ещё один достаток С++ это его огромный потенциал.
На основании вышеизложенного материала можно сделать вывод, что языки С и С++ являются эффективными, мощными, краткими и обладают хорошей совместимостью, и при всём этом, доступными для освоения каждому человеку. Несмотря на недостатки, следующие версии языка лишены изъянов предшествующих, что даёт потенциал для развития и актуальности в будущем, к тому же, данные языки совмещают в себе множество функций и подходят для множества решений проблем, нежели другие языки программирования.
1.2 Краткая история возникновения и развития языков С и С++
Язык С был разработан в компании AT&T в подразделения Bell Labs Д. Ритчи в 1972г. во время работы с коллегой Кеном Томпсоном над UNIX. Прообразом языка С послужил язык Би (B), разработанный К. Томпсоном не за долго до Ритчи. Также большое влияние на язык С имел язык BCPL, автором которого был М. Ричардсоном, в котором Ритчи брал концепции будущего языка. Язык был ответом на некоторые недостатки языка FORTRAN и попыткой их исправить.
По поводу возникновения языка Си Питер Мойлан в своей книге «The case against C» пишет: «Нужен был язык, способный обойти некоторые жесткие правила, встроенные в большинство языков высокого уровня и обеспечивающие их надежность. Нужен был такой язык, который позволил бы делать то, что до него можно было реализовать только на ассемблере или на уровне машинного кода». Си стал именно таким языком.
Язык С создавался как инструмент для системного программирования. Ввиду превосходного сочетания лаконичности конструкций и богатства выразительных возможностей язык С быстро распространился и стал одним из самых известных языков прикладного и системного программирования. Компиляторы языка С совместим почти со всеми типами современных ПК и в ОС.
В отличии от других языков программирования, вступавшими в силу только после принятия соответствующих национальных и интернациональных стандартов, язык С изначально создавался в целях применения его как рабочего инструмента, который не создавался для широкого распространения. Стандарта языка С не существовало до 1989 года, и как формальное описание разработчики компиляторов применяли книгу Б. Кернигана и Д. Ритчи, которая была опубликована в 1978 году в США. Смысл этой книги был в неофициальном стандарте для языка С. Совпадение, но во всей литературе и различной документации, связанной с компиляторами, ссылка на эту работу обозначается специальным сокращением K&R от инициалов фамилии разработчиков.
Первый официальный стандарт языка С приняли в 1989 году в Американском национальном институте стандартов и на практике обозначается как С89. Также, всё в том же году данный стандарт приняла и Международная организация стандартов. А в 1995г. стандарт С89 был немного изменен.
Язык С++[2], как продолжение С, возник в 1979году. Его разработчиком был Бьярни Страуструп, в то время он работал в BellLabs. Бьярни потратил значительные усилия в течении 80-х – 90-х годов на разработку и развитие языка С++. Как итог, в 1998г. был принят ANSI/ISO-стандарт для языка С++. Так что же есть язык С++ - это объектно-ориентированная, усовершенствованная версия языка С. С++ построен на основе стандарта версии С89, в которую входили изменения 1995г., поэтому версию С89 называют С-подмножеством языка С++. Несмотря на то, что язык С++ идеологически задумывался как набор объектно-ориентированных расширений для языка С, впоследствии он развился в самостоятельный язык, превосходящий своего “предка”. В наше время объём исходного языка С++, по сравнению с версией языка на основе С89, увеличился в два раза и сегодня является одним из самых мощных компьютерных языков, которые когда-либо разрабатывались.
В 1999 году приняли второй ANSI/ISO стандарт для языка С. Эта версия носила название С99, в неё входил набор усовершенствований и другие новые средства. Одни из этих средств пришли из языка С++, а другие – представляют пользователю совершенно новые возможности. Таким образом, отдельные элементы, привнесенные в С99, стали несовместимы с языком С++, что значит, что версия С99 языка С больше не является частью языка С++. Причина, по которой возникали несовместимости, связана со средствами специального назначения, которые можно с легкостью преодолеть, и в итоге этот вариант языка так же дает возможность создавать программы, которые будут совместимы с языком С++.
В последующие года велись работы с целью создания новых стандартов языков С и С++.
В октябре 2011года появился самый новый стандарт языка С++[3]. Его обозначение- C++11 или ISO/IEC 14882:2011.
А в декабре 2011г., по аналогу с С++, принимают стандарт и для языка С. Эту версию условно называют С11 или ISO/IEC 9899:2011.
Сегодня разработано огромное количество С-подобных языков - в основе которых лежит язык С. Наиболее имеющие распространенных и актуальных из них — это языки “C++” Бьярни Страуструпа, “С#” фирмы Microsoft, “Java” фирмы Sun.
Обобщая вышесказанную информацию, мы узнаём, что язык С создавался как язык прикладного и системного программирования, с целью выйти за рамки возможного других языков. Что же касается языка С++, то он создавался на основе языка С, но изначально был задуман как объектно-ориентированное дополнение к его основе, но добавив возможность классификации данных, тех самым изменив структуру данных, язык С++ стал лучше своего предшественника, а после введения новых стандартов С++ стал самостоятельным языком.
1.3 Базовые понятия языка
Алфавит языка - набор знаков, который допустим в данном языке. В языке С++ алфавит можно буквально разделить на группы знаков[4]:
- прописные и строчные латинские буквы (A, B,..., Z, a, b,..., z);
- арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
- специальные знаки: " , { } | [ ] ( ) + - / % \ ; '. : ? < = > _ ! & * # ~ ^
- пробельные символы — это символы пробела, табуляции, перехода на новую строку.
Идентификатор — это имя какого-либо объекта программы. Имя может состоять из латинских букв, цифр и символа “_”. Начинаться имя может с буквы или символа подчеркивания, но не с цифры. Важно учитывать, что прописные и строчные латинские буквы, используемые в идентификаторах, считаются различными (это требование является общим для всех С-подобных языков:С, С++, С#, Java, Perl и многих других. В таких же языках, как Fortran, Pascal, Basic не делается различия в именах между прописными и строчными латинскими буквами).
Пример допустимых идентификаторов:
omega Omega OMEGA o _o o50 o_lol
omega, Omega и OMEGA — разные имена.
Имена, подобные приведённым ниже, ни в коем случае нельзя использовать в качестве идентификаторов:
50o (начинается с цифры);
Омега (кириллица не допустима).
Общепринятые рекомендации по использованию имён:
Имя объекта имеет смысл;
в качестве имён констант используйте имена, состоящие из прописных латинских букв, например: E, OMEGA;
имена, начинающиеся с символа подчеркивания часто используются разработчиками компиляторов для своих целей;
чем больше область видимости имени, тем более выразительным оно должно быть, означая свою привязанность и функцию. Короткие имена допустимы только внутри небольших блоков программы, внутри коротких функций.
Длина имени в большинстве случаев не ограничена, но на длину внешних имён (имён библиотек, функций) может накладывать ограничение операционная система.
Ключевые (зарезервированные) слова — это слова, которые можно использовать в программе только по их прямому назначению, другими словами эти имена нельзя использовать для обозначения, например, своих переменных[5].
В языке С++ имеется 63 ключевых слова. Все они приведены в таблице 1.
Таблица 1
Ключевые слова в языке С++
|
asm |
do |
if |
return |
typedef |
|
auto |
double |
inline |
short |
typeid |
|
bool |
dynamic_cast |
int |
signed |
typename |
|
break |
else |
long |
sizeof |
union |
|
case |
enum |
mutable |
static |
unsigned |
|
catch |
explicit |
namespace |
static_cast |
using |
|
char |
export |
new |
struct |
virtual |
|
class |
extern |
operator |
switch |
void |
|
const |
false |
private |
template |
volatile |
|
const_cast |
float |
protected |
this |
wchar_t |
|
continue |
for |
public |
throw |
while |
|
default |
friend |
register |
true |
|
|
delete |
goto |
reinterpret_cast |
try |