Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Информатика 9 класс. Дополнение к главе 7
Дополнение к главе 7
7.1. История языков программирования
Основные темы параграфа:
♦ первые шаги автоматизации программирования;
♦ первые языки высокого уровня: Кобол и Фортран;
♦ языки процедурного программирования;
♦ языки искусственного интеллекта;
♦ современные языки объектно-ориентированного и визуального программирования.
Первые шаги автоматизации программирования
Программы для первых ЭВМ программисты писали на языках машинных команд. Это очень трудоемкий и длительный процесс. Проходило значительное время между началом составления программы и началом ее использования. Решить эту проблему можно было лишь путем создания средств автоматизации программирования.
Первыми «инструментами», которые экономили труд программистов, стали подпрограммы. В августе 1944 года для релейной машины «Марк-I» под руководством Грейс Хоппер (женщина-программист, морской офицер ВМФ США) была написана первая подпрограмма для вычисления sinx.
Как Решать Задачи По Программированию?
Не одну Грейс Хоппер волновала проблема облегчения труда программистов. В 1949 году Джон Моучли (один из создателей ЭВМ ЕNIAC) разработал систему Short Соde, которую можно считать предшественницей языков программирования высокого уровня. Программист записывал решаемую задачу в виде математических формул, преобразовывал формулы в двухбуквенные коды.
В дальнейшем специальная программа переводила эти коды в двоичный машинный код. Таким образом, Дж. Моучли разработал один из первых примитивных интерпретаторов. А в 1951 году Г. Хоппер создала первый компилятор А-0. Ею же впервые был введен этот термин.
Первые языки высокого уровня: Кобол и Фортран
В 50-е годы прошлого века группа под руководством Г. Хоппер приступила к разработке нового языка и компилятора В-0. Новый язык позволил бы программировать на языке, близком к обычному английскому. Разработчики языка выбрали около 30 английских слов, для распознавания которых Г. Хоппер придумала способ, сохранившийся в операторах будущих языков программирования: каждое слово содержит неповторимую комбинацию из первой и третьей букв. Благодаря этому компилятор при создании машинного кода программы может игнорировать все остальные буквы в слове.
Необходимость появления такой системы, язык которой приближен к разговорному, Г. Хоппер связывала с тем, что область применения ЭВМ будут расширяться, в связи с чем будет расти и круг пользователей. По словам Г. Хоппер, следует оставить попытки «превратить их всех в математиков».
В 1958 году система В-0 получила название FLOW-MATIC и была ориентирована на обработку коммерческих данных. В 1959 году был разработан язык СОВОL (Соmmon Вusiness Oriented Language) (Кобол) — машинно независимый язык программирования высокого уровня для решения задач бизнеса. Одна и та же программа, написанная на машинно независимом языке, может быть выполнена на ЭВМ разных типов, оснащенных соответствующим транслятором с этого языка. Консультантом при создании языка СОВОL вновь выступила Г. Хоппер.
Задачи №25 ЕГЭ по информатике на Си
В 1954 году публикуется сообщение о создании языка FORTRAN (FORmula TRANslation) (Фортран). Местом рождения языка стала штаб-квартира фирмы IВМ в Нью-Йорке. Одним из главных разработчиков является Джон Бэкус. Он же стал автором НФБ (нормальная форма Бэкуса), которая используется для описания синтаксиса многих языков программирования.
Одним из основных достоинств первой версии Фортрана являлось то, что язык давал возможность автоматизировать организацию циклов. Этот язык стал незаменимым для разработки научных и инженерных приложений. Следует отметить долговечность языка Фортран. За полстолетия он сильно изменился. В настоящее время Фортран реализован на персональных компьютерах, супер-компьютерах и по-прежнему широко используется в научных исследованиях.
В тот же период в европейских странах и в СССР популярным становится язык АLGOL. Как и FORTRAN, он ориентировался на математические задачи. В нем была реализована передовая для того времени технология программирования — структурное программирование.
Большое количество новых языков стало появляться в 60-е, 70-е годы прошлого столетия, но не все из них выдержали испытание временем. К языкам-долгожителям следует отнести язык ВASIC, разработанный в Дартмутском университете в 1964 году под руководством Джона Кемени и Томаса Курца.
По замыслу авторов, это простой язык, легко изучаемый, предназначенный для программирования несложных расчетных задач. Наибольшее распространение ВАSIС получил на микро-ЭВМ и персональных компьютерах. Однако первоначально этот язык был неструктурным и с этой точки зрения плохо подходил для обучения качественному программированию. В 1985 году была создана версия языка Тrue ВАSIC, которая по мнению разработчиков была совершеннее, чем РАSCAL. В 1991 году появилась первая версия языка VISUAL BASIC.
Языки процедурного программирования
Для первых языков программирования характерной чертой была предметная ориентация. Это значит, что каждый язык предназначался для решения какого-то определенного класса задач. СОВОL был ориентирован на решение задач бизнеса, FORTRAN — на проведение инженерных и научных расчетов.
В эпоху ЭВМ третьего поколения большое распространение получил язык РL/1 (Ргоgram Language/1), разработанный фирмой IВМ. Это был первый язык, претендовавший на универсальность, т. е. на возможность решать любые задачи: вычислительные, обработки текстов, накопления и поиска информации. РL/1 оказался слишком сложным языком.
Транслятор с него недостаточно оптимальный, содержащий ряд невыявленных ошибок. По этой причине этот язык не получил распространения. Однако линия на универсализацию языков была продолжена. Старые языки были модернизированы в универсальные варианты. Примером тому стал FORTRAN 77.
Значительным событием в истории языков программирования стало создание в 1971 году языка РАSCAL. Его автором является Никлаус Вирт, профессор из Швейцарии. Вирт назвал этот язык в честь французского математика и физика Блэза Паскаля, который в 1642 году сконструировал вычислительный механизм. Первоначально РАSCAL создавался как язык для обучения.
В нем ярко выражена структурная линия программирования. Широкое практическое применение язык получил с появлением персональных компьютеров в версии Тuгbо РАSCAL.
Язык программирования С («Си») был задуман как инструментальный язык для разработки операционных систем. Он создавался одновременно с операционной системой UNIX. Авторами этого языка и ОС UNIX являются американские программисты Деннис Ричи и Кеннет Томпсон. Первоначально К. Томпсон начал писать ОС UNIX на языке FORTRAN.
В дальнейшем был создан язык С, и в 1973 году ядро операционной системы вместе с программами-утилитами было переписано на С. Этот язык является структурным языком высокого уровня. В настоящее время он применяется для разработки не только операционных систем, но и трансляторов, системных и прикладных программ.
Языки искусственного интеллекта
В 90-х годах прошлого столетия планировалось появление компьютеров пятого поколения, называемых машинами «искусственного интеллекта». В качестве основных языков программирования в этом, пока неосуществленном, проекте предполагались языки искусственного интеллекта LISР и РROLOG.
Создателем языка LISP (1956-1959 гг.) является Джон Маккарти, которого называют отцом искусственного интеллекта. Именно он первым ввел термин «искусственный интеллект». Основным в языке LISР является понятие рекурсивно определенных функций. Доказано, что любой алгоритм может быть описан с помощью некоторого набора рекурсивных функций.
Основные идеи этого языка были позже использованы в языке программирования для детей LOGО, разработанном в 70-е годы в Массачусетском технологическом институте под руководством Сэймура Пейперта. Подмножество языка LOGО, включающее команды для Черепашки, применяется при раннем обучении программированию.
Язык РROLOG разработан во Франции в 1972 году также для решения проблем искусственного интеллекта. РROLOG позволяет в формальном виде описывать различные утверждения, логику рассуждений, заставляет компьютер давать ответы на заданные вопросы.
Современные языки объектно-ориентированного и визуального программирования
В последнее время одним из основных направлений в развитии программного обеспечения компьютера стал объектно-ориентированный подход. Под словом «объект» понимается структура, объединяющая в единое целое данные и программы их обработки. Стали популярны объектно-ориентированные операционные системы (например, Windows), прикладные программы, а также системы объектно-ориентированного программирования (ООП).
Первым языком с элементами ООП был язык Симула-67. В Тurbо РАSCAL, начиная с версии 5.5, появились средства ООП. Итогом развития Тurbо РАSСАL в этом направлении стало создание фирмой Вогland системы программирования DELPHI (Делфи). Использование этой системы, в частности, дает возможность легко и быстро программировать сложный графический интерфейс.
В 1991 году появилась первая версия языка VISUAL ВASIС. Начиная с пятой версии (1997 год) язык стал полностью объектно-ориентированным. По данным на конец 90-х годов прошлого столетия количество программистов, использующих для своих разработок VISUAL BASIC, не уступает числу сторонников VISUAL С++ и DELPHI.
В 1985 году лаборатория Веll Labs (США) сообщила о создании языка программирования С++ (СИ++). Этот язык является сегодня наиболее популярным среди языков объектно-ориентированного программирования. С его помощью возможно создание программных приложений, ориентированных на любые машины — от персональных до суперкомпьютеров. Создателем языка является Бьорн Страуструп.
Представителем языков объектно-ориентированного программирования является и язык JAVА, созданный в 1995 году под руководством Джеймса Гослинга группой инженеров компании Sun Microsystems. При его разработке была поставлена цель — создать простой язык, не требующий специального изучения. Язык JAVА был разработан так, чтобы быть максимально похожим на С++. JАVА является идеальным инструментом при создании приложений для Интернета.
Коротко о главном
Первые средства автоматизации программирования: Short Соdе (1949); компилятор А-0 (1951).
Первыми распространенными полноценными языками высокого уровня были: FORTRAN (Фортран) (1954), ориентированный на математические вычисления, СОВОL (Кобол), ориентированный на задачи бизнеса.
Языки, распространившиеся в 60-70-х годах XX века: АLGOL, ВАSIС, РАSCAL, РL/1; С — первый язык высокого уровня, применяемый в системном программировании; языки искусственного интеллекта: РROLOG, LISP.
В 1980-90-е годы XX века были созданы языки объектно-ориентированного программирования: С++, DELPHI, VISUAL BASIC; JAVА — язык Web-программирования.
И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс
Отослано читателями из интернет-сайтов
Сборник конспектов уроков информатики, учебная программа по информатике 9 класс, материалы для подготовки к урокам, готовые домашние задания
Содержание урока конспект урока опорный каркас презентация урока акселеративные методы интерактивные технологии Практика задачи и упражнения самопроверка практикумы, тренинги, кейсы, квесты домашние задания дискуссионные вопросы риторические вопросы от учеников Иллюстрации аудио-, видеоклипы и мультимедиа фотографии, картинки графики, таблицы, схемы юмор, анекдоты, приколы, комиксы притчи, поговорки, кроссворды, цитаты Дополнения рефераты статьи фишки для любознательных шпаргалки учебники основные и дополнительные словарь терминов прочие Совершенствование учебников и уроков исправление ошибок в учебнике обновление фрагмента в учебнике элементы новаторства на уроке замена устаревших знаний новыми Только для учителей идеальные уроки календарный план на год методические рекомендации программы обсуждения Интегрированные уроки
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь — Образовательный форум.
Источник: edufuture.biz
Процедурные языки программирования
В реальных системах программирования смешаны технологии компиляции и интерпретации. В процессе отладки программу можно выполнять по шагам (трассировать), а результирующий код не обязательно будет машинным, он может быть, например, аппаратно-независимым промежуточным кодом абстрактного процессора, который в дальнейшем будет транслироваться в различных компьютерных архитектурах с помощью интерпретатора или компилятора в соответствующий машинный код.
Системы программирования представляют собой комплексы инструментальных программных средств, позволяющих реализовать все процессы создания исполняемой программы, а именно:
• Составление исходного кода программы на языке программирования. Специализированный текстовый редактор позволяет обнаруживать синтаксические ошибки непосредственно при вводе программы, давать советы по их устранению, наглядно отображать структуру программы, выделять цветом операторы, комментарии и др.
• Трансляция с помощью компилятора исходного кода программы в объектный код (говорят: генерируется объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы.
• Создание исполняемого кода. Сгенерированный объектный код обрабатывается специальной программой — сборщиком (компоновщиком) или редактором связей, который производит связывание модулей объектного кода и стандартных функций из библиотек (например, файлов *.LIB, *.DLL) в машинный код для конкретной платформы (загрузочного модуля, готового к исполнению, например, файла *.ЕХЕ).
Кроме текстового редактора, компилятора, библиотек функций и редактора связей в состав системы программирования входят справочная система и отладчик, позволяющий анализировать выполнение программы в пошаговом режиме и наблюдать изменение значений контролируемых переменных.
В системах визуального программирования все необходимые графические элементы оформления и управления создаются путём перетаскивания и редактирования готовых визуальных компонентов. Соответствующий этим элементам вспомогательный исходный код формируется в RAD — средах (Rapid Application Development — средах быстрого проектирования) автоматически, что позволяет сосредоточиться только на логике решаемой задачи.
Языки программирования можно разделить на пять поколений.
Первые языки появились в начале 50-х годов, с появлением компьютеров. Это был первый ассемблер, созданный по принципу «одна инструкция – одна строка»
Второе поколение – конец 50-х годов – символический ассемблер (макроассемблер), в котором появилось понятие переменной. Первый полноценный, но ещё низкоуровневый язык программирования
Третье поколение – с 60-х годов – универсальные языки высокого уровня. С их помощью решаются задачи из любых областей. Небольшие программы инженерного и экономического характера создаются специалистами из некомпьютерных областей
Четвёртое поколение – с 70-х годов – языки для реализации крупных проектов, ориентированные на узкоспециализированные области применения. В таких проблемно-ориентированных языках одним мощным оператором можно описать такую функциональность, для реализации которой на языках предыдущих поколений потребовалось бы тысячи строк исходного кода.
Пятое поколение – с середины 90-х годов – системы автоматического создания программ с помощью визуальных средств, практически без знания программирования.
Классификация языков по принципам программирования может быть иллюстрирована схемой, представленной на рисунке 13.1.
Рис. 13.1. Классификация языков программирования
Процедурное или императивное (от лат. imperativus — повелительный) программирование есть отражение фон Неймановской архитектуры компьютера. Программа, написанная на этом языке, представляет собой последовательность команд (операций), определяющих алгоритм решения задачи.
Основной операцией является команда присвоения, предназначенная для определения и изменения содержимого памяти компьютера. Фундаментальная идея процедурного программирования — использование памяти компьютера для хранения данных. Функционирование программы сводится к последовательному выполнению команд с целью преобразования исходного состояния памяти, т.е. программа производит пошаговое преобразование содержимого памяти, изменяя его от исходного состояния к результирующему. Коротко опишем наиболее известные из процедурных языков.
Фортран (FORTRAN – FORmula TRANslation – транслятор формул) – один из первых компилируемых процедурных языков программирования высокого уровня, создан в начале 50-х гг. в США сотрудником фирмы IBM Джимом Бэкусом. Основное назначение языка – программирование научно-технических задач. Долгие годы он был одним из самых распространенных языков в мире.
За это время накоплена огромная библиотека программ, написанных на Фортране. К 2000 г. появилась версия Фортрана F2k, для параллельных суперкомпьютеров со множеством имеется версия HPF (High Performance Fortran – высокоэффективный Фортран). Многие средства Фортрана использованы в других языках, например PL-1 и Бейсик.
Кобол (COBOL – COmmon Business Oriented Language – общепринятый деловой язык) – язык программирования, ориентированный на решение задач обработки больших объемов данных, хранящихся на различных внешних носителях. Широко используется для решения учетно-экономических и управленческих задач. Разработан в США в 1958—1960 гг. Программа на Коболе имеет вид ряда предложений на английском языке и напоминает обычный текст.
Алгол (ALGOL – ALGOrithmic Language – алгоритмический язык) разработан международной группой зарубежных специалистов в 1960 г. В результате дальнейшего развития и усовершенствования в 1968 г. была создана версия Алгол-68. Алгол предназначался для замены Фортрана. Но не получил широкого распространения, так как из-за сложной структуры и отсутствия эффективных компьютеров для него не удалось своевременно создать хороших компиляторов.
ПЛ/1 (PL/1 – Programming Language One – первый язык программирования) разработан фирмой IBM в 1963—1966 гг. как первый многоцелевой универсальный язык, не привязанный к конкретной архитектуре ЭВМ. При разработке PL/1 были широко использованы лучшие понятия и средства языков Фортран, Алгол-60, Кобол. Компания IBM и сегодня продолжает поддерживать этот язык, который по своим возможностям мощнее многих других языков.
Бейсик (BASIC – Beginners All-purpose Symbolic Instruction Code – универсальный символический код для начинающих) создан в середине 60-х гг. сотрудниками математического факультета Дартмутского колледжа Томасом Курцем и Джоном Кемени как учебный язык программирования, состоящий из простых английских слов. Популярность Бейсика объясняется как простотой его освоения, так и наличием достаточно мощных универсальных средств, пригодных для решения научных, технических, экономических и других задач.
Паскаль (Pascal) был назван в честь французского математика и философа Блеза Паскаля (1623–1662). Созданный как учебный язык программирования в 1968–1971 гг. Никлаусом Виртом в Высшей технической школе (ЕТН) в Цюрихе (Швейцария), он стал одним из наиболее популярных процедурных языков программирования, особенно для персональных компьютеров. В основу разработки языка Паскаль был положен Алгол-60, но ужесточен ряд требований к структуре программы и добавлены возможности, позволяющие успешно применять его для создания крупных проектов.
Ада (Ada) – язык программирования, названный в честь Ады Лавлейс, дочери поэта Байрона, которая была увлечена идеями Чарльза Бэббиджа и разработала первую в мире программу для вычислительной машины. Период с конца 60-х до начала 80-х гг. характеризуется бурным ростом числа различных языков программирования.
Однако среди бесчисленного множества языков ни один не мог удовлетворить требованиям военного ведомства США. В мае 1979 г. группа ученых во главе с Жаном Ихбиа победила в конкурсе на создание языка для Пентагона. Язык Ада – прямой наследник Паскаля. Он предназначен для создания и длительного сопровождения больших программных систем, управления процессами в реальном масштабе времени. Важным его достоинством является возможность параллельного программирования ветвей программы, которые затем могут реализоваться на многопроцессорных компьютерах.
Си (С) был разработан в лаборатории Bell для реализации операционной системы UNIX в начале 70-х гг. и не рассматривался как массовый. Он планировался для замены Ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора. По набору управляющих конструкций и структур данных Си имеет возможности, присущие высокоуровневым языкам, и вместе с тем он располагает средствами прямого обращения к памяти. Язык Си популярен и широко используется профессиональными программистами.
Источник: studopedia.su
Серверные языки программирования
Серверные языки программирования нужны для реализации бизнес-логики, то есть разработчик при помощи языка программирования описывает возможные сценарии использования сайта или приложения.
Языков программирования, используемых для серверной веб-разработки, достаточно много: PHP, Ruby, Java, C, Python, Perl и другие.
В техническом плане для большинства проектов нет каких-либо ограничений при выборе языка, то есть практически любой функционал сайта или приложения может быть успешно реализован на любом из них, поэтому выбор языка не накладывает никаких лимитаций на проект.
Но с экономической точки зрения разница есть. Наиболее распространенным языком веб-программиров ания на сегодня является PHP, поэтому при его использовании достаточно просто найти как отдельных программистов, так и аутсорсинговые компании, которые смогут работать над проектом. Цены при этом весьма демократичные. Из минусов — порог вхождения в сферу PHP-программиров ания невысок, поэтому на рынке немало дилетантов. Если рассматривать другие языки из представленного выше списка, то средний уровень специалистов на кадровом рынке, как правило, выше, но найти их не так просто и стоят их услуги несколько дороже.
Для подавляющего большинства проектов в техническом плане не имеет значения выбор языка разработки. Выбирайте для реализации проекта язык программирования, на котором много доступных разработчиков. На российском рынке для веб-проектов наиболее популярен PHP, после него идут Java, Ruby, Python и языки наиболее часто используемые в ASP.NET проектах (VB, C# и С++).
PHP
PHP — скриптовый язык общего назначения, часто применяемый для разработки веб-сайтов.
PHP — интерпретируемый язык программирования, позволяющий создавать программы в процедурном и объектно-ориентированном стиле. PHP — хороший язык для разработки проектов на CMS. И c технической точки зрения современный PHP весьма неплох. Но экосистема языка и особенности кадрового рынка делают PHP не самым лучшим выбором для разработки сложных проектов.
Язык программирования Ruby
Ruby — интерпретируемый мультипарадигмальный язык программирования, ориентированный на удобство для разработчиков.
В отличие от машинно-ориентированных языков, требующих писать программы так, чтобы компьютеру было максимально удобно их выполнять, Ruby ориентирован на удобство и повышение скорости разработки. В современном мире вычислительные ресурсы стоят значительно дешевле, нежели время разработчиков, поэтому этот подход в большинстве случаев не только более комфортный для разработчиков, но и экономически более целесообразный с точки зрения бизнеса.
Язык программирования Python
Python — высокоуровневый интерпретируемый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.
Язык поддерживает несколько парадигм разработки: структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Python — отличный инструмент для задач по обработке данных и для машинного обучения.
Разработка технически сложных сайтов и веб-приложений
Разрабатываем сайты любой сложности, интернет-магазины и веб-приложения для автоматизации бизнеса.
Наша основная специализация — разработка нетиповых проектов с высокими требованиями к качеству ПО. Мы ориентированы на максимально эффективное решение бизнес-задач клиента. Приоритет разработки — коммерческая успешность создаваемых сайтов и веб-приложений, а инструментами для её достижения являются продуманные и красивые интерфейсы, быстрая и надёжная работа программной части, а также устойчивость к нагрузкам в сочетании с высокой производительностью.
К нам обращаются тогда, когда другие говорят, что реализовать задачу невозможно.
Получить консультацию
Cтатьи по теме:
Язык программирования Ruby
Ruby (ruby — рубин, руби) — интерпретируемый мультипарадигмальный язык программирования: динамический, объектно-ориентированный, рефлективный, императивный, функциональный. Активно используется в веб-разработке, в системном администрировании и в работе операционных систем (Mac OS X, Linux, BSD).
Язык программирования PHP
PHP — язык программирования, который наиболее распространён в сфере веб-разработки.
CMS — коробочные системы управления сайтами
Система управления сайтом — это программный продукт, который создан для упрощения создания основных видов сайтов. Как правило, системы управления достаточно универсальны, то есть на них можно собрать что угодно: от информационного сайта до интернет-магазина или портала.
Фреймворки в веб-разработке
Фреймворки — это программные продукты, которые упрощают создание и поддержку технически сложных или нагруженных проектов. Фреймворк, как правило, содержит только базовые программные модули, а все специфичные для проекта компоненты реализуются разработчиком на их основе. Тем самым достигается не только высокая скорость разработки, но и большая производительность и надёжность решений.
Выбор между CMS и фреймворком
Технически любой функционал может быть реализован как на CMS, так и на фреймворке. Однако некоторые проекты проще сделать на CMS, а некоторые — на фреймворке.
Рекомендации по выбору CMS и фреймворков
При выборе конкретной платформы для разработки часто возникают сложности. Бывает непросто принять взвешенное решение, в этом случае будет полезен формализованный алгоритм выбора.
Надёжность, доступность и отказоустойчивость сайтов и веб-приложений
Действительно серьёзные проекты должны работать без перебоев даже в случае отказа отдельных подсистем. Причин для сбоев в работе немало: выход из строя «железа», сбои программного обеспечения, аварии на уровне дата-центров. Всех этих рисков можно избежать или минимизировать их последствия.
Источник: web-creator.ru