Презентация "Языки программирования" 9-11 класс

Подписи к слайдам:
  • Шаронова Селена Михайловна
  • учитель физики
  • МБОУ СОШ №55
  • Тольятти
  • Самарская область
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических и синтаксических правил, задающих внешний вид программы.
  • Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических и синтаксических правил, задающих внешний вид программы.
Первые программы писались на машинном языке. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке позволяло иногда не хранить некоторые данные отдельно, а встраивать их в код как команды.
  • Первые программы писались на машинном языке. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке позволяло иногда не хранить некоторые данные отдельно, а встраивать их в код как команды.
  • Вместе с тем такой способ разработки давал программисту просто невероятную власть над системой. Становилось возможным использование хитроумных алгоритмов и способов организации программ. Например, могла применяться такая возможность, как самомодифицирующийся код. Знание двоичного представления команд
Полнофункциональные языки (по парадигмам): аспектно-ориентированные, структурные, процедурные, логические, объектно-ориентированные, функциональные, мультипарадигмальные.
    • Полнофункциональные языки (по парадигмам): аспектно-ориентированные, структурные, процедурные, логические, объектно-ориентированные, функциональные, мультипарадигмальные.
    • По отдельному признаку: графические, для промышленной автоматизации, стековые, параллельные.
    • Неполнойункциональные языки: языки СУБД,.
    • Эзотерические языки программирования
Первым значительным шагом представляется переход к языку ассемблера. Программисту не надо было больше вникать в способы кодирования команд на аппаратном уровне. Появилась также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ.
  • Первым значительным шагом представляется переход к языку ассемблера. Программисту не надо было больше вникать в способы кодирования команд на аппаратном уровне. Появилась также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ.
Вместе с тем, переход к новому языку таил в себе и некоторые отрицательные стороны. Возможности программистов сильно сократились. Кроме того, здесь впервые в истории развития программирования появились два представления программы: в исходных текстах и в откомпилированном виде.
  • Вместе с тем, переход к новому языку таил в себе и некоторые отрицательные стороны. Возможности программистов сильно сократились. Кроме того, здесь впервые в истории развития программирования появились два представления программы: в исходных текстах и в откомпилированном виде.
  • К концу ассемблерной эры возможность автоматической трансляции в обе стороны была утеряна. В связи с этим было разработано большое количество специальных программ-дизассемблеров, осуществляющих обратное преобразования, однако в большинстве случаев они с трудом могут разделить код и данные.
Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня — Фортран. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок, таких, например:
  • Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня — Фортран. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок, таких, например:
  • В Фортране конструкция : “DO 10 I=1,100” описывает«цикл выполнения оператора при изменении индекса от 1 до 100» Если же здесь заменить запятую на точку, то получится оператор присваивания: DO10I = 1.100.
  • Язык Фортран использовался для научных вычислений.
  • Он страдает от отсутствия многих привычных языковых конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения корректности.
  • По признанию самого Бэкуса, перед ними стояла задача скорее разработки компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже.
Появление Фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.
  • Появление Фортрана было встречено еще более яростной критикой, чем внедрение ассемблера. Через некоторое время пришло понимание того, что реализация больших проектов невозможна без применения языков высокого уровня. Мощность вычислительных машин росла, и с тем падением эффективности, которое раньше считалось угрожающим, стало возможным смириться. Преимущества же языков высокого уровня стали настолько очевидными, что побудили разработчиков к созданию новых языков, все более и более совершенных.
1960 г. – создание языка Cobol
  • 1960 г. – создание языка Cobol
  • 1960 г. Петер Наур создал язык программирования Algol.
  • 1963 г. – создание языка BASIC
  • 1964 г. – корпорация IBM создала язык PL/1
  • 1968 г. – новая версия языка Algol.
В 1970 году Никлаусом Виртом был создал язык программирования Pascal. Язык замечателен тем, что это первый широко распространенный язык для структурного программирования. В этом языке также внедрена строгая проверка типов, что позволило выявлять многие ошибки на этапе компиляции.
  • В 1970 году Никлаусом Виртом был создал язык программирования Pascal. Язык замечателен тем, что это первый широко распространенный язык для структурного программирования. В этом языке также внедрена строгая проверка типов, что позволило выявлять многие ошибки на этапе компиляции.
В 1972 году Керниганом и Ритчи был создан язык программирования Cи. Через 14 лет Бьярн Страуструп создал первую версию языка C++, добавив в язык C объектно-ориентированные черты. Язык стал основой для разработки современных больших и сложных проектов. В 1999–2000 годах в корпорации Microsoft был создан язык C#. Он в достаточной степени схож с Java (и задумывался как альтернатива последнему), но имеет и отличительные особенности. Ориентирован, в основном, на разработку многокомпонентных Интернет-приложений.
  • В 1972 году Керниганом и Ритчи был создан язык программирования Cи. Через 14 лет Бьярн Страуструп создал первую версию языка C++, добавив в язык C объектно-ориентированные черты. Язык стал основой для разработки современных больших и сложных проектов. В 1999–2000 годах в корпорации Microsoft был создан язык C#. Он в достаточной степени схож с Java (и задумывался как альтернатива последнему), но имеет и отличительные особенности. Ориентирован, в основном, на разработку многокомпонентных Интернет-приложений.
В 1969 году был создан язык SETL — язык для описания операций над множествами. Основной структурой данных в языке является множество, а операции аналогичны математическим операциям над множествами.
  • В 1969 году был создан язык SETL — язык для описания операций над множествами. Основной структурой данных в языке является множество, а операции аналогичны математическим операциям над множествами.
  • Perl – язык создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами.
  • Python – интерпретируемый, объектно-ориентированный язык программирования. По структуре и области применения близок к Perl, однако менее распространен и более строг и логичен.
разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи (так называемое «доказательство концепции», англ.  proof of concept), в качестве произведения программного искусства или в качестве шутки (компьютерного мора)
  • разработанный для исследования границ возможностей разработки языков программирования, для доказательства потенциально возможной реализации некой идеи (так называемое «доказательство концепции», англ.  proof of concept), в качестве произведения программного искусства или в качестве шутки (компьютерного мора)
INTERCAL-подобные. Основная идея — максимальное отличие от существующих языков
  • INTERCAL-подобные. Основная идея — максимальное отличие от существующих языков
    • FALSE
  • Brainfuck-подобные. Ориентированы на сокращение синтаксиса (оригинальный Brainfuck имеет 8 команд) при сохранении тьюринг-полноты
    • CaneCode
    • Ook! (язык орангутанов)
    • COW (язык парнокопытных)
    • Brainfork (многозадачный Brainfuck)
    • f*ckf*ck, DoubleFuck
    • Whitespace, Spoon
    • LOLCODE
  • Использующие многомерные представления программ
    • Byter (двумерный)
    • Befunge (двумерный)
    • Befunge-93 (двумерный, не тьюринг-полный)
    • Unefunge (одномерный)
    • Trefunge (трёхмерный)
    • 4DL (четырёхмерный)
    • Piet (с цветовым кодированием)
Языки, созданные для проверки математических концепций
  • Языки, созданные для проверки математических концепций
    • Thue
    • Unlambda
  • Языки, основанные на копировании собственного кода
    • Smetana
    • SMITH
    • Muriel
  • Языки-«чёрные ящики». Созданы с целью затруднить написание кода
    • Malbolge
    • ALPACA
  • Языки с литературным синтаксисом
    • Chef (рецепты)
    • Shakespeare 
    • (Шекспировские пьесы)
    • Haifu (стихотворения хокку)
    • ArnoldC (фразы Арнольда Шварценегера)
    • FiM++ (письма Принцессе Селестии)
  • Языки с нечеловеческой логикой
    • Var'aq (логика расы клингонов из сериала «Star Trek»)
  • Языки для других целей, но часто приводимые в списках эзотерических
    • P′′
    • QuakeC
    • MC++
    • Автокод «ИНЖЕНЕР» (для компьютеров «Минск»)
Другие языки
  • Другие языки
    • Cool
    • GOTO++
    • Lithp
    • paranoid
    • SARTRE
    • SIMPLE
    • HQ9+/HQ9++
    • Whenever
    • smilescript
    • emoticon
    • iot
    • Lazy K
    • Beatnik
    • reMorse
  • Примеры языков программирования по ссылке
  • http://www.wikiznanie.ru/ru-wz/index.php/%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
http://www.wikiznanie.ru/ru-wz/index.php/%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
  • http://www.wikiznanie.ru/ru-wz/index.php/%D0%AF%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
  • https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
  • https://ru.wikipedia.org/wiki/%D0%AD%D0%B7%D0%BE%D1%82%D0%B5%D1%80%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F
  • http://www.erudition.ru/referat/printref/id.36003_1.html
Спасибо
  • Спасибо
  • за
  • внимание!