Файл: История возникновения и развития языка программирования Си (С++) и Java.pdf
Добавлен: 29.03.2023
Просмотров: 152
Скачиваний: 4
СОДЕРЖАНИЕ
1 Алгоритмические языки программирования и их развитие
1.1 История развития алгоритмических языков программирования
1.2 Области применения языков программирования
1.3 Парадигмы программирования
1.4 Стандартизация языков программирования
1.6 Трансляция (компиляция) программ
2 История возникновения и развития языка программирования С++
3 История возникновения и развития языка программирования Java
4 Анализ современных тенденций развития языков программирования
Язык Java, ставший в последнее время очень распространенным, постепенно был значительно расширен и модифицирован: новая спецификация получила название Java 2.
В процессе развития языка некоторые его конструкции и функции стареют. Однако, в целях обратной совместимости, новые версии должны поддерживать и все устаревшие возможности. Это приводит к «разбуханию компиляторов». В последнее время в реализациях введено понятие рекомендованных и устаревших возможностей. В первом случае следующий стандарт еще будет поддерживать рекомендованную возможность, но может перевести ее и в категорию устаревшей. Во втором случае стандарт может исключить поддержку возможности, объявленной ранее как устаревшей. Введение рекомендованных и устаревших возможностей обеспечивают производителей временным интервалом, в течение которого они могут модифицировать код в соответствии с новыми требованиями стандарта.
1.5 Среда проектирования
С развитием языков программирования совершенствовались и средства разработки программ – от режима командной строки к интегрированной среде проектирования. Такая среда предоставляет удобный графический интерфейс разработки и большой спектр сервисов, включающих управление версиями данных, хранящихся утилит просмотра и управления информацией, библиотек классов, мастеров создания шаблонов приложений и тому подобное.
Компилятор языка программирования выступает как составная часть среды проектирования. Сама программа наряду с конструкциями, которые предусматриваются стандартом, как правило использует библиотечные функции и предоставляются средой проектирования. К интегрированной среде проектирования Visual Studio.NET входит библиотека классов MFC (Microsoft Foundation Classes), которая значительно упрощает процесс разработки приложений, использующих оконный интерфейс.
Интегрированная среда проектирования Visual Studio.NET позволяет создавать и компилировать приложения на языках C ++, C #, Visual Basic и Visual J #. Для разработки приложений на языке C ++ используется также среда CBuilder.
Для проектирования приложений на языке Object Pascal используется интегрированная среда проектирования Borland Developer Studio (Delphi).
Наиболее удобной средой разработки программ на языке Java является интегрированная среда проектирования JBuilder.
1.6 Трансляция (компиляция) программ
Программа, написанная на языке высокого уровня, перед выполнением должна быть преобразована в программу на «машинном языке». Такой процесс называется трансляцией или компиляцией. По типу исходных данных различают два основных типа трансляторов:
- собирающие конечный исполняющий код;
- собирающие интерпретирующий код, для выполнения которого требуется дополнительное программное обеспечение.
Конечным исполняющим кодом являются приложения, реализуемые как EXE-файлы, DLL-библиотеки, COM-компоненты. К интерпретирующему коду можно отнести байт-код JAVA-программы, который выполняется с помощью виртуальной машины JVM.
Языки, которые формируют конечный исполняющий код, называются компиляционными языками. К ним относятся языки: С, С ++, FORTRAN, Pascal. Языки, реализующие интерпретирующий код, называются интерпретируемыми языками. К таким языкам относится язык Java, LISP, Perl, Prolog.
В большинстве случаев код, который создается в результате процесса трансляции, формируется из нескольких программных модулей. Программным модулем называется определенным образом оформленный код на языке высокого уровня. Процесс трансляции в этом случае может выполняться как единое целое – компиляция и редактирование связей, или двух отдельных этапов – сначала компиляция объектных модулей, а после вызов редактора связей для создания конечного кода. Этот подход более удобный для разработки программ. Он реализуется в трансляторах языков C и C ++.
Объектный код, который создается компилятором, представляет собой область данных и области машинных команд, имеющих адреса, которые в дальнейшем «соглашаются» с редактором связи (или загрузчиком). Редактор связи размещает в едином адресе пространстве все отдельно откомпилированные объектные модули и библиотеки, подключаемые статически.
Код, который получается в результате трансляции исходной программы, называют исполняющей формой программы.
2 История возникновения и развития языка программирования С++
C++ (Си-плюс-плюс) – универсальный язык программирования высокого уровня с поддержкой нескольких парадигм программирования: объектно-ориентированной, обобщенной и процедурной. Разработал Страуструп (англ. Bjarne Stroustrup) в AT & T Bell Laboratories (Мюррей-Хилл, Нью-Джерси) в 1979 году и назван «Си с классами». Страуструп переименовал язык в C++ в 1983. Базируется на языке С. Определен стандартом ISO / IEC 14882: 2003.
В 1990-х годах С++ стал одним из важнейших языков программирования общего назначения.
При создании С++ стремились сохранить совместимость с языком С. Большинство программ на С исправно работают и с компилятором С++. С++ имеет синтаксис, основанный на синтаксисе С.
Нововведениями С++ по сравнению с С являются:
- поддержка объектно-ориентированного программирования через классы;
- поддержка обобщенного программирования через шаблоны;
- дополнение к стандартной библиотеке;
- дополнительные типы данных;
- обработка исключений;
- пространства имен;
- встроенные функции;
- перегрузки операторов;
- перегрузки имен функций;
- ссылки и операторы управления свободно распределенной памяти.
В 1998 году ратифицирован международный стандарт языка С++: ISO/IEC 14882 «Standard for the C ++ Programming Language». Текущая версия стандарта – ISO / IEC 14882: 2003.
История развития языка программирования С ++ содержит такие ключевые события:
- Апрель 1979 – начало работы над Cи с классами (C with Classes).
- Октябрь 1979 – рабочая версия Cи с классами (Cpre).
- Август 1983 – C ++ впервые используется в Bell Labs.
- 1984 – название C ++.
- Февраль 1985 – первый внешний выпуск C ++ – Cfront Relese E (Educational – выпуск для учебных заведений).
- Октябрь 1985 – первый коммерческий выпуск – Cfront 1.0.
- Февраль 1987 – Cfront 1.2.
- Декабрь 1987 – первый выпуск GNU C++ (1.13).
- 1988 – Первые выпуски Oregon Software C++ и Zortech C++.
- Июнь 1989 – Cfront 2.0.
- 1989 – книга «The Annotated C++ Reference Manual» (ARM). Основан комитет ANSI C++.
- 1990 – первая техническая встреча комитета ANSI C++; приняты шаблоны (templates), исключительные ситуации (exceptions) первый выпуск Borland C++.
- 1991 – Первая встреча ISO; Cfront 3.0 (с шаблонами) книга «The C ++ Programming Language» (2-я редакция).
- 1992 – Первые выпуски IBM, DEC, Microsoft C++.
- 1993 – RTTI (Run-time type identification – определение типа во время выполнения) принято; пространства имен (namespaces) и string (шаблонный по символьным типом) принято.
- 1994 – принято STL.
- 1996 – принято export.
- 1997 – окончательное голосование комитета, завершенный стандарт.
- 1998 – ратифицирован стандарт ISO C++.
- 2003 – технические поправки к стандарту; начало работы над C ++ 0x.
- 2005 – первое голосование по возможности C ++ 0x; auto, static_assert, rvalue references принятые в общем.
- 2006 – Первое официальное голосование по C ++ 0x.
Название «Си++» была придумана Риком Масситти (Rick Mascitti) и впервые использована в декабре 1983 года. Ранее, на этапе разработки, новый язык назывался «Си с классами». Имя, которое получилось в итоге, происходит от оператора Си «++» (увеличение значения переменной на единицу) и распространенном способе присвоения новых имен компьютерным программам, заключается в добавлении к имени символа «+» для обозначения улучшений. Согласно Страуструпом, «это название указывает на эволюционную природу изменений Cи».
Некоторые программисты на Си могут заметить, что если выполняются выражения x = 3; y = x ++; то в результате получится x = 4 и y = 3. Однако если второе выражение будет y = ++ x; то получится x = 4 и y = 4. Исходя из этого, можно сделать вывод, что логичнее было бы назвать языке не Си ++, а ++ Си. Однако оба выражения c ++ и ++ c увеличивают с, а кроме того выражение c ++ распространенней.
Педанты также могут отметить, что введение языка Си ++ не изменяет самого Си, поэтому самым точным именем было бы «С + 1».
3 История возникновения и развития языка программирования Java
В 1991 году группа инженеров из компании Sun под руководством Патрика Нотона и члена совета директоров Джеймса Гослинга занялась разработкой небольшого языка, который можно было бы использовать для программирования бытовых устройств, например, контроллеров для переключения кабельного телевидения.
Поскольку такие устройства не потребляют много энергии и не имеют больших микросхем памяти, язык должен быть маленьким и генерировать очень компактные программы. Кроме того, поскольку разные производители могут выбирать различные центральные процессоры, было важно не увязнуть в какой-то одной архитектуре компьютеров. Проект получил кодовое название «Green».
Стремящиеся изобрести небольшой, компактный и машинно-независимый код, разработчики возродили модель, использованную при реализации первых версий языка Pascal на заре эры персональных компьютеров.
Никлаус Вирт, создатель языка Pascal, в свое время разработал машинно-независимый язык, который генерирует промежуточный код для какой-то гипотетической машины. Этот язык стал коммерческим продуктом под названием UCSD Pascal. (Такие гипотетические машины часто называются виртуальными – например, виртуальная машина языка Java, или JVM.)
Этот промежуточный код можно выполнять на любой машине, имеющей соответствующий интерпретатор.
Инженеры, работавшие над проектом «Green», также использовали виртуальную машину, что решило их основную проблему.
Поэтому основной причиной возникновения Java была потребность в языке программирования, который не зависел от платформы (т.е. от архитектуры) и который можно было бы использовать для создания программного обеспечения, которое встраивается в различных бытовых электронных приборах, таких как мобильные средства связи, устройства дистанционного управления и т.п.
История развития языка Java:
- JDK 1.0 (23 января 1996).
- JDK 1.1 (19 октября 1997) – добавлены внутренние классы, JavaBeans, JDBC, RMI, переработанные события AWT.
- J2SE 1.2 (Playground) 4 декабря 1998 – разделение на 3 редакции: J2SE (Java 2 Platform, Standard Edition), J2EE (Java 2 Platform, Enterprise Edition), J2ME (Java 2 Platform, Micro Edition), strictfp, reflection, Swing, JIT compiler, Collections.
- J2SE 1.3 (Kestrel) 8 мая 2000.
- J2SE 1.4.0 (Merlin) 13 февраля 2002.
- J2SE 5.0 (1.5.0) (Tiger) 29 сентября 2004 – существенная доработка языка. Добавлен ряд элементов, например, цикл for each, объектное представление простых типов и др. Также изменен принцип нумерации версий.
- Java SE 6 (1.6.0) (Mustang) 11 декабря 2006.
- Java SE 7 (1.7.0) (Dolphin) 28 июля 2011.
- Java SE 8 (1.8.0) (codenames have been discontinued, but the codename Spider is common among java developers) 18 марта 2014 – добавлена поддержка лямбда-выражений.
4 Анализ современных тенденций развития языков программирования
Языки программирования создаются с завидной регулярностью. По данным Википедии их насчитывается 240 разновидностей. Но этот список включает популярные, общепринятые коды. Для будущего специалиста не обязательно учить все. Но знать, наиболее востребованные языки программирования, нужно.
Правильный выбор гарантирует, что специалист будет востребован и с легкостью найдет работу. Рассмотрим наиболее востребованные языки программирования в 2019 и выделим, где они применяются и в каких отраслях используются.
Весь западный мир использует индекс TIOBE, чтобы определить, какой из языков программирования наиболее популярен (рисунок 4.1).
Рисунок 4.1 – Рейтинг язык программирования по популярности TIOBE
Недостаток этого метода для СНГ в том, что отечественные разработчики делают продукты под конкретного потребителя, поэтому ориентированы на решение других задач. Рассматривать представленные результаты можно, как общую информацию. Но когда речь заходит о выборе профессии, понадобиться больше конкретики и объективных данных.
Любой компьютерный топ обязательно включает JavaScript, это действительно самый популярный язык программирования, который должен быть в арсенале каждого, кто стал специалистом. На счет остального набора в сети нет единого мнения. Чтобы узнать правду, был проанализирован HeadHunter –крупнейший сайт для поиска работы и размещение вакансий.