Please enable JavaScript.
Coggle requires JavaScript to display documents.
Языки Программирования, Объектные, Операционные, Структурные, Datalog,…
Языки Программирования
Объектно-Ориентированные
это языки, которые поддерживают или основаны на концепции объектов — сущностей, объединяющих в себе и данные, и методы для работы с этими данными.
Визуальные
Unreal Engine Blueprints

визуальный язык программирования в Unreal Engine, который позволяет разработчикам создавать игровую логику, а также настраивать компоненты и функциональные элементы игры.
-
-
Области применения
Создание игровой логики без кода, визуальные эффекты и анимации
-
это языки, в которых логика программы представляется не в виде текста, а через схемы или блоки, которые соединяются друг с другом.
Процедурные
это языки, в которых программы создаются как последовательности команд или инструкций, определяющих действия, которые должны быть выполнены для достижения конкретной цели.
Декларативные
Функциональные
OCaml

Языковая система, основанная на ML, предоставляет мощные функции типизации и поддерживает функциональное, объектно-ориентированное и императивное программирование.
-
Области применения
Разработка компиляторов и интерпретаторов. Научные вычисления и анализ данных. Программирование встраиваемых систем. Разработка финансовых приложений.
-
Особенности синтаксиса
OCaml акцентирует внимание на функциональной парадигме, где функции являются первоклассными объектами. Он включает модульную систему для организации кода и предлагает статическую типизацию с выводом типов.
let () = print_endline "Hello, World!"
print_endline выводит строку с добавлением новой строки в конце.
Scala

Язык, который объединяет функциональное и объектно-ориентированное программирование. Он работает на платформе JVM и имеет мощные средства работы с коллекциями и параллельными вычислениями.
-
-
-
Особенности синтаксиса
Scala сочетает в себе объектно-ориентированное и функциональное программирование, позволяя использовать как ООП, так и ФП. Scala также предлагает удобный синтаксис для работы с коллекциями, включая методы map, filter и reduce.
object HelloWorld {
def main(args: Array[String]): Unit = {
println("Hello, World!")
}
}
Здесь мы определяем объект HelloWorld, который содержит метод main.
Clojure

Функциональный язык программирования, построенный на Java Virtual Machine (JVM). Он ориентирован на иммутабельные данные и поддерживает параллелизм.
-
Области применения
Веб-разработка, разработка распределенных систем, обработка больших данных, приложения, требующие неизменяемости данных и параллелизма.
-
Особенности синтаксиса
В этом языке по умолчанию все структуры данных являются неизменяемыми, что способствует функциональному стилю программирования с акцентом на использование функций высшего порядка.
(println "Hello, World!")
Здесь println — это функция для вывода строки на консоль.
F#

Язык программирования, который является частью экосистемы .NET. Он поддерживает функциональный стиль, а также объектно-ориентированное и императивное программирование.
-
Области применения
Разработка приложений на платформе .NET. Финансовые приложения и аналитика.
Веб-разработка с использованием ASP.NET
-
Особенности синтаксиса
F# обладает сильной статической типизацией, позволяя использовать как вывод типов, так и аннотации. Он ориентирован на функциональный стиль. Паттерн-матчинг в F# предоставляет удобный синтаксис для обработки различных структур данных.
[<EntryPoint>]
let main argv =
printfn "Hello, World!"
0 // Возвращаем код завершения
printfn используется для форматированного вывода с новой строки.
Haskell

Строгое функциональное программирование с лаконичным синтаксисом, поддерживающее ленивые вычисления и систему типов, позволяющую выразить сложные типовые системы.
-
Области применения
Научные вычисления и исследовательские проекты, обработка данных и анализ, Разработка компиляторов и интерпретаторов.
-
Особенности синтаксиса
Haskell имеет статическую типизацию с поддержкой полиморфизма и типовых классов, а синтаксис построен на отступах и выражениях с использованием функций и операторов.
main :: IO ()
main = putStrLn "Hello, World!"
В этом примере putStrLn — это функция, которая выводит строку на экран.
Erlang

Язык программирования, разработанный для создания распределенных и отказоустойчивых систем. Особое внимание уделяется обработке параллельных процессов.
-
Области применения
Веб-приложения в реальном времени.
Игры, требующие высокой степени параллелизма.
Системы обработки сообщений (например, RabbitMQ).
-
Особенности синтаксиса
Erlang имеет синтаксис на основе выражений, где программы состоят из выражений и функций, определенных в модулях. Он поддерживает параллелизм.
-module(hello).
-export([main/0]).
main() ->
io:format("Hello, World!~n").
В этом примере используется io:format для форматированного вывода.
Racket

Язык программирования, который является потомком Scheme (диалекта Lisp). Он позволяет создавать новые языки и имеет мощные средства для работы с метaprogramming.
-
Области применения
Исследования в области языка и компиляции. Прототипирование новых языков программирования. Разработка веб-приложений с использованием Racket Web Server.
-
Особенности синтаксиса
Racket выделяется мощной системой макросов для метапрограммирования и использует скобочную нотацию для структурирования кода. Этот язык также поддерживает многоязычность.
.#lang racket
(displayln "Hello, World!")
displayln выводит строку и добавляет новую строку после вывода.
Elixir

Язык программирования, работающий на Erlang VM, который сочетает функциональное программирование с простотой и мощными средствами для разработки распределенных систем.
-
Области применения
Веб-разработка (с использованием Phoenix Framework).Разработка распределенных систем и микросервисов. Приложения в реальном времени (например, чаты, уведомления).
-
Особенности синтаксиса
Elixir следует функциональной парадигме, где все функции являются первоклассными объектами. Код организован в модули, а функции могут быть экспортированы. Синтаксис Elixir похож на Ruby, что делает его доступным для новичков.
IO.puts("Hello, World!")
IO.puts используется для вывода строки на консоль.
Nim

Современный язык программирования, который сочетает функциональные, императивные и объектно-ориентированные парадигмы с эффективной компиляцией и поддержкой метапрограммирования.
-
Области применения
Веб-разработка (с использованием фреймворков, таких как Jester). Игровая разработка. Программирование для встраиваемых систем. Разработка системного программного обеспечения.
-
Особенности синтаксиса
Nim использует код на основе отступов, что делает его синтаксис похожим на Python. Nim также предлагает статическую типизацию с поддержкой макросов и шаблонов.
echo "Hello, World!"
echo используется для вывода строки на консоль.
Scheme

Диалект Lisp, акцентирующий внимание на простоте и минимализме. Определяется как язык функционального программирования, который активно используется в обучении программированию.
-
Области применения
Образование. Исследования в области языка программирования и компиляции. Прототипирование новых языков и концепций. Разработка небольших приложений и скриптов.
-
Особенности синтаксиса
Scheme характеризуется минималистичным синтаксисом с простой скобочной нотацией для определения выражений и функций. Он ориентирован на функциональную парадигму и обработки данных через паттерн-матчинг.
(display "Hello, World!")
(newline)
display выводит строку, а newline добавляет новую строку после вывода.
языки, в которых процессы представлены как функции в математическом понимании этого слова. Функция в них определяется не как подпрограмма, а как соответствие между множествами
Логические
Oz

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

Форма декларативного программирования,
ориентированная на сложные (в основном NP-сложные) задачи поиска.Используется для
разработки автономных агентов, программирования роботов, формирования расписаний и пр.
Области применения
ИИ, обработка знаний, используется в лог программировании
-
Особенности синтаксиса
ASP синтаксис близок к Datalog и Prolog, но имеет ключевые отличия в правилах, Отрицании, агрегатах и ограничениях, условных литералах, оптимизации и дискъюктивных правилах
человек(сократ).
человек(платон).
смертный(X) :- человек(X).
:- not смертный(сократ).
Результат:
смертный(сократ) смертный(платон)
-
ECLiPSe

Язык, основанный на кодинге, но он также включает поддержку других парадигм кодинга, таких как ограниченно-логическое программирование. ECLiPSe позволяет решать задачи, где необходимо учитывать ограничения, такие как оптимизация и планирование
Области применения
Оптимизация и планирование, исследования операций, прототипирование сложных систем
-
Особенности синтаксиса
Встроенные предикаты для работы с ограничениями (#=, #<, #>).
Поддержка целочисленных (IC) и вещественных (Real) переменных.
Можно комбинировать логику + ограничения + математическую оптимизацию.
-
-
Planner
Функционально-логический язык программирования. Получил признание как язык с наиболее адекватным набором выразительных средств для задач ИИ.
Области применения
Автоматическое доказательство теорем, символьные вычисления, планирование действий.
-
Особенности синтаксиса
Схожесть с Лиспом. Введение нескольких типов скобок. Возможность строить и изменять описание среды, в которой решается задача.
(ASSERT (Mother Anna Lisa)) ; Анна - мать Лизы.
(GOAL (Mother ?mother Lisa)) ; Кто мать Лизы?
Anna ; Система возвращает: Анна
-
Mercury

Язык функционально-логического программирования со строгой типизацией, призванный решить проблемы отладки и производительности
Области применения
Высоконадежные системы, Академические исследования, специализированные вычисления
-
Особенности синтаксиса
Строгая статическая типизация (как в Haskell) Режимы - определяют направление потока данных. Детерминизм - явное указание детерминированности предикатов.
-
-
Conniver
Язык программирования, относящийся к парадигме логического программирования, основанный на математической логике. Программы в нём задаются в форме логических утверждений и правил вывода.
Области применения
Символьные вычисления, автоматическое доказательство теорем, обработка естественного языка
-
-
-
QLISP
Язык программирования, который является расширением Common Lisp и предназначен для поддержки параллельной обработки, а также ля решения проблем синхронизации
Области применения
Искусственный интеллект и экспертные системы, финансовый анализ и прогнозирование, биоинформатика и медицинская диагностика
-
Особенности синтаксиса
Декларативный стиль. Поддержка количественных предикатов. Работа с графами и деревьями. Интеграция с SQL.
rule(diagnose(Disease)) :-
symptom(fever),
symptom(cough),
probability(Disease == flu, 0.8).
Простое правило логического вывода для медицинской диагностики
-
Prolog
Язык сосредоточен вокруг небольшого набора основных механизмов, включая сопоставление с образцом, древовидного представления структур данных и автоматического перебора с возвратами.
Области применения
ИИ, базы знаний и семантический веб, криптография и формальная верификация
-
Особенности синтаксиса
Prolog радикально отличается от императивных языков своей декларативной природой и синтаксисом, основанным на логических утверждениях
a.
?- a.
a. - это факт (утверждение, что "a" истинно)
?- a. - запрос, проверяющий истинность "a"
Fril
Язык программирования для исчисления предикатов первого порядка. Поддерживает как непрерывные, так и дискретные нечеткие множества. Поддерживает логику поддержки и метапрограммирование.
Области применения
Генерация кода и шаблонов, обработка данных и ETL, конфигурация и DevOps
-
-
-
это парадигма программирования, основанная на математической логике. Программы в ней задаются в форме логических утверждений и правил вывода.
это тип языков, не требующий от программиста определения шагов, которым должна следовать машина. Вместо этого они объявляют и описывают факты и отношения между точками данных и элементами.
это формальный язык, предназначенный для описания вычислений, которые может выполнить компьютер.
Объектные
VB.NET

объектно-ориентированный язык программирования, разработанный компанией Microsoft и основанный на платформе .NET. Впервые выпущен в 2002 году для замены Visual Basic 6.
Области применения
Корпоративные приложения, Windows
Известные проекты
Legacy-системы, банковский софт
-
Особенности синтаксиса
Простой, похож на старый VB
MessageBox.Show("Hello, World!")
Groovy

объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk.
-
Области применения
Скрипты, автоматизация, Java-совместим
-
Особенности синтаксиса
Лаконичный, динамическая типизация
-
Object Pascal

это надмножество языка Pascal, в которое введено понятие объекта и классов объектов и, таким образом, реализована концепция объектно-ориентированного программирования.
-
Области применения
Десктоп, кроссплатформенные приложения
Известные проекты
Lazarus, Delphi, старые бизнес-приложения
Особенности синтаксиса
Читаемый, строгая типизация
Writeln('Hello, World!');
JavaScript

мультипарадигменный язык программирования. Поддерживает объектно-ориентированный, императивный и функциональный стили. Является реализацией спецификации ECMAScript
Области применения
Веб (фронтенд/бэкенд), мобильные прил.
Известные проекты
React, Node.js, Angular, Netflix
Особенности синтаксиса
C-подобный, асинхронный (Promises, async/await)
console.log("Hello, World!");
-
Java

строго типизированный объектно-ориентированный язык программирования общего назначения. Разработан компанией Sun Microsystems
-
Области применения
Enterprise, Android, Big Data
Известные проекты
Spring, Hadoop, Android SDK
Особенности синтаксиса
Жёсткая ООП, многословный
System.out.println("Hello, World!");
Kotlin

кроссплатформенный, статически типизированный, объектно-ориентированный язык программирования, работающий поверх Java Virtual Machine и разрабатываемый компанией JetBrains. Также компилируется в JavaScript и в исполняемый код ряда платформ через инфраструктуру LLVM.
-
Области применения
Android, backend, мультиплатформенные
Известные проекты
JetBrains, Google (Android), Slack
Особенности синтаксиса
Совместим с Java, лаконичный
fun main() {
println("Hello, World!")
}
Ruby

динамический, рефлективный, интерпретируемый высокоуровневый язык программирования. Язык обладает независимой от операционной системы реализацией многопоточности, сильной динамической типизацией, сборщиком мусора и многими другими возможностями.
-
-
Известные проекты
Ruby on Rails, GitHub, Shopify
Особенности синтаксиса
Гибкий, много "синтаксического сахара"
-
Python
.
мультипарадигмальный высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ
-
Области применения
Data Science, веб, автоматизация
-
Особенности синтаксиса
Читаемый, отступы вместо скобок
-
Crystal

Объектно-ориентированный язык программирования общего назначения, спроектированный и разработанный Арье Боренцвейгом, Хуаном Вайнерманом и Брайаном Кардиффом. Развивается сообществом из более 300 разработчиков. Обладает Ruby-подобным синтаксисом, но, в отличие от Ruby, является компилируемым и статически типизированным языком, использующим вывод типов. Распространяется как свободное и открытое программное обеспечение под лицензией Apache версии 2.0.
Области применния
Веб, API, системные утилиты
-
Особенности синтаксиса
Ruby-подобный, статическая типизация
-
-
C++

компилируемый язык программирования со строгой статической типизацией. Является прямым потомком языка C. Разработчики C++ ставили целью сделать такой же быстрый и низкоуровневый язык, как C, но с поддержкой объектно-ориентированной парадигмы программирования.
Области применения
Игры, ОС, высоконагруженные системы
Известные проекты
Unreal Engine, Chrome, Adobe
Особенности синтаксиса
Сложный, ручное управление памятью
include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
-
-
языки, построенные на принципах объектно-ориентированного программирования.
Операционные
Go

Go, или Golang, — это компилируемый многопоточный язык с открытым исходным кодом. В основном его применяют в веб-сервисах и клиент-серверных приложениях. В конце 2021 года Golang даже вошёл в топ-5 востребованных языков и опередил PHP, C# и TypeScript. При его создании авторы языка попытались объединить лёгкость разработки на Python и скорость исполнения программ на C и C++
Области применения
Микросервисы, обработка данных, инструменты DevOps
-
Особенности синтаксиса
Язык с простым и лаконичным синтаксисом, который предлагает встроенную поддержку параллелизма
fmt.Println("Hello, World!")
-
BLISS

BLISS — системный язык программирования, используемый для разработки системного ПО. Был разработан в Университете Карнеги-Меллона примерно в 1970 году и использовался для программирования частей операционной системы VMS в 1980-х годах. Основан на выражениях, а не на операторах
Области применения
Системное программирование, научные вычисления
-
Особенности синтаксиса
Низкоуровневый язык программирования с элементами высокого уровня, поддерживающий модульность и структурированное программирование
-
-
OCaml

OCaml — это язык программирования общего назначения, который является частью семейства ML (Meta Language). Он акцентирует внимание на функциональном программировании, одновременно поддерживая императивные и объектно-ориентированные парадигмы. Одной из определяющих особенностей OCaml является его система типов, которая статическая и может выявлять многие ошибки на этапе компиляции. Используется, в том числе, и для системного программирования
Области применения
Компиляторы, финасовые приложения, ИИ
-
Особенности синтаксиса
функциональный язык с поддержкой императивного программирования и строгой типизацией с выводом типов
let _ = Printf.printf "Hello, World!\n"
-
Shell

Shell в программировании — это интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с операционной системой (ОС). Название "shell" в переводе на русский («оболочка», «скорлупа») отражает его суть: он окружает ядро ОС, предоставляя пользователю доступ к сервисам и функциям системы через текстовые команды
Области применения
Автоматизация резервного копирования, управления системами, обработка текстовых файлов
-
Особенности синтаксиса
Shell — интерпретируемый язык командной строки с простым синтаксисом для выполнения команд и написания скриптов. Пример кода
!/bin/bash
echo "Hello, World!"
-
Modula-3

Модула-3 (Modula-3, M3) — системный язык программирования, развитие языка Модула-2 (о котором написано в структурной сфере). Основными особенностями Модулы-3 являются: простота, безопасность и возможность применения для написания системного ПО.
Области применения
Научные исследования, Системное ПО, образовательные проекты
-
Особенности синтаксиса
язык с поддержкой модульности и объектно-ориентированного программирования, который отличается четкой структурой и строгой типизацией
IO.PutText("Hello, World!\n");
-
Limbo

Limbo - это язык программирования, предназначенный для приложений, работающих под управлением распределенных систем на небольших компьютерах. Он поддерживает модульное программирование, строгую проверку типов во время компиляции. Он предназначен для безопасного выполнения даже на небольших машинах без аппаратной защиты памяти. Был разработан для ОС Inferno
Области применения
Сетевые приложения, распределенные системы, исследования параллельного программирования
-
Особенности синтаксиса
Язык с поддержкой параллелизма и сетевого программирования, предлагающий простоту и лаконичность
init(nil: ref Sys->Module) {
print("Hello, World!\n");
}
-
Assembly

Язык ассемблера (Assembly, или ASM) — это язык программирования, который используют, чтобы написать программы для аппаратных платформ или архитектур
В отличие от языков программирования высокого уровня, например Python или Java, язык ассемблера обеспечивает прямое представление инструкций машинного кода. Поэтому язык ассемблера называют языком низкого уровня: он ближе к двоичному коду, который понимает компьютер
Области применения
Разработка драйверов, оптимизация кода, встраиваемые системы
-
Особенности синтаксиса
Assembly — низкоуровневый язык, близкий к машинному коду, использующий регистры и прямые инструкции процессора. Синтаксис зависит от архитектуры
msg db 'Hello, World!', 0
-
PL/1

PL/1 (Programming Language One) — это высокоуровневый язык программирования, который был разработан в середине 1960-х годов и стал одним из первых многозадачных языков программирования. PL/1. Он предназначен для научного, инженерного, бизнес- и системного программирования. Основными областями применения PL/I являются обработка данных, числовые вычисления, научные вычисления и системное программирование
Области применения
Корпоративные приложения, обработка данных мейнфреймах, научные вычисления
-
Особенности синтаксиса
PL/I — язык с поддержкой как процедурного, так и структурного программирования, обладающий обширными возможностями для работы с данными
/ PL/I /
HELLO: PROC OPTIONS(MAIN);
PUT EDIT('Hello, World!')(A);
END;
-
Rust
Rust — это язык программирования общего назначения, заточенный под разработку высоконагруженных систем. На нём пишут веб-приложения, браузерные движки, блокчейны и другие сложные платформы, которые обрабатывают запросы миллионов пользователей. Разберём его главные фишки
Области применения:
Системное программирование, веб-разработка, разработка игр
-
Особенности синтаксиса
Rust — это язык с строгой типизацией. Он поддерживает параллелизм и безопасное взаимодействие с памятью
fn main() {
println!("Hello, World!")
}
-
Swift

Swift — язык программирования для разработки приложений под iOS, iPadOS, macOS, watchOS и tvOS. Этот язык программирования даёт максимально возможный контроль над устройствами Apple, поэтому в сообществе разработчиков считается стандартом
-
-
Особенности синтаксиса
Swift — современный язык с строгой типизацией и поддержкой опциональных типов, который предлагает лаконичный синтаксис и функции высшего порядка
-
-
-
языки, используемые для написания ядра операционной системы, драйверов устройств и других низкоуровневых компонентов.
Структурные
Simula

это императивный и процедурный язык программирования, разработанный Никлаусом Виртом в 1968-1969 годах и опубликованный в 1970 году. Он был разработан как небольшой и эффективный язык, поощряющий хорошие практики программирования с использованием структурированного программирования и структурированных данных.
-
область применения
Симуляция и Моделирование;
Графические интерфейсы и пользовательские интерфейсы;
Компьютерная графика.
-
особенности синтаксиса
Синтаксис Simula напоминает комбинацию ALGOL и ранних версий Pascal. Он был разработан, чтобы быть достаточно выразительным для описания сложных систем.
BEGIN
OUTTEXT("Hello, World!")
OUTIMAGE
END
Fortran

это императивный язык программирования, который особенно хорошо подходит для численных и научных вычислений.
-
-
-
особенности синтаксиса
Fortran предоставляет мощные инструменты для работы с массивами (многомерными матрицами), включая операции над целыми массивами.
возможность создавать модули для организации кода и повторного использования.
PROGRAM HELLO
PRINT *, 'Hello, World!'
END
COBOL

это высокоуровневый язык программирования, разработанный в 1959 году. Он специально предназначен для обработки бизнес-данных, таких как финансы, кадры и логистика.
-
-
-
особенности синтаксиса
COBOL имеет строгий, структурированный синтаксис, который часто требует многословных выражений.
-
Ada

это мощный язык программирования, разработанный для создания надежных, безопасных и поддерживаемых программных систем. Он особенно подходит для разработки критически важных приложений, где ошибки могут иметь серьезные последствия.
-
-
-
особенности синтаксиса
отличается строгой типизацией, модульностью и поддержкой параллелизма. Синтаксис, хоть и не всегда очевидный, отражает стремление языка к ясности и предотвращению ошибок.
Put_Line("Hello, World!")
Modula-2

Это структурный, модульный язык программирования. Программа представляет собой набор модулей — самостоятельных единиц компиляции, которые могут компилироваться раздельно.
-
-
-
особенности синтаксиса
Modula-2 имеет чёткий и структурированный синтаксис, унаследованный от Pascal. Основной упор делается на модульность.
WriteString("Hello, World!")
Pascal

это универсальный язык программирования, отличающийся строгой структурой и типизацией переменных, а также интуитивно понятным синтаксисом.
-
-
-
особенности синтаксиса
Явное объявление переменных;
Строгая типизация;
Использование ключевых слов begin и end для обозначения блоков кода.
program HelloWorld;
begin
writeln('Hello, World!')
end.
C

это компилируемый статически типизированный язык программирования общего назначения.
-
-
-
особенности синтаксиса
Язык C известен своим лаконичным синтаксисом и высокой производительностью.
Позволяют напрямую работать с памятью.
printf("Hello, World!\n")
ALGOL

название ряда языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ.
-
-
особенности синтаксиса
код организован в блоки, обозначаемые ключевыми словами BEGIN и END. Это значительно упрощает понимание структуры программы.
begin
print("Hello, World!")
end
-
Oberon

язык программирования высокого уровня, разработанный Никлаусом Виртом и предназначенный для исполнения программ на одноимённой операционной системе
-
-
-
особенности синтаксиса
Синтаксис Oberon отличается лаконичностью, читаемостью и предсказуемостью.
BASIC

это семейство высокоуровневых языков программирования.Он был разработан с целью сделать программирование доступным для студентов, не имеющих научного или математического образования.
-
-
-
особенности синтаксиса
многие версии BASIC включали команды для работы с графикой и звуком, что делало его идеальным для создания игр и мультимедийных приложений.
Console.WriteLine("Hello, World!")
-
это языки, в основе которых лежит представление программы в виде иерархической структуры блоков.
Datalog

Язык декларативного логического программирования. Datalog обычно использует восходящую, а не нисходящую модель разрешения выражений.Используется в качестве языка запросов для дедуктивных баз данных.
Области применения
Базы данных и анализ данных, статический анализ кода
-
Особенности синтаксиса
Нет рекурсии (в классическом Datalog).Все переменные должны быть "ограничены" (нельзя делать запросы с свободными переменными).Работает с множествами, а не с потоками решений (как Prolog).
:- module shortest.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
main(!IO) :- io.write_string("Hi\n", !IO).
-
-
Node-RED

инструмент с открытым исходным кодом для визуального программирования, разработанный IBM. Предназначен для соединения аппаратных устройств, API и онлайн-сервисов в рамках Интернета вещей (IoT).
-
-
-
Области применения
Умный дом, интеграция API и серверов
-
Microsoft MakeCode

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

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

гибридная графическая/текстовая среда разработки для программирования физических интерфейсов при помощи синтеза динамической и интерактивной графики, видео и аудио данных в реальном времени.
-
-
-
Области применения
Генеративная графика и визуальные эффекты, Реалтайм-рендеринг для шоу
-
Orange

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

инструмент для визуального программирования. Он представляет алгоритмы в наглядном формате, доступном для понимания пользователями без специальных знаний в области программирования.text
-
-
-
Области применения
Автоматизация задач в Revit, Параметрическое моделирование зданий
-
Snap

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

среда визуальной разработки приложений, изначально разработанная Google, сейчас поддерживаемая Массачусетским технологическим институтом (MIT).
-
-
-
Области применения
Разработка простых Android-приложений без кода, Обучение мобильной разработке
-
Bublble

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