“нерантаймовый” аналог Wine
От: Khimik  
Дата: 05.10.23 07:17
Оценка: 4 (1) :))) :))
Тут есть люди, анализирующие машинный код в рантайме, в частности Вано. Должен быть ещё человек, продававший программы для поиска утечек памяти и для виртуализации. Захотелось сделать им такое предложение: написать ручной “нерантаймовый” аналог Wine. Я имею в виду, что Wine переводит код с одной платформы на другую в рантайме, а можно по-другому: шароварщик присылает автору екзешник, тот его запускает, анализирует код и переводит код на другую платформу. Вручную это можно сделать намного надёжнее и удобнее, шароварщик даже сможет например свои исходники показывать, если надо.
Я портировал свою Delphi программу на Mac, но увы пока с ней полно проблем, поэтому готов заплатить 60 000р за такое мануальное портирование экзешника.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: “нерантаймовый” аналог Wine
От: rudzuk  
Дата: 05.10.23 07:37
Оценка: 8 (1) +2
Здравствуйте, Khimik, Вы писали:

K> Я имею в виду, что Wine переводит код с одной платформы на другую в рантайме


Вайн никакой код не переводит. Вайн просто умеет загружать исполняемые модули в формате PE и реализует WinAPI.

То, что ты хочешь уже делалось и называется CrossVCL (можно собирать свое VCL-приложение под macOS или Linux). Правда, оно уже мертвое.
avalon/3.0.2
Re: “нерантаймовый” аналог Wine
От: bnk СССР http://unmanagedvisio.com/
Дата: 05.10.23 08:40
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Тут есть люди, анализирующие машинный код в рантайме, в частности Вано. Должен быть ещё человек, продававший программы для поиска утечек памяти и для виртуализации. Захотелось сделать им такое предложение: написать ручной “нерантаймовый” аналог Wine. Я имею в виду, что Wine переводит код с одной платформы на другую в рантайме, а можно по-другому: шароварщик присылает автору екзешник, тот его запускает, анализирует код и переводит код на другую платформу. Вручную это можно сделать намного надёжнее и удобнее, шароварщик даже сможет например свои исходники показывать, если надо.

K>Я портировал свою Delphi программу на Mac, но увы пока с ней полно проблем, поэтому готов заплатить 60 000р за такое мануальное портирование экзешника.

Как ты это себе представляешь? Если даже на уровне исходного кода трудно перевести,
каким образом это сделать на уровне EXE, это же кратно труднее.

600 евро — это дневной рейт на приличном контракте.
Не верю что за такую сумму кто-то реально возьмется за задачу уровня impossible.

Думаю лучший вариант продолжить как ты делаешь, портировать исходники на кроссплатформу.
То что это занимает время, ожидаемо.
Re: “нерантаймовый” аналог Wine
От: Unhandled_Exception Россия  
Дата: 05.10.23 09:48
Оценка: +2
Здравствуйте, Khimik, Вы писали:

Я смотрю, ты все не оставишь свою идею

K> Wine переводит код с одной платформы на другую в рантайме,


Он реализует WinAPI и понимает формат PE (т.е. умеет запускать на исполнение файлы этого формата).

K>Я портировал свою Delphi программу на Mac, но увы пока с ней полно проблем, поэтому готов заплатить 60 000р за такое мануальное портирование экзешника.


И при этом ты хочешь, чтобы кто-то написал программу, которая не просто переводила исполняемый файл из исходного формата в целевой, не только из одного набора машинных инструкций для исходного процессора в целевой, при этом еще и транслировала бесчисленные вызовы WinAPI в то, что понимает macOS, ну и чтобы без проблем?! Еще ценник в 600 долларов... То, что ты хочешь, если и реализуемо (одному человеку тут работы на года, если не на десятилетие), то будет стоить не 600 долларов, а миллионов шесть. Такие вещи одиночке вообще не потянуть. Это, блин, проект на всю жизнь, быть может.

Да в тысячу раз проще взять какую-нибудь Avalonia и переписать код на C#. Ты просто сядь и честно по 4 часа в день переписывай. За год справишься и сможешь запускать свою программу почти где угодно. А завиральные идеи покорения метагалактик лучше оставить богатым компаниям, которые не знают, чем занять программистов.
Re: “нерантаймовый” аналог Wine
От: drVanо Россия https://vmpsoft.com
Дата: 05.10.23 10:00
Оценка: 12 (1) +2 -2 :)))
Здравствуйте, Khimik, Вы писали:

K>Тут есть люди, анализирующие машинный код в рантайме, в частности Вано. Должен быть ещё человек, продававший программы для поиска утечек памяти и для виртуализации. Захотелось сделать им такое предложение: написать ручной “нерантаймовый” аналог Wine.


Я вам тоже хочу сделать предложение — убейтесь апстену вместе со своим Delphi.
Отредактировано 05.10.2023 10:30 drVanо . Предыдущая версия .
Re[2]: “нерантаймовый” аналог Wine
От: Khimik  
Дата: 05.10.23 10:51
Оценка: -2
Здравствуйте, Unhandled_Exception, Вы писали:


U_E>Он реализует WinAPI и понимает формат PE (т.е. умеет запускать на исполнение файлы этого формата).


U_E>И при этом ты хочешь, чтобы кто-то написал программу, которая не просто переводила исполняемый файл из исходного формата в целевой, не только из одного набора машинных инструкций для исходного процессора в целевой, при этом еще и транслировала бесчисленные вызовы WinAPI в то, что понимает macOS, ну и чтобы без проблем?! Еще ценник в 600 долларов... То, что ты хочешь, если и реализуемо (одному человеку тут работы на года, если не на десятилетие), то будет стоить не 600 долларов, а миллионов шесть. Такие вещи одиночке вообще не потянуть. Это, блин, проект на всю жизнь, быть может.


Ну тогда ладно, жаль.
По-моему логично, что раз Вайн довольно успешно переводит код, можно сделать его аналог не в "режиме интерпретатора", а в "режиме компилятора". Очевидно он и автоматом будет работать не хуже обычного вайна, а если ещё настраивать, то результат будет ещё лучше. Но на этом форуме крупняков нет, чтобы свой вайн писать(
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: “нерантаймовый” аналог Wine
От: sharez  
Дата: 05.10.23 11:39
Оценка: +1
Здравствуйте, Khimik, Вы писали:

K>шароварщик присылает автору екзешник, тот его запускает, анализирует код и переводит код на другую платформу


Запакуйте его вместе с Wine в одном инсталлере. Есть же куча софта на "кроссплатформенной" Java, которые включаются в себя нужную версию Java Runtime Environment, чтобы конечному юзеру не пришлось устанавливать отдельно, разруливать версии и воевать с путями. Вам надо то же, но с Wine.
Re[3]: “нерантаймовый” аналог Wine
От: Aquilaware  
Дата: 05.10.23 11:45
Оценка:
Здравствуйте, Khimik, Вы писали:

K> По-моему логично, что раз Вайн довольно успешно переводит код, можно сделать его аналог не в "режиме интерпретатора", а в "режиме компилятора".


Вы правы, но задача пока что непосильная для сегодняшних достижений компьютерной науки. А никто денег в это не вливает по очень простой причине: одно единственное направление (Вайн) мало кому интересно, а более широкая отрасль таких решений на сегодняшний день отсутствует. Большим игрокам это тоже не выгодно, потому что это будет стирать границы их песочниц, а это означает что деньги из них начнут утекать от них и перетикать в другие нишы.

Как один из примеров достаточно вспомнить компанию Sun. С одной стороны, они делали специализированное серверное и промышленное железо, с другой стороны — мощную кроссплатформу в виде Java. Таким образом, одна часть компании строила песочницу, а другая делала в ней дыры c помощью Java. В 2007 году произошла закономерная аннигиляция этих двух процессов — компания Sun стала банкротом.

С точки зрения научно-технического прогресса, компания Sun действовала правильно, с точки зрения коммерции — нет.
Re[4]: “нерантаймовый” аналог Wine
От: Khimik  
Дата: 05.10.23 11:54
Оценка:
Здравствуйте, Aquilaware, Вы писали:

K>> По-моему логично, что раз Вайн довольно успешно переводит код, можно сделать его аналог не в "режиме интерпретатора", а в "режиме компилятора".


A>Вы правы, но задача пока что непосильная для сегодняшних достижений компьютерной науки. А никто денег в это не вливает по очень простой причине: одно единственное направление (Вайн) мало кому интересно, а более широкая отрасль таких решений на сегодняшний день отсутствует. Большим игрокам это тоже не выгодно, потому что это будет стирать границы их песочниц, а это означает что деньги из них начнут утекать от них и перетикать в другие нишы.


A>Как один из примеров достаточно вспомнить компанию Sun. С одной стороны, они делали специализированное серверное и промышленное железо, с другой стороны — мощную кроссплатформу в виде Java. Таким образом, одна часть компании строила песочницу, а другая делала в ней дыры c помощью Java. В 2007 году произошла закономерная аннигиляция этих двух процессов — компания Sun стала банкротом.


A>С точки зрения научно-технического прогресса, компания Sun действовала правильно, с точки зрения коммерции — нет.


Я это пока не очень понимаю; ну вот есть платные аналоги Вайна — CrossOver и Parallels. Полагаю это вполне прибыльная тема.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re[5]: “нерантаймовый” аналог Wine
От: drVanо Россия https://vmpsoft.com
Дата: 05.10.23 13:29
Оценка: +1
Здравствуйте, Khimik, Вы писали:

K>Я это пока не очень понимаю; ну вот есть платные аналоги Вайна — CrossOver и Parallels. Полагаю это вполне прибыльная тема.


Мдееее. Я смотрю у ТС-а оценка "СМотрено" не только по программированию в Delphi, а вообще полный ноль по всем направлениям. Как с таким багажом знаний можно написать коммерческий продукт, да еще его и продавать — это прямо высший пилотаж ящетаю.
Re: “нерантаймовый” аналог Wine
От: opfor  
Дата: 05.10.23 13:54
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Я портировал свою Delphi программу на Mac, но увы пока с ней полно проблем,


а что за проблемы возникли?

K>поэтому готов заплатить 60 000р за такое мануальное портирование экзешника.


Сам вайн пробовали? Его можно закатать в .app бандл вместе с приложением. В теории может будет работать даже на apple silicon.
Re[2]: “нерантаймовый” аналог Wine
От: opfor  
Дата: 05.10.23 13:58
Оценка: +3
Здравствуйте, drVanо, Вы писали:

V>Я вам тоже хочу сделать предложение — убейтесь апстену вместе со своим Delphi.


Делфи — среда для эстетов и символ нашей молодости
Поэтому желаю ей долгих лет жизни.
Re[5]: “нерантаймовый” аналог Wine
От: temnik Россия  
Дата: 05.10.23 14:06
Оценка:
K>Я это пока не очень понимаю; ну вот есть платные аналоги Вайна — CrossOver и Parallels. Полагаю это вполне прибыльная тема.

Parallels это виртуальная машина. Собственно, кому очень нужны виндовые программы, те Parallels и используют.
То есть — на мак устанавливается Parallels, в ней создается виртуальная машина с Windows и в нее уже устанавливаются нужные программы.
Лучший хостинг от 4 евро, VPS от 6 евро, разные локации, оплата картами без проблем, скидки до 20%.
50 бесплатных смс
Re: “нерантаймовый” аналог Wine
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 05.10.23 15:54
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Я портировал свою Delphi программу на Mac, но увы пока с ней полно проблем, поэтому готов заплатить 60 000р за такое мануальное портирование экзешника.


Так понимаю у тебя есть работающая программа. Попробуй тогда перевести её на Qt. Не сразу, а потихоньку полегоньку. Я запускал Qt 5.9.9 на Windows, GNU/Linux, MacOS и Android. Просто компилируешь одно и тоже приложение и оно работает. Запускается везде как влитое.

Мысль в том, чтобы не выкидывать твоё старое приложение, а экспулатировать его и продавать. А параллельно создать аналог, только на Qt с твоими же алгоритмами. Можешь даже не заморачиваться с новым названием, а назвать проект qНазвание.

Если у тебя не хватит терпения перенести алгоритмы, то ты ничего не теряешь, ведь приложение на Delphi никуда не денется. Зато если получится, то чисто теоретически можно охватить ещё и iOS.

Хотя это единственная операционка, которую я не протестил по причине отсутствия оборудования в лице нового айфона и возможно каких-то платных подписок. Опять же для MacOS я компилировал на хакинтоше, что тоже плохо, не говоря уже об отсутствии компьютеров с процессором Apple M1 и выше.

А вот то, что я тебе не рекомендую, так это пытаться портировать Delphi, .NET и Java. Даже если у тебя что-то и получится, прежде всего пользователи не скажут тебе спасибо. Им как правило нужен абсолютно тупой инсталлятор, запустил, установил, работает, а не это вот всё.

Чисто в теории я писал об этом в статье Распространение и продажа программ. У меня сугубо отрицательный опыт работы с не нативными приложениями. Даже Steam Proton это вынужденная возня, хотя на порядки более удобная, чем попытка возни с сырым Wine.

Опять же чисто теоретически я не вижу проблемы портирования твоей программы на Qt. Я давным давно пытался делать кое-что на Delphi, и сдаётся мне работа в этом направлении по переносу кода больше механическая, нежели интеллектуальная.

Может где-то и возникнет затык, но не думаю, чтобы так чтобы очень. В конце концов алгоритмы ведь ты уже написал. Надо только преобразовать код Delphi в C++. Для графических интерфейсов есть прямые аналоги. Остаётся только 3D графика, если она там у тебя есть.

Я не агитирую за эту тему, просто подумай.
Re[2]: “нерантаймовый” аналог Wine
От: rudzuk  
Дата: 05.10.23 16:01
Оценка: +2
Здравствуйте, velkin, Вы писали:

v> Так понимаю у тебя есть работающая программа. Попробуй тогда перевести её на Qt. Не сразу, а потихоньку полегоньку.


Ну вы блин и советы даете... Чувак не может с паскаля на паскаль перевести, а вы то на шарпе перепиши, то на плюсовой куте. Вы шоли ваще???
avalon/3.0.2
Re[3]: “нерантаймовый” аналог Wine
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 05.10.23 16:35
Оценка:
Здравствуйте, rudzuk, Вы писали:

v>> Так понимаю у тебя есть работающая программа. Попробуй тогда перевести её на Qt. Не сразу, а потихоньку полегоньку.

R>Ну вы блин и советы даете... Чувак не может с паскаля на паскаль перевести, а вы то на шарпе перепиши, то на плюсовой куте. Вы шоли ваще???

А что делать. Я в своё время пытался переходить с Visual Studio 6.0 где я использовал нативный C++ на Visual Studio .NET 2003 и Visual Basic .NET. А потом случился прикол, когда я стал осваивать различные GNU/Linux.

Приложение работающее с базами данных через Mono работало не так, как через .NET 1.1. Да, можно было найти усреднённый вариант, который впахивал через пень колоду, но впахивал. А можно было запустить Wine, там установить .NET и поехало.

Между прочим в те времена я даже считал, что .NET и Delphi больше похожи друг на друга общими парадигмами. И там и там фреймворки с графическим интерфейсом и прочей мелочёвкой. И всё это было ещё до того, как я открыл для себя GNU/Linux и Qt4.

А с Qt4 смысл в .NET и Delphi просто пропал. Да и Java славится своей тормознутостью. Java превосходит .NET и Delphi в кроссплатформенности, но уступает Qt5 в том же самом.

Я просто знаю, что это сложный путь по которому идёт автор топика. Он сложный и ненадёжный. Потому и и говорю, давай потихоньку попробуй перелезть. Может дать фрилансерам переделать часть кода и вкинуть не 60 штук, а сколько-то тысяч рублей за небольшой кусок кода.

В конце концов там работа для школьников и студентов, если не делать вот так всё сразу. И почему бы и не высказать мысль. Я, конечно, не шароварщик, и даже не действующий коммерческий программист, но это же реально жесть пытаться делать коммерческий проект на том, что не предназначено для кроссплатформы.

А почему бы тогда не остаться на Windows. Мне вон на форуме да и в статьях ябловоды рапортуют о Rosetta. Что всё круто, и даже яблобуки на процессорах Intel можно выкинуть, никому это больше типа не надо. Ну и зачем тогда ради них дёргаться. Сидишь себе на Windows, продажи идут.
Re[4]: “нерантаймовый” аналог Wine
От: rudzuk  
Дата: 05.10.23 17:45
Оценка: +1
Здравствуйте, velkin, Вы писали:

v> Я, конечно, не шароварщик, и даже не действующий коммерческий программист, но это же реально жесть пытаться делать коммерческий проект на том, что не предназначено для кроссплатформы.


Да плевать на предназначения. Delphi сейчас поддерживает и macOS и Linux и мобльные платформы. Но нужно переходить с VCL на FMX, и этот путь осилит не каждый. Кроме того, сама FMX (это что-то типа Qt) совсем не подарок и с текущей поддержкой Linux я бы связываться не стал. Есть альтернатива — Free Pascal + Lazarus. Перенести Delphi VCL код под LCL Lazarus значительно проще, но тоже процесс творческий. И с кроссплатформой тут полный порядок.

v> А почему бы тогда не остаться на Windows. Мне вон на форуме да и в статьях ябловоды рапортуют о Rosetta. Что всё круто, и даже яблобуки на процессорах Intel можно выкинуть, никому это больше типа не надо. Ну и зачем тогда ради них дёргаться. Сидишь себе на Windows, продажи идут.


В смысле, гонять виндовый софт под вайном на армовом маке через розету? Подозреваю, что Apple выкинет розету, как только последний мак на интеле будет снят с поддержки. Они в деле нагибания разработчиков парни опытные.
avalon/3.0.2
Re[5]: “нерантаймовый” аналог Wine
От: drVanо Россия https://vmpsoft.com
Дата: 05.10.23 17:59
Оценка:
Здравствуйте, rudzuk, Вы писали:

R>В смысле, гонять виндовый софт под вайном на армовом маке через розету? Подозреваю, что Apple выкинет розету, как только последний мак на интеле будет снят с поддержки. Они в деле нагибания разработчиков парни опытные.


+100500. Им эта Rosetta 2 и так уже поперек горла стоит со своими багами. А созданный ими M2 (а скоро уже и М3) реально крутой проц, как впрочем и сама ARM64 архитектура (я тут недавно себе прикупил прошку на М2). Вангую, что Intel и AMD скоро можно будет смело выкинуть на помойку в том числе и для PC. Qualcomm сейчас активно продвагают Windows под ARM64 и закидывают удочки игроделам для выпуска игрушег под новую архитектуру.
Отредактировано 05.10.2023 18:04 drVanо . Предыдущая версия .
Re[2]: “нерантаймовый” аналог Wine
От: Khimik  
Дата: 05.10.23 18:09
Оценка:
Здравствуйте, opfor, Вы писали:

K>>Я портировал свою Delphi программу на Mac, но увы пока с ней полно проблем,


O>а что за проблемы возникли?


Не знаю как у других, а у меня в высшей степени странная хрень — например пункты меню меню иногда приводят к зависанию, если по ним скроллить.
Мне портировал на Lazarus под Linux и Mac другой программист. Он ещё сказал, что на Lazarus приходится иметь два варианта исходника — под Linux и под Mac.
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re[6]: “нерантаймовый” аналог Wine
От: rudzuk  
Дата: 05.10.23 18:37
Оценка:
Здравствуйте, drVanо, Вы писали:

V> А созданный ими M2 (а скоро уже и М3) реально крутой проц, как впрочем и сама ARM64 архитектура (я тут недавно себе прикупил прошку на М2). Вангую, что Intel и AMD скоро можно будет смело выкинуть на помойку в том числе и для PC. Qualcomm сейчас активно продвагают Windows под ARM64 и закидывают удочки игроделам для выпуска игрушег под новую архитектуру.


Согласен. Яблоки молодцы. Эмки — отличные процы. Болото x86 пришло в движение после волшебного пендаля
avalon/3.0.2
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.