LINUX.ORG.RU

Darklang - проприетарный бездеплойный язык + среда

 , , , ,


0

2

Посмотрел видео тут https://darklang.com/ (презентация, демо) честно выглядит очень круто, то что он рассказывает впринципе покрывает все или почти все проблемы вокруг создания веб-бекендов, плюс безопасность на уровне синтаксиса, типов и версионирования кода это круто, в одной из моих прошлых контор у нас похожее было на самопальных костылях.

Интеграция реальных данных прямо в редактор кода тоже выглядит офигенно, и впринципе довольно очевидная и простая штука, просто в 99% случаев продакшен и редактор кода никак не общаются.

Из минусов конечно вендор-лок, но честно экономия затрат на разработку / прототипирование / быстрый запуск может быть сильно выгоднее. Попробую когда (и если) будет бесплатный план.

Ну и да, даже если не взлетит - само демо и идеи уже достаточно хороши чтобы утащить их в разном виде в открытые проекты :)

Что думаете?

PS большое обсуждение на HN: https://news.ycombinator.com/item?id=20985429

pbiggar - один из основателей ответил на много вопросов и прояснил некоторые вещи.

★★★★★

Есть такой отзыв:

chasefoto 17 hours ago [-]

I’ve been using Dark for the past 12 months and I cannot say enough good things about the product and the team behind it.
Here’s what I like about Dark:

- Build API endpoints in a matter of seconds. As soon as the logic is written in Dark, the endpoint is publicly available on the internet

- Live data: Dark has a feature called traces that shows data as it hits your endpoints. This allows you to quickly manipulate code between your front + backend

- Easy interaction between third-party APIs (for me it handles logic with Stripe, Twilio, and several others)

TLDR: Dark has enabled me to build a backend faster than ever before. If you’re building something new, I suggest you give it a go.
loz ★★★★★ ()
Ответ на: комментарий от anonymous

Тут не графическая среда, а что-то по середине, код все еще выглядит как код но когда пишешь у тебя сразу получается AST. Например ты не можешь вставить `if` без `else`, в таком духе.

Ну а остальных фич я в метапроге не видел, если сравнивать чисто язык - тут что-то фпшное, а-ля хаскель/окамль. Но язык это 10% от того что тут происходит.

loz ★★★★★ ()
Ответ на: комментарий от anonymous

Чем это лучше метапрога?

вот вот! я уже 10 месяцев принимаю метапрог утром и вечером каждый день до еды и после - проблем нету. зачем ещё что то придумывать?!

anonymous ()

Dark reduces your infrastructure to four simple concepts: HTTP endpoints, datastores, background workers, and scheduled jobs. We host and automatically scale the infrastructure for you. We also host your static assets.

Чем оно лучше AWS Lambda (+ S3 + амазоновских же БД)? Там хотя бы вменяемые ЯП можно юзать и при правильной планировке даже с AWS можно будет потом свалить, а не завязываться на каких-то херов с горы.

Q: Will I be able to run Dark myself?

A: One of the ways that we remove accidental complexity is that we run Dark for you. We run the infrastructure, maintain, monitor and optimize it, and we carry the pager for it. We have not designed Dark to be run by others, and so you will not be able to run it yourself.

Уже за это закапывать можно.

rebforce ()
Последнее исправление: rebforce (всего исправлений: 2)
Ответ на: комментарий от yoghurt

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

loz ★★★★★ ()
Ответ на: комментарий от rebforce

Чем оно лучше AWS Lambda (+ S3 + амазоновских же БД)? Там хотя бы вменяемые ЯП можно юзать и при правильной планировке даже с AWS можно будет потом свалить, а не завязываться на каких-то херов с горы.

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

Еще одна фича (заявленная, но не показанная в демо) это шаринг кода, то есть все твои девелоперы, тестировщики, возможно даже менеджеры, находятся в одной среде и тот код что ты написал сразу же могут ревьювить / тестить без выкладывания в тест среду, мержа бранчей и прочего прочего.

loz ★★★★★ ()
Последнее исправление: loz (всего исправлений: 1)
Ответ на: комментарий от loz

тут что-то фпшное, а-ля хаскель/окамль

Метапрог же не ограничивает ФП, если нужна производительность какая нибудь, импертивируй, пиши. Можно хоть драйвера делать.

Ну а остальных фич я в метапроге не видел

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

Deleted ()
Ответ на: комментарий от loz

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

С Lambda так же. Ты, наверное, с Elastic Beanstalk перепутал. Хотя и там всё это сведено к минимуму (лично менеджил бэк одного сайта с мобильного приложения AWS). Это тебе не напрямую EC2 через Cloudformation мурыжить.

Плюс лайв данные - тут у Амазона нет аналога.

Поясни, что за лайв-данные имеешь в виду.

rebforce ()
Ответ на: комментарий от rebforce

С Lambda так же

Не пробовал лямбду поэтому не могу сказать различия, в целом посмотри видео.

Поясни, что за лайв-данные имеешь в виду.

В редакторе кода можно инспектировать запросы, плюс можно смотреть какое значение было у каждой переменной во время выполнения запроса. Типа когда ты видишь `user` ты не думаешь, это объект, имя, адрес, запись в базе или еще что-то а видишь значение сразу.

loz ★★★★★ ()
Последнее исправление: loz (всего исправлений: 1)
Ответ на: комментарий от Deleted

Ну я уже вот начинаю их расписывать, вообще метапрог будет очень мета, что хочешь то и соберешь, ну короче эмакс такой графический. А что нужно сделать что бы превратить в такой вот даркланг сервис? Нужно только к метапроге вебни добавить

Я особо метапрог не смотрел еще, суть тут не в вебне, думаю веб они используют для кросплатформенного 0-install интерфейса.

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

Фичи типа лайв данных, бездеплойности и версионирования возможны если редактор имеет доступ к продакшену, трафику, хранилищу. Возможно нужны какие-то фичи языка чтобы не перезапускать всю систему. Для командной работы опять же все это должно быть в сети, а-ля смолтолковский образ доступный для всех.

То есть в целом не ракетная наука, но довольно много работы и проэктирования чтобы все это работало друг с другом.

loz ★★★★★ ()
Последнее исправление: loz (всего исправлений: 3)
Ответ на: комментарий от loz

Основная штука которая делает все их фичи возможными - соединение редактора, языка и продакшена.

Я вот тоже думаю что это классно, язык + ide это уже есть в метапроге, верней языка по сути и нет, так что тут даже нету разделения, его не может быть. При этом никакие плюсы текстовости не теряются, есть математические блоки, где можно вводить формулы, и по ним считать чего нибудь.

На счет продакшена, ну тут много что планируется, и метапрог будет развиваться в эту сторону точно, сейчас пока что аналог своего гитхаба, прямо в «ide», плюс лайв редактирование с чатом, не густо, но нужно понимать что сейчас существует только демка, но «нормальная версия» начнет разрабатываться вот-вот, нужны люди кстати, так что если кому то идея нравится, пусть присоединяется!

Deleted ()
Ответ на: комментарий от loz

Эту демку? https://www.youtube.com/watch?v=EcQMgUAm0DE&feature=youtu.be

Ну я там показал как из репозитория код брать, таким же образом можно и код метапрога (самого нового) получить. Ну или сразу скачать тут, правда версия не самая свежая - https://www86.zippyshare.com/v/pWggQ91b/file.html

Но не думаю что он будет особо полезен %) Код демо версии (текущей) на LabView, лучше в разработку следующего, нормального метапрога вкатываться, там для каждого место найдется, гуишку попилить, компилятор, идеи там всякие предложить, архитектуру продумать... Для этого лучше зайти в чат, и с metaprog'ом поговорить.

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

Deleted ()
Ответ на: комментарий от loz

403 по ссылке

Странно, даже с прокси заходит.

а у вас гитхаба какого нету?

А как на гитхабе графический код хранить? Можно сделать конечно отрисовщик этих блоков, но тут нужна возможность такой отрисовщик на сайт добавить. Но все равно, гит для бинарщины не оч.

Но есть своя система контроля версий, вот нужен веб-сайтик к ней, и получится гитхаб нормальный, ну а пока его нет. Тут демка то недавно появилась, все только зарождается, metaprog в одиночку все пилил, да и сейчас все еще в одиночку.

В общем надо как то (?) начать людей привлекать к разработке, выкатывать нормальную версию, повышать удобство...

Deleted ()
Ответ на: комментарий от loz

Видео без звука, мало чего понятно, какие-то блок схемы, формочки)

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

Deleted ()
Ответ на: комментарий от anonymous

Какая лицензия пока не понятно, вендор-лок для бизнеса не проблема вобщем-то, это проще в плане заплатил и забыл. Взять тот же слак - конторы больше определенного размера обязывают платить круглые суммы, насколько мне известно.

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

loz ★★★★★ ()
Ответ на: комментарий от loz

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

Кстати, как ты считаешь, что нужно запилить в первую очередь? Ну вот гитхаб нужен свой в вебе, определенно, ide, отладчик (ну это уже есть), еще...?

И может еще мысли по дизигну есть? Ну шрифты то определенно нужно менять %) А еще?

Deleted ()

Что думаете?

Не взлетит. По той же причине, по которой непопулярен классический лисп или смолтолк — закрытая система, вещь в себе. Кстати пример раста (да и голанга), на котором сейчас модно переписывать мир, очень показателен, но там хоть какой-то интероп с окружающей реальностью и хренова туча хомячков жаждущих войти в историю на халяву. А тут как господа собираются выкручиваться?

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от Deleted

А как на гитхабе графический код хранить?

Плиз попробуй содержимое архива залить тупо файлами на гитхаб. Вижу многовато у людей проблем с тем файлообменником (хотя у меня через тор он работает как часы).

metaprog ()
Ответ на: комментарий от Deleted

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

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

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

loz ★★★★★ ()
Ответ на: комментарий от rebforce

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

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

loz ★★★★★ ()
Ответ на: комментарий от Deleted

Но блин, metaprog, как то сложно это с виртуалками.

Кстати, если у тебя винда - можно без виртуалки. А если удалось достать Лабвью на линукс - можно и прямо на линуксе.

metaprog ()

Неужели Великий ошибся?

LW: I don't think you can avoid that problem... In the area of computer languages, there are just a certain number of people who are interested in developing their own computer language. And you can't stop them, they're just going to do it anyway :-)

Языков уже больше чем программистов.

perl5_guy ★★★ ()