Образовательный язык программирования — это язык программирования , который разработан в основном как инструмент для обучения , а не как инструмент для написания программ для выполнения работы.
Виды образовательных языков программирования
Языки ассемблера
Первоначально машинный код был первым и единственным способом программирования компьютеров. Язык ассемблера был следующим типом используемого языка; таким образом, это одно из старейших семейств компьютерных языков, используемых сегодня. Доступно множество диалектов и реализаций, обычно по несколько для каждой архитектуры процессора компьютера. Он очень простой и называется языком программирования низкого уровня . Это один из самых сложных языков для работы, поскольку он нетипизирован и негибок. Для образования существует несколько упрощенных диалектов.
Языки низкого уровня должны быть написаны для конкретной архитектуры процессора , и их нельзя писать или преподавать изолированно, без ссылки на процессор, для которого они были написаны. В отличие от языков более высокого уровня, использование образовательного языка ассемблера требует представления процессора, виртуализированного или физического. Ассемблер используется для изучения основных принципов работы компьютерного процессора.
- Little Man Computer (LMC) — это учебная модель компьютера простой архитектуры фон Неймана со всеми основными функциями современных компьютеров. Его можно запрограммировать в машинном коде (обычно десятичном) или на ассемблере. Он основан на концепции маленького человечка, запертого в маленькой комнате. В одном конце комнаты стоят 100 почтовых ящиков на память; каждый может содержать трехзначную инструкцию или данные. В другом конце комнаты находятся два почтовых ящика с надписью «ВХОДЯЩИЕ» и «ИСХОДЯЩИЕ», которые принимают и отправляют данные. В середине комнаты находится рабочая зона с простым калькулятором с двумя функциями (сложение и вычитание), называемым «Аккумулятор», и сбрасываемым счетчиком, называемым «Счетчик программ». Счетчик аналогичен тому, который использует швейцар для подсчета количества людей, вошедших в помещение; он может рассчитывать до 1 или сбрасываться до 0. Согласно архитектуре фон Неймана , память хранит как инструкции, так и данные. Пользователь загружает данные в почтовые ящики, а затем дает сигнал маленькому человечку начать выполнение.
- Next Byte Codes (NBC) — это простой язык с синтаксисом ассемблера, который используется для программированияпрограммируемых кубиков Lego Mindstorms NXT . Компилятор командной строки генерирует NXT-совместимый машинный код и поддерживает Windows , Mac OS X и Linux .
- Little Computer 3 (LC-3) — это язык ассемблера с упрощенным набором инструкций, но его можно использовать для написания умеренно сложных программ на ассемблере, и он является теоретически жизнеспособной целью для компиляторов C. Он проще, чем ассемблер x86, но имеет множество функций, аналогичных функциям более сложных языков. Эти функции делают его полезным для обучения основам программирования и компьютерной архитектуры начинающим студентам колледжей, изучающим информатику , и студентам компьютерных инженеров, что является его наиболее распространенным применением.
- DLX — это архитектура процессора компьютера с сокращенным набором команд (RISC), разработанная основными разработчиками проектов MIPS и Berkeley RISC , двух эталонных примеров дизайна RISC. DLX — это, по сути, очищенный, упрощенный MIPS с простой 32-битной архитектурой загрузки/сохранения . Он широко используется на курсах компьютерной архитектуры на уровне колледжа .
- MIX и MMIX — гипотетические компьютеры, использованные в монографии Дональда Кнута «Искусство компьютерного программирования» ( TAOCP ). Компьютерные системы MIX предназначены для обучения людей тому, что происходит внутри компьютера, посредством использования базового и понятного машинного языка. Несмотря на свою простоту, система MIX справляется со сложными задачами, которые встречаются в типичных высокопроизводительных компьютерах общего назначения. MIX — это гибрид, программируемый в двоичных и десятичных числах; большинство написанных для него программ будут работать в любой форме. Программные реализации для MIX и MMIX были разработаны Кнутом и доступны бесплатно. Существует несколько версий обоих эмуляторов. MIX — компьютер в стиле 1960-х годов. На смену ему пришла MMIX, более новая современная компьютерная архитектура, 64-битная архитектура набора команд RISC (ISA). Для MMIX Кнут сотрудничал с архитекторами MIPS и Alpha ISA .
БАЗОВЫЕ варианты
Бейсик (что означает «Универсальный код символических инструкций для начинающих») был изобретен в 1964 году для обеспечения доступа к компьютеру студентам, не изучающим естественные науки. Он стал популярным на миникомпьютерах в 1960-х годах и стал стандартным языком вычислений для микрокомпьютеров в конце 1970-х — начале 1980-х годов. Цели BASIC были сосредоточены на необходимости легко научиться программировать:
- быть простым в использовании для новичков,
- быть интерактивным,
- предоставлять четкие и понятные сообщения об ошибках,
- быстро реагировать и
- не требуют понимания компьютерного оборудования или операционных систем.
Что делало BASIC особенно полезным для образования, так это небольшой размер программ, которые могли проиллюстрировать концепцию в дюжине строк. BASIC по сей день часто является самообучением с использованием отличных учебных пособий и реализаций.
См. также Список диалектов BASIC по платформам .
BASIC предлагает путь обучения от ориентированных на обучение BASIC, таких как Microsoft Small Basic , BASIC-256 и SiMPLE , к более полнофункциональным BASIC, таким как Visual Basic .NET и Gambas .
- Microsoft Small Basic — это ограниченная версия Visual Basic, разработанная как первый язык, «направленная на то, чтобы вернуть программированию удовольствие». Язык явно довольно мал и содержит всего 15 интуитивно понятных ключевых слов. Включая объектно-ориентированные библиотеки для вещей, представляющих общий интерес для детей, дети могут создавать развлекательные интерактивные программы в сети или на рабочем столе. Например, с помощью 6 строк кода можно продемонстрировать просмотр случайных сетевых изображений, используя Flickr в качестве источника. [1] Система использует интегрированную среду разработки Microsoft Visual Studio для обеспечения автозаполнения и контекстно-зависимой справки .
- Basic-256 — простая в использовании версия BASIC, предназначенная для обучения любого основам компьютерного программирования. Он использует традиционные структуры управления BASIC ( gosub , циклы for , goto ) для простоты понимания управления потоком программы. Он имеет встроенный графический режим, который позволяет детям уже через несколько минут рисовать картинки на экране.
- SiMPLE — это система разработки программирования, созданная для того, чтобы предоставить возможность легкого программирования всем, особенно непрофессионалам. Это чем-то похоже на AppleSoft BASIC . Он скомпилирован и позволяет пользователям создавать свои собственные библиотеки часто используемых функций. «Простой» — это общий термин для трех несколько разных версий языка: Micro-SIMPLE (используется только 4 ключевых слова), Pro-SiMPLE и Ultra-SiMPLE (используется 23 ключевых слова).
- Hot Soup Processor — это язык, основанный на BASIC, используемый в японских школах.
- TI-BASIC — это простой язык, подобный BASIC, реализованный в графических калькуляторах Texas Instruments , который часто служит для студентов первым знакомством с программированием.
- SmallBASIC — это быстрый и простой в освоении интерпретатор языка BASIC , идеально подходящий для повседневных вычислений, сценариев и прототипов . Он включает в себя тригонометрические , матричные и алгебраические функции , встроенную среду IDE , мощную библиотеку строк, системные, звуковые и графические команды, а также синтаксис структурированного программирования.
на основе C
- Ch — это интерпретатор C / C++ , разработанный, чтобы помочь студентам, не владеющим CS, изучать математику, вычисления и программирование на C и C++. Он расширяет возможности C числовыми, 2D/3D графическими функциями построения графиков и написания сценариев.
на основе Java
- NetLogo , написанный на Java и Scala , представляет собой среду разработки для построения и исследования научных моделей, в частности моделей на основе агентов . Он широко используется как в научных исследованиях (научные статьи с использованием NetLogo), так и в образовательных целях, включая начальные, средние школы, университеты и музеи.
на основе Лиспа
Lisp — второе старейшее семейство языков программирования, используемых сегодня, и поэтому имеет множество диалектов и реализаций с широким спектром трудностей. Первоначально Lisp был создан как практическая математическая система записи компьютерных программ, основанная на лямбда-исчислении , что делает его особенно подходящим для преподавания теории вычислений. Будучи одним из первых языков, Lisp стал пионером многих идей в информатике , включая древовидные структуры данных , автоматическое управление хранилищем , динамическую типизацию , объектно-ориентированное программирование и самостоятельный компилятор , все из которых полезны для изучения информатики.
Название LISP происходит от «List Processing Language». Связанные списки являются одной из основных структур данных языков , а исходный код Lisp состоит из списков. Таким образом, программы на Лиспе могут манипулировать исходным кодом как структурой данных, создавая макросистемы, которые позволяют программистам создавать новый синтаксис или даже новые предметно-ориентированные языки, встроенные в Лисп. Таким образом, Lisp полезен для изучения языкового дизайна и создания собственных языков.
Разумным путем обучения будет Logo, за которым следует любой образовательный вариант, такой как Scheme или newLISP, а затем профессиональный вариант, такой как Common Lisp .
- Логотип — это язык, специально разработанный для знакомства детей с программированием. Первая часть изучения логотипа посвящена «черепаховой графике» (заимствованной из роботов-черепах ), которая использовалась еще в 1969 году в прототипе логотипа.используетсяабстрактное устройство рисования, называемое черепахой , чтобы сделать программирование для детей очень привлекательным, концентрируясь на создании черепашьей графики . Сеймур Пейперт , один из создателей Logo, был крупным мыслителем конструктивизма , разновидности конструктивистских теорий обучения . Пейперт утверждал, что дети гораздо младшего возраста естественным образом будут изучать такие занятия, как письмо, при условии, что они примут компьютерную культуру. [2] Таким образом, логотип был разработан не только для обучения программированию и вычислительным концепциям, но и для повышения общего благосостояния ребенка в культуре, в которой все больше доминируют технологии, « более важным, чем раннее начало интеллектуального развития, является спасение от длительный период зависимости , в течение которого человек учится думать об обучении как о чем-то, что должен дать более сильный другой... Такие дети не будут определять себя или позволять обществу определять их как интеллектуально беспомощных ».используется детьми в возрасте от 3 лет и имеет 30-летний опыт успешного обучения. Поскольку Logo на самом деле представляет собой упрощенную версию Lisp, предназначенную для более продвинутых студентов, его можно использовать для ознакомления с основными понятиями информатики и даже искусственного интеллекта. Логотип широко доступен практически на каждой платформе, как в бесплатной, так и в коммерческой версии.
на основе Scala
- Kojo — это интерактивная среда разработки настольных компьютеров, разработанная в первую очередь для образовательных целей. Приложение работает под управлением Windows , Linux и OS X. Это среда обучения со множеством различных функций, которые помогают исследовать, изучать и преподавать концепции в области компьютерного программирования и критического мышления , математики и естественных наук, искусства, музыки и творческого мышления, компьютерной и интернет-грамотности . [3]
на базе Smalltalk
В рамках проекта «Один ноутбук на ребенка» была разработана последовательность языков на основе Smalltalk, каждый из которых служит введением в следующий. Структура от Scratch до Etoys, до Squeak и любого Smalltalk . [4]
Каждый из них предоставляет графическую среду, которую можно использовать для обучения детей не только концепциям программирования, но и физическому и математическому моделированию, упражнениям по рассказыванию историй и т. д. посредством использования конструктивного обучения . Smalltalk и Squeak — это полнофункциональные языки разработки приложений, которые существуют и пользуются большим уважением на протяжении десятилетий; Scratch — это инструмент обучения детей.
- Scratch — визуальный язык, основанный на Squeak и реализованный в нем . Целью проекта является обучение детей концепциям программирования и предоставление им возможности создавать игры, видео и музыку. В Scratch все интерактивные объекты, графику и звуки можно легко импортировать в новую программу и комбинировать новыми способами. Таким образом, новички могут получить быстрые результаты и получить мотивацию для дальнейших попыток. Сообщество Scratch разработало и загрузило более 3 000 000 проектов. [5] Он разработан группой Lifelong Kindergarten в MIT Media Lab .
- В основе Etoys лежит идея программируемых виртуальных объектов, ведущих себя на экране компьютера. Etoys предоставляет мультимедийную среду разработки с простой и мощной объектной моделью со сценариями для многих типов объектов, созданных конечными пользователями. Он включает в себя 2D и 3D графику , изображения , текст , частицы, презентации, веб-страницы, видео , звук и MIDI , возможность совместного использования рабочих столов с другими пользователями Etoy в режиме реального времени , поэтому можно реализоватьмножество форм захватывающего наставничества и игры. Интернет. Он многоязычен и успешно используется в США , Европе , Южной Америке , Японии , Корее , Индии , Непале и других странах. Программа ориентирована на детей в возрасте 9-12 лет. [6]
- Squeak — это современная полнофункциональная реализация языка и среды Smalltalk с открытым исходным кодом. Smalltalk — это объектно-ориентированный , динамически типизированный , рефлексивный язык программирования, созданный для поддержки «нового мира» вычислений, примером которого является «симбиоз человека и компьютера». [7] Как и Lisp , он имеет постоянство на основе изображений , поэтому все можно изменить изнутри языка (см. Smalltalk#Reflection ). [8] Это оказало большое влияние на индустрию, представив многие концепции объектно-ориентированного программирования и компиляции «точно в срок» . Squeak — это средство реализации широкого спектра проектов, включая мультимедийные приложения, образовательные платформы и разработку коммерческих веб-приложений . Squeak спроектирован так, чтобы быть легко переносимым и простым в отладке, анализе и изменении, поскольку его виртуальная машина полностью написана на Smalltalk.
Паскаль
- Паскаль — самый известный язык, разработанный с учетом образовательных потребностей. [ нужна цитата ] С конца 1970-х до конца 1980-х годов он был основным выбором на вводных курсах информатики для обучения студентов программированию как в США, так и в Европе. С тех пор его использование в реальных приложениях возросло, и с тех пор его мнение как чисто образовательного языка стало несколько спорным. [ по мнению кого? ]
Другой
Дети
- AgentSheets и AgentCubes — это два инструмента вычислительного мышления для создания 2D/3D-игр и симуляций. Авторизация осуществляется с помощью настольных приложений или браузерных приложений и позволяет создавать 2D/3D-игры, в которые можно играть в браузерах, совместимых с HTML5, включая мобильные.
- Алиса — это бесплатное программное обеспечение для программирования, предназначенное для обучения детей объектно-ориентированному программированию, управляемому событиями. Программисты создают интерактивные истории, используя современный интерфейс IDE со стилем программирования перетаскиванием. Целевая аудитория – поступающие первокурсники колледжей, хотя большинство детей, имеющих опыт работы с компьютером, найдут это занятие занимательным и познавательным. Story Telling Alice — это вариант игры «Алиса», предназначенный для детей младшего возраста, с еще более сильным уклоном в рассказывание историй. [9]
- Blockly — это веб-графический язык с открытым исходным кодом, с помощью которого пользователи могут перетаскивать блоки вместе для создания приложения; ввод текста не требуется. Он разработан Google . Более подробная информация доступна на главной странице проекта. [10]
- CiMPLE — визуальный язык для программирования робототехнических комплектов для детей. Он построен на основе C как DSL . ThinkLabs, индийский образовательный стартап в области робототехники, создал его для комплекта iPitara Robotic. Язык очень похож на язык C. Около 5000+ студентов в Индии купили комплект iPitara и запрограммировали его с помощью CiMPLE. Дополнительную информацию можно найти в блоге CiMPLE Original Developers Weblog [11] и ThinkLabs. [12]
- Physical Etoys — это бесплатное расширение Etoys с открытым исходным кодом. Его философия — «помочь детям моделировать и программировать реальный мир, чтобы узнать о нем больше». Он может работать на Windows , Linux и Sugar . Physical Etoys позволяет различным электронным устройствам, таким как Lego NXT ,платы Arduino , Sphero , Kinect , джойстик Wiimote и другим, взаимодействовать между собой благодаря своей системе блочных сценариев.
- Hackety Hack — это бесплатная среда на основе Ruby , призванная облегчить изучение программирования для новичков , особенно подростков .
- Karel , Karel++ и Karel J. Robot — это языки, предназначенные для начинающих и используемые для управления простым роботом в городе, состоящем из прямоугольной сетки улиц. Хотя Karel — это отдельный язык, Karel++ — это версия Karel, реализованная на C++ , а Karel J. Robot — это версия Karel, реализованная на Java .
- Kodu — это простой язык, полностью основанный на иконках. Он был задуман Microsoft Research как проект, направленный на то, чтобы дети младшего возраста, особенно девочки, могли наслаждаться технологиями. Программы состоят из страниц, которые разделены на правила, которые далее делятся на условия и действия. Условия оцениваются одновременно. Язык Kodu разработан специально для разработки игр и предоставляет специализированные примитивы, полученные из игровых сценариев. Программы выражаются в физических терминах, используя такие понятия, как зрение, слух и время, для управления поведением персонажа. Инструмент Kodu доступен в трех формах: для ПК в виде бесплатной загрузки в общедоступной бета-версии и академической форме, а также в виде недорогой загрузки для Xbox 360 Live.
- Логотип — это образовательный язык для детей, разработанный в 1967 году Дэниелом Г. Боброу , Уолли Фёрзейгом , Сеймуром Пейпертом и Синтией Соломон . Сегодня этот язык запомнился главным образом использованием « черепашьей графики », в которой команды для перемещения и рисования создавали линейную графику либо на экране, либо с помощью небольшого робота, называемого « черепахой ». Первоначально язык был задуман для обучения концепциям программирования, связанным с Лиспом, и только позже для того, чтобы сделать возможным то, что Пейперт называл « телесно-синтоническим рассуждением» , когда студенты могли понимать (и предсказывать и рассуждать) движение черепахи, представляя, что бы они сделали, если бы они были черепаха.
- Lego Mindstorms — это линейка наборов Lego, сочетающая программируемые кубики с электродвигателями, датчиками, кубиками Lego и деталями Lego Technic (такими как шестерни, оси и балки). Мозговые бури возникли из-за программируемых сенсорных блоков, используемых в линейке развивающих игрушек. Первая розничная версия Lego Mindstorms была выпущена в 1998 году и продавалась на коммерческой основе как Robotics Invention System (RIS). Текущая версия была выпущена в 2006 году как Lego Mindstorms NXT . Для интеллектуальных штурмов используется широкий, от Logo до BASIC и производных от Java, Smalltalk и C. Подход Mindstorm к программированию теперь имеет специальные физические сайты, называемые компьютерными клубами .
- Mama — это образовательный объектно-ориентированный язык, призванный помочь юным ученикам начать программировать, предоставляя все языковые элементы на родном языке учащихся. Язык Mama доступен на нескольких языках с поддержкой языкового направления LTR и RTL. Новый вариант Mama был построен на базе среды разработки Alice Карнеги - Меллон и поддерживает сценарии трехмерных объектов сцены. Этот новый вариант Mama был разработан, чтобы помочь юным ученикам начать программировать, создавая 3D-анимацию и игры. Документ о принципах образовательного программирования объясняет соображения мамы по дизайну. [13]
- RoboMind — это простая образовательная среда программирования, которая позволяет новичкам программировать робота. Он знакомит с популярными методами программирования, а также с робототехникой и искусственным интеллектом. Робот можно запрограммировать на арабском, китайском, голландском, немецком, английском и шведском языках.
- Scratch — это графический язык на основе блоков, предназначенный для создания анимированных историй и игр.
- Щелчок! — это бесплатныйграфический язык на основе блоков с открытым исходным кодом , реализованный на JavaScript и первоначально являющийся производным Scratch от MIT . Щелчок! добавляет возможность создания новых блоков и имеет первоклассные функции , позволяющие использовать анонимные функции . Он активно поддерживается Калифорнийским университетом в Беркли . Исходник полностью размещен на GitHub .
- Stagecast Creator — система визуального программирования, основанная на программировании путем демонстрации . Пользователи демонстрируют системе, что делать, перемещая значки на экране, и она генерирует правила для объектов (персонажей). Пользователи могут создавать двумерные симуляции, моделирующие концепцию, многоуровневые игры, интерактивные истории и т. д.
- Stencyl — это среда разработки визуального программирования и разработки игр, которая используется в сфере образования и коммерции. Концепция блоков кода основана на визуальном языке Scratch MIT ( перечисленном выше). Он также позволяет использовать обычный типизированный код (отдельный или смешанный) через собственный API и язык Haxe .
- ToonTalk — это язык и среда, напоминающие видеоигру. Вычислительные абстракции сопоставляются с конкретными аналогами, такими как роботы, дома, грузовики, птицы, гнезда и ящики. Он поддерживает большие целые числа и точные рациональные числа. Он основан на параллельном программировании с ограничениями .
Университет
- Curry — это обучающий язык [14] , предназначенный для объединения наиболее важных парадигм декларативного программирования, а именно функционального программирования (вложенные выражения, функции высшего порядка, ленивые вычисления) и логического программирования (логические переменные, частичные структуры данных, встроенный поиск). Он также объединяет два наиболее важных принципа работы, разработанных в области интегрированных языков функциональной логики: «остаток» и «сужение». [15] [16]
- Flowgorithm — это графический инструмент разработки для написания и выполнения программ с помощью блок-схем . Этот подход предназначен для акцентирования внимания на алгоритме, а не на синтаксисе данного языка. Блок-схему можно преобразовать в несколько основных языков, таких как C# , Java , Visual Basic .NET и Python . [17]
- M2001 — модульный математический язык для разработки и представления математических алгоритмов, от современной дискретной до классической непрерывной математики. Он построен на семантической основе, основанной на теории категорий, с синтаксисом, аналогичным синтаксису Pascal или Modula-2 . Он предназначен только для образования, поэтому эффективность и простота реализации гораздо менее важны для его разработки, чем универсальность и диапазон применения. Он был создан, чтобы сыграть важную роль в формировании формальной алгоритмической основы для студентов-математик первого курса колледжа.
- Оз — это язык, предназначенный для обучения компьютерной теории. Он поддерживает большинство основных парадигм [18] на одном языке, поэтому учащиеся могут изучать парадигмы без необходимости изучать несколько синтаксисов . Oz содержит в простой и хорошо структурированной форме большинство концепций основных парадигм программирования, включая логическое, функциональное (как ленивое, так и активное), императивное, объектно-ориентированное, ограничивающее, распределенное и параллельное программирование. Он имеет канонический учебник «Концепции, методы и модели компьютерного программирования», а также свободно доступную стандартную реализацию — систему программирования Моцарта.
Смотрите также
Рекомендации
- ^ Корпорация Microsoft, Руководство по началу работы с Small Basic, 2009 г., стр. 64.
- ^ аб Паперт, Сеймур (октябрь 1980 г.). Переосмысление детства: присутствие компьютера как эксперимент в психологии развития. Токио, Япония, и Мельбурн, Австралия: 8-й Всемирный компьютерный конгресс: Конгресс ИФИП.
- ^ "О когиках Коджо" . Проверено 12 февраля 2011 г.
- ↑ Кавалло, Дэвид (28 мая 2007 г.). «Учимся писку с нуля». Новости по одному ноутбуку на ребенка . Проверено 3 апреля 2009 г.
- ^ Митчел Резник; Джон Мэлони; Натали Раск; Эвелин Истмонд; Амон Миллнер; Джей Сильвер; Эрик Розенбаум; Карен Бреннан; Эймос Блэнтон. «Скретч: представь, запрограммируй, поделись». Массачусетский Институт Технологий . Проверено 8 января 2013 г.
- ^ Дюкасс, Стефан (2005). Писк: Изучите программирование с помощью роботов (технология в действии). Апресс. стр. 289 в главе 24: Тур или eTOY . ISBN 1-59059-491-6.
- ^ Кей, Алан. «Ранняя история Smalltalk». Архивировано из оригинала 29 апреля 2011 года . Проверено 13 сентября 2007 г.
- ^ Для дальнейшего обсуждения того, почему это упрощается, см. Мета-циркулярный оценщик.
- ^ "Рассказчик Алиса - Алиса" . Проверено 7 ноября 2023 г.
- ^ «Архив кода Google — долгосрочное хранилище для хостинга проектов Google Code» . code.google.com . Проверено 7 ноября 2023 г.
- ^ Блог оригинальных разработчиков CiMPLE. Архивировано 21 июля 2011 г. на Wayback Machine.
- ^ ThinkLabs
- ^ Принципы образовательного программирования мамы.
- ^ М. Ханус. Обучение функциональному и логическому программированию с помощью единой вычислительной модели. В Proc. Девятый международный симпозиум по языкам программирования, реализациям, логике и программам (PLILP'97), стр. 335–350. Спрингер LNCS 1292, 1997 г.
- ^ Отчет Карри, Введение. Самая последняя версия доступна в архиве от 4 октября 2009 г. на Wayback Machine .
- ^ М. Ханус. Интеграция функций в логическое программирование: от теории к практике. Журнал логического программирования , Vol. 19 и 20, стр. 583–628, 1994.
- ^ «О» . Потоковый алгоритм . Проверено 26 августа 2014 г.
- ^ Плакат «Парадигмы программирования»
Внешние ссылки
- Образовательные языки программирования в Curlie