Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Кроссплатформенный исходник   Найти похожие ветки 

 
KSergey ©   (2004-12-17 09:50) [0]

Есть некий алгоритм расчетный, который сейчас используется в программах на Win и Unix платформе (web-сервер и клиентские приложения в офисе).
Возникла мысль: а нельзя ли состряпать что-то универсальное?
Я вижу 2 основных варианта:

1) универсальный выполнимый модуль, работающий на обеих платформах.
2) универсальный исходник (на каком-то языке), компилируемый на обеих платформах.

Вот и возник вопрос к общественности: у кого какие есть идеи? Интересуют именно идеи "вообще", фантастические и проч., но желательно, конечно - реальные ;)

Да, требование: код должен исполняться (и вызываться) быстро. Т.е. универсальный в общем-то вариант реализовать в виде ХП на SQL-сервере - увы, не подходит, слишком часто вызывается. Да и SQL-сервера, вообще-то, разные. хотя тут бы в прицнипе и можно было подружить при желании.
В общем все варианты в архитектуре "некий сервер вычислений" - отметаем сразу, такие вариснты мне понятны, но, увы, не подходят (ХП на SQL, веб-сервис, отдельная программа на сервере со своим сетевым протоколом - и т.д.).

Хотелось бы именно что-то иметь на машине, где запущена задача... Ну легко интегрируемое с основной прогограммой, конечно, если это некий внешний объектый модуль.


 
vecna ©   (2004-12-17 10:16) [1]

чем не нравится ява ?


 
PVOzerski ©   (2004-12-17 10:25) [2]

FreePascal (или Delphi/Kylix, хотя я бы предпочнл 1-е) как компилятор, shared library/dll как форма реализации модуля. Исходники универсальны, для нужной платформы - перекомпиляция. У меня так реализована серверная часть (в частности, UDF-ы к MySQL) на своем сайте. "Пашет" на FreeBSD и Win32, без сомнения, применимо и к Linux.


 
KSergey ©   (2004-12-17 11:20) [3]

> shared library

Это, как я понимаю, для UNIX-платформы?
А добираться к ним из Java - примерно путь не скажете? Ну чтобы знать куды рыть...


 
PVOzerski ©   (2004-12-17 11:47) [4]

Вообще есть бесплатная (open source) библиотечка JAPI для взаимодействия FreePascal и Java. Правда, насколько я помню, она ориентирована, в основном, на работу с графикой. И не для вызова своего кода из Java-программы, а для использования из своей паскальной программы функций Java. Так что не знаю, то ли это, что надо. Но посмотреть может оказаться полезным и ее.

http://www.japi.de/


 
Александр Иванов ©   (2004-12-17 12:31) [5]

А зачем так все усложнять? Можно все написать на Яве и не тратить время на взаимодействие?


 
KSergey ©   (2004-12-17 13:03) [6]

Не, ну все будем считать - нельзя ;)
На Win платформе есть большой комплекс, реализованный на Delphi.
На Unix крутится Web-сервер, на нем - java-примочки для интерактива (прошу прощения за слова, не знаю как грамотно все это назвать).

НО есть небольшой алгоритм, который применяется и там и там, при этом хотелось бы максимально быстро и, главное(!), гарантированно идентично реализовывать этот алгоритм на обеих платформах.

PS
Впрочем, что я темню: это модуль рассчета стоимости, скидок, кол-ва и т.д. Иногда в нем меняются правила игры или просто вводятся новые параметры.
Сейчас универсальный формат - это бумажка с картинками, которая по сути 2 раза переводится под каждую реализацию. Хотелось бы переводить ее 1 раз и везде использовать ;)


 
Странник ©   (2004-12-17 13:22) [7]

а чем С++ плох?
идея использования см. PVOzerski ©   (17.12.04 10:25) [2]

делал я когда-то такую приблуду, типа драйвера для специфического девайса. Требование было Win/Lin/Free.
Под Win - MS C++ / Borland C++

Путем использования минимального кол-ва #ifdef достаточно приличный код  транслировался и работал везде.
Самый большой геморрой, как всегда, был с реализацией MS C++ - у них реализация языка отличается.


 
Igorek ©   (2004-12-17 14:24) [8]

KSergey ©   (17.12.04 9:50)
ядро на чистом С++ без библиотек, опредили интерфейс к ядру, а потом заворачивай хоть в СОМ обьект, хоть в длл, хоть статически компонуй - и все это на не кросплатформенных средах


 
KSergey ©   (2004-12-17 14:31) [9]

> [7] Странник ©   (17.12.04 13:22)
> а чем С++ плох?

На ни чем! Я даже за! ;)

> идея использования см. PVOzerski ©   (17.12.04 10:25) [2]

Осталось от наших юниксистов получить ответ "как на счет shared library". Пока не удалось ;)

> [8] Igorek ©   (17.12.04 14:24)
> хоть статически компонуй - и все это на не кросплатформенных средах

Для Win - я знаю как. Осталось узнать как это прикрутить к джаве ;)

А вообще, может я неверно акценты расставил: меня в основном интересуют какие-либо слова применительно к Unix"у и Java. Как это все запихнуть в Win - я придумаю ;)

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


 
PVOzerski ©   (2004-12-17 14:56) [10]

>Осталось от наших юниксистов получить ответ "как на счет shared library". Пока не удалось ;)

Тот же код, который под Win32 компилится в DLL, в юниксах компилится в shared library. Синтаксис практически не отличим от дельфового. Естественно (ограничение ОС), не допускается экспорт/импорт по индексам. С нестабильной веткой FreePascal 1.9 под FreeBSD были мелкие проблемки, обошел :^). Если выберешь вариант с этим компилятором, на форуме есть соответствующий раздел.



Страницы: 1 вся ветка

Текущий архив: 2005.01.09;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.029 c
3-1102589759
Denmin
2004-12-09 13:55
2005.01.09
Как убрать знаки Entera при конвертации данных?


1-1103545205
Рафик
2004-12-20 15:20
2005.01.09
QuickRep подскажите как мне данные отчета сохранить в Word


14-1103425445
Думкин
2004-12-19 06:04
2005.01.09
С днем рождения! 19 декабря


3-1102346246
zunder
2004-12-06 18:17
2005.01.09
Как происходит master.Post в master-detail ?


3-1102601051
Saska
2004-12-09 17:04
2005.01.09
Список ODBC источников.