Слайд 1Классификация языков программирования
Слайд 7КУМИР
КУМИР (Комплект Учебных МИРов) — язык и система программирования, предназначенная
для поддержки начальных курсов информатики и программирования в средней и
высшей школе. Основана на методике, разработанной во второй половине 1980-х годов в СССР, под руководством академика А. П. Ершова. В системе КуМир используется придуманный А. П. Ершовым школьный алгоритмический язык — простой алгол-паскаль-подобный язык с русской лексикой и встроенными командами управления программными исполнителями (Робот, Чертёжник).
Слайд 9BASIC
Русское название языка БЕЙСИК является транскрипцией английской аббревиатуры BASIС: Beginner,
All-purpose Symbolic Instruction Code -- универсальный код (язык) символических инструкций
для начинающих.
История его создания связана с поисками путей решения проблемы: как обучать студентов доступному пониманию технике программирования, как научить их простому общению с ЭВМ.
Двое сотрудников Дармудского колледжа Т. Куртц и Дж. Кемени занялись этой проблемой в конце 50-х годов. Прежде всего они поняли, что необходим такой компьютер, который был бы легок в изучении и использовании и не требовал больших усилий со стороны студентов. Причем было ясно, что студенты не захотят работать с перфокартами, поэтому для общения с ЭВМ необходим режим разделения времени и диалоговый режим работы с машиной.
Кроме этого, решению указанной проблемы содействовала необходимость разработки нового языка программирования, который легко можно изучать и которым легко было бы пользоваться. Применение языка ассемблера или таких языков, как АЛГОЛ или ФОРТРАН, было вне обсуждения исходя из предшествующего опыта преподавания.
Летом 1963 г. началась работа над черновым вариантом БЕЙСИКА -- нового языка. К этому времени группа под руководством Т. Куртца и Дж. Кемени получила на решение проблемы две субсидии от фирмы «General Electric». Реализация разработок языка и операционной системы осуществлялась с осени 1963 г. на компьютерах фирмы «General Electric» -- DATANET -- 30, GE-225, GE-235. Первая программа на БЕЙСИКе с использованием системы разделения времени с тремя терминалами заработала в мае 1964 г.
Слайд 11FORTRAN
FORTRAN - это первый "настоящий" язык программирования высокого уровня. До
его появления, все программы писались на "машинных" языках, учитывающих архитектурные
особенности центральных процессоров ЭВМ различных производителей (фирм). Название Fortran является аббревиатурой от FORmula TRANslator, то есть, переводчик формул.
Фортран широко используется в первую очередь для научных и инженерных вычислений. Одно из преимуществ современного Фортрана — огромное количество написанных на нём программ и библиотек подпрограмм. Современный Фортран (Fortran 95 и Fortran 2003) применяет современные технологии программирования, в частности, объектно-ориентированного программирования (ООП).
До 1997 основным производителем компиляторов Фортрана для IBM PC совместимых компьютеров была корпорация "Майкрософт". Также коммерческие компиляторы поставляла фирма "Digital Equipment Corporation" (DEC),1958-1998 г.г. DEC была куплена компанией "Compaq" и вместе с последней в 2002 г. слилась с "HP". Компания разработала компилятор, интегрированный в среду разработки Digital Visual Fortran, основанную на Microsoft Visual Studio. Известными продуктами этой линейки являлись FPS 4.0 (Microsoft Fortran Power Station), DVF 5.0 и 6.0.
Слайд 12Другим крупным поставщиком систем разработки на Фортране являлась фирма "Lahey",
предлагавшая интегрированные решения для Windows и Linux. Долгое время лучшим
компилятором Фортрана считался компилятор фирмы "Watcom", который был выделен в отдельный проект Opan Watcom и развивавший компилятор на открытой основе. Широко известен и активно развивается также компилятор фирмы Intel - Intel Fortran Compiler, который позволяет оптимизировать код под платформу Intel ia32 и ia64.
Структура программ изначально была ориентирована на ввод с перфокарт с 1-й по 5-ю колонку располагалась область меток, а с 7-й по 72-ю располагался собственно текст оператора или комментария. Колонки с 73-й по 80-ю могли служить для нумерации карт (чтобы восстановить случайно рассыпавшуюся колоду) или для краткого комментария, транслятором они игнорировались. Когда перфокарты ушли в историю, эти достоинства превратились в серьёзные неудобства. Своего рода "визитной карточкой" старого Фортрана является огромное количество меток, которые использовались как в операторах безусловного перехода GOTO , так и в операторах циклов, и в операторах описания форматного ввода/вывода FORMAT. Большое количества меток и операторов GOTO часто делало программы на Фортране трудными для понимания.
Именно поэтому в стандарт Фортрана, начиная с Fortran 90, в добавление к фиксированному формату исходного текста появился свободный формат, который позволяет записывать более одного оператора на строку.
Слайд 14Pascal
Язык Паскаль (Pascal) был создан профессором Никлаусом Виртом в 1968—1969
годах после его участия в работе комитета по разработке стандартов
других алгоритмических языков (Алгол-68). Язык назван в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире суммирующую механическую машину (Паскалина). Изобретённый Паскалем принцип связанных зубчатых колёс почти на три столетия стал основой создания всех механических арифмометров. Первая публикация Вирта о языке датирована 1970 годом; представляя язык, автор в качестве цели его создания указывал построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные. Реализации систем программирования на языке Pascal: Pascal ABC, Free Pascal, Embarcadero Delphi и др.
Слайд 16C
C (Си) — компилируемый статически типизированный язык программирования общего
назначения, разработанный в 1969—1973 годах сотрудниками Bell Labs Деннисом Ритчи
и Кеном Томпсоном. Изобретение языка Cи и его роль в разработке операционной системы UNIX (Д.Ритчи и К.Томпсон), сделали его пионером современной вычислительной техники. Язык Cи по сей день широко используется для написания приложений и операционных систем, и его влияние наблюдается во многих современных языках программирования. ОС UNIX также оказал колоссальное влияние, основав идеи и принципы, которые сейчас являются прочно устоявшимися в вычислительной технике.
Первоначально Си был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка Си, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном ПО для множества устройств — от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective
Слайд 18Python
Python — высокоуровневый язык программирования общего назначения, ориентированный на повышение
производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В
то же время стандартная библиотека включает большой объём полезных функций.
Эталонной реализацией Python является интерпретатор CPython, поддерживающий большинство активно используемых платформ. Он распространяется под свободной лицензией Python Software Foundation License, позволяющей использовать его без ограничений в любых приложениях, включая коммерческие. Есть реализации множества интерпретаторов для JVM (с возможностью компиляции) и других.
Python — активно развивающийся язык программирования, новые версии (с добавлением/изменением языковых свойств) выходят примерно раз в два с половиной года. Вследствие этого и некоторых других причин на Python отсутствуют стандарт ANSI, ISO или другие официальные стандарты.
Слайд 20Java
Java — сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun
Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются
в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре, с помощью виртуальной Java-машины. Дата официального выпуска — 23 мая 1995 года.
Слайд 22Go
Подобно биологическим видам, успешные языки порождают потомство, которое наследует наилучшие
особенности своих предков. Скрещивание при этом иногда приводит к удивительным
результатам. Аналогом мутаций служит появление радикально новых идей. Как и в случае с живыми существами, глядя на такое влияние предков, можно многое сказать о том, почему язык получился именно таким, какой он есть, и для каких условий работы он приспособлен более всего.
На рисунке показано, какие языки повлияли на дизайн языка программирования Go.
Слайд 23Язык Go часто описывают как "C-подобный язык" или "язык С
XXI века". От языка С, Go унаследовал синтаксис выражений, конструкции
управления потоком, базовые типы данных, передачу параметров в функции по значению, понятие указателей и, что важнее всего, направленность С на получение при компиляции эффективного машинного кода и естественное взаимодействие с абстракциями современных операционных систем.
Однако в генеалогическом древе Go есть и другие предки. Одно из сильнейших влияний на Go оказали языки программирования профессора Вирта, начиная с Pascal. Modula-2 привнесла концепцию пакетов. Oberon использует один файл для определения модуля и его реализации. Oberon-2 явился источником синтаксиса пакетов, импорта и объявлений (прежде всего, объявлений методов), которые он, в свою очередь, унаследовал от языка Object Oberon.
Все языки программирования тем или иным образом отражают философию их создателей, что часто приводит к включению в язык программирования их реакции на слабости и недостатки более ранних языков. Go не является исключением. Проект Go родился из разочарования специалистов корпорации Google несколькими программными системами, страдающими от "взрыва сложности".
Только с помощью простоты дизайна система может в процессе роста оставаться устойчивой, безопасной и последовательной. Проект Go включает в себя сам язык, его инструментарий, стандартные библиотеки и последнее (по списку, но не по значению) - культуру радикальной простоты. Будучи одним из самых современных высокоуровневых языков, Go обладает преимуществом ретроспективного анализа других языков, и это преимущество использовано в полной мере.