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

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.03.2023

Просмотров: 242

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Введение

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

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

Язык С оказал огромное влияние и внес вклад в индустрию программного обеспечения, помимо того синтаксис языка С стал основой для таких языков программирования, как C++ и Java. На данный момент C++ считают не самым простым языком,но с обширной библиотекой и репутацией хардкорной програмистики. Он компилируемый, даже можно сказать что это расширенный С. Превосходство С++ над другими языками в том, что тут есть поддержка объектно-ориентированного программирования (ООП). Технический прогресс стремителен и требования к современным приложениям очень велики. Из них можно выделить безопасность, высокую производительность, нейтральность к архитектуре и работоспособность в распределенной среде. Актуальность данной темы обусловлена тем, что прогресс компьютерных технологий определил появления новых разнообразных систем для записи алгоритмов – языков программирования.

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

В ходе поставленной цели будут решены следующие задачи:

- изучено программирование на С и С++: дано понятие языков программирования С и С++, их краткая история развития и базовые понятия;

- изучено программирование Java: дано понятие языка программирования Java, его история и базовые понятия.

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

Глава 1. Программирование на С и С++


1.1 Понятие языков программирования С и С++

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

Особенности данного языка:

1) Эффективность и продуктивность. C обладает наивысшей интерактивностью разработки среди всех широко распространенных статически типизированных языков.

2) Лаконичность. Означает то, что запись алгоритма выразительная и краткая.

3) Компактность. Язык содержит небольшое количество встроенных средств и ключевых слов.

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

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

Недостатки в языке С тоже присутствуют. Ведь от них не защищен не один проект, в том числе проект разработки и выполнения программ, на языке С. Достаточно высокие требования к квалификации использующего его программиста, желательно иметь представление о структуре и работе компьютера, минимальное знание хотя бы языка ассемблер. В 1981 году появляется язык С++. Автор этого языка Бьярн Страуструп добавил в привычный С методы обьектного языка-классы, , служащие для представления внутренней структуры объектов, механизм наследования и новые средства работы с динамической памятью и с вводом/выводом. Благодаря этим средствам появилась возможность не только писать объектно-ориентированные программы, но и создавать библиотеки шаблонов и расширить инструментарий пользователя и сферу применения самого языка. С++ включает методы как высокоуровневого, так и низкоуровневого программирования. К высокоуровневому относятся классы, структуры, механизмы наследования и позднего связывания, шаблоны. К низкоуровневому можно отнести механизм указателей, работу с битами символов, работу с механизмом прерываний. Вследствие чего С++ стал весьма привлекательным для решения обширного круга задач.


1.2 Краткая история развития языков С и С++

Перед тем как заняться изучением языков С и С++, нужно иметь представление об истории возникновения этих языков программирования. В далеком 1972 году прошлого века выдающийся программист Деннис Ритчи разработал язык С. Архетипом языка С был язык программирования БИ(В), который был разработан пионером компьютерной науки Кеном Томпсоном и внесший вклад в его разработку. Уместно было бы добавить и про язык программирования BCPL, который в свою очередь оказал на язык С огромное влияние ведь изначально предназначался для написания компиляторов для других языков. Невзирая на другие языки, язык Си сумел найти быстрое распространение благодаря прекрасному сочетанию краткости конструкций. Компиляторы Си работают отлично на Windows, Mac OS, Linux, FreeBSD, Solaris и др. Язык Си, разрабатывался для системного программирования, а стал одним из популярных языков как прикладного, так и системного программирования. В 1978 году вышедшая книга под авторством Брайана Кернигана и Денниса Ритчи, являлась неформальным руководством для разработчиков и на деле была стандартом языка Си, ведь до 1989 года стандарта не существовало. Но, 1989 год ознаменовался тем, что стандарт языка С все же был принят Американским Национальным Институтом Стандартов. Версия обозначается как С89. На русский же язык книга была переведена только в 1985 году. Во всей литературе и разного рода источникам по компиляторам ссылка на эту работу обозначается как K&R. Международная Организация Стандартов тоже приняла данный стандарт, но в 1995 году С89 был немного изменен. Язык Си стал базой для создания нового языка программирования и этим языком считается С++1, разработанный программистом Бьерном Страуструпом в 1979 году. По ходу разработки в него включили и другие средства, перекрывающие возможности конструкций Си.

1(«Бьерн Страуструп. Язык программирования С++» ,изд. Бином,М.– С.11-14.)

По ходу разработки в него включили и другие средства, перекрывающие возможности конструкций Си. Поднимался неоднократно вопрос и о совместимости языков, но в итоге дискуссий все оставили, как и прежде. Пришлось приложить много усилий по разработке и совершенствованию С++. По итогу работы, институты ANSI/ISO приняли стандарт языка С++, и назвали версию С89. Это — объектно-ориентированная, усовершенствованная версия языка С.

Хотя С++2 и задумывался как набор объектно-ориентированных расширений для языка С, но все же новые средства увеличили исходный объем в 2 раза, тем самым сделав язык поистине одним из могучих. Он используется для разработки коммерческих продуктов, а 90% игр пишутся на С++ с применением DirectX. В 1999 году ANSI/ISO приняли второй стандарт для языка С. Версию назвали - С99 и включает она новые средства и набор усовершенствований. Одни из средств пришли из языка С++, а другие — совершенно иные. Таким образом, отдельные элементы, привнесенные в С99, несовместимы с языком С++. С появлением версии С99 язык Си больше не считается чистым подмножеством языка С++, но и с этой версией создавать совместимые программы с языком С++ тоже возможно. Новый стандарт языка С++ появился в 2011 году, его обозначение - C++11 или ISO/IEC 14882:2011. Полная его поддержка обещана в GCC 4.7. На сегодняшний день существует большое количество С-подобных языков, в основе которых все тот же язык С. Наиболее известные – это языки C++ Бьярни Страуструпа, Java фирмы Sun и С# (читается Си-Шарп) фирмы Microsoft. Так же в декабре 2011года приняли и новый стандарт языка С, версия названа С11 или ISO/IEC 9899:2011, часть её возможностей уже сейчас поддерживается компилятором GCC.


2(Джесс либерти, «Освой самостоятельно C++ за 21 день», изд.Дом «Вильямс», Москва- Санкт-Петербург-Киев, 2001.– С14.)

1.3 Базовые понятия языка

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

В языке С++ алфавит можно условно разделить на группы знаков3:

1) прописные и строчные латинские буквы (A, B,..., Z, a, b,..., z);

2) арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);

3) специальные знаки: " , { } | [ ] ( ) + - / % \ ; '. : ? < = > _ ! & * # ~ ^

4) пробельные символы — это символы пробела, табуляции, перехода на новую строку.

Идентификатор — это имя программного объекта. Оно может состоять из латинских букв, цифр и символа _ (символ подчеркивания). Имя никогда не начинается с цифры, либо оно начинается с символа подчеркивания, либо с буквы. При этом нужно и важно учесть, что прописные и строчные латинские буквы в идентификаторах, считаются различными. Такие требования общие ко всем С-подобным языкам, например: С, С++, Java и многих других. Различия в именах между строчными и прописными латинскими буквами не делаются только в языках Fortran, Pascal, Basic.

Допустимые идентификаторы:

Alfa Alfa ALFA x _x a25 i_tek

Нужно обратить внимание на то, что:

• ALFA, Alfa и alfa, все это разные имена.

3(Джесс либерти, «Освой самостоятельно C++ за 21 день»,изд. Дом «Вильямс», Москва - Санкт-Петербург - Киев,2001.- С.43.)

• 25a (начинается с цифры);

• Альфа (кириллица не допустима). Такие имена в качестве идентификаторов использовать нельзя!

Рекомендации по использованию имён:

1) Не использовать имена начинающиеся с символа подчеркивания. Такие имена используют разработчики компиляторов для своих целей.

2) Выбирайте разумное имя обьекта.

3) Чем больше область видимости имени, тем более выразительным и длинным должно быть имя.

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

4) Для имен констант лучше подойдут те, которые состоят из прописных латинских букв.

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

Ключевые (зарезервированные) слова — это слова, которые можно использовать в программе только по их прямому назначению, т.е. эти имена нельзя использовать для обозначения, например, своих переменных4.

4(Герберт Шилдт.C + + для начинающих.Пер.с англ.М: ЭКОМПаблишерз 2007.– С.34-38.)


Ключевые слова в языке С++

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

Комментарии

Комментарий – это последовательность символов, которая игнорируется компилятором языка C++. В языке С++ имеется два вида комментариев: однострочные и многострочные.

Однострочный комментарий начинается с символов // (две косые черты).

Всё, что записано после этих символов и до конца строки, считается комментарием.

Например:

// Это текст комментария

Многострочный комментарий начинается парой символов /* (косая черта и звёздочка) и заканчивается символами */ (звёздочка и косая черта). Текст такого комментария может занимать одну или несколько строк. Всё, что находится между знаками /* и */ , считается комментарием.

Например:

/* Это мой большой

Многострочный при неправильном использовании комментариев читабельность программы может, напротив, серьезно пострадать. Компилятор не понимает смысл комментариев, поэтому не существует способа проверить, что комментарий:

а) содержателен;

б) имеет какое-то комментарий */

При отношение к программе;

в) не устарел.

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

Литералы

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

Литералы в языке C++ могут быть целые, вещественные, символьные и строковые и булевые. К целым относятся: десятичные, шеснадцатеричные и восьмеричные. Основание определяется префиксом в записи константы. Для десятичных констант префикс не нужен.