LINUX.ORG.RU

Джон Кармак предлагает использовать Scheme в качестве скриптового языка Gear VR/Oculus Rift

 , , ,


1

3

Собственно, сабж: https://groups.google.com/forum/#!msg/racket-users/RFlh0o6l3Ls/8InN7uz-Mv4J .

Немножко интересных цитат от гуру геймдева:

Doing VR GUI development in the native apps is unpleasant – you can gut it out in C++ with our current interfaces, but the iteration times and code structure don’t make it a lot of fun.

This will be controversial, and I will have a longer discussion about it, but I chose Scheme (a Lisp) for the scripting language. If this all works out, we can eventually make C# and Javascript versions, but I have a bunch of reasons for going this way first. I am using Racket http://racket-lang.org/ for the PC development environment, and Chibi Scheme for the embedded interpreter on Android.

I am favoring ease of development over performance, and it definitely won’t be suitable for a lot of tasks, but everything we have done with first party apps so far should be at least a candidate for development in this style once it is mature.

I am a big believer in functional programming (and static types) for large projects, but there is an undeniable bit of awkwardness compared to just imperatively poking things for small projects. That is one of the wins for Scheme — I can make it super-easy to get easy things working, but it isn't just a «scripting language» unsuitable for large scale development. I am going to have to sort out my Racket / Chibi module strategy sometime soon, though.

The bottom line is that I have been enjoying myself working with Racket / Scheme this year, and I have evidence that it has been objectively productive for me, so I'm going out on a bit of a limb and placing a bet on it.

Вообще его понять можно, среди скриптовых языков схема наиболее приятна, но лично мне не верится, что затея взлетит - даже в списке рассылки Racket Users первые ответы были про JavaScript/JSON как более подходящие варианты. Да и сам Джон сознается, что многие «might be a little hostile to working in a Lisp».

С другой стороны, возможно мы наблюдаем начало лиспоренесанса, ВР станет рельсами для схемы, а местные борщехлебы завоюют геймдев?

Ответ на: комментарий от vazgen05

«no timeline for restarting work» звучит как «follow me, no time for explain»

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

кто-то в его возрасте играет в домино, он играет в схему. кто-то в его возрасте играет в домино, он играет в схему.

джон кармак настолько крут, что схема играет им.

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

двум смертям не бывать, одной не миновать.

Скоро деды помрут, и лисп всё.

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

таково бусидо

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

трагедия жабоскрипт

... а что ты хочешь, каков недоязычок — такова и трагедия (в стиле фарс):

BrendanEich says: 5 years ago at 7:26 pm

Ten days to implement the lexer, parser, bytecode emitter (which I folded into the parser; required some code buffering to reorder things like the for(;;) loop head parts and body), interpreter, built-in classes, and decompiler. I had help only for jsdate.c, from Ken Smith of Netscape (who, per our over-optimistic agreement, cloned java.util.Date — Y2K bugs and all! Gosling...).

Sorry, not enough time for me to analyze tail position (using an attribute grammar approach: http://wiki.ecmascript.org/doku.php?id=strawman:proper_tail_calls). Ten days without much sleep to build JS from scratch, «make it look like Java» (I made it look like C), and smuggle in its saving graces: first class functions (closures came later but were part of the plan), Self-ish prototypes (one per instance, not many as in Self).

I'll do better in the next life.

/be

NO WAI!

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

в нём есть AST макросы. но таки да, УГ ещё то.

anonymous
()

че за слоупок новости рожает? в сырцах doom3 уже был использован lisp

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.