Сообщение от Randomize
Monkey (первый) был интересен, в первую очередь тем, как легко и непринуждённо он собирался под концептуально разные платформы.
|
Не знаю, не тестировал.
Что касается Monkey2. Синтаксис на любителя, сборка медленная.
Сообщение от Жека
Манки-х транслировал код в разные языки под разные платформы - js для html5, java для android и т.д.
Манки2 транслирует всегда в c++, и далее это изается как нативный сишник.
|
В общем-то все верно.
Сообщение от mingw
Тогда смысл этого бейсика если он такой же как шарп? Глянул на синтаксис - чуть не обрыгался.
|
Синтаксис там действительно, такое...) А вот на счет первого там не C#, а хорошенько припудренный С++)
Сообщение от Evgen
Ну в его защиту можно сказать, что не каждый Редис-Кубернетис бэкндер может написать практический в одиночку (хотя наверное там помощники были) аналог C#, причем C# и тогда активно развивался.
|
Здесь я увы ошибся конечно. Как писал Жека, там идет трансляция в C++. Поэтому марк не придумывал язык ООП а пошел по легкому пути, просто сделал транслятор на С++. Поэтому за Monkey2 можно сказать спасибо Бьёрну Страуструпу))
Если я не ошибаюсь, в общем дело было так:
1)Blitz3D имел парсер, транслятор в простенький ассемблер х86 и простенький компилятор ассемблера х86.
2)В BlitzMax от своего компилятора в ассемблер отказались и перешли на внешний компилятор FASM.
3)В BlitzMax-NG отказались от трансляции в ассемблер и перешли на трансляцию в C++.
4)Что было в Monkey-X не знаю, не смотрел исходники.
5)Monkey2 не содержит в себе компиляторов, это тупо парсер и транслятор все в тот же C++. Как он делает сборку под android я не знаю.
Технический из всего этого списка более всего мне симпатизирует Blitz3D, непросто это... написать все и сразу. Хотя до недавнего времени я об этом даже и не знал, что там все так было устроенно.
Где-то я читал, что компилятор на Monkey написан на Monkey... да нет там компилятора, только парсер и транслятор уже на другой более высоко развитый язык) Такая "обертка в обертке".
Увлечение всеми этими "компиляторами на компиляторе" приводит к тому, что например сборка пустого проекта под Android или WebGL в Unity6 занимает пол часа или 15 минут. Ну если у вас не 12-ти ядерный процессор конечно.