Сразу говорю, не надо никакого флейма, наездов и т. д. Прошу отвечать
по-существу.
Итак, поставили тут передо мной задачу. Люди разрабатывают программы
на С++ и Java, используя одинаковый framework, написанный и под
первый язык, и под второй. Разрабатывают одинаковые приложения. Т. е.
приложение_X в итоге должно быть на C++ и на Java. Разрабатывают две
разные группы, поэтому происходит дублирование работы. Возникла у
людей идея писать только на C++, а затем преобразовывать на Java. И
они хотят этот процесс хотя бы _ЧАСТИЧНО_ автоматизировать. Вот и
поставили передо мной эту задачу.
Я не идиот :)
Разумеется речь не идет о преобразовании _любой_ C++-прогрммы на Java.
Будет введено множество ограничений на то, что можно использовать, что
нельзя (типа нельзя множественное наследование, перегрузка операторов
указатели в чистом виде (то есть массивы, строки - можно), или
обязательное использование smart-pointer'ов, использование только
определенный библиотек и функций, достаточных для решения типовых
задач в их области). Тем более народ пишет скорее не на C++, а на C
с классами. И вообще, им не нужен идеальный результат, им нужно то,
что ускорит разработку.
Мне эта задача кажется вроде бы подъемной, хотя и очень сложной.
Но самое главное - интересной, она во многом пересекается с тем, чем я
занимаюсь. Но в такой области я не делал пока ничего.
Я знаю, что здесь есть немного людей, которые больше знают меня в этой
области (вспоминается здесть пробегали темы по генерации кода на
Fortran для числодробильных задач). Я хотел бы услышать мнение этих
людей о подъемности этой задачи. Я не хочу браться за задачу без
знания того, что это вообще возможно (хотя возможно все :) ). Я понимаю, что это не легко. Проблема как в непосредственной реализации,
так и в продумывании всех ограничений, а также правильной архитектуры
всего приложения. Также не откажусь от каких-либо общих советов,
советов по использованию чего-то стороннего, что облегчит разработку.
Собираюсь это писать на OCaml, из сторонних вещей нашел GCC-XML.
P.S. Возможен вообще-то вариант Java -> C++, но он мне кажется более
сложным.
P.P.S. Я давно здесь не видел Виталия Луговского, но если он заходит
сюда анонимно, я очень прошу его высказаться по этому поводу.
P.P.P.S. Если вы дочитали до этого места и из-за величины поста
забыли о моей просьбе, высказанной в начале, я напоминаю:
отвечайте только если вам есть что сказать по-существу.