Еще раз о пресловутой разнице в программировании "для Window" vs. "для UNIX" (ну, там, threads vs. processes, далее везде...) Понятно, что Юниксов разных много, но стиль программирования там вроде как один и тот же, и он (стиль) весьма отличается от Windows API, так что на мой взгляд такое сравнение не должно быть сильно надуманым.
Неужели эта разница настолько принципиальна, что не позволяет с приемлимыми издержками на написание/покупку некой platform abstraction lib собирать из единой codebase сравнимые по производительности версии продукта для win и для *nix?
Ибо создается впечатление, что если некий "серверный" программный продукт разрабатывается (изначально) на Unix, то от его Windows версии ничего хорошего в плане производительности ждать не приходится. Например, смотрю я на BerkeleyDB - вроде неплохая система: удобная, многоплатформенная, но после просмотра их реализации "мьютекса" для win32 возникает стойкое убеждение, что автор(ы) просто не удосужились прочитать online help на CreateEvent из MSDN. Из других примеров можно привести, например, Apache, MySQL, и, наверно, Tomcat.
Есть ли в природе примеры удачной реализации многоплатформенных продуктов loosely defined as "server applications", одинаково хорошо работающих под UNIX и Windows?
Интересуют мнения с обоих сторон баррикад
![Smile :)](./images/smilies/icon_smile.gif)
PS: помнится, tengiz когда-то давно интересовался сравнением Uniх API c Win32 API on NT platform, но тот топик куда-то пропал (или я не смог найти). Интересно было бы посмотреть, чем там дело закончилось.