Столкнулся с такой ситуацией: в программе главным образом нужно использовать следующее: 1) Модуль для работы с огромными числами и выполнять с ними нетривиальные алгебраические действия (для этого выбрал библиотеку GMP/MRIP) *То есть у меня в наличии исходные код GMP на C++. 2) Работу с сетью, на уровне протокола TCP/IP 3) Опрятный интерфейс программы (хочу юзать возмоности WPF). Проблема состоит в том, что за какой бы язык я не брался у каждого есть изъян по этим пунктам Delphi : (+) Удобно работать над пунктом 2, а также можно создать и красивый интерфейс,т.е. пункт 3 (-) Остается один - в Delphi нет нормального модуля для работы с большими числами. Тот, что есть интернете типо FGInt - полная фигня. С++ : (+) Очевидный плюс - использование модуля GMP/MPIR - так как он полностью на C (-) Вот дальше все минусы. Работу с TCP я так и не разобрался как реализовать - все кажется слишком сложным, ну и в придачу скудный CLR, обычные окна в стиле XP... С# : (-) Минус C# только в этом: стандартный модуль для работы с биг чилсами BigInteger сыроват. Слишком мало предлагаемых операций с большими числами. Как Вы думаете, как мне поступить в данной ситуации? На чем писать? Может можно как - нибудь скрестить C++ и С# //в этом я noobie
Возможно все ))) Если информации по ссылке недостаточно, то можете еще погуглить... Информации по данной теме достаточно.
Спасибо за линк, у меня как раз такая проблема как и у ТС на этом форуме, правда ему так конкретно и не объяснили как это сделать. Но сейчас буду гуглить. Направление у меня теперь есть. Если кто-нибудь еще поделиться опытом, мыслями об этой проблеме, буду очень признателен!
Пиши на Delphi. Если у тебя есть свободное время и понимание, - напиши свой модуль для работы с большими числами.
Как я уже указал выше, такой модуль для Delphi уже есть, но работает он кривовато и вообщем-то непрактичен. Нет смысла писать заново, такой велосипед уже создан. GMP для Си - именно то - что нужно. Это несмотря на то, что в Delphi у меня гораздо больше опыта, чем в других языках. Вообщем я пришел к выводу, что необходимо написать dll обертку на C++ с функциями GMP. Затем использовать ее в C#. У кого-нибудь был опыт в такой работе? Думаю, те кто пишет что-то интересное на C# в любом случае сталкивались с такой проблемой
Фишка в том, что у меня есть *h / *lib файлы нужной мне dll ( в первом посте написал). Имхо нет надобности использовать P/Invoke
Вообще-то на С++ тоже можно повесить красоту. И уж тем более есть готовые решения по TCP/IP. Но ,имхо, при работе с числами отлично показывает себя MATLAB. Он даже имеет средства взаимодействия с другими языками, тем же С как правило. Минус только, если это будет казуальная прога в большей мере, чем расчетная.