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

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

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

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

Добавлен: 31.03.2023

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

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

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

Вскоре компания Sun Microsystems преобразовала команду Green в компанию First Person.

Новая компания обладала интереснейшей концепцией, но не могла найти ей подходящего применения.

После ряда неудач неожиданно ситуация для компании резко изменилась: был анонсирован Mosaic - так родился World Wide Web, с которого началось бурное развитие Internet.

Нотон предложил использовать Oak в создании Internet- приложений. Так Oak стал самостоятельным продуктом, вскоре был написан Oak-компилятор и Oak-браузер "WebRunner".

В 1995 году компания Sun Microsystems приняла решение объявить о новом продукте, переименовав его в Java (единственное разумное объяснение названию - любовь программистов к кофе).

Когда Java оказалась в руках Internet, стало необходимым запускать Java-аплеты - небольшие программы, загружаемые через Internet. WebRunner был переименован в HotJava и компания Netscape встала на поддержку Java-продуктов.

Программы, написанные на Java, представляют собой набор классов и сохраняются в специальных текстовых файлах, которые имеют расширение java.

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

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

Для того чтобы выполнять байт-код на каком-то компьютере, его нужно конвертировать в инструкции для процессора. Именно это выполняет Java-машина. [4]

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

В нынешнее время используется сложная схема, которая называется JIT-компиляцией – компиляция "на лету".

Если какая-то инструкция (или же набор инструкций) процессора Javа выполняется в первый раз, то происходит компиляция байт-кода с хранением скомпилированного куска кода в буфере.

На сегодняшний день создание программного обеспечения представляет собой чрезвычайно тяжелое занятие. Трудности связаны с разнообразием архитектур машин, операционных систем, графических оболочек и т.д.. Кроме того, ваши приложения должны работать в распределенных системах. Стремительный рост технологий, связанных с Интернетом, WWW и "электронной коммерцией", дополнительно усложняют эту задачу. Модный ныне объектно-ориентированный подход сам по себе не решает этих проблем, более того, часто привносит новые.


Предлагаемый фирмой Sun Microsystems подход, а именно система программирования на основе языка Java(TM) обладает следующими характеристиками:

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

СвойстваJava:

  • Java проста, объектно ориентированна и знакома;
  • Система Java создана на основе простого языка программирования, техника использования которого близка к общепринятой и обучение которому не требует значительных усилий.
  • Java как язык программирования является объектно ориентированной с момента основания. Кроме того программист с самого начала обеспечивается набором *стандартных* библиотек, обеспечивающих функциональность от стандартного ввода/вывода и сетевых протоколов до графических пользовательских интерфейсов. Эти библиотеки легко могут быть расширены.
  • Несмотря на то, что язык С++ был отвергнут, синтаксис языка Java максимально приближен к синтаксису С++. Это делает язык знакомым широкому кругу программистов. В то же время из языка были удалены многие свойства, которые делают С++ излишне сложным для пользования, не являясь абсолютно необходимыми. В результате язык Java получился более простым и органичным, чем С++.

Надежность и безопасность:

  • Java существенно облегчает создание надежного программного обеспечения.
  • Кроме исчерпывающей проверки на этапе компиляции, система предусматривается анализ на этапе выполнения.
  • Сам язык спроектирован так, чтобы вырабатывать у программиста привычку писать "правильно". Модель работы с памятью, в которой исключено использование указателей, делает невозможными целый класс ошибок, характерных для С и С++.
  • В силу того, что Java предназначена для работы в распределенной среде, безопасность становится чрезвычайно важной проблемой. Требования безопасности определяют многие черты как языка, так и реализации всей системы.

Независимость от архитектуры и переносимость:

  • Компилятор Java производит байт-коды, т.е. модули приложения имеют архитектурно-независимый формат, который может быть проинтерпретирован на множестве разнообразных платформ. Это уже не исходные тексты, но еще не платформно-зависимые машинные коды.
  • Следующий шаг -- "замораживание" стандарта на формат основных встроенных типов данных. Программа, созданная на одной платформе, работает на всех остальных.
  • Этот стандарт фиксирован в документе, описывающем Java Virtual Machine. Стандарт может быть реализован на любой аппаратно-программной платформе, поддерживающей многопотоковость.

Заключение

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

Только такое ПО может выдерживать конкуренцию на рынке программных продуктов. Сегодня процесс программирования на любительском уровне никому не нужен.

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

Сначала возникло операторное и командное программирование, а далее начало развиваться структурное программирование, основным представителем которого является ЯП С.

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

Обработка сложных структур данных в процессе программирования – бизнес-информации, текста, Internet-страниц, баз данных и т.д. – это одна из самых распространенных возможностей использования языка. В прикладном программировании проще назвать, наверное, те области, где ЯП С применяется мало. Для этого, как правило, используют ЯП Java.

Список литературы

  1. Аммерааль Л. STL для программистов на Java: Пер. с англ. — М.: ДМК, 2016. — 240 с.
  2. Бочков С. О., Субботин Д. М. Язык программирования Java для персонального компьютера. — М.: Радио и связь, 2014. — 384 с.
  3. Бобровский С. Самоучитель програмирования на языке С в среде Borland СИ Builder М.: ИНФРА-М, 2013.–251 c.
  4. Бруно Бабэ. Просто и ясно о Borland С: Пер. с англ. - Москва: БИНОМ, 2014. – 400с.
  5. Джосьютис Н. М. Java. Стандартная библиотека. Для профессионалов: Пер. с англ. — СПб.: Питер, 2014. — 730 с.
  6. Керниган Б. В., Ритчи Д. М. Язык программирования Си: Пер. с англ. — 3-е изд. — СПб.: Невский Диалект, 2015. — 352 с.
  7. Липпман С. Б. Основы программирования на СИ: Пер. с англ. — М.: Вильямс, 2013. — 256 с.
  8. Липпман С. Б., Лажойе Ж. Язык программирования Java. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2014. — 1104 с.
  9. Лишнер Р. STL. Карманный справочник: Пер. с англ. — СПб.: Питер, 2015. — 187 с.
  10. Мейерс С. Эффективное использование STL: Пер. с англ. — СПб.: Питер, 2013. — 224 с.
  11. Оллисон Ч. Философия Java. Практическое программирование. С.Петербург 2014. – 608 с.:ил.
  12. Послед Б.С. Borland С Builder 6. Разработка приложений баз. М.: 2013г. -360 г.