null references redux + Looney Tunes

Walter Bright newshound1 at digitalmars.com
Sun Oct 4 11:41:48 PDT 2009


Nick Sabalausky wrote:
> Fair enough. *But*, I really think "elegantly simple" language design is 
> double-edged sword. In my experience, and I think this is what Jeremie was 
> alluding to, I've found that an "elegantly simple" language, no matter how 
> well-chosen the primitives are, generally results in a problematic lack of 
> expressiveness and a frequent sense of fighting against the language instead 
> of merely using it.

It's a good point. One finds when programming in a simple language that 
one has to write a lot of rather complex code to make up for it. C is an 
obvious example - try writing OOP in C. It can and has been done, but 
it's ugly, verbose, complex, error-prone and inelegant.



> It's like a professional handyman having the smallest possible possible 
> toolbox with only the barest essentialls, versus a big super-toolbox that 
> has all the *right* tools he might need. Just because it's there doesn't 
> mean it has to be used, but if I were a handyman and had to remove a 
> phillips-head screw, I'd want to be able to reach for a forward/reverse 
> drill and an appropriately-sized phillips-head bit, and not have to pry it 
> out with the bare minimum (the back of a hammer, or a 
> sort-of-sized-similarly manual flathead screwdriver), and also not have to 
> put one specialized mini-toolbax back and switch to a 
> differently-specialized mini-toolbox for every different task.

That resonates with me. When I was a kid working on cars, I had nothing 
but the most basic tools. You could get things done, but the workarounds 
were unpleasant and difficult, and I often wound up damaging the parts 
in the process. Now, I just go buy the specialized tool, and get it done 
quickly and easily, and no damage.

For example, it's so nice to have a drill press and get the hole 
*straight* <g>.



More information about the Digitalmars-d mailing list