On Mon, 21 Mar 2005, Philip Hazel wrote:
>>> . do a true Windows port of Exim
> Twice (to my knowledge), people have gone away with the code of Exim to
> try to do that; in each case, I heard nothing more. I know zilch about
> Windows (never used it, let alone programmed for it), but I suspect the
> mismatch of system facilities is just too great.
It's not as bad as all that, but it is true that, sooner or later, in
doing any Windows port of a UNIX application you come to a major fork in
the road between "the Windows way of doing things" and "thus UNIX way of
doing things." At first, the latter looks like the much easier road, but
presently you start encountering deep ruts in the road...
Windows does a good job of doing POSIX stuff; but the notion that "POSIX
is all you need" is rather quickly dashed. Cygwin does a good job of
paving the road quite a bit further, but it won't take you all the way.
My conclusion from my experience is that simple applications port pretty
well, but the more sophisticated the application, the more that you need
to consider the host operating system's native mode of operation.
If I were to undertake the task of porting a complex UNIX application,
such as Exim, to Windows, I would first strip down Exim to its "essential"
aspects (e.g., such things as its queue management) and completely replace
its interfaces. The minute you ask yourself "how do I fork or make a hard
link under Windows?", you're on the road with the ruts without 4-wheel
drive...
-- Mark --
http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.