Это копия, сохраненная 5 мая в 05:22.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
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 моя демка и её сорец, автор языка не причём
Кончил
> OpenGL
Ребят, как там в 2007 году, заебись наверное?
> Python + Haskell + Rust в одном флаконе!
Уже Nim есть, нахуй нам это сырое говно? Ещё и производительность кал у вашего лобстера, лучше уж взять котлин, он быстрее и приятнее будет. Или можно шарп компилить в нативный код - тут лобстер будет сосать надрачивая обеими клешнями по производительности и уровню поддержки.
Сейчас бы в 2024 делать синхронные языки, когда у каждого утюга по 100500 ядер. Ну серьезно, прекращайте делать синхронные языки.
>сырое говно
С 2010 года пилит, норм.
>как там в 2007 году
Why so serius? Не напрягайся так, это простенький язык для простеньких поделок.
Его, например, можно использовать, чтобы объяснять 13+ лвл детям концепции программирования, которых там наворочено предостаточно. Для этих целей он весьма подходит, так как со всем багажом концепций по выглядит просто и заточен на графику.
>производительность кал
Модно запускать в jit режиме, можно конпелять в С++.
>котлин, он быстрее
рассмешил.
У тебя и так получиться очередь, только с лишними потоками у тебя появиться оверхед на переключение лишних потоков.
Не надо, в общем.
> рассмешили бенчмарки
Ты где их откопал? Я лично не встречал. Если в Jit режиме, то неудивительно, надо смотреть выхлоп рекомпиляции в С++
>>45131
Говно хороший язык, но в своей нише: когда нужно быстро имплементировать хотелки манагера из отдела маркетинга, не заморачиваясь особо архитектурой и красотой кода - всё равно через неделю переписывать. Ну и всё это в рамках веба, где нужно быстро срыгивать джейсоны во все стороны.
Тут же язык для разработки игр с порогом вхождения даже ниже, чем у питона, гораздо его быстрее и качественнее по семантике.
Насчёт конкуренции расту и даже го, я шучу, конечно же.
Заимплементил binarytrees на лобстере (переписал с lua).
Проверял на грубине 20.
В Jit режиме 2m30s, в скомпилированном 15s
java тем временем 2.5s , в 6 раз быстрее.
Што ш, это получается уровень примерно go. Неплохо для языка, который пилится одним разрабом.
inb4: вот делать-то нехуй, а
Где-то появился полный гайд как пилить язык, откуда все они лезут? И почему я такой тупой и не запили свой язык.
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
>Где-то появился полный гайд как пилить язык, откуда все они лезут?
Нормальные люди пилят компиляторы, нитакусики пилят языки.
Немного мимо, этот чел пилит языки что-то с 90-х годов.
А вообще, индустрия пухнет, людей в неё всё больше, больше и желающих запилить свой язык. Ты посмотри сколько игровых движков сейчас, вообще опупеешь.
А ты серишь на двощах
Золотая жила
-Функции не могут возвращать значения.
-Классы все статические, нельзя создать экземпляр.
-Переменные немутабельные, но случайно меняют в себе значение из других переменных "дермоническая типизация".
-Сборщик мусора без остановки (наконец-то), но очищает всю память.
-Как только пишешь хеллоу ворд, сразу сам размешает резюме на хх.ру и пишет уведомление в тред - "мы вам перезвоним".
Ты шо, ты шо, вот он, флагман. Официальный туториал, пропатченный мной на управление джойстиком и наркоманское поведение пуль.
Проблема питона не в производительности, ну как бы срать сколько кабанчик за железку платит, и даже не в инопланетном синтаксисе, проблема питона в построение кода через отступы. Эту херню невозможно копипастить и автоформатировать.
Поймите уже, питонорожденые, людям нравится эта фигня.
Смотри на лобстер, как на язык для обучения детей, который где-то между scratch и нормальными языками, но ближе к нормальным.
Что касается отступов, если писать не в текстовом редакторе, а в ide, то проблем не возникает. Но это в случае питона, для лобстера пока что только vim & vscode.
>надо смотреть выхлоп рекомпиляции в С++
Так сравнивай с джавой рекомпилированной в нативный код
но ... ЗАЧЕМ?
Выглядит как тот же Груви/Котлин, да на худой конец Руби/Луа, только еще менее популярный?
Сила жабы в jit, она при компиляции в железо только тормознее станет. Сравнил на binarytrees, см. выше, на этом тесте это уровень go. Другие тесты переписывать пока нет времени, быть может займусь.
>>53188
> Руби/Луа
вообще не та лига, но синтаксически похоже. Скорее crystal, но без сборки мусора (лайфтаймы + Rc). Тут, конечно, проёб в позиционировании со стороны автора, так как он сделал вроде бы системный язык, но на данном этапе его невозможно использовать для системщины, так как при компиляции в бинарь он линкует свою стандартную либу, а она требует GL/GLUT и прочий хлам, ибо это язык для написания игр.
> Груви/Котлин
>ЖВМ
ну ты понел.
>Сила жабы в jit, она при компиляции в железо только тормознее станет.
Чел, а JIT ты как думаешь что делает?
>ибо это язык для написания игр
Большинство игр пишут на С-образных языках, странный выбор питон-лайк синтаксиса
>ну ты понел.
Нет. Посмотри игры на Unity, тот же раст. CLR - это фактически JVM.
Раст бегает вообще только в путь по производительности.
>Большинство игр пишут на С-образных языках
Странное заявление. Ну дак, большинство языков С-образные, что поделать.
>игры на Unity
Не на каждом утюге запустишь из-за требований по памяти и ядрам. И относительно сложно в освоении, как и любой движок всё-в-одном.
Lobster, это когда ты делаешь игру/демку на 100 строк кода и сразу запускаешь, без всякой компиляции (есть Jit). А уже релизную версию можно скомпилировать при необходимости.
Меня он привлекает моделью управления памятью прежде всего. Ну и как простенький язык а-ля питон, чтобы показать ребёнку программирование.
>Не на каждом утюге запустишь из-за требований по памяти и ядрам.
Чел, у меня компу 12 лет, что это если не утюг?
Игрушка GTFO 19го года на Юнити с классной графикой летает. Пора уже забросить стереотипы.
>Странное заявление.
Не странное, если целью привлечь уже существующую аудиторию геймдева, а не работать в стол.
>Меня он привлекает моделью управления памятью прежде всего. Ну и как простенький язык а-ля питон, чтобы показать ребёнку программирование.
А ну если это язык для обучения детей - возможно. Хотя опять же зачем учить язык который никто не юзает.
> учить язык
Не язык, а программирование. Вон, scratch же учат, причём на платных кружках.
>Чел, у меня компу 12 лет, что это если не утюг?
Это не утюг, вот на пике - утюг.
>работать в стол
вот тут согласен, у автора странный подход к продвижению никакой
Я не агитирую вот прям брать и учить этот язык для чего-то серьёзно. Но в качестве пощупать/поиграться он очень даже.
>mojo
Идейно ближе всего, но
а. код закрыт
б. заточен на машобчик (этой узкой направленностью тоже похож)
>nim
Да, тоже похоже, они и стартовали примерно одновременно. Можно покривить губой, что у nim слабее фп, но дело не в этом.
Пошёл сравнивать, увидел там nil, поискал у лобстера и нашёл (до этого пробовал null и None). Переписал binarytrees, получилось 2.33 секунды vs 0.47 java версии на глубине 18. То есть, это уже быстрее, чем go.
Lobster не заменяет эти языки, а они не вполне заменяют его. Lobster, это когда ты берёшь и рисуешь какую-нибудь хреновину на OpenGL безо всякого бойлерплейта, каждая строчка у тебя делает что-то нужное. И сразу запускаешь, без компиляции. Такой язык джаст фо фан.
Я его пропагандирую в парадигме: "язык - это инструмент". Знаешь, как у скуфо-блогеров часто бывают обзоры на какой-нибудь прикольный шуруповёрт, дак и тут то же самое.
Это копия, сохраненная 5 мая в 05:22.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.