Этого треда уже нет.
Это копия, сохраненная 5 мая в 05:22.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Язык программирования Lobster 3044934 В конец треда | Веб
Python + Haskell + Rust в одном флаконе!
OpenGL уже внутри, никакого бойлерплейта!

https://strlen.com/lobster/

Сборки мусора нет, есть подсчёт ссылок и скрытые лайфтаймы. Если конпелятор не смог отследить лайфтаймы, то он сам оборачивает переменную в Rc.

Язык:
✓Статическая типизация, которая так же легка в применении, как динамическая типизация благодаря "Потокочувствительному выводу типов и специализации".
✓Подсчет ссылок во время компиляции / анализ времени жизни / проверка заимствования.
✓Легкие блоки / Анонимные функции, делающие любую функцию, использующую их, идентичной встроенным управляющим структурам.
✓Векторные операции (для математики и многих других встроенных функций).
✓Единая перегрузка & динамическая диспетчеризация, в & вне классов, поддержка специализации.
✓Неизменяемые "встраиваемые" структуры (без накладных расходов).
✓Без GIL, модель многопоточности без гонок.
✓Синтаксис на основе отступов в стиле Python с вкусом C.

Реализация:
✓Выбор между прямым запуском с удобным JIT или компиляцией в C++ для дополнительной скорости.
✓Подсчет ссылок с обнаружением циклов при выходе, 95% операций подсчета ссылок удаляются на этапе компиляции благодаря анализу времени жизни.
✓Полностью графический отладчик (осмотр стековых трасс, изменение переменных и т. д.).
✓Загрузка динамического кода.
✓Относительно быстрый (порядок быстрее, чем Python, значительно быстрее Lua (бенчмарк), пока не является конкурентом для C, но, возможно, в будущем будет) и экономичный (низкий накладный расход памяти).
✓Легко развертывается (движок/интерпретатор exe + сжатый файл байткода).
✓Модульно расширяем собственной библиотекой функций на C++.

Движок:
✓Портативный (в основном благодаря OpenGL/SDL/Freetype), что позволяет запускать ваши игры на Windows, Linux, Mac OS X, iOS, Android и WebAssembly (в этом порядке зрелости, на данный момент).
✓Высокоуровневый интерфейс к функциональности OpenGL, очень быстрый старт с простыми двумерными геометрическими примитивами.
✓Конструирование трехмерных примитивов либо непосредственно из треугольников, либо с использованием высокоуровневых примитивов, превращенных в меши через marching cubes.
✓Шейдеры GLSL (используемые в OpenGL & OpenGL ES 2 без изменений).
✓Рендеринг текста через FreeType.
✓Единая система ввода для мыши и сенсорного ввода.
✓Простая звуковая система, поддерживающая файлы .wav и синтезатор .sfxr.
✓Поддержка ImGui.
✓Поставляется с полезными библиотеками, написанными на Lobster, такими как поиск пути A* и игровые GUI.

на пиках 2-3 моя демка и её сорец, автор языка не причём
2 3044951
>>44934 (OP)
Кончил
3 3044955
>>44934 (OP)

>на пиках 2-3 моя демка и её сорец


Демка не впечатляет. Плохо постарался.
4 3044958
>>44934 (OP)

> OpenGL


Ребят, как там в 2007 году, заебись наверное?

> Python + Haskell + Rust в одном флаконе!


Уже Nim есть, нахуй нам это сырое говно? Ещё и производительность кал у вашего лобстера, лучше уж взять котлин, он быстрее и приятнее будет. Или можно шарп компилить в нативный код - тут лобстер будет сосать надрачивая обеими клешнями по производительности и уровню поддержки.
15215752130990.png348 Кб, 1200x1200
5 3044972
>>44934 (OP)
Сейчас бы в 2024 делать синхронные языки, когда у каждого утюга по 100500 ядер. Ну серьезно, прекращайте делать синхронные языки.
6 3044975
>>44955

>Плохо постарался


Постарайся лучше, я вообще слабоват в рисовании треугольников.
7 3044976
>>44972
Асинхронщина нужна как раз тогда, когда потоков сильно больше, чем ядер.
8 3044988
>>44958

>сырое говно


С 2010 года пилит, норм.

>как там в 2007 году


Why so serius? Не напрягайся так, это простенький язык для простеньких поделок.
Его, например, можно использовать, чтобы объяснять 13+ лвл детям концепции программирования, которых там наворочено предостаточно. Для этих целей он весьма подходит, так как со всем багажом концепций по выглядит просто и заточен на графику.

>производительность кал


Модно запускать в jit режиме, можно конпелять в С++.

>котлин, он быстрее


рассмешил.
9 3045095
>>44988

> рассмешил


Меня вот рассмешили бенчмарки из этого говноязыка, там до джавы как до луны.
CUn-7LuU8AA-8Yp.jpg89 Кб, 600x600
10 3045131
>>44976
У тебя и так получиться очередь, только с лишними потоками у тебя появиться оверхед на переключение лишних потоков.
Не надо, в общем.
prod1826205494001.jpg53 Кб, 800x800
11 3045242
>>45095

> рассмешили бенчмарки


Ты где их откопал? Я лично не встречал. Если в Jit режиме, то неудивительно, надо смотреть выхлоп рекомпиляции в С++

>>45131
Говно хороший язык, но в своей нише: когда нужно быстро имплементировать хотелки манагера из отдела маркетинга, не заморачиваясь особо архитектурой и красотой кода - всё равно через неделю переписывать. Ну и всё это в рамках веба, где нужно быстро срыгивать джейсоны во все стороны.

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

Насчёт конкуренции расту и даже го, я шучу, конечно же.
12 3046013
https://programming-language-benchmarks.vercel.app/problem/binarytrees

Заимплементил binarytrees на лобстере (переписал с lua).
Проверял на грубине 20.
В Jit режиме 2m30s, в скомпилированном 15s
java тем временем 2.5s , в 6 раз быстрее.
Што ш, это получается уровень примерно go. Неплохо для языка, который пилится одним разрабом.

inb4: вот делать-то нехуй, а
13 3046061
>>46013
Где-то появился полный гайд как пилить язык, откуда все они лезут? И почему я такой тупой и не запили свой язык.
изображение.png124 Кб, 458x466
14 3046257
>>46061
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D1%8B:_%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B,_%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B
15 3046260
>>46061

>Где-то появился полный гайд как пилить язык, откуда все они лезут?


Нормальные люди пилят компиляторы, нитакусики пилят языки.
16 3046368
>>46061
Немного мимо, этот чел пилит языки что-то с 90-х годов.

А вообще, индустрия пухнет, людей в неё всё больше, больше и желающих запилить свой язык. Ты посмотри сколько игровых движков сейчас, вообще опупеешь.
17 3046402
>>46260
А ты серишь на двощах
18 3046828
>>46257
Золотая жила
19 3046836
Предлогаю язык программирования двощ.
-Функции не могут возвращать значения.
-Классы все статические, нельзя создать экземпляр.
-Переменные немутабельные, но случайно меняют в себе значение из других переменных "дермоническая типизация".
-Сборщик мусора без остановки (наконец-то), но очищает всю память.
-Как только пишешь хеллоу ворд, сразу сам размешает резюме на хх.ру и пишет уведомление в тред - "мы вам перезвоним".
r.webm6,7 Мб, webm,
841x560, 0:04
20 3047816
Банзай
21 3047959
>>47816
Смотрю флагманский проект лобстера идет в гору.
22 3048042
>>47959
Ты шо, ты шо, вот он, флагман. Официальный туториал, пропатченный мной на управление джойстиком и наркоманское поведение пуль.
image.png17 Кб, 847x205
23 3049455
>>44934 (OP)
Проблема питона не в производительности, ну как бы срать сколько кабанчик за железку платит, и даже не в инопланетном синтаксисе, проблема питона в построение кода через отступы. Эту херню невозможно копипастить и автоформатировать.

Поймите уже, питонорожденые, людям нравится эта фигня.
24 3049767
>>49455
Смотри на лобстер, как на язык для обучения детей, который где-то между scratch и нормальными языками, но ближе к нормальным.

Что касается отступов, если писать не в текстовом редакторе, а в ide, то проблем не возникает. Но это в случае питона, для лобстера пока что только vim & vscode.
25 3053187
>>45242

>надо смотреть выхлоп рекомпиляции в С++


Так сравнивай с джавой рекомпилированной в нативный код
26 3053188
>>44934 (OP)
но ... ЗАЧЕМ?
Выглядит как тот же Груви/Котлин, да на худой конец Руби/Луа, только еще менее популярный?
27 3053443
>>53187
Сила жабы в jit, она при компиляции в железо только тормознее станет. Сравнил на binarytrees, см. выше, на этом тесте это уровень go. Другие тесты переписывать пока нет времени, быть может займусь.

>>53188

> Руби/Луа


вообще не та лига, но синтаксически похоже. Скорее crystal, но без сборки мусора (лайфтаймы + Rc). Тут, конечно, проёб в позиционировании со стороны автора, так как он сделал вроде бы системный язык, но на данном этапе его невозможно использовать для системщины, так как при компиляции в бинарь он линкует свою стандартную либу, а она требует GL/GLUT и прочий хлам, ибо это язык для написания игр.

> Груви/Котлин


>ЖВМ


ну ты понел.
28 3053583
>>53443

>Сила жабы в jit, она при компиляции в железо только тормознее станет.


Чел, а JIT ты как думаешь что делает?

>ибо это язык для написания игр


Большинство игр пишут на С-образных языках, странный выбор питон-лайк синтаксиса

>ну ты понел.


Нет. Посмотри игры на Unity, тот же раст. CLR - это фактически JVM.
Раст бегает вообще только в путь по производительности.
29 3053622
>>53583

>Большинство игр пишут на С-образных языках


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

>игры на Unity


Не на каждом утюге запустишь из-за требований по памяти и ядрам. И относительно сложно в освоении, как и любой движок всё-в-одном.

Lobster, это когда ты делаешь игру/демку на 100 строк кода и сразу запускаешь, без всякой компиляции (есть Jit). А уже релизную версию можно скомпилировать при необходимости.

Меня он привлекает моделью управления памятью прежде всего. Ну и как простенький язык а-ля питон, чтобы показать ребёнку программирование.
30 3053630
>>53622

>Не на каждом утюге запустишь из-за требований по памяти и ядрам.


Чел, у меня компу 12 лет, что это если не утюг?
Игрушка GTFO 19го года на Юнити с классной графикой летает. Пора уже забросить стереотипы.

>Странное заявление.


Не странное, если целью привлечь уже существующую аудиторию геймдева, а не работать в стол.

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


А ну если это язык для обучения детей - возможно. Хотя опять же зачем учить язык который никто не юзает.
miyoo-mini-plus-portable-retro-handheld-game-console-v2-mini-ips-screen-classic-video-game-console-linux-system-childrens-gift-by-electroniksindia-850.webp27 Кб, 1080x1080
31 3053862
>>53630

> учить язык


Не язык, а программирование. Вон, scratch же учат, причём на платных кружках.

>Чел, у меня компу 12 лет, что это если не утюг?


Это не утюг, вот на пике - утюг.

>работать в стол


вот тут согласен, у автора странный подход к продвижению никакой

Я не агитирую вот прям брать и учить этот язык для чего-то серьёзно. Но в качестве пощупать/поиграться он очень даже.
32 3053897
>>53862
А как же nim, mojo?
image.png90 Кб, 706x793
33 3054002
>>53897

>mojo


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

>nim


Да, тоже похоже, они и стартовали примерно одновременно. Можно покривить губой, что у nim слабее фп, но дело не в этом.
Пошёл сравнивать, увидел там nil, поискал у лобстера и нашёл (до этого пробовал null и None). Переписал binarytrees, получилось 2.33 секунды vs 0.47 java версии на глубине 18. То есть, это уже быстрее, чем go.

Lobster не заменяет эти языки, а они не вполне заменяют его. Lobster, это когда ты берёшь и рисуешь какую-нибудь хреновину на OpenGL безо всякого бойлерплейта, каждая строчка у тебя делает что-то нужное. И сразу запускаешь, без компиляции. Такой язык джаст фо фан.

Я его пропагандирую в парадигме: "язык - это инструмент". Знаешь, как у скуфо-блогеров часто бывают обзоры на какой-нибудь прикольный шуруповёрт, дак и тут то же самое.
Тред утонул или удален.
Это копия, сохраненная 5 мая в 05:22.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски