- •Эзотерические языки
- •Программа «Hello, world»:
- •Программа «Hello, world»:
- •Введение в функциональное программирование
- •Развитие функциональных языков
- •Функционально-аппликативное программирование.
- •Функции высших порядков
- •Сортировка:
- •Логическое программирование
- •Основы логических исчислений
- •Рекурсивные правила
- •Логические программы
- •Бинарные (двоичные) деревья
- •Примеры программ:
- •Работа с символьными выражениями
- •Программа, распознающая многочлены от переменной х
- •Дифференцирование
- •Истинность булевских формул
- •Семантика логических программ
- •Сравнение с другими языками программирования
- •Недетерминированное программирование
- •Задача о ферзях
- •Визуальные языки программирования. Графическое программирование.
- •Псевдографика
- •Диаграмма «сущность-связь»
- •Языки потоков данных
- •Жизненный цикл по
- •Заказное по
- •Оценка реализуемости
- •Анализ и постановка задачи
Конспекты по курсу «Языки программирования»
студентки 6110 группы
Петросовой Анастасии
Преподаватель: Тюгашев А.А.
Самара, 2012
Эзотерические языки
«Чтобы вас уважали, нужно заниматься тем, что непонятно»
1972 г. – INTERCAL (компьютерный язык с непроизносимой аббревиатурой), Дон Вудс, Джеймс Лион
Особенности:
Иногда в конструкцию нужно добавлять пжлст.
DO ABSTAIN FROM STASHING – отключить программу во всей программе и «STASH»
|| - кроличьи уши
= - полурешетки
# - решетка
Brainfuck – 1993 г. (Урбан Мюллер)
Тьюринг – полнота
240 байт – компилятор
Алфавит: 8 символов
Программа «Hello, world»:
++++++++++[>+++++++>++++++++++>
+++>+<<<<-]>++.>+.+++++++..+++
.------.--------.>+.>.
Язык False (компилятор 1024 байт)
Создание аппаратной реализации, интегрирования среды
Brainfork (для параллельного программирования)
F*ckF*ck
DoubleFuck
Whitespace
Spoon (синтаксис – единицы и нули)
Крис Пресси создал двумерный язык.
Befunge – 1993 г.
80 ˄ ˅ ˂ ˃
25
Funge 98
Существует 3 языка, соответствующих этому стандарту:
Unefung
Befung
Trefung
Фунгеады – языки, где присутствуют стрелочки
Язык 23
Argh!, Aura, Gammaplex, 2T
Weird (дорожки из звездочек) – команды определяются углами перехода от одной дорожки к другой
Клив Лифл – 4DL (4-мерный язык)
Язык картинки – Piet. Вместо символов – цветовое кодирование выражения данных (20 базовых цветов). Сложные правила создания цветовых блоков делают Piet великолепным образцом современного искусства.
Malbolg («злые щели») – 8 круг Дантова Ада
Программа «Hello, world»:
(=<`:987624321VT.-Q+*)M’&%$H”
! ̴ }|Brg?=|{2]RuZY44Eq0/{
mlk**hKs_d65[m_BA{?-Y;;V6’
rR5431M}%2H6wEDCBA@98\654
sw10%R,+9<
Энтони Йонас написал несколько программ на этом языке.
Лушелегер – Криптанализ
Томас Вергзаноман – генератор
Thue – язык
ALPACA – язык клеточных автоматов
Smetana (Smith, Muriel)
Basic
Sartre
Whenever
Java2k
GOTO++
Spaghetti
SIMPLE
Лишп
FiPL
СВН – «сверху вниз наискосок» (структура, разработанная русскими)
Paranoid
//описание данных
х: сомнительное целое;
а: МАЛО_ПОХОЖЕ_НА_МАССИВ [x..y_a_МОЖЕТ_z] каких-нибудь символов
L:
//присваивание значений
х ТОЧНО 3;
х ЧЕСТНОЕ_СЛОВО 3;
х МАМОЙ_КЛЯНУСЬ 3;
Если что-то около 8…
При малейшем подозрении_ЧТО х<100…
СБЕГАЙКА_ПОИЩИ имя процедуры
Chef – язык как рецепт
Имена переменных – овощи и фрукты
Величины – граммы, литры и т.д.
ПОЛОЖИТЬ в кастрюлю, ПОДОГРЕТЬ и т.д.
ShakeSpeare (алгоритмы записи выглядят как пьесы)
Переменные – актеры, общающиеся друг с другом
Ты также красив как +
(туп -)
Роза – единичка
Свинья – единица
Красив прил – х2
Некрасив - %2
Haifv (5 типов переменных) – ХОКУ
Переменные – дерево, вода, огонь, земля, металл
Логические значения: инь, ян
Прекращение работы: команда нирвана
var’ag
Ook! – для орангутангов
COW – для коров
Moo MOO moO
HQg++
Smilescript
Emotion
Unlambda
Iot
Lazyk
re Morse
Cat’s Eye