Spiiin's blog

Карта блога

Читать дальше...

Итераторы, колстеки, корутины

Читать дальше...

daScript - скорость

Читать дальше...

Эволюция программиста в геймдеве

Читать дальше...

Про увольнения

Читать дальше...

daScript macro - 2

Читать дальше...

daScript - как учить

Читать дальше...

daScript in imaginery world

Мой собственный способ измерить выразительность и скорость языка — решить на нём “задачу Джеймса Бонда младшего”, выдуманную головоломку из игры на NES James Bond Jr (видео). Несмотря на игрушечность задачи, кажется, это неплохой тест нового языка. Это веселее, чем реализовывать абстрактный поиск в ширину/глубину. Задачу решаю с небольшими алгоритмическими оптимизациями, но без оптимизаций по мелочам (скорее, наоборот, массив чисел специально копируется, как решена первая версия задачи на питоне, чтобы решения были сравнивыми, чтобы симулировать “код новичка” на языка и посмотреть, как язык справляется с этим копированием).

Сразу выводы про daScript для тех, кому не особенно интересны подробности реализации:

— Выразительность языка ОЧЕНЬ похожа на Python. Более того, я фактически просто переписал своё решение на Python 13-летней давности построчно, с парой изменений.
daScript по скорости в режиме интерпретации находится в одной лиге с компилируемыми языками (!!!). Код по скорости сопоставим с версией на Nim (чуть быстрее “наивной” скомпилированной версии, и раза в 1.5-2 медленнее оптимизированной).
— В режиме Ahead-of-Time компиляции daScript обгоняет nim (который вообще показывает достаточно хорошие результаты в нормальных бенчмарках с другими языками).

Читать дальше...