Файл: История возникновения и развития языков программирования Си (С++) и Java (Программирование на С и С++).pdf
Добавлен: 30.03.2023
Просмотров: 346
Скачиваний: 1
СОДЕРЖАНИЕ
ГЛАВА 1 Программирование на С и С++
1.1 Языки программирования С и С++
1.2 Краткая история возникновения и развития языков С и С++
2.1 Понятие языка программирования Java
2.2 Краткая история возникновения языка программирования Java
ГЛАВА 3 Языки программирования С (С++) и Java в современном мире
3.1 С++, Java и другие языки программирования. Их область применения
|
Тип |
Длина (в байтах) |
Диапазон или набор значений |
|
|
boolean |
не определено |
true, false |
|
|
byte |
1 |
-128..127 |
|
|
char |
2 |
0..216-1, или 0..65535 |
|
|
short |
2 |
-215..215-1, или ?32768..32767 |
|
|
int |
4 |
-231..231-1, или ?2147483648..2147483647 |
|
|
long |
8 |
-263..263-1, или примерно -9.2·1018..9.2·1018 |
|
|
float |
4 |
-(2-2-23)·2127..(2-2-23)·2127, или примерно -3.4·1038..3.4·1038, а также , , NaN |
|
|
double |
8 |
-(2-2-52)·21023..(2-2-52)·21023, или примерно -1.8·10308..1.8·10308, а также , , NaN |
|
Такая жёсткая стандартизация была необходима, чтобы сделать язык платформенно-независимым, что является одним из идеологических требований к Java и одной из причин её успеха. Тем не менее, одна небольшая проблема с платформенной независимостью всё же осталась. Некоторые процессоры используют для промежуточного хранения результатов 10-байтовые регистры или другими способами улучшают точность вычислений. Для того, чтобы сделать Java максимально совместимой между разными системами, в ранних версиях любые способы повышения точности вычислений были запрещены. Однако это приводило к снижению быстродействия. Выяснилось, что ухудшение точности ради платформенной независимости мало кому нужно, тем более, если за это приходится платить замедлением работы программ. После многочисленных протестов этот запрет отменили, но добавили ключевое слово strictfp, запрещающее повышение точности.
Преобразования при математических операциях[10]
В языке Java действуют следующие правила:
1. Если один операнд имеет тип double, другой тоже преобразуется к типу double.
2. Иначе, если один операнд имеет тип float, другой тоже преобразуется к типу float.
3. Иначе, если один операнд имеет тип long, другой тоже преобразуется к типу long.
4. Иначе оба операнда преобразуются к типу int.
Данный способ неявного преобразования встроенных типов полностью совпадает с преобразованием типов в C++.
ГЛАВА 3 Языки программирования С (С++) и Java в современном мире
3.1 С++, Java и другие языки программирования. Их область применения
Сегодня языки программирования распространены по всему миру и есть в каждой сфере деятельности.
Язык С (С++) используется почти во всех операционных системах и ПО, ведь он быстрый и эффективный, достаточно близок к аппаратному слою, и из-за своей гибкости позволяет работать с кодом низкого уровня, позволяя разработчику производить тонкую настройку деталей ОС и самостоятельно реализовывать структуры данных. В отличии от других языков, С не имеет зависимостей времени исполнения, что означает следующее: программа может выполняться самостоятельно, без участия менеджера памяти, входного/выходного слоя и аппаратными средствами. Как итог, язык С используется повсеместно и перечислить все места, где он используется, невозможно.
Главный конкурент языка С, Java не отстаёт и так же пользуется огромным спросом, в основном этот язык используют в написании серверных приложений, веб приложений, мобильные приложения для ОС Android, и не только. Одна из самых популярных и при этом гибкая, за счёт концепции языка, игра “Minecraft” была написана на Java, но всё же сильные позиции у языка в промышленном программировании, в сегменте крупных компаний, и на основе этих фактов делаем вывод, что Java мощный, развитый язык, подходящий для всех сфер деятельности.
Чтобы увидеть разницу использования данных языков программирования от других, кратко изучим функции и области применения также и других языков.
Ещё один язык программирования, обогнавший Java, является Python. Его главная особенность - это тот факт, что он интерпретируемый, его простота позволяет быстро овладеть им. Компактность делает все коды краткими, но эффективными, уменьшая трудозатраты. Также существует множество реализаций: CPython; Jython (для Java) и другие, давая возможность программировать на двух языках одновременно, так же он один из лучших в математических вычислениях, так как имеет библиотеки NumPy, SciPy. Но нужно заметить, что данный язык подходит только для высокоскоростным ВМ, более того, Питон по распространению не уступает упомянутым выше языкам, по причине своей универсальности, что даёт возможность решать задачи разного спектра. Сегодня Он используется в веб-разработке, создании десктопных и мобильных приложений, программировании игр, а также в аналитике и машинном обучении.
Один из лидеров для разработки WEB-приложений является PhP: язык программирования, используемый на стороне WEB-сервера для динамической генерации HTML-страниц, один из немногих языков программирования, созданных специально для разработки веб-приложений. Поэтому он включает в себя все функции, необходимые именно для работы на веб-сервере, и при этом лишен избыточности. Ещё одна из главных функций этого языка – интеграция, он работает практически со всеми ОС, и веб-серверами, поддерживает большинство серверных протоколов и прекрасно работает с базами данных, как дополнение к этому, PhP не зависит от платформы. Применение PhP происходит преимущественно при разработке web-приложений, сайтов, форумов или же серверов, по итогу, в каком-то плане данный язык является уникальным, всегда необходимым при работе с web-средствами, и поэтому является таким известным.
Таким образом, можно увидеть, что разные языки программирования имеют разные функции и области применения – от низкоуровневого программирования до программирования в аэрокосмической отрасли. А С – второй по популярности, незначительно уступающей Java, согласно рейтингу Tiobe (см. Приложение 1).
Анализируя информацию выше, можно сделать вывод, что в ближайшем будущем языки С++ и Java не сойдут с технологической арены, что исследовано в следующем пункте 3 главы.
3.2 Будущее и потенциал языков С++ и Java
Ещё до появления языков С, Java и других, были языки, которые сейчас «мертвы», т.е. потеряли актуальность и больше не используются. С и Java сейчас одни из лидирующих по областям и количеству применений языков программирования, поэтому имеют высокий потенциал и точно будут использоваться в будущем.
Одним из главных преимуществ языков С и Java является то, что они имеют влиятельную инфраструктуру. «Мёртвые» языки программирования такого не достигли, поэтому и являются такими. То есть язык может быть отличный, но пока нет документации, пока нет сообщества, которое умеет отвечать на вопросы (например, у Java есть Java Native Interface) и, наконец, самое главное, пока нет большого количества библиотек, язык не становится успешным.
Язык Java обладает большим плюсом – простотой его изучения. Вячеслав Ковалевский, инженер-исследователь c опытом в мировых ИТ гигантах, занимается разработками в сфере искусственного интеллекта и обучением программированию, считает, что
«Новички выбирают язык для быстрого входа в профессию, и Java соответствует этому критерию. К тому же этот язык не привязывает человека к конкретному узкому направлению, например, фронтенд- или бэкенд-разработке. На Java пишут и фронтенд, и бэкенд, и другие вещи. Например, можно писать приложения для Android.
Java — язык энтерпрайза или больших компаний, это надо учитывать при выборе языка и финансовых перспектив разработчика. Нет компаний, которые не используют Java. Человечество не сможет отказаться от этого языка, так как на нём написано очень много».
Диаграмма использования языка Java по версии NOP::Nuances of programming представлена в приложении 2.
Язык Java в настоящее время участвует в функционировании 134 861 сайта, включая ESPN, SnapDeal, Alibaba и т.д. За всю историю существования этот язык доказал свою высокую эффективность в разработке ПО.
У Java-разработчиков высокие перспективы на рынке труда. Кроме того, их труд оплачивается выше, чем труд разработчиков на JavaScript, PHP и Python.[11]
Почему мы до сих пор используем C/C++?
Есть короткий ответ: C и C++ гибкие, очень быстрые и эффективные. К тому же они ближе к машинному коду, чем любой другой язык программирования. Именно поэтому в некоторых случаях эти языки просто незаменимы.
Язык С до сих пор является популярным особенно по причине роста количества устройств, поддерживающих технологию Интернета вещей, а эти устройства крепко завязаны на управлении машинным кодом и памятью. Система умный дом работает по этому принципу. Например, смартфон отправляет информацию о том, что вы идете домой кофеварке, телевизору и микроволновке. Кофеварка подогревает кофе, микроволновка разогревает ужин, который вы оставили в ней, а телевизор включает вашу любимую передачу. Интернет вещей служит для того, чтобы облегчить жизнь человека, как в быту, так и в других сферах. А новые технологии в будущем в большей мере нацелены именно на это, поэтому их разработка на языке С будет оставаться востребованной.
Заключение
В ходе работы над изучением языков, мы выяснили, что языки С и Java – самые широко используемые в программировании, потому что у них есть свои преимущества – это простота, эффективность, лаконичность, компактность, большой потенциал и др.
Благодаря языку C++ произошел стремительный прорыв в развитии всего программирования. И в будущем этот язык программирования сохранит свои позиции, совершенствуясь изо дня в день.
Язык Java является объектно-ориентированным и поставляется с достаточно объемной библиотекой классов. Благодаря библиотекам классов Java значительно упростилась разработка приложений.
Изучая историю возникновения и развития данных языков, можно сказать, что они созданы на основе уже имеющихся прообразов, а развитием истории языков является их усовершенствование.
Язык Java был создан, когда появилась необходимость концепции работы языка, способного функционировать на любой ЭВМ.
Язык С был создан на основе более сложных его предшественников. В нём были исправлены все их недостатки. А язык С++ разработан как улучшенная версия языка С.
С/С++ и Java имеют самую широкую область применений, так как являются мощными, развитыми языками, подходящими для всех сфер деятельности.
На этих языках разработаны такие популярные и важные вещи как необходимые в наше время сайты и Интернет вещей, без которых человечество уже не может обойтись в будущем.
Таким образом, цель курсовой работы достигнута, все задачи в ходе изучения выполнены.
Список использованной литературы
1. «Бьерн Страуструп. Язык программирования С++», изд. Бином, М. –1136с.
2. Джесс либерти, «Освой самостоятельно C++ за 21 день», изд. Дом «Вильямс», Москва - Санкт-Петербург - Киев, 2001. – 834с.
3. Джон Родли Создание Java-апплетов.- TheCoriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996 – 654с.
4. Джордж Шлосснейгл. Профессиональное программирование на PHP, 2006, 624с.
5. Герберт Шилдт. C + + для начинающих. Пер. с англ. М: ЭКОМПаблишерз 2007. – 546с.
6. Герберт Шилдт. Полный справочник по C + + 4-е издание. Пер. с англ. М: издательский дом «Вильямс » 2010. – 543с.
7. Майкл Эферган Java: справочник.- QUE Corporation, 1997, Издательство "Питер Ком", 1998. – 687с
8. Пэйн Дж., Начиная с Python: Использование Python 2.6 и Python 3.1 / Д. Пэйн: Wiley Publishing, 2009. – 624 с.
9. Богазова З. Разные языки программирования и их области применения. Лекция в Яндексе https://habr.com/ru/company/yandex/blog/272759/ [Электронный ресурс] 13.01.2019
10. Вакомс Н. Языки C и C++. Где их используют и зачем? https://nuancesprog.ru/p/4549/ [Электронный ресурс] 15.08.2019
11. Перевод Д. Топ 9 фреймворков Java в 2020 году. URL: https://medium.com/nuances-of-programming/7c0d26ef5f2b [Электронный ресурс]
Приложения
Приложение 1
Рейтинг языков программирования от TIOBE