Porting WIne to D

Christopher Selph cds.wine at gmail.com
Wed Jun 23 15:58:54 CDT 2010

>Porting a codebase the size

> >of Wine will probably take years...
> Actually I'm working on a program to convert C code to D code. You can
> find/replace most instances of code, like unsigned int (C) with uint (D).
> The import/include files might take some work though.
> On Wed, Jun 23, 2010 at 2:46 PM, Gert van den Berg <wine-devel at mohag.net>wrote:
>> On Wed, Jun 23, 2010 at 20:48, Stephen Eilert <spedrosa at gmail.com> wrote:
>> > On Wed, Jun 23, 2010 at 3:06 PM, Christopher Selph <cds.wine at gmail.com>
>> wrote:
>> >> Well, being a garbage collected language, it would help with the memory
>> >> leaks in Wine. Being OOP it could extend the design of the code to make
>> it
>> >> cleaner and reusable.
>> >
>> > The assertions above are opinions, not facts. Also, it requires a full
>> rewrite.
>> >
>> You can mix D code and C code...
>> A more modern language can result in more readable code, but it is a
>> lot of effort for a small benefit... (And D is a very new language,
>> possibly to the degree that portability might be impacted due to a
>> lack of compilers on some of the more obscure platforms /
>> architectures).
>> Certain parts of Wine might benefit from the latest (draft) version of
>> C++ and the size of the codebase can probably be reduced in size
>> slightly, but a bad port to another language doesn't help anyone...
>> (The C++ standard library is huge and might getrid of some POSIX
>> dependancies) It might require quite an extensive rewrite to get it to
>> a proper C++ program, rather than a C program containing a bit of C++
>> and compiled with a C++ compiler...
>> Fixing the current problems with Wine should be a much higher priority
>> than porting it to a different language... Porting a codebase the size
>> of Wine will probably take years... C can do anything that other
>> languages can, the amount of effort might differ a bit, bit the
>> difference is probably minor compared to familiarizing yourself with a
>> new language, new libraries, etc....
>> (I like D - it have most features from languages like Java and C#,
>> with the option to switch off things like garbage collection and it
>> compiles to native code... Experimenting with it for new project might
>> make sense)
>> (IMHO: Allowing other languages than C for some of Wine's bundled
>> applications (notepad, winecfg, winemine, etc) might make sense, as
>> long as the QC for committing patches doesn't suffer. The mixing of
>> languages within components (single application / DLL) will probably
>> cause confusion and ugly code though... Getting proper QC would
>> probably mostly involve sticking to things that AJ is familiar with.)
>> Gert
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100623/7d5576db/attachment.htm>

More information about the wine-devel mailing list