Один из официальных документов Python содержит детали о расширяющийся Python с помощью C/C++ . Даже без использования БОЛЬШОЙ ГЛОТОК , it’s довольно простой и работы отлично над Windows.
Кент Сибилев из Datanoise также перенес библиотеку Rails ActionWebService в Rails 2.1 (и выше). Это позволяет вам предоставлять свои собственные сервисы SOAP на основе Ruby. У него даже есть режим scaffold / test, который позволяет вам тестировать ваши услуги с помощью браузера.
J немного похож на джинна: его нужно держать внутри бутылки. Поддержание большого количества пакетного программного обеспечения в J является серьезной болью. Поддержка интерфейсов (Windows или веб, потому что да, вы можете настроить J, чтобы ответить Apache для создания веб-вывода) в J является экспериментальным, малоизвестным кругом ада.
С другой стороны, использование J хорошо, если вы хотите: разбор, просеивание, анализ, критический анализ и т.д. некоторые данные, которые необходимо обработать, чтобы выяснить тонкое зерно алгоритма, или впечатлить интернеты кратчайшим возможным способом вычислить, сколько треугольников вписывается в круг или что нет.
Я подошел очень близко к добавлению J в качестве нарушителя сделки в профиль моей карьеры на careers.stackoverflow.com , но я в конечном итоге оставил это. Для меня использование J хорошо, производство J, однако, не является.
EDIT:
Это было некоторое время назад. Я до сих пор плохо думаю о полных J-решениях в производстве (то есть о всех ваших MVC). С момента первоначального ответа я использовал J в качестве COM в проекте C #, где J предоставляется с большой матрицей, которой с большим удовлетворением можно управлять в C #.
Часть нашей работы заключается в том, чтобы модели данных и код говорили . Это не просто соединить это качество и J очень терпкий синтаксис. Несколько рамки, в отличие от J, имеют простоту в работе с IDE и имеют достаточную поддержку, позволяющую упорядочивать код в удобочитаемом для человека пути. Возможности матрицы J не компенсируют то, чего ей не хватает.
-121--1122643-Ваш код - OK (при условии, что он обрабатывает только данные, сгенерированные в той же среде). Структура будет размещена в памяти как объявленная, если она является POD. Однако в целом существует готча, о которой нужно знать: компилятор будет вставлять в структуру набивку, чтобы гарантировать соблюдение требований каждого члена к выравниванию.
Если бы ваш пример был
struct xyz
{
float x;
bool y;
float z;
};
, то z начал бы 8 байт в структуре и размер (xyz) был бы 12, как float
s (обычно) 4 байт выровнены.
Аналогично, в случае
struct xyz
{
float x;
bool y;
};
sizeof (xyz) = = 8, чтобы обеспечить ((xyz *) ptr) + 1 возврат указателя, который соответствует требованиям выравнивания x.
Поскольку требования к выравниванию/размеры типов могут различаться между компиляторами/платформами, такой код обычно не переносится.
-121--4116873- Я построил Savon , чтобы максимально упростить взаимодействие с веб-службами SOAP через Ruby.
Я бы порекомендовал тебе проверить.
Мы переключились с PACKOOAP в SARON.
Вот серия блога в блоге , сравнивая два клиентских библиотеках.
Я также рекомендую Савон . Я провел слишком много часов, пытаясь разобраться с Soap4R, но безрезультатно. Большой недостаток в функционале, нет док.
Савон - это ответ для меня.