We *really* need a development model change !
Andriy Palamarchuk
apa3a at yahoo.com
Sun Dec 30 22:05:26 CST 2001
Responding to Alexandre and Jeremy.
Alexandre Julliard wrote:
> 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.
Completely agree with this one.
> 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.
It seems the problem is not so big. It will be sufficient to run the
binary, compiled under Windows not more often than once a month.
> 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.
Some technical challenges we can overcome by improving our Perl
framework, other we will be handled with C.
> 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.
Whether Perl in convenient enough language in comparison with C remains
to be decided.
I see following biggest problems with Perl:
1) as I mentioned before the first problem is in capturing audience of
test creators. Even be Perl the best programming language ever:
a) existing Wine developers are experts in C. Even those who knows
Perl are more experienced in C.
b) attracting new developers. We want to target developers who
already knows or want to know Win32 API, right? Usually these people are
not those who program in scripting languages. I'm not sure if we will be
able to justify before them learning new language.
2) Wine targets problem "Compilation and execution of Win32
applications". C is the native language of this problem. All the
problems and solutions can be easy expressed in C and require
translation when converted to other languages. All the documentation,
learning materials are C-oriented.
BTW, tests in Perl address only execution of applications, not compilation.
The biggest advantage of scripting language in this application is
easiness of installation.
Most people who know or want to learn Win32 API already have to use some
kind C development environment.
I'd prefer to lose 10 developers who don't want to learn C instead of
losing one expert in Win32 API who thinks that Perl sucks ;-)
Andriy Palamarchuk
More information about the wine-devel
mailing list