Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Both the D compiler and the GNU Modula-2 compiler are highly complex pieces of software.

That wasn't my intention, which was to make a simple compiler. Somehow, that got away from me :-/



If it's any solace: I find the language itself to be delightfully simple. It definitely feels like it's the minimum set of changes you could make to C to turn it into a comfortable and modern language.

I suppose if that comes at the cost of a complex compiler I can live with it.


Would you ever start over and try again? :)


The trouble is, we tried lots of ideas in D. Most worked out very well. But there are a few weeds which I'd really like to take behind the woodshed. But some users are wedded to them, and we really don't like breaking their store, which can be a bit frustrating.

It's sorta like designing your own house. I'm lucky enough to have done it. 20 years on, and it's mostly right. But there are a few maddening mistakes that would be terribly costly to fix.

For example, the garage has 8 feet of headroom. Dammit, I need 10 so I can put a hydraulic lift in. It's really hard working under the car without one. I also should have put in a geothermal heating system, which would have been really cheap when the property was all dug up. I could have saved $$$ in heating bills over the years!


What weeds in the language? I'm curious as I'm designing a language now, and my regrets are piling up around the complexity of the type system.


The `lazy` storage class turns out to be unreasonably hard to reason about.

`alias this` in class objects turned out to make no sense. When people have problems with it, I just sigh and say stop using `alias this` in classes.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: