Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Критерии выбора среды и языка разработки программ).pdf
Добавлен: 31.03.2023
Просмотров: 244
Скачиваний: 1
СОДЕРЖАНИЕ
Глава 1 Классификация языков программирования
1.1 История развития языков программирования
1.2 Классификация языков программирования
Глава 2 Критерии выбора среды и языка разработки программ
2.1 Наиболее известные языки программирования
Глава 2 Критерии выбора среды и языка разработки программ
2.1 Наиболее известные языки программирования
Java широко известна как новейший объектно-ориентированный язык, легкий в изучении и позволяющий создавать программы, которые могут исполняться на любой платформе без каких-либо доработок. Известно, что Java ориентирована на Internet, и самое распространенное ее применение - небольшие программы, апплеты, которые запускаются в браузере и являются частью HTML -страниц.
В различных Internet – источниках можно найти информацию о том, что язык Java, раннее имевший название OaK («дуб»), начал свою историю в 1990 году со скандальной истории внутри корпорации Sun. Николай Вязовик в своей лекции «Программирования на Java» [8], приводит довольно интересную историю.
Если верить ему, то, действительно, события начинают разворачиваться в декабре 1990 года, когда бурное развитие WWW (WorldWideWeb - «всемирная паутина») никто не мог еще даже предсказать. Тогда компьютерная индустрия была поглощена взлетом персональных компьютеров. К сожалению, фирма Sun Microsystems, занимающая значительную долю рынка серверов и высокопроизводительных станций, по мнению многих сотрудников и независимых экспертов, не могла предложить ничего интересного для обычных пользователей «персоналок» - для них компьютеры от Sun представлялись «слишком сложными, очень некрасивыми и чересчур «тупыми» устройствами».
Поэтому Скотт МакНили, член совета директоров, президент и CEO (исполнительный директор) корпорации Sun, не был удивлен, когда 25-летний хорошо зарекомендовавший себя программист Патрик Нотон, проработав всего 3 года, объявил о своем желании перейти в компанию NeXT. Они были друзьями, и Патрик объяснил свое решение просто и коротко: «Они все делают правильно». Скотт задумался на секунду и произнес историческую фразу. Он попросил Патрика перед уходом описать, что, по его мнению, в Sun делается неверно. Надо было не просто рассказать о проблеме, но предложить решение, не оглядываясь на существующие правила и традиции, как будто в его распоряжении имеются неограниченные ресурсы и возможности, язык программирование память компьютер.
Патрик Нотон выполнил просьбу. Он безжалостно раскритиковал новую программную архитектуру NeWS, над которой фирма работала в то время, а также высоко оценил только что объявленную операционную систему NeXTstep. Нотон предложил привлечь профессиональных художников-дизайнеров, чтобы сделать пользовательские интерфейсы Sun более привлекательными; выбрать одно средство разработки и сконцентрировать усилия на одной оконной технологии, а не на нескольких сразу; наконец, уволить почти всех сотрудников из Window Systems Group (если выполнить предыдущие условия, они будут просто не нужны).
Конечно, Нотон был уверен, что его письмо просто проигнорируют, но все жеотложил свой переход в NeXT в ожидании какой-нибудь ответной реакции. Однакоона превзошла все ожидания.
МакНили разослал письмо Нотона всему управляющему составу корпорации, а те переслали его своим ведущим специалистам. Откликнулись буквально все, и, по общему мнению, Нотон описал то, о чем все думали, но боялись высказать. Решающей оказалась поддержка Билла Джоя и Джеймса Гослинга. Билл Джой - один из основателей и вице-президент Sun, а также участник проекта по созданию операционной системы UNIX в университете Беркли. Джеймс Гослинг пришел в Sun в 1984 году (до этого он работал в исследовательской лаборатории IBM) и был ведущим разработчиком, а также автором первой реализации текстового редактора EMACS на C. Эти люди имели огромный авторитет в корпорации.
Чтобы не останавливаться на достигнутом, Нотон решил предложить какой-то совершенно новый проект. Он объединился с группой технических специалистов, и они просидели до 4.30 утра, обсуждая базовые концепции такого проекта. Их получилось всего три: главное - потребитель, и все строится исключительно в соответствии с его интересами; небольшая команда должна спроектировать небольшую аппаратно-программную платформу; эту платформу нужно воплотить в устройстве, предназначенном для персонального пользования, удобном и простом в обращении - т.е. создать компьютер для обычных людей. Этих идей оказалось достаточно, чтобы Джон Гейдж, руководитель научных исследований Sun, смог организовать презентацию для высшего руководства корпорации. Нотон изложил условия, которые он считал необходимыми для успешного развития этого предприятия: команда должна расположиться вне офиса Sun, чтобы не испытывать никакого сопротивления революционным идеям; проект будет секретным для всех, кроме высшего руководства Sun; аппаратная и программная платформы могут быть несовместимы с продуктами Sun; на первый год группе необходим миллион долларов.
5 декабря 1990 года, в день, когда Нотон должен был перейти в компанию NeXT, Sun сделала ему встречное предложение. Руководство согласилось со всеми его условиями. Поставленная задача - «создать что-нибудь необычайное». 1 февраля 1991 года Патрик Нотон, Джеймс Гослинг и Майк Шеридан вплотную приступили к реализации проекта, который получил название Green.
Их целью стало выяснить, какой будет следующая волна развития компьютерной индустрии (первыми считаются появление полупроводников и ПК) и какие продукты необходимо разработать для успешного участия в ней. В итоге они должны были создать реальное устройство.
На ежегодном собрании Sun весной 1991 года Гослинг заметил, что компьютерные чипы получили необычайное распространение. Тем не менее, до сих пор в каждом доме можно увидеть до трех пультов дистанционного управления - для телевизора, видеомагнитофона и музыкального центра. Так родилась идея разработать небольшое устройство с жидкокристаллическим сенсорным экраном, которое будет взаимодействовать с пользователем с помощью анимации, показывая, чем можно управлять и как. В апреле 1991 года команда покидает офис Sun, отключаясь даже от внутренней сети корпорации, и въезжает в новое помещение. Закупаются разнообразные бытовые электронные устройства, такие как игровые приставки Nintendo, телевизионные приставки, пульты дистанционного управления, и разработчики играют в различные игры целыми днями, чтобы лучше понять, как сделать пользовательский интерфейс легким в понимании и использовании. Исследователи быстро обнаружили, что практически все устройства построены на самых разных центральных процессорах. Это означает, что добавление новых функциональных возможностей крайне затруднено, так как необходимо учитывать ограничения и, как правило, довольно скудные возможности используемых чипов. Когда же Гослинг побывал на концерте, где смог воочию наблюдать сложное переплетение проводов, огромное количество колонок и полуавтоматических прожекторов, которые, казалось, согласованно двигаются в такт музыке, он понял, что будущее - за объединением сетей, компьютеров и других электронных устройств в единую согласованную инфраструктуру.
Сначала Гослинг попытался модифицировать С++, чтобы создать язык для написания программ, минимально ориентированных на конкретные платформы. Однако очень скоро стало понятно, что это практически невозможно. Поэтому в июне 1991 года Гослинг начинает разработку замены C++. Создавая новый каталог и раздумывая, как его назвать, он выглянул в окно, и взгляд его остановился на растущем под ним дереве. Так язык получил свое первое название - OaK(дуб). Спустя несколько лет, после проведения маркетинговых исследований, имя сменили на Java.
Само устройство, по замыслу создателей, должно было быть размером с обычный пульт дистанционного управления, работать от батареек и иметь привлекательный графический интерфейс. Чтобы построить этот не имеющий аналогов прибор, разработчики применили «технологию молотка». Они находили какой-нибудь аппарат, в котором были подходящие детали или микросхемы, разбивали его молотком и таким образом добывали необходимые части. Так были получены основной жидкокристаллический экран, сенсорный экран и миниатюрные встроенные колонки. Центральный процессор и материнская плата были специально разработаны на основе высокопроизводительной рабочей станции Sun. Было придумано и оригинальное название - *7, или Star7. Для придания интерфейс у большей привлекательности разработчики создали забавного персонажа по имени Дьюк (Duke), который всегда был готов помочь пользователю выполнить его задачу.
4 сентября 1992 года Star7 был завершен и продемонстрирован МакНили. Это было небольшое устройство с 5» цветным (16 бит) сенсорным экраном, без единой кнопки. Чтобы включить его, надо было просто дотронуться до экрана. Весь интерфейс был построен как мультик. Дьюк перемещался по комнатам нарисованного дома, а чтобы управлять им, надо было просто водить по экрану пальцем - никаких специальных средств управления. Можно было взять виртуальную телепрограмму с нарисованного дивана, выбрать передачу и «перетащить» ее на изображение видеомагнитофона, чтобы запрограммировать его на запись.
Результат превзошел все ожидания. Крупные корпорации-производители заинтересовались новой разработкой, и начались переговоры.
Последующие годы были посвящены разработке, усовершенствованию, и подготовке OaK для выхода в свет. Кроме того, в процессе ОаК был переименован маркетологами в Java.
В итоге у разработчиков получилась технология, которая обладает различными свойствами.
Во-первых, язык программирования Java обладает много – и кроссплатформенностью. Это означает, что программное обеспечение работает более чем на одной аппаратной основе и/или операционной системе. Во-вторых, Java объектно-ориентирована, т.е. в ней основными концепциями являются понятия объектов и классов. При этом класс - это тип, описывающий устройство объектов - экземпляров. Класс можно сравнить с чертежом, согласно которому создаются объекты. Обычно классы разрабатывают таким образом, чтобы их объекты соответствовали объектам предметной области. В-третьих, в Java применяется строгая типизация. Это означает, что любая переменная и любое выражение имеет тип, известный уже на момент компиляции. Такой подход применен для упрощения выявления проблем, ведь компилятор сразу сообщает об ошибках и указывает их расположение в коде. Поиск же исключительных ситуаций во время исполнения программы потребует сложного тестирования, при этом причина дефекта может обнаружиться совсем в другом классе. Таким образом, нужно прикладывать дополнительные усилия при написании кода, зато существенно повышается его надежность. Кроме всего вышеперечисленного, Java легка в освоении и разработке, а так же ориентирована на Internet-задачи, сетевые распределенные приложения, что является ощутимым преимуществом для этого языка программирования. Согласно сведениям сайта «Школа программирования IT-centre» [9], кроме персональных компьютеров и серверов, Java активно используется в мобильных телефонах, смарт-картах, а также телеприставках, веб-камерах, системах навигации, принтерах и медицинском оборудовании.
Язык программирования С++
А. Л. Фридман в лекции «Язык программирования С++» [10] дает следующее определение языку программирования C++: это универсальный язык программирования, который позволяет разрабатывать программы в соответствии с разными парадигмами: процедурным программированием, объектно-ориентированным, параметрическим. Согласно данным, представленным в лекции А. Л. Фридмана [10], разработчиком языка программирования С++ был Бьерн Страуструп. В своей работе он опирался на опыт создателей языков Симула, Модула 2, абстрактных типов данных. Основные работы велись в исследовательском центре компании Bell Labs.
Сам создатель языка Бьерн Страуструп в своей книге «Язык программирования С++» [11, с. 14] пишет про то, что С++, безусловно, многим обязан языку С, который сохраняется как его подмножество. Сохранены все свойственные С средства низкого уровня, предназначенные для решения самых насущных задач системного программирования. Название С++ (си плюс плюс) , было придумано Риком Маскитти летом 1983 г. Это название отражает эволюционный характер изменений языка С. Обозначение ++ относится к операции наращивания С.
Бьерн Страуструп в книге [11, с. 15] утверждает, что изначально С++ был задуман для того, чтобы ему и его друзьям не надо было программировать на ассемблере, С или других современных языках высокого уровня. Основным его предназначением было упростить и сделать более приятным процесс программирования для отдельного программиста. До недавнего времени не было плана разработки С++ на бумаге. Проектирование, реализация и документирование шли параллельно. Никогда не существовало «проекта С++» или «Комитета по разработке С++». Поэтому язык развивался и продолжает развиваться так, чтобы преодолеть все проблемы, с которыми столкнулись пользователи. А. Л. Фридман в лекции «Язык программирования С++» [10] пишет, что Си++ как преемник языка Си широко используется в системном программировании. На нем можно писать высокоэффективные программы, в том числе операционные системы, драйверы и т.п. Язык Си++ – один из основных языков разработки трансляторов. Поскольку системное программное обеспечение часто бывает написано на языке Си или Си++, то и программные интерфейсы к подсистемам ОС тоже часто пишут на Си++.
Распределенные системы, функционирующие на разных компьютерах, также разрабатываются на языке Си++. Этому способствует то, что у широко распространенных компонентных моделей CORBA и COM есть удобные интерфейсы на языке Си++.