Файл: История возникновения и развития языка программирования Си (С++) и Java (Основы алгоритмизации).pdf
Добавлен: 31.03.2023
Просмотров: 243
Скачиваний: 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.
Список литературы
- Аммерааль Л. STL для программистов на Java: Пер. с англ. — М.: ДМК, 2016. — 240 с.
- Бочков С. О., Субботин Д. М. Язык программирования Java для персонального компьютера. — М.: Радио и связь, 2014. — 384 с.
- Бобровский С. Самоучитель програмирования на языке С в среде Borland СИ Builder М.: ИНФРА-М, 2013.–251 c.
- Бруно Бабэ. Просто и ясно о Borland С: Пер. с англ. - Москва: БИНОМ, 2014. – 400с.
- Джосьютис Н. М. Java. Стандартная библиотека. Для профессионалов: Пер. с англ. — СПб.: Питер, 2014. — 730 с.
- Керниган Б. В., Ритчи Д. М. Язык программирования Си: Пер. с англ. — 3-е изд. — СПб.: Невский Диалект, 2015. — 352 с.
- Липпман С. Б. Основы программирования на СИ: Пер. с англ. — М.: Вильямс, 2013. — 256 с.
- Липпман С. Б., Лажойе Ж. Язык программирования Java. Вводный курс: Пер. с англ. — 3-е изд. — М.: ДМК, 2014. — 1104 с.
- Лишнер Р. STL. Карманный справочник: Пер. с англ. — СПб.: Питер, 2015. — 187 с.
- Мейерс С. Эффективное использование STL: Пер. с англ. — СПб.: Питер, 2013. — 224 с.
- Оллисон Ч. Философия Java. Практическое программирование. С.Петербург 2014. – 608 с.:ил.
- Послед Б.С. Borland С Builder 6. Разработка приложений баз. М.: 2013г. -360 г.