Проекты студентов
творческая работа учащихся на тему

Гуменникова Александра Александровна

ПРоект студентки по теме"Мертвые языки программирования"

Скачать:

ВложениеРазмер
Файл proekt_1.docx392.91 КБ
Файл Приложение47.86 КБ
Файл Приложение120.91 КБ

Предварительный просмотр:

ОБЛАСТНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

«СМОЛЕНСКАЯ АКАДЕМИЯ ПРОФЕССИОНАЛЬНОГО

ОБРАЗОВАНИЯ»

Факультет информационных технологий

ИНДИВИДУАЛЬНЫЙ ПРОЕКТ

на тему: «Мертвые языки программирования»

Выполнила:

Иванова Алина Михайловна

Группа:511-прс

Руководитель:

Гуменникова Александра

Александровна

Дата: _______________

Оценка: ______________

Подпись: ____________

Смоленск, 2016

Оглавление

Введение        3

План работы над проектом        5

Интеллект-карта проекта «Мёртвые языки программирования»        6

Первичный тест        7

5.Анализ теста        7

Хронологическая таблица        9

PHP        24

JavaScript        25

jQuery        26

Go (часто также Golang)        26

HTML 5        27

1. Программирование. Язык программирования.        31

2. История возникновения языков программирования        32

2.1 Первопроходцы в программировании        32

2.2 Первые языки программирования. Особенности первых языков программирования        34

3.Эволюция языков программирования. Классификация языков программирования.        42

4. Двенадцать языков программирования, которые потрясли мир. Мёртвый язык программирования        53

5. Причины исчезновения языков программирования        56

6. Диалекты. Подмножества. Расширение.        58

7. Контрольно-измерительный материал        59

Заключение.        60

Список использованной литературы        62


Введение

Вы когда-нибудь использовали приложение на мобильном телефоне или программу на компьютере? А задумывались ли вы при этом, на каком языке программирования написаны сайты, интернет страницы, скрипты? В наше время знание языков программирования не просто показатель образованности человека, а и необходимость. Если вы хотите идти в ногу со временем, для вас просто обязательно знание хотя бы одного языка.

Языки программирования дают возможность  создавать средства для работы, общения и творчества. В мире существуют тысячи языков, позволяющие вести полноценный диалог с компьютером, однако, несмотря на такое разнообразие, число языков, на которых пишет большинство около десятка. Языки программирования вынуждены преодолевать те же трудности, что и многие фирмы, и новые идеи. Зачастую успех языка  программирования зависит не только от его характеристик и применяемых технологий, но и от появления в нужном месте, в нужное время. Успех языка может быть столь же непостоянным, сколь непредсказуемыми могут быть причины его провала.

Актуальность  проекта:        

Информационные технологии являются одной наиболее быстро развивающихся областей современной жизни. Они появляются едва не каждый день. И в погоне за прогрессом, подчас полезно остановиться, вспомнить историю и задуматься о будущем. С тем, чтобы со свежими силами вновь окунуться в работу, осваивать новые технологии.

К выбору данной теме меня побудило незнакомое понятие «Мертвые языки программирования». Данный проект позволит приблизиться к истокам программирования. И дать ответ на основной вопрос: почему одни языки программирования остались на стадии зарождения и про них все забыли, а другие легли в основу новых, которые живут и позволяют человечеству развивать информационные технологии?

Цель проекта:

Познакомиться с началом развития программирования, с первыми языками. Определить понятие «Мертвые языки программирования». Исследовать причины исчезновения языков программирования.

Задачи проекта:

  • Изучить историю развития языков программировании;
  • Исследовать причины краха языков программирования;
  • Провести стартовую и итоговую диагностику знаний по теме: «Мёртвые  языки программирования»;
  • Создание электронного учебного пособия и буклета по теме: «Мёртвые  языки программирования».

Практическая значимость  проекта заключается в том, что возможно использовать продукты данного проекта (электронное учебное пособие и буклет) на уроках «Информатика и ИКТ» при изучении раздела «Алгоритмизация и программирование».


План работы над проектом

Интеллект-карта проекта «Мёртвые языки программирования»


Первичный тест

Цель теста: Выявить степень заинтересованности в теме: «Языки программирования».

1.Какие языки программирования Вы знаете?

  • Паскаль
  • Delphi
  • C++
  • Другие

2.Какой уровень знаний языков программирования у Вас?

  • Отсутствует
  • Минимальный
  • Средний
  • Высокий

3.Для чего нужно изучать языки программирования?

  • Для общего развития
  • Нужно по учебной программе
  • Другое

   4.Знакомо ли Вам понятие «Мёртвые языки программирования»?

  • Да
  • Нет

5.Каких достижений Вы  хотели бы добиться, изучая языки программирования?

5.Анализ теста

В тестировании принимало участие 14 человек.

При подведении итогов, было выявлено, что проектная работа будет актуальна.


Хронологическая таблица

ии№п/п

Название

языка

Год создания

Создатели, география языка

Особенности

П

Е

Р

В

О

Е

П

О

К

О

Л

Е

Н

И

Е

В

Т

О

Р

О

Е

П

О

К

О

Л

Е

Н

И

Е

Т

Р

Е

Т

Ь

Е

П

О

К

О

Л

Е

Н

И

Е

Коды операций аналитической машины

1837

Чарльз Бэббидж и Ада Лавлэйс

Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы.

Плюнкалкюль

1946

Цузе

Немецкий инженер Цузе разработал этот язык для ЭВМ Z4, но ни компилятора, ни интерпретатора для него написано не было (поскольку и язык, и ЭВМ он разрабатывал в одиночку).

Краткий код ENIAC

1946

Ричард Клиппинджер, Джон фон Нейман по трудам Алана Тьюринга

Электронный числовой интегратор и вычислитель) — первый электронный цифровой вычислитель общего назначения, который можно было перепрограммировать для решения широкого спектра задач.

Язык ассемблера ARC

1947

Кэтлин Бус

"Краткий код"

1949

Мочли

По своей сути, это была система обозначений для быстрого ввода в ЭВМ алгебраических выражений.

Так, например, выражение A=B+C кодировалось следующей фразой: S0 07 S1 13 S3.

"Краткий код" работал как примитивный интерпретатор.

Идея подпрограммы

1949

Хоппер

Программисты под руководством Хоппер впервые во всем мире реализовали идею подпрограмм как многократно используемую последовательность команд. color=#000000 Тогда они просто переписывали куски машинного кода друг у друга из блокнотов.

Ассемблер

1950

Хоппер

Первый ассемблер представлял из себя систему мнемонических обозначений, объединённую с библиотекой подпрограмм.

АВТОКОД

1952

Гленн

Автокод был первым полноценным транслятором (компилятором), т.е. он транслировал мнемоническую схему в машинные коды. Автокод не получил распространения, т.к. его создатель работал на закрытом проекте.

А-0

1952

Хоппер

А-0 был первым полноценным ассемблером, получившим широкую известность. Он предоставлял услуги как компилятора, так и компоновщика.

По сути, А-0 представлял первое промышленное средство для создания других программ.

Компоновщик по указанному идентификатору выполнял загрузку заданной подпрограммы с магнитной ленты в указанный адрес памяти. Затем он настраивал адреса загруженной подпрограмму на адрес загрузки.

А-0 положил начало целой серии ассемблеров, разработанных Хоппер для больших ЭВМ. Впоследствии этот ассемблер улучшался и расширялся, были выпущены ассемблеры А-1, А-2 и А-3.

B-0

1956

Хоппер

Хоппер создала первый ассемблер, который понимал мнемонические команды.

В рекламных целях он понимал команды на трёх языках ( английском, немецком и французском ).

ФОРТРАН

1958

Бэкус

Был первым языком программирования высокого уровня.

Разрабатывался компанией IBM для её новой ЭВМ.

Коллектив под руководством Бэкуса разработал не только спецификацию языка, но и создал компилятор для него. Это обеспечило достаточно быструю и широкую распространенность языка.

Кроме того, Фортран был первым языком, для которого были разработаны компиляторы для разных ЭВМ (т.е. программа могла выполняться на различных ЭВМ).

Лучше всего Фортран подходит для решения инженерных и расчетных задач.

АЛГОЛ – 58

1958

Европейский международный комитет

Сыграл большую роль в теории, но для практического программирования сейчас почти не используется. Спецификация языка была совершенно нечитабельной и немедленно принесла проекту репутацию чересчур «навороченного». Был сложным, громоздким и содержал в себе множество загадочных операторов, так же верно, как и то, что это был первый действительно универсальный язык. Скоропостижно скончался, так и не успев толком пожить.

Кобол

1959

Грейс Хоппер

Был создан для решения экономических задач. Язык, ориентированный на общий бизнес; в значительной мере вышел из употребления. Был задуман как основной язык для массовой обработки данных в сферах управления и бизнеса.

АЛГОЛ – 60

1960

Бэкус

Новая спецификация Алгола, которую отличали следующие идеи:

  • Блочная структура
  • Возможность рекурсии

Описание с использованием БНФ

АПТ

1960

Дуглас Росс

Первый язык для управления станками, был создан в МТИ (Массачусетском Технологическом Институте).

ИПЛ

1960

Аллен Ньюэл

Позволял манипулировать словами и выражениями на естественном языке (был создан в МТИ).

В этом языке впервые появилось понятие списка.

ЛИСП

1960

Маккарти

Алгоритмический язык для обработки символов. Язык для исследований в области искусственного интеллекта, предназначенный для работы со списками и лямбда – выражениями (был создан в МТИ).

Снобол

1962-1967

Ральф Грисвольд, Иван Полонский и Дэвид Фарбер

Алгоритмический язык для обработки текстовой информации

ПЛ/1

1964

Рэдин (IBM)

Универсальный язык программирования, разрабатывавшийся для системы System/360. многоцелевой язык; сейчас почти не используется.

БЭЙСИК

1964

Кемени, Курц

Был разработан в Дартмундском колледже как язык для обучения работе с компьютером студентов всех специальностей (и технических, и гуманитарных). несмотря на многие недостатки и изобилие плохо совместимых версий - самый популярный по числу пользователей. Широко употребляется при написании простых программ. Применялся в бизнесе и др. областях.  Одновременно с разработкой языка велась разработка ЭВМ, которая работала бы не в пакетном режиме, а в режиме разделения времени.

АЛГОЛ – W

1965

Хоар, Вирт

Новый стандарт языка, который был предложен Хоаром и Виртом как альтернатива существующей спецификации (буква W – face="Times New Roman" от фамилии Вирт).

ЛОГО

1967

Пейперт

Для обучения младших школьников. Отличается простотой и богатыми возможностями. Язык для управления черепашкой (был разработан в МТИ)

Ч

Е

Т

В

Ё

Р

Т

О

Е

П

О

К

О

Л

Е

Н

И

Е

АЛГОЛ – 68

1968

Комитет по языку высокого уровня IFIP (International Federation for Information Processing), Международная федерация по обработке информации

Считается громоздким и плохо запоминающимся языком. Именно он стал «идейным вдохновителем» для создателей С и Bourne Shell. Благодаря ALGOL 68 параллельная обработка данных упростилась до такой степени, что даже современные языки типа Java и С до сих пор не добрались до его уровня.
Скоропостижно скончался, так и не успев толком пожить. Благодаря невнятности спецификации членам комитета разработчиков ничего не стоило утопить проект еще до того, как люди смогли реально оценить его достоинства и недостатки.

AПЛ

1969

Кеннет Айверсон ( IBM)

Очень компактный универсальный язык программирования с очень широким синтаксисом.

ПАСКАЛЬ

1970

Вирт

Был разработан Виртом как противопоставление Алголу-68.

Язык с высокой структурированностью.

До сих пор – лучший язык для обучения программированию. Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах. Однако, качества его в совокупности оказались столь высоки, что им охотно пользуются и профессиональные программисты. Не менее впечатляющей, в том числе и финансовой, удачи добился Филип Кан, француз, разработавший систему Турбо-Паскаль. Суть его идеи состояла в объединении последовательных этапов обработки программы - компиляции, редактирования связей, отладки и диагностики ошибок - в едином интерфейсе. Версии Турбо-Паскаля заполонили практически все образовательные учреждения, программистские центры и частные фирмы. На базе языка Паскаль созданы несколько более мощных языков (Модула, Ада, Дельфи).

ФОРТ

1971

Мур

Самый компактный язык программирования.

Обладает высокой степенью расширяемости. Первое промышленное применение – управление радиотелескопами.

С

1972

Ричи, 
Bell Lab.

Широко используется при создании системного программного обеспечения. Язык был разработан для написания операционной системы color в рекламных целях Наложил большой отпечаток на современное программирование (первая версия - 1972 г.), является очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Си сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не обеспечивают такие языки, как Бейсик и Паскаль. До сих пор С – один из лучших языков для системного программирования.

ПРОЛОГ

1972

Роберт Ковальски,

Маартен ван Эмден, Ален Колмероэ

Логический язык программирования. Главное назначение языка - разработка интеллектуальных программ и систем. Пролог - это язык программирования, созданный специально для работы с базами знаний, основанными на фактах и правилах (одного из элементов систем искусственного интеллекта). В языке реализован механизм возврата для выполнения обратной цепочки рассуждений, при котором предполагается, что некоторые выводы или заключения истинны, а затем эти предположения проверяются в базе знаний, содержащей факты и правила логического вывода. Если предположение не подтверждается, выполняется возврат и выдвигается новое предположение. В основу языка положена математическая модель теории исчисления предикатов.

INTERCAL

1972

Студенты Дон Вуд  Джейм  М. Лайон

Эзотерический язык программирования. Основной целью было создать язык нисколько непохожий на все остальные известные языки программировании. По критериям Тьюринга подходит для повсеместного использования, но программисты не любят его из-за сложного составления программного кода.

АДА

1979

Жан Ихбиа

Универсальный язык программирования, был разработан по заказу МО США. Разработка велась в два этапа:

  1. Определение требований к языку. Список требований прошёл через несколько этапов утверждения – от “Соломенного” до “Стального”.
  1. После того, как поняли, что ни один существующий язык полученным требованиям не удовлетворяет, за разработку языка параллельно принялось 4 группы программистов – “Зелёная”, “Жёлтая”, “Красная” и “Синяя”. На финиш вышли две группы - “Зелёная” и “Красная”. Победила “Зелёная”. Руководителем этой группы был француз Жан Ихбиа.После создания вышло требование переписать все существующие приложения на Аде. Язык АДА - прямой наследник языка Паскаль. Этот язык предназначен для создания и длительного (многолетнего) сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков.

SmallTalk

1980

Аланом Кэйем, Дэном Ингаллсом, Тедом Кэглером, Адель Голдберг,

Первый и единственный полностью объектно-ориентированный язык программирования. Smalltalk использует  современные идеи:

  • Сборка мусора встроена в язык и незаметна разработчику.
  • Dynamic translation: современные коммерческие виртуальные машины компилируют байткоды в машинные коды для быстрого выполнения.
  • Выполнение кода в виртуальной машине. Программы Smalltalk обычно компилируются в байткоды и выполняются виртуальной машиной, что позволяет выполнять их на любом оборудовании, для которого существует виртуальная машина.

C++

1980

Бьярн Страуструп

Объектно-ориентированное расширение языка Си. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость. Язык мобильного приложения. Для того, чтобы более основательно проникнуть вглубь Android или Windows, потребуются навыки работы с языком программирования С++. Являясь объектно-ориентированным, он может быть использован для разработки приложений практически для любых целей и на любой существующей платформе, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, виртуальные функции. С++ нельзя назвать ультрасовременным средством программирования, он прошел длинный путь развития и существует множество его реализаций, как бесплатных, так и коммерческих и для различных платформ. Одно из наиболее значимых достоинств C++ то, что он сочетает свойства как высокоуровневых, так и низкоуровневых языков.

Modula – 2

1981

Никлаус Вирт

Был разработан Виртом после того, как выяснилось, что Паскаль не годится для разработки промышленных приложений. Язык изначально проектировался как средство промышленного системного программирования, позволяющее писать надёжные, понятные, удобные в сопровождении программы. При этом язык должен был, оставаясь языком высокого уровня со строгой типизацией и поддержкой всех средств надёжного программирования, давать возможность обращаться непосредственно к аппаратуре, создавать специфические системные программы, такие как обработчики прерываний и драйверы устройств, поддерживать программирование параллельно исполняющихся взаимодействующих процессов.

Turbo Pascal

1983

Фирма Borland

Один из наиболее известных языков программирования, используется для обучения программированию в старших классах и на первых курсах вузов, является базой для ряда других языков.

SmallTalk/V

1986

Первая версия для микрокомпьютеров

Turbo Prolog

1986

Аланом Колмари

Турбо-Пролог - это осуществленная компанией Borland International реализация языка программирования высокого уровня Пролог компиляторного типа. Ее отличает большая скорость компиляции и счета. Турбо-Пролог предназначен для выдачи ответов, которые он логически выводит при посредстве своих мощных внутренних процедур.

Версии практически идентичны.
Язык частично русский, частично английский.

Eiffel

1986

Бертран Мейер

Объектно-ориентированный язык программирования с алголоподобным синтаксисом, разработанный. В этом языке впервые был реализован метод контрактного программирования.

Существуют компиляторы Эйфеля для Windows, DOS, OS/2 и UNIX. Большинство реализаций Eiffel генерирует код Си, то есть являются своеобразным препроцессором. Далее этот код компилируется с помощью компилятора Си. Однако есть системы, которые порождают и непосредственно машинный код. Например, Visual Eiffel.[3]

Perl

1989

Ларри Уолл

Он задумывался как средство эффективной обработки больших текстовых файлов, генерации текстовых отчетов и управления задачами. По мощности Perl значительно превосходит языки типа Си. В него введено много часто используемых функций работы со строками, массивами, управление процессорами, работа с системной информацией. И

Игровой Perl известен также своим огромным набором модулей. Обычно программисты обращаются к языку Perl тогда, когда сценарий слишком сложен для написания на остальных языках веб-программирования.

Fortran-90

1990

Фирма IBM

Является диалектом языка Fortran. Значительно переработан стандарт языка.

Visual Basic

1991

Алан Купер

Является языком программирования третьего поколения (событийный язык программирования) и среда разработки от Microsoft для модели программирования COM. Этот язык был получен из BASIC и допускает быструю прикладную разработку (RAD) графического интерфейса пользователя (GUI), доступ к базам данных при помощи DAO, RDO, ADO, создание элементов управления ActiveX и объектов. Языки сценариев (VBA, VBScript) синтаксически подобны Visual Basic, но отличаются от него.

Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка Бэйсик, у которого есть немало диалектов. В то же время Visual Basic — современный язык программирования, сочетающий процедуры и элементы объектно-ориентированных и компонетно-ориентированных языков программирования. Среда разработки VB включает инструменты для визуального конструирования пользовательского интерфейса.

HTML

1992

Тим Бернерс-Ли

Самый известный для веб-разработчиков язык программирования, хотя по своей функциональности он скорее всего относится к языкам разметки. Язык применяется для распределения объектов и текста на веб-страницах. Для лучшего понимания сущности языка HTML можно косвенно сравнить с программой Office Word. Язык оснащен тегами, которые и являются, по сути, инструкциями компьютеру.

Brainfuck

1993

Урбан Мюллер

Самый непрактичный из когда-либо созданных языков. Целью создателей было бросить вызов программистам, разработав язык с самым маленьким компилятором.

Befunge

1993

Крисом Пресси

Отличается от прочих языков программирования, поскольку программа представляет собой двухмерную таблицу, в которой программист может размещать элементы управления, перемещая их с помощью стрелок влево, вправо, вверх или вниз. Достаточно взглянуть на код программы «Hello World», и головная боль вам обеспечена. Благодаря своей сложности, Befunge никогда не мог быть ничем, кроме упражнения для мозгов его создателя, и, к счастью, он только для этого и был задуман. Так что не удивительно, что программных решений, реализованных на этом языке, крайне мало, и тот факт, что он был разработан для узкоспециализированного сектора рынка, делает его несостоятельность менее трагичной. 

Perl 5

1994

Ларри Уолл

Включает в себя полностью переписанный интерпретатор, а также много новых языковых возможностей, таких, как объекты, ссылки, локальные переменные (my $var_name) и модули. Особенно важной частью были модули, так как они предоставили механизм расширения языка без модифицирования интерпретатора. Это позволило стабилизировать интерпретатор, но при этом, дало возможность обычным Perl-программистам добавлять в язык новые возможности. Perl 5 находится в активной разработке по сей день.

PHP

1994

Расмус Лердорф

является СИ-подобным скриптовым языком. Самая первая версия PHP была разработана еще в 1994, но к 1998 году появилась основная версия PHP – 5.4. Язык PHP широко используется программистами для написания сценариев, которые выполняются на серверах при каждом обновлении страницы сайта. PHP действительно похож на язык СИ, и многое он позаимствовал из языка JAVA и технологии JSP. Сегодня PHP используется многими программистами, потому ядром огромного количества сайтов является php-код.

Java

1995

компания Sunв, Xerox PARC

Платформенно-независимый язык объектно-ориентированного программирования, чрезвычайно эффективен для  создания интерактивных  веб-страниц. Этот язык был создан компанией Sun в начале 90-х годов на основе СИ++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Язык мобильного приложения.

ColdFusion 

1995

братья Аллеры

ЯзыкWeb-разработок, популярен благодаря своей простоте и доступности для начинающих программистов. Он  был вытеснен ASP.NET и PHP

JavaScript

1996

Язык программирования, созданный для «оживления и придания динамичности» веб-сайтам. Развитие языка началось с 1996 года. Программы, написанные на языке JavaScript, называются скриптами, которые выполняются совместно с HTML-документами. С помощью JavaScript программисты создают некоторые функции, как например открытие нового окошка с выводом в нем сообщения об ошибке после некоторого действия пользователя. Он способен выполнять свои скрипты спустя заданные интервалы времени. В общем, JavaScript это и самостоятельный язык, но также его можно назвать вспомогательным для остальных, так как с помощью него легко сделать сайт более функциональным и интересным для пользователя.

REBOL 

1998

Карл Сассенрат

Контекстно-зависимый объектный язык программирования, созданный специально для распределенных вычислений в Web. Позиционируется как язык обмена сообщениями. Большинство преимуществ, которые предоставлял язык, никому не нужны и откровенно устарели- это в конечном счете ускорило провал REBOL. На нынешней стадии развития программирования REBOL рассматривается как сервисный язык и используется в основном для «домашних» разработок.

F# (произносится «Эф-шарп») 

2005

Дон Сайм

Язык, разработанный Microsoft с целью объединения в себе функциональности и практичности. Так как F# является языком первого класса на виртуальной машине .Net CLR, он может поддерживать такие же библиотеки и функции, как и другие CLR языки, например, как C# и Visual Basic. Код F# чем-то похож на код OCaml, но содержит свой собственный интересный синтаксис. Например, для облегчения проведения научных расчётов числовыми типами данных в F# могут являться единицы измерения. Также в F# имеются конструкции для облегчения асинхронных вводов/выводов, параллелизации ЦПУ и вывода процессов на графический процессор.

jQuery

2006

Джон Резиг

jQuery – это библиотека многократно используемых объектов и функции JavaScript, Обычно jQuery является отдельным JavaScript-файлом. jQuery можно назвать фреймворком (framework), т.е. набором операции и инструкции для решения однотипных задач. Библиотека позволяет вам работать и управлять различными объектами на веб-страницах.

Go (часто также Golang)

2009

Команда инженеров Google 

Язык программирования общего назначения, который подходит для всего: начиная от разработки приложений и заканчивая программированием систем. В этом смысле он больше похож на C или C++, чем на Java или C#. Однако, как и последние языки, Go включает в себя такие современные функции, как очистка памяти от ненужных данных, отражение текущих процессов выполнения и поддержку параллельности. Также важно то, что Go был создан для лёгкого программирования.

HTML 5

2014

Консорциум Всемирной паутины и whatwg

Новое поколения языка разметки интернет страниц.

Список наиболее заметных нововведений HTML5:

  1. Рисование на веб-холсте (использование элемента canvas)
  2. Перетаскивание элементов (реализация технологии drag-n-drop)
  3. Вставка аудио и видео ресурсов
  4. Новые элементы пользовательского интерфейса
  5. Управление историей просмотра страниц
  6. Управление параметрами состояния
  7. Обмен сообщениями между страницами
  8. Размещение векторной графики в формате SVG
  9. Разметка математических выражений с помощью MathML
  10. Элементы семантической разметки

Условные обозначения

        Мёртвые языки программирования

        Перспективные  языки программирования

        

        Языки мобильного приложения

Составив и проанализировав данную  таблицу, можно сделать вывод, что языки программирования развиваются в сторону все большей  абстракции от реальных машинных команд и самым очевидным преимуществом здесь является увеличение скорости разработки программ. Вот некоторые причины развития языков программирования.

  1. Потребность в решении более сложных и разнообразных задач. Первые ЭВМ имели ограниченные возможности, следовательно, и программы были простыми. В процессе эволюции вычислительной техники от неё требовалось решение все более сложных и разнообразных задач. Следовательно, язык программирования должен был позволять писать программы для решения этих задач. Это способствовало появлению и развитию в языках программирования различных новых технологий. Например, пользуется широкой популярностью технология  объективно-ориентированного программирования.
  2. Программы становятся сложнее и больше по объёму. Появилось стремление  к повышению эффективности процесса создания программ. Поэтому существует тенденция в развитии языков программирования к быстрому написанию  программ. Здесь также следует отметить появление множества систем визуального программирования, в какой-то степени облегчающие труд программиста.
  3. Желание, чтобы программы работали на разных платформах, привело к развитию независимости от ЭВМ языков системного программирования. Языки системного программирования , на которых создаются операционные системы, трансляторы и другие системные программы, развиваются в направлении независимости от ЭВМ. Так, например, большая часть операционных систем написана на языке С, а не на ассемблере. Например, операционная система Unix  практически написана на языке С.
  4. Большие проекты предусматривают совместный труд множества программистов. В возможности лёгкой командной работы хорошо себя зарекомендовала  технология объектно - ориентированного  программирования. Поэтому большинство современных языков программирования  поддерживают ООП.

У каждого языка программирования есть достоинства и недостатки,  которые влияют на дальнейшее процветание.

Недостатки языков программирования низкого уровня.

  • Программист, работающий с языками низкого уровня,  должен быть высокой  квалификации,  хорошо понимать  устройство микропроцессорной системы, для которой создается программа.
  • Результирующая программа не может быть  перенесена на компьютер или устройство с другим типом процессора.
  • Значительное время разработки больших и сложных программ

Недостатком языков программирования высокого уровня является большой размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и  устройств, которые имеют большой объём памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.

Красным цветом я выделила  языки, которые по определённым причинам вышли из употребления.  ( Мертвые языки программирования)

Причины краха языков программирования.        

  • сложны в применении
  • недоступны для простого пользователя
  • ошибки менеджмента
  • отсутствие «рекламы» в СМИ, вернее присутствие антирекламы
  • отсутствие поддержки крупных вендоров, в отличии от конкурентов
  • были вытеснены альтернативным  языком, новыми технологиями и изменяющимися условиями выживания;
  • низкий порог вхождения
  • отсутствие сертификационных центров

1. Программирование. Язык программирования.

Знакомиться с этими понятиями будем по принципу от простого к сложному. Возникал ли у вас когда-нибудь вопрос: « Что такое язык?» Чтобы ответить на этот вопрос обратимся к толковому словарю.

Язык в лингвистическом плане представляет собой важнейшее средство общения. Более того, язык – средство хранения и передачи информации, средство управления поведением человека. Язык неразрывно связан с обществом.

Искусственный язык — специальный язык, который, в отличие от естественного, сконструирован целенаправленно. Таких языков существует уже более тысячи, и постоянно создаются всё новые и новые.

Программирование - процесс создания компьютерных программ. Программирование основывается на использовании языков программирования, на которых записываются инструкции для компьютера. Современное приложение содержит множество таких инструкций, связанных между собой.

Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.


2. История возникновения языков программирования

2.1 Первопроходцы в программировании

«Люди сами делают свою историю, но они её делают не так, как им вздумается, при обстоятельствах, которые не сами они выбрали, а  которые непосредственно имеются на лицо, даны им и перешли от прошлого»

 Карл Маркс

http://paintingandframe.com/uploadpic/others/big/charles_babbage_(1792-1871).jpg

Английский математик Чарлз Бэббидж (1791—1871 гг.).

В 20-х годах XIX века ему пришла идея создать механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию. Ч. Бэббидж посвятил реализации этой идеи всю жизнь. Он не добился успеха и признания современников при жизни, но оказал огромное влияние на современное развитие информатики.http://vek19.com/site_vek19/public/files/ada/07.png

Ада Лавлейс, дочь английского поэта Чарлза Гордона Байрона. Она оказалась одним из немногих современников Чарлза Бэббиджа, кто сумел по достоинству оценить идею "аналитической машины". Она стала ближайшей помощницей и сподвижницей Бэббиджа, разработала некоторые приемы управления последовательностью вычислений, которые используются в программировании, по сей день. Описала одну из важнейших конструкций практически любого современного языка программирования — цикл. Аду Лавлейс по праву считают первым в мире программистом. В честь неё был назван язык программирования – язык АДА         https://im1-tub-ru.yandex.net/i?id=aa251e099b7e7d2922b47b164a3f1843&n=16

Первым шагом в развитии современных языков       программирования стало создание в конце 1940-х годов Джоном Моучли американским физиком Пенсильванского университета США системы кодирования машинных команд  с помощью специальных символов.                                                       

 Грейс Мюррей Хоппер (Grace Murray Hopper) — один из пионеров программирования, математик. Контр-адмирал ВМФ США. По праву считается «бабушкой COBOL» и удостоена многочисленных наград за неоценимый вклад, внесенный в развитие этого языка программирования.Грейс Хоппер биография, фото, истории - американский военный деятель, контр-адмирал, программист, создала программное обеспечения для компьютера Марк I и, предположительно, разработала первый в истории компилятор для языка программирования

Грейс Мюррей Хоппер стала третьим в мире программистом.

В 1951 г. Хоппер создала первый в мире компилятор. Именно она ввела сам этот термин. При работе на компьютере "Maрк-I" Г. Хоппер и ее группе пришлось стать первопроходцами программирования. Они первыми придумали подпрограммы.


2.2 Первые языки программирования. Особенности первых языков программирования

Ну что ж, приблизимся к  самым истокам программирования и постараемся ответить на главный вопрос: почему одни языки программирования остались в стадии зарождения и про них все забыли, другие легли в основу новых, которые живут и позволяют человечеству развивать информационные технологии.

Вспомним  первые компьютеры и программы для них. Это была эра программирования непосредственно в машинных кодах, а основным носителем информации были перфокарты и перфоленты. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке.

Основоположником программирования можно считать английского математика Чарлза Бэббиджа (1791—1871 гг.). В 20-х годах XIX века ему пришла идея создать такую механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию. Ч. Бэббидж посвятил реализации этой идеи всю жизнь. Он не добился успеха и признания современников при жизни, но оказал огромное влияние на современное развитие информатики. Хотя использованный Бэббиджем способ записи программы на перфокартах, придуманный для управления ткацкими станками французским изобретателем Жозефом Мари Жаккаром, не имеет ничего общего с современными технологиями хранения и выполнения программ компьютерами, принцип остался тем же.

Рядом с Ч. Бэббиджем у истоков программирования стояла Ада Лавлейс, дочь английского поэта Чарлза Гордона Байрона. Она разработала некоторые  приемы управления последовательностью вычислений, которые используются в программировании и посей день, описала одну из важнейших конструкций практически любого современного языка программирования — цикл. Аду Лавлейс по праву считают первым в мире программистом.

На практике базовые принципы программирования реализовала другая женщина - Грэйс Хоппер. Дальнейшего прогресса в программировании пришлось ждать почти 100 лет, и связан он был с появлением в середине 1940-х годов электромеханических и электронных вычислительных машин — родителей современных компьютеров. Для программирования этих машин использовались машинные коды — цифровые комбинации, "понятные" только данной машине. Такое программирование было чрезвычайно трудоемким и сложным делом, доступным лишь небольшому кругу специалистов.

Первым шагом в развитии современных языков программирования стало создание в конце 1940-х годов Джоном Моучли, сотрудником Пенсильванского университета (США), системы кодирования машинных команд этих компьютеров с помощью специальных символов. Достижением создателей языков программирования было то, что они сумели заставить сам компьютер работать переводчиком с этих языков на машинный код. Описываемая система, которую назвали "Short Code", была по существу одним из первых примитивных интерпретаторов. Она использовала примитивный язык программирования высокого уровня. На нем программист записывал решаемую задачу в виде математических формул, а затем сам, используя специальную таблицу, переводил символ за символом, преобразовывая эти формулы в двухлитерные коды. В дальнейшем специальная программа компьютера превращала эти коды в двоичный машинный код.

Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его группы — Грейс Мюррей Хоппер, которая стала третьим в мире программистом.

В 1951 г. Хоппер создала первый в мире компилятор. Именно она ввела сам этот термин.

Компилятоp (от англ. Compile - собирать вместе, составлять) - системная программа, выполняющая преобразование программы, написанной на одном алгоритмическом языке, в программу на языке, близком к машинному, и в определенном смысле эквивалентную первой.

В 1954 г. группа под руководством Г. Хоппер разработала систему, включающую язык программирования и компилятор, которая в дальнейшем получила название MATH-MATIC. После удачного завершения работ по созданию MATH-MATIC Г. Хоппер и ее группа принялись за разработку нового языка и компилятора, который позволил бы пользователям программировать на языке, близком к обычному английскому. В 1958 г. появился компилятор FLOW-MATIC. FLOW-MATIC был первым языком для задач обработки коммерческих данных. Работы в этом направлении привели к созданию языка КОБОЛ (COBOL — Common Business Oriented Language). Одним из основных консультантов при его создании была Грейс Мюррей Хоппер.

 Середина 50-х годов XX века характеризуется стремительным прогрессом в области программирования.  Стало понятно, что процесс формирования машинного кода можно автоматизировать. Для записи программ начали применять мнемонический язык – язык assembly. Язык ассемблера позволил представить машинный код в более удобной для человека форме: для обозначения команд и объектов, над которыми эти команды выполняются, вместо двоичных кодов использовались буквы или сокращенные слова, которые отражали суть команды. Например, на языке ассемблера команда сложения двух чисел обозначается словом add, тогда как ее машинный код может быть таким: 000010. Запись программы на языке ассемблера фактически является тем же машинным кодом, только представленным с помощью специальных обозначений.

Ассемблер можно отнести к языкам второго поколения, если за первый принять машинный код. Появление этого языка на свет, очень облегчало жизнь программистов. Теперь вместо рябящих в глазах нулей и единиц, они могли писать программу командами, состоящими из символов приближенных к обычному языку. Для того времени этот язык был новшеством и пользовался популярностью т.к. позволял писать программы небольшого размера, что при тех машинах критерий значительный. Но сложность разработки в нём больших программных комплексов привела к появлению языков третьего поколения – языков высокого уровня. Но на этом жизнь ассемблера не закончилась, он жив и посей день и не только жив, но и пользуется популярностью в узких кругах. Сейчас его используют в написании отдельных фрагментов программ или иногда в написании самих программ. Примеров может быть много, но самые яркие это использование ассемблера в написании драйверов, игр и загрузчиков ОС. Не стоит забывать, что у хакеров этот язык так же пользуется популярностью, да ещё какой! Но что же им так нравиться в нём? Конечно же, то, что скорость работы полученной программы значительно выше скорости программы написанной на языке программирования высокого уровня. Это объясняется тем, что получившийся размер программы очень мал. А как же разработчики антивирусных программ? Они тоже не лыком шиты и так же используют ассемблер в некоторых модулях своих программ, что так же обеспечивает их быстродействие. А если бы не ассемблер некоторые программы загружались бы около часа! Так что ассемблер воистину вечный язык и ещё много, много лет он будет служить человечеству!

Программирование в машинных командах стало вытесняться программированием на языках, выступавших в роли посредника между машинами и программистами. Первым и одним из наиболее распространенных стал Фортран (FORTRAN, от FORmula TRANslator — переводчик формул), разработанный группой программистов фирмы IBM в 1954 г. Этот язык получил большое распространение, стал основным языком для научных и технических расчетов, несколько раз усовершенствовался и широко используется до сих пор. В конце 50-х годов плодом международного сотрудничества в области программирования явился Алгол-60 (ALGOL, от ALGOrithmic Language — алгоритмический язык, версия 1960 г.). Алгол предназначен для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач. Специалисты-практики восприняли этот язык далеко не однозначно, но, тем не менее, его влияние на развитие других языков и теорию программирования оказалось весьма значительным. Развитие идеи Алгола о структуризации разработки алгоритмов нашло наивысшее отражение при создании в начале 1970-х годов языка Паскаль швейцарским ученым Никлаусом Виртом. Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах. Однако качества его в совокупности оказались столь высоки, что им охотно пользуются и профессиональные программисты. В середине 1960-х годов сотрудники математического факультета Дартмутского колледжа Томас Курц и Джон Кемени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали "универсальным символическим кодом для начинающих" (Beginners All Purpose Symbolic Instruction Code, или, сокращенно, BASIC, а по-русски — Бейсик). Годом рождения нового языка можно считать 1964 г.Долгое время универсальный язык Бейсик (имеющий множество версий) имел большую популярность и широкое распространение среди пользователей ЭВМ различных категорий во всем мире. В значительной мере этому способствовало то, что Бейсик начали использовать как встроенный язык персональных компьютеров, широкое распространение которых началось в конце 1970-х годов.

Большой отпечаток на современное программирование наложил язык Си (первая версия — 1972 г.), являющийся очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Си сочетает в себе черты, как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам, чего не позволяют такие языки, как Бейсик и Паскаль.

Более специализированным языком является язык ЛОГО (от греч. logos — слово), созданный для обучения программированию школьников, профессором математики и педагогики Сеймуром Пейпертом  из Массачусетского технологического института. Обучаясь программированию на ЛОГО, дети задают простые команды и составляют из них программы, которые управляют условной "черепашкой" — объектом, оставляющем при перемещении след на экране монитора.

Отметим язык LISP (LISt Processing — обработка списков), появившийся в США в конце 1950-х годов, и еще один специализированный язык — Пролог (Prolog — PROgramming in LOGic), разработанный в 1970-е годы, как языки программирования для создания систем искусственного интеллекта.

В начале 1960-х годов все существующие языки программирования высокого уровня можно было пересчитать по пальцам,  впоследствии их число достигло трех тысяч. Однако в практической деятельности используется не более двух десятков из них.

Разработчики ориентировали языки на разные классы задач, в той или иной мере привязывали их к конкретным архитектурам компьютеров, воплощали в них личные вкусы и идеи.

В конце 1960-х годов были сделаны попытки преодолеть эту "разноголосицу" путем создания универсального языка программирования. Первым детищем этого направления стал PL/1 (Programm Language One), 1967 г. Затем на эту роль претендовал Алгол-68 (1968 г.). Предполагалось, что подобные языки будут развиваться и усовершенствоваться и вытеснят все остальные. Однако ни одна из этих попыток на сегодняшний день не увенчалась успехом (хотя PL/1 в усеченных версиях использовали многие программисты). Стремление к универсальности языка приводило к неоправданной сложности конструкций программы, неэффективности получаемых исполняемых кодов.

Бурный рост числа различных языков программирования в период с конца 1960-х и до начала 1980-х годов сопровождался, как это ни странно, кризисом программного обеспечения. Остро не хватало программ для решения самых разных задач и программистов для их разработки, а написанные программы часто содержали ошибки и работали неустойчиво. Этот кризис особо остро переживало военное ведомство США. В январе 1975 г. Пентагон решил на вести порядок в хаосе трансляторов и учредил комитет, которому было предписано разработать один универсальный язык. На конкурсной основе комитет проработал сотни проектов, и когда стало ясно, что ни один из существующих языков не может их удовлетворить, принял два проекта для окончательного рассмотрения. В мае 1979 г. был объявлен победитель —группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Ады Лавлейс. Язык АДА — прямой наследник языка Паскаль. Этот язык предназначен для создания и длительного  сопровождения больших программных систем, допускает возможность параллельной обработки, управления процессами в реальном времени и многое другое, чего трудно или невозможно достичь средствами более простых языков. Следует отметить, что многие языки, первоначально разработанные для больших и малых вычислительных машин, в дальнейшем были приспособлены к персональным компьютерам.

Языки программирования сохраняют свое предназначение для решения задач определенных типов. Выбор языка определяется удобствами для программистов, их предпочтениями в силу опыта и образования, а также пригодностью для данного компьютера и данной задачи. А задачи, решаемые с помощью компьютера, бывают самые разнообразные: вычислительные, экономические, графические, экспертные, создание системного программного обеспечения и т.д.

Такая разнотипность решаемых компьютером задач и приводит к многообразию языков программирования.

Задача

Примеры языков

Задачи искусственного интеллекта

Lisp, Prolog, Multilisp, Commonlisp, Рефал, Planner, QA4, FRL, KRL, QLisp

Параллельные вычисления

Fun, Apl, Alfl, PARAlfl, ML, SML, PPL/1, Hope, Miranda, Occam, PFOR, Glypnir, Actus, параллельный Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВС-Алгол, ОВС-Фортран, PA(1), PA(G)

Задачи вычислительной математики и физики

Occam, PFOR, Glypnir, Actus,параллельный Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВС-Алгол, ОВС-Фортран, PA(1), PA(G)

Разработка интерфейса

Forth, c, C++, Ассемблер, Макроассемблер, Simula-67, OAK, Smalltalk, Java, РПГ

Разработка программ-оболочек, разработка систем

Forth, c, C++, Ассемблер, Макроассемблер, Simula-67, OAK, Smalltalk, Java, РПГ

Задачи вычислительного характера

Algol, Fortran, Cobol, Ada, PL/1,Фокал, Basic,Pascal

Оформление документов, обработка больших текстовых файлов, организация виртуальных трехмерных интерфейсов в Интернете, разработка баз данных

Perl, Tcl/Tk, VRML, SQL, PL/SCL, Informix 4GL, Natural, DDL, DSDL, SEQUEL, QBE, ISBL

Чтобы более четко представить картину развития языков программирования обратимся к хронологической таблице. (См. приложение) Но это отнюдь не весь список созданных человечеством языков программирования, так как многие языки по определённым причинам не могли существовать самостоятельно, они легли в основу новых, более усовершенствованных. О них мы поговорим в разделе « Диалекты».


3.Эволюция языков программирования. Классификация языков программирования.

Поколения

ЭВМ

Характеристика ЭВМ

Языки программирования

Характеристика ЯП

1поколение

(1946-1954г.г.)

Для научно-технических расчетов; носитель информации - перфокарты и перфоленты; программное обеспечение-библиотека стандартных программ, автокоды.

Машинные

Ориентированы на использование в конкретной ЭВМ, сложны в освоении, требуют хорошего знания архитектуры ЭВМ.

2поколение

(1958-1960г.г.)

Для технологических и экономических расчётов; носитель информации- магнитная лента; созданы трансляторы.

Ассемблеры, макроассемблеры

Более удобны для использования, но по-прежнему машинно-зависимы

3поколение

(1960-1966г.г.)

Для управления и технологических расчётов; носитель информации- диск; программное обеспечение- операционные системы; СУБД; пакеты прикладных программ.

Языки высокого уровня

Мобильные, человеко-ориентированные, проще в освоении

4поколение

(1970-1980г.г.)

Для информационного обслуживания, телекоммуникации; носитель информации-гибкий диск; прикладное ПО общего назначения; сетевое ПО; мультимедия.

Непроцедурные, объектно-ориентированные, языки запросов, параллельные

Ориентированы на непрофессионального пользователя и на ЭВМ с параллельной архитектурой

5поколение

(1980г.- по наше время)

Телекоммуникации, информационное обслуживание; носитель информации- гибкий, жёсткий  и оптический диски; интеллектуальные программные системы;

Языки искусственного интеллекта, экспертных систем и баз знаний, естественные языки

Ориентированы на повышение интеллектуального уровня ЭВМ и интерфейса с языками

Развитие вычислительной техники сопровождается созданием новых и совершенствованием существующих средств общения программистов с ЭВМ - языков программирования (ЯП). Проанализируем таблицу и  установим зависимость развития ЯП от развития ЭВМ.

ЯП первого поколения представляли собой набор машинных команд в двоичном (бинарном) или восьмеричном формате, который определялся архитектурой конкретной ЭВМ. Каждый тип ЭВМ имел свой ЯП, программы на котором были пригодны только для данного типа ЭВМ. От программиста при этом требовалось хорошее знание не только машинного языка, но и архитектуры ЭВМ.

Второе поколение ЯП характеризуется созданием языков ассемблерного типа (ассемблеров, макроассемблеров), позволяющих вместо двоичных и других форматов машинных команд использовать их мнемонические символьные обозначения (имена). Являясь существенным шагом вперед, ассемблерные языки все еще оставались машинно-зависимыми, а программист все также должен был быть хорошо знаком с организацией и функционированием аппаратной среды конкретного типа ЭВМ. При этом ассемблерные программы все так же затруднительны для чтения, трудоемки при отладке и требуют больших усилий для переноса на другие типы ЭВМ. Однако и сейчас ассемблерные языки используются при необходимости разработки высокоэффективного программного обеспечения.

Третье поколение ЯП начинается с появления в 1956 г. первого языка высокого уровня - Fortran, разработанного под руководством Дж. Бэкуса в фирме IBM. За короткое время Fortran становится основным ЯП при решении инженерно-технических и научных задач. Первоначально Fortran обладал весьма ограниченными средствами обеспечения работы с символьной информацией и с системой ввода-вывода. Однако постоянное развитие языка сделало его одним из самых распространенных ЯВУ на ЭВМ всех классов - от микро- до супер-ЭВМ, а его версии используются и для вычислительных средств нетрадиционной параллельной архитектуры.

     Вскоре после языка Fortran появились такие ныне широко известные языки, как Algol, Cobol,Basic, PL/1,Pascal, APL, ADA, C, Forth, Lisp, Modula и др. В настоящее время насчитывается свыше 2000 раз      личных языков высокого уровня.

Языки четвертого поколения носят ярко выраженный непроцедурный характер, определяемый тем, что программы на таких языках описывают только что, а не как надо сделать. В программах формируются скорее соотношения, а не последовательности шагов выполнения алгоритмов. Типичными примерами непроцедурных языков являются языки, используемые для задач искусственного интеллекта(например, Prolog, Langin). Так как непроцедурные языки имеют минимальное число синтаксических правил, они значительно более пригодны для применения непрофессионалами в области программирования.

Языки программирования от поколения к поколению улучшали свои характеристики, становясь все более доступными в освоении непрофессионалам. Все языки программирования делятся на два уровня:

Языки программирования низкого уровня или Ассемблеры, которые состоят из мнемонических команд приближенных к машинному (двоичному)  коду с которым непосредственно работает процессор компьютера. У каждого типа процессора свой язык ассемблера. Достоинством языков низкого уровня является то, что с их помощью создают самые краткие и быстро исполняемые программы. Недостаток таких языков в том, что их трудно изучать, так как необходимо знать и хорошо понимать работу и устройство конкретного процессора. Тексты программ на таких языках получаются очень большими по объёму. Программы, написанные на таких языках, не могут использоваться на процессорах других типов.

Языки программирования высокого уровня (например, Бейсик, Паскаль, СИ) состоят из более понятных команд для человека, так как для их написания используются фразы из обычных языков (в большинстве случаев Английского), поэтому они значительно проще для изучения и применения. Программы, написанные с их помощью, можно использовать на любом компьютере. Языки программирования высокого уровня классифицируют по четырём основным группам: процедурные, объектно-ориентированные, функциональные и логические. Процедурное программирование - есть отражение фон Неймановской архитектуры компьютера. Программа, написанная на процедурном языке, представляет собой последовательность команд, определяющих алгоритм решения задачи. Основная идея процедурного программирования - использование памяти для хранения данных. Основная команда - присвоение, с помощью которой определяется и меняется память компьютера. Программа производит преобразование содержимого памяти, изменяя его от исходного состояния к результирующему. Различают такие языки процедурного программирования:

Язык Фортран создан в начале 50-х годов 20-го века для программирования научно-технических задач;

Кобол – создан в конце 60-х годов 20-го века для решения задач обработки больших объемов данных, хранящихся на различных носителях данных;

Алгол (1960 год) – это многоцелевой расширенный язык программирования. В нем впервые введены понятия “блочная структура программы” и “динамическое распределение памяти”;

В середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASIC. Характеризуется простотой освоения и наличием универсальных средств для решения научных, технических и экономических задач, а также задач, например, игровых.

Все перечисленные выше языки были ориентированы на различные классы задач, но они в той или иной мере были привязаны к конкретной архитектуре ЭВМ.

В 1963-1966гг был создан многоцелевой универсальный язык PL-1. Этот язык хорошо приспособлен для исследования и планирования вычислительных процессов, моделирования, решения логических задач, разработки систем математического обеспечения.

Язык Паскаль (PASCAL) (1968-1971гг)- язык процедурного программирования наиболее популярный для ПК, который и в настоящее время успешно применяется. В основу языка Pascal положен подход от общей задачи к частным (более простым и меньшим по объему). К основным принципам, которыми обладает Паскаль, можно отнести: а) Структурное программирование, которое основано на использовании подпрограмм и независимых структур данных; б) Программирование “сверху-вниз”, когда задача делится на простые, самостоятельно решаемые задачи. Затем выстраивается решение исходной задачи полностью сверху вниз.

К языкам процедурного программирования можно отнести язык АДА

(1979 г) Язык СИ (начало 70-х годов) также относится к языкам процедурного программирования. Первоначальный его вариант планировался как язык для реализации операционной системы Unix вместо языка Ассемблера. Одной из особенностей языка СИ является то, что различия между выражениями и операторами сглаживаются, что приближает его к функциональным языкам программирования. Кроме того, в языке СИ отсутствует понятие процедуры, а использование подпрограмм основано на понятии функции, которая может сочетать в себе возможности процедуры. С одной стороны, по набору управляющих конструкций и структур данных его можно отнести к языкам высокого уровня, а с другой – он имеет набор средств прямого обращения к функциональным узлам компьютера, а это означает, что его можно использовать как операционный язык.

Непроцедурные языки составляют группу языков, описывающих организацию данных, обрабатываемых по фиксированным алгоритмам (табличные языки и генераторы отчетов), и языков связи с операционными системами.

Позволяя четко описывать как задачу, так и необходимые для её решения действия, таблицы решений дают возможность в наглядной форме определить, какие условия должны быть выполнены, прежде чем переходить к какому-либо действию. Одна таблица решений, описывающая некоторую ситуацию, содержит все возможные блок-схемы реализаций алгоритмов решения.

Табличные методы легко осваиваются специалистами любых профессий.

Программы, составленные на табличном языке, удобно описывают сложные ситуации, возникающие при системном анализе.

Объектно-ориентированное программирование (ООП) — это метод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило,

 к изменению свойств объекта.

С расширением областей применения вычислительной техники возникла необходимость формализовать представление постановки и решение новых классов задач. Необходимо было создать такие языки программирования, которые, используя в данной области обозначения и терминологию, позволили бы описывать требуемые алгоритмы решения для поставленных задач, ими стали проблемно - ориентированные языки. Эти языки, ориентированные на решение определенных проблем, должны обеспечить программиста средствами, позволяющими коротко и четко формулировать задачу и получать результаты в требуемой форме.

Проблемных языков очень много, например:

Фортран, Алгол - языки, созданные для решения математических задач;

Simula, Слэнг - для моделирования;

Лисп, Снобол - для работы со списочными структурами.

К ним относятся функциональные и логические языки программирования. Функциональное программирование - это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений. Выражение вычисляется сведением сложного к простому. Все выражения записываются в виде списков. Первым языком стал язык Лисп (LISP, LIST Processing - обработка списков) создан в 1959г. Этот язык позволяет обрабатывать большие объемы текстовой информации. Логическое программирование- это программирование в терминах логики. В 1973 году был создан язык искусственного интеллекта Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

Машинно-ориентированные языки - это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ (внутреннего языка, структуры памяти и т.д.). Машинно-ориентированные языки позволяют использовать все возможности и особенности Машинно-зависимых языков:

высокое качество создаваемых программ (компактность и скорость выполнения);

  • возможность использования конкретных аппаратных ресурсов;
  • предсказуемость объектного кода и заказов памяти;
  • для составления эффективных программ необходимо знать систему команд и особенности функционирования данной ЭВМ;
  • трудоемкость процесса составления программ ( особенно на машинных языках и ЯСК), плохо защищенного от появления ошибок;
  • низкая скорость программирования;
  • невозможность непосредственного использования программ, составленных на этих языках, на ЭВМ других типов.

Машинно-независимые языки - это средство описания алгоритмов решения задач и информации, подлежащей обработке. Они удобны в использовании для широкого круга пользователей и не требуют от них знания особенностей организации функционирования ЭВМ и ВС.

Подобные языки получили название высокоуровневых языков программирования. Программы, составляемые на таких языках, представляют собой последовательности операторов, структурированные согласно правилам рассматривания языка(задачи, сегменты, блоки и т.д.). Операторы языка описывают действия, которые должна выполнять система после трансляции программы на машинном языке.

Т.о., командные последовательности (процедуры, подпрограммы), часто используемые в машинных программах, представлены в высокоуровневых языках отдельными операторами. Программист получил возможность не расписывать в деталях вычислительный процесс на уровне машинных команд, а сосредоточиться на основных особенностях алгоритма.

Универсальные языки были созданы для широкого круга задач: коммерческих, научных, моделирования и т.д. Первый универсальный язык был разработан фирмой IBM, ставший в последовательности языков Пл/1. Второй по мощности универсальный язык называется Алгол-68. Он позволяет работать с символами, разрядами, числами с фиксированной и плавающей запятой. Пл/1 имеет развитую систему операторов для управления форматами, для работы с полями переменной длины, с данными организованными в сложные структуры, и для эффективного использования каналов связи. Язык учитывает включенные во многие машины возможности прерывания и имеет соответствующие операторы. Предусмотрена возможность параллельного выполнение участков программ.

Программы в Пл/1 компилируются с помощью автоматических процедур. Язык использует многие свойства Фортрана, Алгола, Кобола. Однако он допускает не только динамическое, но и управляемое и статистическое распределения памяти.

Появление новых технических возможностей поставило задачу перед системными программистами - создать программные средства, обеспечивающие оперативное взаимодействие человека с ЭВМ их назвали диалоговыми языками.

Эти работы велись в двух направлениях. Создавались специальные управляющие языки для обеспечения оперативного воздействия на прохождение задач, которые составлялись на любых раннее неразработанных (не диалоговых) языках. Разрабатывались также языки, которые кроме целей управления обеспечивали бы описание алгоритмов решения задач.

Необходимость обеспечения оперативного взаимодействия с пользователем потребовала сохранения в памяти ЭВМ копии исходной программы даже после получения объектной программы в машинных кодах. При внесении изменений в программу с использованием диалогового языка система программирования с помощью специальных таблиц устанавливает взаимосвязь структур исходной и объектной программ. Это позволяет осуществить требуемые редакционные изменения в объектной программе. Одним из примеров диалоговых языков является Бэйсик.

Бэйсик использует обозначения подобные обычным математическим выражениям. Многие операторы являются упрощенными вариантами операторов языка Фортран. Поэтому этот язык позволяет решать достаточно широкий круг задач.

Классификация языков программирования:http://rudocs.exdat.com/pars_docs/tw_refs/40/39443/39443_html_m6f814c52.jpg

Позволим выделить некоторую общую тенденцию в развитии языков программирования. Языки развиваются в сторону все большей и большей абстракции. И это сопровождается падением эффективности. Вопрос: а стоит ли этого абстракция? Ответ: стоит. Стоит, так как повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых компьютеров. Если требования к памяти слишком высоки, можно увеличить ее объем. Это, конечно, требует времени и средств, но это решаемо. А вот с ошибками в программах можно бороться только одним способом: их надо исправлять. А еще лучше — не совершать. А еще лучше максимально затруднить их совершение. И именно на это направлены все исследования в области языков программирования. А с потерей эффективности придется смириться.


4. Двенадцать языков программирования, которые потрясли мир. Мёртвый язык программирования

Существует около 8 500 языков программирования, однако, несмотря на такое разнообразие, число языков, на которых пишет большинство, с трудом переваливает за десяток. Причин, почему тот или иной язык не стал популярным, ничуть не меньше, чем самих языков. Это и распри между их создателями, и плохо организованный процесс продажи, и появление новых технологий,  мы рассмотрим языки программирования, которые не пользуются популярностью среди разработчиков, И попытаемся выявить причины этой «нелюбви». 

  1. Brainfuck назвали языком для мазохистов, придуманный в 1993 году в качестве шарады для мозга, он содержит 8 команд и каждая записывается одним символов. Выглядит просто: набор плюсов, скобок и стрелочек, но решать каждый раз головоломку, раскрывающую суть команды, - действие не для слабонервных.
  2. Язык COW создавался на основе трех букв ММО, используемых в разных регистрах. Созданный на основе платформы Brainfuck, это такой же ребус, как и его предшественник.
  3. Shakespeare - язык интересный, но осложняется его расшифровка тем, что для прочтения послания необходимо знать исходный код: любые 2 слова, на основе которых "строится" пьеса. Программисты, работающие с этим языком - Шекспиры, ведь, чтобы запустить программу, необходимо запустить персонажа, написать вступление (которое не является действием) и только потом вывести персонажей на сцену. Впрочем, командой Exit вы так же легко можете убрать одного из памяти, продолжая составлять команды без одного кодового слова. Не используется этот программный язык из-за его сложности расшифровки.
  4. Whitespace. Гениальность состоит в том, что все символы кода - это символы табуляции, пробелы, переходы на новую строку. Программа, которая не содержит видимых знаков, считается одной из самых сложных в программировании, потому и не используется.
  5. ALGOrithmic Language 1968 года. Считается громоздким и плохо запоминающимся языком. Именно он стал «идейным вдохновителем» для создателей С и Bourne Shell. Благодаря ALGOL 68 параллельная обработка данных упростилась до такой степени, что даже современные языки типа Java и С до сих пор не добрались до его уровня. 
  6. ALGOL 68 скоропостижно скончался, так и не успев толком пожить. Благодаря невнятности спецификации членам комитета разработчиков ничего не стоило утопить проект еще до того, как люди смогли реально оценить его достоинства и недостатки. 
  7. Язык Befunge - настоящая головная боль для программиста. В этом исходном коде каждый символ - команда, причем состоит в двухмерной таблице, где элементы управления задаются стрелками "вверх" или "вниз". Головоломка используется в узкоспециализированных кругах и не является популярной.
  8. REBOL в 1999 году взлетел на вершину программного Олимпа, но недолго продержавшись, вылетел из списков фаворитов. Остался любимым языком для домашнего использования из-за сложности внедрения интерпретатора и устаревших команд, особенно после появления на арене языка .NET.
  9. ColdFusion, он же CFML на старте разработок был поставлен в один ряд с Java Enterprise и ASP.NET. Немного напоминает HTML, используя теги для написания кода и идеален для новичков, которые частенько забывают поставить закрывающие теги или нужный символ. Был вытеснен более усовершенствованными версиями ASP.NET, PHP.
  10. Язык Java2k был заявлен, как "Язык Вселенной", имитатор ее истинной сущности, но оказался непопулярным. Причина в существовании двух встроенных функций. То есть, даже запустив программу нельзя быть уверенным, что она выполнит именно ту команду, которую вы ожидаете.
  11. Язык INTERCAL по критериям Тьюринга подходит для повсеместного использования, но программисты не любят его из-за сложного составления программного кода.
  12. VRML можно расшифровать как язык моделирования виртуальной реальности, обещает перевести в трехмерную среду Интернет через телефонное соединение. NASA приняла этот язык на вооружение, запретив использовать в массах.
  13. Язык SMIL создавался для синхронной передачи документов и видео, но оказался слишком сложным в использовании, был незаслуженно вытеснен конкурентом из Microsoft. А мог бы поставлять MMS на телефон! Просто появился не в свое время.

Все эти языки можно назвать мёртвыми языками.

Мёртвый язык программирования - язык, который по определенным причинам вышел из употребления ( выпал из списка популярных).

Точная смерть языка наступает в том случае, когда язык претерпевает эволюцию и развивается в другой язык или даже в группу языков.


5. Причины исчезновения языков программирования

Время жизни языка программирования зависит от успешности команды создателей и промоутеров, т.е. Бейсик и Фортран существовали на ЕС-ЭВМ на СМ-ЭВМ, и на ПК в период существования DOS первых версий, тогда компьютеры назывались ЭВМ и предназначались для счета, но  эти ЭВМ уже изжили себя. Вычислительная мощь, это последнее о чем мы сейчас вспоминаем по отношению к компьютерам, мы мало нуждаемся в счете, очень мало людей, чьи вычислительные потребности выходят за рамки обычного калькулятора, но из этих немногих попадая в электронные таблицы типа Эксель, там и остаются в нирване. Эти языки справлялись со своими задачами и прекрасно жили в условиях тех "сумасшедших ресурсов", но изменился подход к использованию вычислительной техники, и целая категория вычислительной техники превратилась в "абак" -вычислительное средство, представляющее интерес, только исторически.

-Что делает язык мощным и пригодным для всех ипостасей?

 -Прикладное или системное программирование - это наличие различных библиотек, с оптимальным кодом и удачным транслятором (компилятор или интерпретатор).

Мы живем в эпоху вымирания языков. Вымирают естественные языки, такой же тенденции подвержены и языки программирования. Причины вымирания языков программирования разнообразны. Раньше огромная польза была от Pascal. Сейчас он почти умер. В свое время Perl считался крутым, но затем его вытеснил PHP. Однако все языки создавались для чего-то, а не просто так. И перед тем как окончательно отправить тот или иной язык в архив истории, следовало бы полностью осознать его наследие, употребимое в текущей практике программирования. А может статься, что некоторые языки вообще списаны со счетов зазря. Вопрос лишь в том, как грамотно провести ревизию, инвентаризацию всего этого добра из сотен и тысяч языков, как извлечь крупицы смысла из гор отработанной породы?

Проанализировав хронологическую таблицу языков программирования, мы можем назвать несколько основных причин их краха.

Причины краха языков программирования:

  • сложны в применении
  • не доступны  для простого пользователя
  • ошибки менеджмента
  • отсутствие «рекламы» в СМИ, вернее присутствие антирекламы
  • отсутствие поддержки крупных вендоров, в отличии от конкурентов
  • были вытеснены альтернативным  языком, новыми технологиями и изменяющимися условиями выживания;
  • низкий порог вхождения
  • отсутствие сертификационных центров


6. Диалекты. Подмножества. Расширение.

И всё же, не все языки программирования исчезли бесследно. Многие стали базой для новых перспективных языков.

Диалекты содержат незначительные изменения, которые способствуют либо настройке языка на специальное применение, либо выявлению сильных сторон конкретного компьютера. Диалекты несовместимы и с исходным языком, и с другими диалектами.

Подмножество – это версия языка, включающая только часть возможностей полного языка.

Расширение – это расширенная версия, дополненная новыми свойствами, делающими язык более разносторонним.

Давайте рассмотрим схему: http://macedu.narod.ru/edu/history/proglang.gif

Например, на базе языка Паскаль созданы несколько более мощных языков - Модула, Ада, Дельфи

        Объектно-ориентированные языки программирования  

        Универсальные языки программирования

7. Контрольно-измерительный материал

Тест по теме «История языков программирования»

1. Язык программирование – это…

А) формальная знаковая система

2. К языкам низкого уровня  относятся:

А) Паскаль

Б) Лисп

В) Кобол

Г) Ассемблер

3. Автором языка Паскаль является:

А) Томас Курц

Б) Никлаус Вирт

В) Паскаль

Г) Лебедев

4. К языкам объектно-ориентированного программирования не относятся:

А) Turbo Pascal

Б) Visual Basic

В) Delphi

Г ) C

 5. Примером языка для создания приложений к мобильному телефону является ________________

6. Примером языка для создания интернет - страниц является ________________


Заключение.

Каждый в нашей стране должен научиться программировать, потому что это учит думать.         Стив Джобс

Всем нужно знать программирование. Пусть на самом начальном уровне. И неважно, что вам это не пригодится в вашей работе. Как сказал Стив Джобс, это научит вас думать. XX век стал переломным в вопросе грамотности населения. Люди научились читать, писать, считать и даже начали получать высшее образование. Благодаря этому, сегодня технический прогресс шагает семимильными шагами. У нас есть радио и телевидение, телефоны и компьютеры. Человек даже полетел в космос. В XXI же веке программирование стало новым стандартом грамотности. А для этого нужно знать языки программирования.

 Мы в  науке программирования пока что с ЭВМ на ВЫ. И своё развитие в этой области нужно начинать с истории  и эволюции языков программирования.

В данном пособии  я постаралась ответить на очень важный вопрос,  почему языки программирования « умирают».

Вы спросите, а зачем нам изучать мёртвые языки. Считается, что это просто необходимо. Если  рассмотреть хронологическую таблицу, то можно понять, что не все мёртвые языки сейчас бесполезны, ведь некоторые новые создавались на их основе, например, на базе языка Паскаль созданы несколько более мощных языков - Модула, Ада, Дельфи. Некоторые, получили расширение.

Передовым IT-компаниям нужны эксперты по «мертвым» языкам. Например, индустрии финансовых услуг Шотландии угрожает серьезная опасность в области информационных технологий. Ей грозит недостаток критических ресурсов: программистов, знающих COBOL, ассемблер и другие старые языки программирования. Университеты выпускают очень способных студентов, сведущих в модных языках типа Java и NET, но многие компании начинают осознавать, что для некоторых устаревших технологий уже не будет нового поколения специалистов.

В наши бурные дни мобильных платформ и облачных вычислений странно слышать, что для финансового сектора жизненно важен код, написанный в 1959 году, когда компьютеры занимали целые здания. 80% мэйнфреймов страны работает именно с COBOL, и их бизнес-системы требуют непрерывной поддержки и развития. Веб-сайт банка, обращенный к клиенту, может быть написан на Java, но вся обработка транзакций, будь это манипуляции с текущим счетом или со страховкой, происходит на мэйнфреймах. Да-да, в век спутников и цифрового домашнего кино нам все еще нужны инженеры, которые могут починить черно-белый ламповый телевизор.

Конечно, тема «Мёртвые языки программирования» еще до конца не изучена, а значит,  это учебное пособие  вас подвигнет на дальнейшее её изучение. Желаю удачи!


Список использованной литературы

  1. http://wiki.iteach.ru/index.php/Проект:_Мертвые_языки_программирования
  2. http://videouroki.net/filecom.php?fileid=98658276
  3. http://www.pvsm.ru/programmirovanie/106969
  4. http://dimonvideo.ru/articles/2101
  5. http://www.nokiazone.ru/nz?rid=32&text_id=330957
  6. http://blogerator.ru/page/10-peredovyh-jazykov-programmirovanija-kotorye-mogut-perevernut-mir-it
  7. https://habrahabr.ru/post/136706/
  8. https://habrahabr.ru/post/147617/
  9. https://sites.google.com/site/mertvyeazyckiprogrammirovania/home
  10. http://clubfile.net/?q=node/30455
  11. http://www.kakprosto.ru/kak-89609-dlya-chego-nuzhny-yazyki-programmirovaniya
  12. http://doma10.ucoz.ru/index/jazyki_programmirovanija/0-82
  13. http://www.bestreferat.ru/referat-406374.html
  14. http://knowledge.allbest.ru/programming/2c0a65625b2bd69a4c43b89521306d37_0.html



Предварительный просмотр:

                                                                                                 

А знаете ли Вы



Предварительный просмотр:

 «Программирование- вторая грамотность….общее достояние, фундаментальнейшее свойство современного человека»

А.П.Ершов

В понятие «компьютерная грамотность» сегодня входит прежде всего навык использования многообразных средств информационных технологий. Решая ту или иную информационную задачу, необходимо выбрать адекватное программное средство. Это могут быть электронные таблицы, системы управления базами данных, математические пакеты и т.п., Когда подобные средства не дают возможности решить задачу, следует прибегать к универсальным языкам программирования.

Языки программирования дают возможность создавать средства для работы, общения и творчества. В мире существуют тысячи языков, позволяющих вести полноценный диалог с компьютером , однако, несмотря на такое разнообразие, число языков, на которых пишет большинство около десятка.

Изобретая язык программирования, позволило нам общаться с машиной, понимать её. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: "языки программирования "высочайшего" уровня". Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с машиной на ТЫ.

Вы спросите: « А  Как же те языки, которые были созданы и востребованы ранее?».

Языки программирования, которые не используются в программировании, называются-

Мёртвые языками программирования.

         ALGOL 68       Brainfuck      Befunge     REBOL       ColdFusion         Java2k    

               INTERCAL       VRML          SMIL         Haskell         Whitespace               PowerBuilder

Причины краха языков:День программиста

  • сложны в применении;
  • не доступны для простого пользователя;
  • не были продвинуты и распространены на пике популярности за счет мощной рекламы;
  • не имели поддержки крупными фирмами;
  • были вытеснены альтернативным  языком, новыми технологиями и изменяющимися условиями выживания;

                                                               

 


По теме: методические разработки, презентации и конспекты

Научно-исследовательский проект студентов отделения "Хоровое дирижирование" "Летопись ДХО" . Руководитель проекта преподаватель ГОУСПО "Балашовское музыкальное училище (техникум)" Изосимова Светлана Алексеевна

Научно-исследовательский проект студентов отделения "Хоровое дирижирование" "Летопись ДХО" . Руководитель проекта преподаватель ГОУСПО "Балашовское музыкальное училище (техникум)" Изосимова Светлана А...

Коллективный социальный проект студентов классной группы «Хоровое дирижирование» и «Вокальное искусство» "Мы разные, но мы вместе". Руководитель - преподаватель ГОУСПО "Балашовское музыкальное училище (техникум)" Изосимова Светлана Алексеевна

Коллективный социальный проект студентов классной группы «Хоровое дирижирование» и «Вокальное искусство» "Мы разные, но мы вместе". Руководитель  - преподаватель ГОУСПО "Балашовское музыкал...

Творческий проект студентов колледжа в сопровождении презентации для городского фестиваля по иностранному языку "Миром правит любовь"

Выступление подготовили: Меркулова Светлана Стяжкина Ирина Омельченко Татьяна Подопригора ЕкатеринаРуководитель : Дроздова Л.И....

Творческий проект студента Конькова Николая "Гаджеты против студента"

Работа представляет собой статистические исследования необходимости гаджетов в нашей жизни, а также отвечает на вопрос" "Есть ли жизнь без мобильного телефона?"...

Проект студента

Проект студента. Прянишникова Алексея. Группа 1ТМ5.специальность машиностроение....

"Дети мира, берегите Мать!"Сценарий на День Матери(совместный проект студентов и дошкольников)

В каждой стране этот замечательный праздник- День Матери-  отмечается по- разному. Оказывается,  в США  и Австралии существует традиция носить в этот день на одежде цветок гвоздики. При...

Методические указания по экономической части дипломного проекта студентов технических специальностей

На основании основных технико-экономических показателей работы индивидуального предпринимателя и их анализа в дипломном проекте рассчитываются показатели экономической эффективности и срок окупаемости...