Про делфи не слышал. С сишарпом проще – есть реализация сишарпа под JVM и как следствие могут быть конвертеры байткода. Для .NET можно проделать тоже самое – есть J#, который по синтаксису суть ява, разве что только под 2005 студию.
Ну, "исходники на привычном для себя языке" – это невозможно для хоть сколько-нибудь серьезной программы (скажем, использующей НЕ только консольный, файловый и сетевой API). В Java есть вещи, которые нельзя сделать на Delphi не реализовывая java-машину вместе с целым JDK (гы, reflection хотя бы), и наоборот.
ну… вы же понимаете, что программа может переводиться с одного языка на другой не слово-в-слово (по сути, для бизнес-проектов смысл имеет только логика работы программы). тот же reflection наверняка можно инкапсулировать в некоторую объектную модель, которая будет реализована только для одного языка, а для остальных просто задекларирована; то есть не нужно компилировать на Delphi программу с использованием reflection.
зачем? например: несколько программистов, владеющих разными языками, пишут один проект. и все хотят исходники на привычном для себя языке.
более реалистичный вариант – студент нашел в готовом виде то, что ему нужно написать, но только на другом языке (или по незнанию/невнимательности заказал написание не на том языке).
Есть такие программы, поищите по запросу "портирование кода". Точно знаю, что есть например из C++ в Java и наоборот, но потом все равно придется фиксить мноие вещи. Компилится портированные программы сразу не будут.
3 июня 2009 в 18:05
>есть реализация сишарпа под JVM
где? О_о
3 июня 2009 в 17:03
Про делфи не слышал. С сишарпом проще – есть реализация сишарпа под JVM и как следствие могут быть конвертеры байткода. Для .NET можно проделать тоже самое – есть J#, который по синтаксису суть ява, разве что только под 2005 студию.
3 июня 2009 в 14:04
>целое число можно преобразовать в рациональное без потери точности. обратно – не всегда.
НУ, для несложной задачи на яве, думаю, найдётся парсер в делфи.
3 июня 2009 в 11:02
2 #11
ассемблер и машинный язык – разные вещи. почему-то их путают
2 июня 2009 в 21:04
целое число можно преобразовать в рациональное без потери точности. обратно – не всегда.
2 июня 2009 в 18:02
есть парсер из делфи в яву, видел где-то, значит есть и обратный.
23 мая 2009 в 21:04
эм… ну Апи то может и отличается но внутреннюю реализацию всяких там конвертаций в диалекты SQL былобы крайне странно писать с нуля.
23 мая 2009 в 16:04
И что, его кто-то конвертирует из джавы в шарп? Готов поспорить на что угодно (смотреть самому лень ), что их API сильно отличаются.
23 мая 2009 в 16:00
Да причем тут ассемблер. Проблема конфертации исходников довольно остра, впомним хотяб тотж хибернецт которые пишетсяпаралельно на жаве и на сишарпе.
22 мая 2009 в 21:05
> Ну вообще часто бывает, что нужна реализация какого-нибудь алгоритма, а на целевом языке ее найти не удается.
целевой язык, если что, – это машинный язык. пользуйтесь, соответственно, компиляторами для вашей архитектуры (или виртуальной машины).
22 мая 2009 в 21:04
Всегда можно вкомпилить JVM в экзешник, правда он жирнючий будет )
22 мая 2009 в 21:03
Ну вообще часто бывает, что нужна реализация какого-нибудь алгоритма, а на целевом языке ее найти не удается.
А из Java в Delphi можно еще конверировать чтоб избавиться от зависимости от JVM )
22 мая 2009 в 20:04
Ну, "исходники на привычном для себя языке" – это невозможно для хоть сколько-нибудь серьезной программы (скажем, использующей НЕ только консольный, файловый и сетевой API). В Java есть вещи, которые нельзя сделать на Delphi не реализовывая java-машину вместе с целым JDK (гы, reflection хотя бы), и наоборот.
Второй-то вариант меня и беспокоит
22 мая 2009 в 20:04
ну… вы же понимаете, что программа может переводиться с одного языка на другой не слово-в-слово (по сути, для бизнес-проектов смысл имеет только логика работы программы). тот же reflection наверняка можно инкапсулировать в некоторую объектную модель, которая будет реализована только для одного языка, а для остальных просто задекларирована; то есть не нужно компилировать на Delphi программу с использованием reflection.
22 мая 2009 в 20:02
зачем? например: несколько программистов, владеющих разными языками, пишут один проект. и все хотят исходники на привычном для себя языке.
более реалистичный вариант – студент нашел в готовом виде то, что ему нужно написать, но только на другом языке (или по незнанию/невнимательности заказал написание не на том языке).
22 мая 2009 в 20:00
Есть такие программы, поищите по запросу "портирование кода". Точно знаю, что есть например из C++ в Java и наоборот, но потом все равно придется фиксить мноие вещи. Компилится портированные программы сразу не будут.
22 мая 2009 в 19:00
Зачем?
22 мая 2009 в 18:02
нет. скорее всего