Есть мнение, что база должна тестироваться отдельно (желательно в самой базе).
Это связано с тем, что модульные тесты должны проходить максимально быстро.
А данные для тестирования бизнес-логики браться из mock-объектов.
Для проверки работы с БД достаточно проверять что вызывается нужна ХП с нужным списком параметров (опять же с помощью mock-объектов)
так вот и я об этом-же, сравниваются разные технологии на разных платформах (managed, unmanaged)
Гораздо интереснее было-бы сравнить разные .NET технологии отдельно.
Или реализацию через MPI на си и managed обвязку для .NET
Должен заметить что некоторые библиотеки не удаётся удобно использовать из C# ввиду их API,
а точнее структур данных, которые в этом API используются (например Extended MAPI).
И тут напомощь приходит Managed C++ на котором можно написать обёртку с нормальным интерфейсом, а её уже использовать из любого языка для .NET.
На самом деле продолжения (continuations) на nemerle уже есть ввиде монады (в тестах).
Только выглядит не очень. Мне очень понравилось как это сделано в F# через computation expressions. Намного привлекательней выглядит сначал реализовать возможность удобно создавать монады. А потом уже на них сделать continuations.
К сожалению scala не знаю. С реализацией cps разобраться не смог.
Есть continuations и в mono только там они реализованы как unmanaged патч к компилятору.
А вообще если делать как предлагает Влад, получится интерпретатор (т.к в nemerle доступа к стеку нет). Еще варинт конвертить все в Expression tree — его можно сериализовать.
Это связано с тем, что модульные тесты должны проходить максимально быстро.
А данные для тестирования бизнес-логики браться из mock-объектов.
Для проверки работы с БД достаточно проверять что вызывается нужна ХП с нужным списком параметров (опять же с помощью mock-объектов)
Гораздо интереснее было-бы сравнить разные .NET технологии отдельно.
Или реализацию через MPI на си и managed обвязку для .NET
Итересная тенденция просматривается на ICFP Contest (если посмотреть статистику по годам)
а точнее структур данных, которые в этом API используются (например Extended MAPI).
И тут напомощь приходит Managed C++ на котором можно написать обёртку с нормальным интерфейсом, а её уже использовать из любого языка для .NET.
Только выглядит не очень. Мне очень понравилось как это сделано в F# через computation expressions. Намного привлекательней выглядит сначал реализовать возможность удобно создавать монады. А потом уже на них сделать continuations.
К сожалению scala не знаю. С реализацией cps разобраться не смог.
Есть continuations и в mono только там они реализованы как unmanaged патч к компилятору.
А вообще если делать как предлагает Влад, получится интерпретатор (т.к в nemerle доступа к стеку нет). Еще варинт конвертить все в Expression tree — его можно сериализовать.