Enso — інтерактивна мова програмування

Enso — це ще одна мова програмування від поляків (в жовтні вже писали про Ć), співзвучна з Ferrari Enzo. Це візуальна мова програмування, а тому красномовним поясненням буде саме приклад програми у вигляді картинки:

Enso example

Enso має одразу два представлення: перше — це картинка, яку вже бачили, що схожа на блок-схеми, які малюють на уроках програмування, а друге — представлення — звичний нам код.

Для розробників, які працювали з формами в Delphi, звична річ, що код й обробка подій генерується на основі візуального представлення, в Enso схоже.

Більше можливостей Enso описано у відео:

У вас вже формується уявлення про мову Enso й для рішення яких задач її можна використати? Якщо ви подумали про аналіз даних та Data Science, то так, ви маєта рацію. У Enso є можливість використовувати бібліотеки, написані на Enso, Java, JavaScript, R та Python, в майбутьному планують додати Scala та Rust.

Як бачимо, дві популярні мови для аналізу даних R та Python вже додані, Scala в планах.

Можливе майбутнє мови Enso

Enso — молода мова програмування, репозиторій github.com/enso-org/enso створений 16 грудня 2016 року (згідно даних з API api.github.com/repos/enso-org/enso), а згідно статистики комітів активна розробка почалась в 2019 році. У Enso є IDE, доступна для MacOS, Windows та Linux, в майбутньому мають додати пісочницю для запуску Enso в браузері.
Можливо, навіть додадуть щось схоже на A Tour of Go.

Хотів би побачити Enso як альтернативу Jupyter Notebooks з інтерактивними можливостями в репозиторії GitHub як ось PythonDataScienceHandbook/notebooks/06.00-Figure-Code.ipynb.

Мінуси

  1. Відсутній оператор kurwa.
  2. Відсутня можливість використовувати бібліотеки мови Go.
  3. Відсутні плани стосовно Go.

Епілог

Вирішив написати про цю мову, бо вважаю її перспективною. Все, що написав про Enso, взяв з відкритих джерел, з офіційного сайту, з репозиторію, а також дані про команду доступні на Y Combinator Enso.
Про щось схоже на Enso писав Владимир Кожаев в статті «Программирование без программистов и что мешает ему развиваться».

Вакансії

В проєкт Enso шукають Senior Rust Developer, ймовірно пропонують й частину компанії 0.10% — 1.00%.
👍НравитсяПонравилось1
В избранноеВ избранном3
LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

а в чем проблема, по существу сделать это плагином в других IDE под другие языки ?)))
зачем вообще притягивать за уши «новый язык»

А хто під такий плагін дасть інвестиції?

ну они же как то разрабатываются,
зачем редиректить мне такой вопрос,
если на практике и не такие тулы создавали.

Болезнь эгоизма «мы хотим быть на вершине и называться «целым языком»,
вместо того чтобы интегрироваться в уже существующую экосистему разработки.

Такая стратегия первой итерации выхода технологии — дала бы гораздо более адекватный рост.

Враховуючи що Enso вже отримали перші інвестиції та є можливість наймати розробників то їх поточна стратегія успішна.

нет, финансирование далеко не значит что продукт правильный или успешен.
разве что только рассуждать в ключе «егегей, мы получили бюджет,
погнали просадим его на смузи, а про продукт думать не будем».

не меряйте все деньгами.
Война тоже стоит миллиарды, но значит ли что она была нужной ?

"каждый конструктор мечтает стать парадигмой программирования, но становится лишь набором шаблонов"©

Любой LowCode/NoCode можно уже безошибочно определить по одухотворенному лицу евагалиста, который внезапно обнаружил, что за 2 минуты можно сделать то, на что раньше уходила неделя. Таких решений на рынке уже сотни, но у всех у них одна суть. Есть набор кубиков, которые встраиваются в пайплайн под капотом как сценарий и гоняют данные между собой по заранее определенному апи.
Если взглянуть в суть конструктора, проблема тут всегда одна. Вы можете собирать эти кубики как конструктор лего в любой комбинации, но вы не можете добавить в систему такой кубик, который фундаментально изменит поведение всей системы, всех уже добавленных кубиков.
Например, если вы захотите добавить абсолютно банальный хотябы один уровень кеширования в каждом уже добавленном кубике, чтобы этот пайплайн хотябы в пару раз быстрее работал, это рушит всю концепцию. Потому что кубик сам по себе инкапсулировал в себе часть функциональности и имеет контракт, в котором не прописано что он может чтото там кешировать. Такая же песня, например ,с секурити, локализацией, замыливания сенситив данных, спелл чеком, синхронизацией данных, хранением ... да сотни кейсов.

Поэтому Enso может себя называть хоть реинкарнацией С++, но в ДНК у него обычный конструктор собранный как пайплайн.

Не защищаю ни визуальный языки, ни Enso в частности, но в примере на картинке мы видим кубик-функцию. Значит целую схему можно загнать в кубик, значит фундаментально ничто не запрещает иметь функции высокого порядка, а значит все описанные вами кейсы не являются неразрешимыми

Возможно для видуал дации папйплайнов будет круто. В остальном, сколько на больших проектах не пробовал выводить диаграммы классов и таблиц...Каша получается, слишком много связей и крайне много таблиц/классов.
Получается что для сложных вещей визуализация слабо помогает а для простых мне и кода хватит, тот же стек трейс хорошо отображает цепочку вызовов.

там і кодом можна писати, на скільки я пам’ятаю мова там ML-подібна.

Доречі у віжуал студіо ще мабуть з 2010 версії можна було створювати класи там методи використовучі графічний інтерфейс, по типу діаграмм чи щось подібне, бачив колись на презентації, не знаю чи залищилось ще в актуальних версіях чи вже випиляли.

О да, лол, где-то в 2010 как раз и строил в последний раз диаграммы классов в вижуал студии

Відсутній оператор kurwa.

краще не опускатися до такого рівня жартів

Лучше вообще не шутить, когда про программирование разговоры ведутся.

Чого це? Була гарна заміна класу Exception

Взагалі не треба жартувати. З жартів сміються, веселяться, і ті, кому не весело, почуваються ображеними.

Перша культурна відсилка:

Слово «курва» поляки вживають настільки часто, що воно ними не помічається, а в нашій мові замість нього придумали Кому.

Друга тутешня відсилка:

Не вижу оператора kurwa, это точно поляк делал?

Подписаться на комментарии