Could new keyword help function hijacking and prevented aliasing all over the place??

Jonathan M Davis jmdavisProg at gmx.com
Fri May 27 13:27:59 PDT 2011


On 2011-05-27 12:27, Jacob Carlborg wrote:
> On 2011-05-27 16:38, Matthew Ong wrote:
> > On 5/27/2011 9:37 PM, Jacob Carlborg wrote:
> >> When coding my own projects (projects I've written from scratch and not
> >> ported from other languages) it's a feature I rarely use, don't know if
> >> I ever have used it.
> > 
> > Actually from scratch is NOT a good approach and migration approach. How
> > do you
> > justify this to business management people or to your client? There are
> > also your
> > learning cycle time.
> 
> Of course, from "scratch" can be interpreted in different ways. I use
> the standard library and other libraries I need. But often when
> developing tools for D one can't use already existing tools because they
> don't support D or, in my opinion, aren't good enough. BWT, I don't have
> to justify my own private projects to anyone. One last thing: what's
> wrong with developing something from scratch just for the fun of it or
> for learning something from it :)

Whether reimplementing from scratch or doing a more direct port makes more 
sense depends entirely on what you're doing. And when it's a personal project 
that you're doing for fun, it's that much more subjective than it would be 
when working on a project for work. It's definitely best to use as much 
knowledge as can be gained from the original code as best as possible when 
porting it to another language, but whether the actual code should be directly 
ported or just the basic ideas is very much dependent on the code and the 
situation. Sometimes it would be just plain stupid to rewrite the code, and in 
others, directly porting it would be a bad move.

I recently started on a port of Haskell's Parsec library to D, since I think 
that it's an absolutely fantastic parsing library. And being as how the 
original library is in Haskell (which you're _definitely_ not going to port 
directly to D) and how I wouldn't necessarily want to use whatever the 
original license is, it just plain makes more sense to take the basic ideas 
(and to some extent API) of the original and create a D version that applies 
those. Porting the code directly would make no sense. With something like DWT 
on the other hand, doing a direct port and thus minimizing the effort of 
porting changes to it later would make a lot more sense (particularly since 
Java is a lot closer to D than Haskell). But whether "writing it from scratch" 
or not is the best choice depends very much on the code, your situation, and 
your goals for the project. It's not a black and white choice.

- Jonathan M Davis


More information about the Digitalmars-d mailing list