What would you rewrite in D?
Andrej Mitrovic
andrej.mitrovich at gmail.com
Thu Oct 14 08:05:50 PDT 2010
On 10/6/10, Nick Sabalausky <a at a.a> wrote:
> "sybrandy" <sybrandy at gmail.com> wrote in message
> news:i8g8oi$1hv6$1 at digitalmars.com...
>> Just asking out of curiosity. With all the great language features, I'm
>> sure that many of you have thought about this.
>>
>> For me, I figured a good start would be your basic Unix/Linux/BSD
>> utilities, like cat and grep. I figure it may make the code easier to
>> read and maintain as well as potentially improve the quality of the
>> software. Of course, most of these are so old they're probably quite bug
>> free, but some probably could use a rewrite. Some may even benefit for
>> threading.
>>
>
> Not that I would want to do it myself, but I'd like to see LLMV and
> Scintilla moved to D.
>
> But really, just about anything in C/C++ that I might ever want to modify.
> If I never have to touch another line of C/C++ it'll be too soon.
>
>
>
FYI, there's a DFL Scintilla component you can use in D2, which is
downloaded separately from DFL. I've made a small update to it in the
DFL forums although you would also need to add one more method in the
scintilla class to get messages back from Scintilla itself (I'll post
an update to the DFL forums some time later for that).
So basically the DFL component loads the scintilla DLL, and you can
use message passing or optionally get a function pointer for direct
access. It's really easy to use the editor from D in this way. In
fact, you can port *Scite* source code to a D equivalent that uses the
Scintilla DLL with ease. It only took me a minute to port the
automatic indentation functionality from Scite to a fresh project that
uses the DFLs Scintilla class.
I wouldn't know if there are any bottlenecks in the Scintilla
codebase, so I can't judge if it's worth porting to D. But it already
works and you can use it from D already, so why go through all the
trouble of rewriting it? :-)
More information about the Digitalmars-d
mailing list