Вопрос
Если я делаю 2d-игру общим lisp (использует: lispbuilder-sdl, quicklisp, cffi), используя clozure cl для windows, смогу ли я легко переносить его на другие платформы (linux/iPhone (возможно)/андроид) позже? Является ли lisp "подходящим" для устанавливаемых программ?
информация
- В игре будет использоваться OpenGL для графики. Скорее всего, он будет использовать sdl для инициализации ввода /opengl и либо sdl, либо openal для аудио. Возможно, в конечном итоге вместо моей sdl будет использована моя собственная библиотека.
- Написание нескольких библиотек С++ для cffi (для переноса функциональности "переносимым" способом) не является проблемой.
рассуждения
Я действительно очень устал от С++. Хотите попробовать что-то (это не питон) с более простым синтаксисом + больше мощности. Имейте проект игры в виду, хотите знать, что выбор lisp для игры означает серьезную проблему, если я вдруг решит распространять/портировать игру позже.
- редактировать -
дополнительная информация
Что вы подразумеваете под "подходящими" и "устанавливаемыми программами"?
Я не уверен, насколько хорошо CFFI/quicklisp будет играть, если я попытаюсь включить законченную программу, которая может работать на моем компьютере в устанавливаемый пакет (например, установщик Windows в Windows). quicklisp, например, устанавливает пути/репозитории в домашнем каталоге пользователя (что может быть неприемлемым поведением) и пытается автоматически загружать пакеты из внешних источников, что не очень хорошо, когда вы пытаетесь распространять программу и убедитесь, что она работает как предназначена. CFFI в некоторых случаях "связывает" иностранные библиотеки с функциями lisp, и для меня неясно, насколько хорошо он будет работать, скажем, если я выкину его образ программы, встрою его в exe и запустим exe на другой машине. Согласно здравому смыслу, это должно работать как можно лучше, но в худшем случае это может привести к тому, что мне придется писать сложный установщик, специфичный для дистрибутива lisp.