Файл: История возникновения и развития языка программирования Си (С++) и Java (Развитие программирования в СССР).pdf
Добавлен: 30.04.2023
Просмотров: 74
Скачиваний: 2
Все вышеперечисленное доказывает, что язык программирования С является структурным языком с началами объектно-ориентированного программирования.
Стремительное распространение языка C на разнообразных типах аппаратных платформ приводит к появлению различных вариаций языка. Такие вариации зачастую являются очень похожими, но редко совместимыми друг с другом. Все это являлось очень серьезной проблемой для разработчиков программ того времени, которые нуждались в создании совместимых программ, которые можно было бы выполнять на нескольких платформах. Исходя из вышесказанного, стало ясно, что необходимо изобрести стандартную версию C.
В 1983 году Американским Национальным Комитетом Стандартов (ANSI) был сформирован технический комитет X3J11. Задачей данного комитета явилось создание стандарта языка C. Это было сделано, чтобы обеспечить машинно-независимое и недвусмысленное определение языка C.
В 1989 году такой стандарт был создан и утвержден. Американский Национальный Комитет Стандартов был объединен с Международной Организацией Стандартов (ISO) для того, чтобы в международном масштабе стандартизовать язык C. Совместно созданный стандарт получил название ANSI/ISO 9899:1990 и был опубликован в 1990 году. Стандарт ANSI/ISO 9899:1990 модернизируется до сих пор и его использует большинство фирм разработчиков компиляторов[11].
Бьерн Страуструп высвободил объектно-ориентированный потенциал С путем перенесения возможностей классов Simula 67 в С.
Изначально обновленный язык назывался «С с классами», а затем получил название C++. На сегодняшнее время язык C++ уже не такой популярный как ранее. Язык C++ наследует от языка С как преимущества, так и недостатки.
Бьерн Страуструп писал о языке C++:
"Я придумал C++, записал его первоначальное определение и выполнил первую реализацию. Я выбрал и сформулировал критерии проектирования C++, разработал его основные возможности и отвечал за судьбу предложений по расширению языка в комитете по стандартизации C++", - пишет автор одного из самых популярных языков программирования. - "Язык C++ во многом обязан языку C, и язык C остается подмножеством языка C++, но в C++ устранены несколько серьезных ошибок системы типов C. Я также сохранил средства C, являющиеся достаточно низкоуровневыми, чтобы справляться с самыми критическими системными задачами. Язык C, в свой черед во многом обязан своему предшественнику, BCPL, в месте с тем, стиль комментариев // был взят в C++ именно из BCPL. Иным базовым источником вдохновения был язык программирования Simula67. Концепция производных классов и виртуальных функций была позаимствована из этого языка программирования[9]. Средства перегрузки операторов и возможность помещения объявлений в любом месте, где может быть записана инструкция, напоминает Algol68. "
Название C++ предложил Рик Масситти. Выбранное название обозначает эволюционную природу перехода к нему от C. Символы «++» означают операцию приращения в C. Если использовать один «+» вместо двух, то это будет являться синтаксической ошибкой; помимо этого, данное название уже было использовано как имя совсем иного языка программирования. Знатоки семантики C считают, что C++ намного хуже, чем обозначение ++C. Имя D этот язык не получил, так как он является расширением C и в нем не делается попыток исцеляться от проблем путем выбрасывания различных особенностей.
Вначале язык программирования C++ был разработан для того, чтобы автору данного языка и его друзьям не приходилось программировать на ассемблере, C или других языках высокого уровня. Основной целью было достичь того, чтобы сделать написание хороших программ более простым и приятным для отдельного программиста. Плана разработки языка C++ на бумаге никогда не было; документация, проект и реализация двигались одновременно[9].
Естественно, внешний интерфейс C++ был написан на C++. Никогда не существовало "Проекта C++" и "Комитета по разработке C++". Поэтому C++ развивался во всех направлениях, чтобы справляться со сложностями, с которыми сталкиваются пользователи, а также в процессе дискуссий автора с его друзьями и коллегами[10].
В языке С++ полностью поддерживаются принципы объектно-ориентированного программирования, включая три кита, на которых оно стоит: инкапсуляция, наследование и полиморфизм.
Инкапсуляция в С++ сохраняется с помощью создания пользовательских типов данных, которые называются классами.
Наследование языка С++ означает, что есть возможность объявить новый тип данных, который является расширением существующего.
Несмотря на то что, язык программирования С++ является продолжением С и абсолютно любая работоспособная программа на языке С поддерживается компилятором С++, при переходе от С к С++ был сделан огромный скачок.
Язык С++ выигрывал от своего родства с языком С в течение многих лет, поскольку многие программисты обнаружили, что для того, чтобы в полной мере воспользоваться преимуществами языка С++, им нужно отказаться от некоторых своих прежних знаний и приобрести новые, а именно: изучить новый способ концептуальности и решения проблем программирования. Хотя язык С++ является производным от языка С, но при освоении первого необязательно изучать второй.
3 История возникновения и развития языка программирования Java
В этом разделе курсовой работы кратко описывается история языка Java. В основу этого раздела положены различные опубликованные материалы (в основном, интервью с создателями языка Java в июльском выпуске электронного журнала SunWorld за 1995 год)[12].
История Java восходит к 1991 году, когда группа инженеров из компании Sun под руководством Патрика Нотона (Patrick Naughton) и члена Совета директоров (и разностороннего компьютерного волшебника) Джеймса Гослинга (James Gosling) занялась разработкой небольшого языка, который можно было бы использовать для программирования бытовых устройств, например, контроллеров для переключения каналов кабельного телевидения (cable TV switchboxes).
Поскольку такие устройства не потребляют много энергии и не имеют больших микросхем памяти, Java должен был быть маленьким и генерировать очень компактные программы. Кроме того, поскольку разные производители могут выбирать разные центральные процессоры (Central Processor Unit— CPU), было важно не завязнуть в какой-то одной архитектуре компьютеров. Проект получил кодовое название "Green"[11].
Центральный процессор - электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (код программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором[5].
Стремясь изобрести небольшой, компактный и машинонезависимый код, разработчики возродили модель, использованную при реализации первых версий языка Pascal заре эры персональных компьютеров.
Никлаус Вирт, создатель языка Pascal, в свое время разработал машинонезависимый язык, генерирующий промежуточный код для некоей гипотетической машины. Этот язык стал коммерческим продуктом под названием UCSD Pascal. (Такие гипотетические машины часто называются виртуальными — например, виртуальная машина языка Java, или JVM.)
Этот промежуточный код можно выполнять на любой машине, имеющей соответствующий интерпретатор. Инженеры, работавшие над проектом "Green", также использовали виртуальную машину, что решило их основную проблему.
Интерпретатор — программа (разновидность транслятора), выполняющая интерпретацию[5].
Интерпретация — построчный анализ, обработка и выполнение исходного кода программы или запроса (в отличие от компиляции, где весь текст программы, перед запуском, анализируется и транслируется в машинный или байт-код, без её выполнения) [5].
Однако большинство сотрудников компании Sun имели опыт работы с операционной системой UNIX, поэтому в основу разрабатываемого ими языка был положен язык C++, а не Pascal. В частности, они сделали язык объектно-, а не процедурно-ориентированным.
Как сказал Гослинг в своем интервью: "Язык — это всегда средство, а не цель".
Сначала Гослинг решил назвать его "Oak" ("Дуб"). (Возможно потому, что он любил смотреть на дуб, растущий прямо под окнами его офиса в компании Sun.) Потом сотрудники компании Sun узнали, что слово Oak уже используется в качестве имени ранее созданного языка программирования, и изменили название Java[13].
В 1992 году в рамках проекта Green была выпущена первая продукция, названная "*7". Это было средство для чрезвычайно интеллектуального дистанционного управления. (Оно имело мощность рабочей станции SPARK, помещаясь в коробочке размером 6x4x4 дюйма.) К сожалению, ни одна из компаний— производителей электронной техники не заинтересовалась этим изобретением.
Затем группа стала заниматься разработкой устройства для кабельного телевидения, которое могло бы осуществлять новые виды услуг, например, включать видеосистему по требованию. И снова они не получили ни одного контракта. Забавно, что одной из компаний, отказавшихся подписать с ними контракт, руководил Джим Кларк (Jim Clark) — основатель компании Netscape, впоследствии сделавшей очень много для успеха языка Java[14].
Весь 1993 год и половину 1994 года продолжались безрезультатные поиски покупателей продукции, разработанной в рамках проекта "Green" (под новым названием "First Person, Inc."). Патрик Нотон, один из основателей группы, впоследствии в основном занимавшийся маркетингом, налетал в общей сложности более 300 тысяч миль, пытаясь продать разработанную технологию. Проект "First Person, Inc." был прекращен в 1994 году.
Тем временем в рамках Интернет разрасталась сеть World Wide Web. Ключом к этой сети является браузер, превращающий гипертекст в изображение на экране.
В 1994 году большинство людей пользовалось браузером Mosaic, некоммерческим Web-броузером, разработанным в суперкомпьютерном центре Университета штата Иллинойс (University of Illinois) в 1993 году. Частично этот браузер был написан Марком Андреессеном (Mark Andreessen) за 6,85 доллара в час. В то время Марк заканчивал университет и браузер был его дипломной работой. Затем он стал одним из основателей и главным программистом компании Netscape, и к нему пришли слава и богатство.
В своем интервью журналу Sun World Гослинг сказал, что в середине 1994 года разработчики языка поняли: "Нам нужно создать действительно крутой браузер. Такой браузер должен представлять собой одно из немногих приложений модной клиент-серверной технологии, в которой жизненно важным было бы именно то, что мы сделали: архитектурная независимость, выполнение в реальном времени, надежность, безопасность — вопросы, не являвшиеся чрезвычайно важными для рабочих станций. И мы создали такой браузер".
На самом деле браузер был разработан Патриком Нотоном и Джонатаном Пэйном (Johnatan Payne). Позднее он превратился в современный браузер HotJava. Этот браузер был написан на языке Java, чтобы продемонстрировать всю его мощь. Однако разработчики не забывали о мощных средствах, которые теперь называются апплетами, наделив свой браузер способностью выполнять код внутри Web-страниц[14].
"Демонстрация технологии" была представлена на выставке Sun World '95 23 мая 1995 года и вызвала всеобщее помешательство на почве языка Java, продолжающееся и поныне.
Компания Sun выпустила первую версию языка Java в начале 1996 года. Через несколько месяцев после нее появилась версия Java 1.02. Люди быстро поняли, что версия Java 1.02 не подходит для разработки серьезных приложений. Конечно, эту версию можно применять для разработки Web-страниц с пляшущими человечками, однако в версии Java 1.02 ничего нельзя даже напечатать.
Честно говоря, версия Java 1.02 была еще сырой. Ее преемница, версия Java 1.1, заполнила большинство провалов, намного улучшив возможность отражения и добавив новую модель событий для программирования графического пользовательского интерфейса. Несмотря на это, она все еще была довольно ограниченной.
Выпуск версии Java 1.2 стал основной новостью конференции JavaOne в 1998 году.
В новой версии слабые средства для создания графического пользовательского интерфейса и графических приложений были заменены сложным и масштабным инструментарием. Это был шаг вперед, к реализации лозунга "Write Once, Run Anywhere" ("Один раз напиши— и везде выполняй"), выдвинутого при разработке предыдущих версий.
В декабре 1998 года через три дня после выхода в свет название новой версии было изменено на громоздкое словосочетание Java 2 Standart Edition Software Development Kit Version 1.2. Стандартное издание пакета инструментальных средств для разработки программного обеспечения на языке Java 2, версия 1.2.
Кроме стандартного издания пакета ("Standart Edition") были предложены еще два варианта: "микроиздание" ("Micro Edition") для портативных устройств, например, для мобильных телефонов, и "промышленное издание" ("Enterprise Edition") для создания серверных приложений[14].