LINUX.ORG.RU

Посоветуйте платформу для генерации кода Java

 , , , xtext,


0

2

Вконец жаба доканала, но, к сожалению, других вариантов в текущей области применения пока нет. Посоветуйте подход/набор средств для генерации кода на Java. Пока из известных платформ языков рассматриваю следующие: - из Лиспа (CL, Racket) - из Скалы (компиляция в JVM Скалы не подойдет, скорее всего, ибо нужен Ведроид) - через EMF/Xtext - из Haskell/Ocaml (опыта мало; включил скорее для полноты)

Если предложите что-то более подходящее, то отлично. Требования к платформе примерно следующие: - развитая, не ограниченная в расширении семантика, ибо от этого и пытаюсь уйти - наличие необходимых средств, что бы не пришлось писать все с нуля

Посмотри clojure. Был проект портирования clojure на ведроид.

feofan ★★★★★
()

Scala+ProGuard

«Че ты очкуешь? Я так сто раз делал...» (с)

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)

То есть я таки могу бросить Джаву и начать писать на Скалке, не боясь, что потом матерясь придется все переписывать для Ондройеда?

metadeu5
() автор топика
Ответ на: комментарий от mono

Пацаны говорили, что приложения по размеру гигантскими выходят.

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

Оно только байткод умеет генерить или исходник в human-readable (с настраиваемой конвенцией) виде тоже?

metadeu5
() автор топика

Ох, Лисп, видимо рано я про тебя забывать начал...

metadeu5
() автор топика

Из баша :) Активно генерю код для C/C++, SQL, HTML итд в текущем проекте

vromanov ★★
()

Для JVM - clojure и scala. Остальное может вызвать проблемы на практике, особенно пр переходе с Java. Но вот на счет андроида не подскажу.

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

что jvm?

сгенереные исходники на жабе я получу?

x4DA ★★★★★
()

Jetbrains Meta Programming System (MPS) тебя спасет.

Отличная штука, свободная, развивается на глазах. Делают умные русские товарищи, которые рады помочь (особенно если ты возьмешься чуть-что пропиарить тулзу и сказать, что «это написано на MPS!» на своем сайте)

Опыт нужен минимальный («генератор для блондинок»). Решение всё-в-одном.

Есть заранее приготовленные языки, даже С++ есть. Заранее приготовленные языки можно смешивать в одном проекте, то есть можешь «скриптовать» на смеси явы и эрланга, если хочешь. .NETу и не снилось.

Код самого MPS довольно понятный, чистый, местами с комментариями. Можно форкать на гитхабе и править на свое усмотрение, если чего-то не хватит. Мне вот не хватило пары тулзов, пришлось написать.

Для написания плагинов необязательно форкать. Поддерживаются динамические плагины в составе твоего DSL.

Ну и да, язык - Java. Точнее, модель жавы под внутренним названием baseLanguage. Т.е. углубляться во всякую эзотерическую функциональщину не надо, просто берешь и сразу пишешь. Но есть нюансы, т.к. baseLanguage - не совсем жава, там есть синтаксические дополнения например для удобной навигации по AST. Можно и без удобной навигации, но это ад. Поэтому несмотря на привычность базового языка, читать мануал всё равно придется, пристально и вдумчиво.

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)

Интересно, насколько Clojure подходит под задачу?

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