ponyatov / datalang

Data-Oriented Programming Language (EDS)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

datalang

Data-Oriented Programming Language (EDS)

(c) Dmitry Ponyatov <dponyatov@gmail.com> 2020 MIT

github: https://github.com/ponyatov/datalang

  • dynamic language over Executable Data Structures
    • metaprogramming as the main method
    • homoiconic interpreter
    • weak dynamic typing
  • oriented for ML and data processing
    • implemented in Python due to a huge amount of off-the-shelf libraries
    • interactive session via web interface
      • console -> Jupyter-like cell editor -> full-size web layouting
  • DataWeb platform
    • tiny web client (mobile optimized)
    • full web interface for the server-side system (distributed cloud in mind)
    • web representation is data, programs are data, everything is self-evaluatable data
    • targets on dynamic web sites with internal data processing (web+apps+storage)
  • todo
    • port to Erlang/Elixir runtime stack
    • Lispy dynamic language

три & 1/2 пункта trueъ языка программирования

  1. способен ли язык работать с программами на самом себе напрямую, без построенния тонны промежуточных слоев? (типа парсеров и reflection)
  2. способен ли язык расширять собственную семантику не выходя за границы синтаксиса? (макросы)
  3. содержит ли ядро языка средства расширения синтаксиса, позволящие ввести в систему код на любом другом языке?
    • содержит ли язык достаточно богатые средства форматированного вывода, чтобы получить код на любом другом языке?

Code as Data

Persistent Languages

Python

Flask/SQLite

Django hell

aiohttp

Erlang/Elixir

Cowboy

DataFlow programming

JavaScript libs for interactive 2D

BPMN/UML

Camunda

misc

  • https://t.me/proelixir/176600
    • «Нормальное ТЗ» для программиста -- это миф, придуманный людьми, которые не хотят вовлекаться в то, зачем вообще нужно программирование. А бизнес меняется, как и его восприятие.
      • явный признак, что не хватает какого-то мощного, но очень динамичного средства прототипирования (язык + среда), в котором заказчик () способен нарисовать действующую модель продукта, и передать её нормальным программистам для фиксации в полноценную реализацию
        (
        ) пара человек в штате, которые в теме, и при этом кое-как-то могут в программирование
      • что-то а-ля Smalltalk возможно, как интерактивная среда -- рисовать элементы интерфейса (просто мышью тык квадратик на экран), вешать на них события, для событий прописывать методы обработки на чем-то питоноподобном...
      • в ЕСПД-мире для этого было попугайское называние "эскизное проектирование" -- система "RADОСть"

About

Data-Oriented Programming Language (EDS)

License:MIT License


Languages

Language:Python 68.8%Language:Makefile 17.3%Language:HTML 11.9%Language:JavaScript 1.2%Language:CSS 0.8%