We *really* need a development model change !
Alexandre Julliard
julliard at winehq.com
Sun Dec 30 14:34:06 CST 2001
Andriy Palamarchuk <apa3a at yahoo.com> writes:
> 1) The discussion started from John Sturtz post, who
> created the Perl module for Win32 functions.
> Discussion what is better - C or Perl for unit testing
> started later as I understand there was no conclusion.
> Now I can assume that this topic was not "discussed to
> death" and we can do it now ;-)
OK you are right, it was discussed to death inside CodeWeavers, but
not all of that was public. Basically the argument is that some sort
of scripting language is better than plain C for two reasons:
1. It is much easier to install under Windows than a full development
environment, and we don't have to worry about supporting a dozen
different compilers. We can simply provide a zip file containing the
compiled script interpreter, and people can be up and running in
seconds.
2. The scripts are independent from the compilation environment, which
allows testing binary compatibility. In C you have to compile the
tests under Wine using the Wine headers, which means you can't spot
wrong definitions in the headers since the test will see the same
definition as Wine itself. The only way around is to build tests
under Windows and run them under Wine but this is a major pain.
With a script you are guaranteed to run the exact same thing in both
environments.
I started implementing a simple scripting language, but then John
Sturtz showed that it was possible to leverage Perl to do the same
thing, so I think it's the way to go.
There are probably a number of things you cannot do from Perl, like
threads or exception handling, and for that we will want some kind of
C framework too. But I believe we can already go a long way with the
Perl stuff we have today. Maybe I'm wrong, maybe it's really unusable
and we need to scrap it and redo a C environment from scratch; but we
won't know that until we try to use it seriously.
--
Alexandre Julliard
julliard at winehq.com
More information about the wine-devel
mailing list