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