Hacker News new | past | comments | ask | show | jobs | submit login

Gosling didn't leave out features because he thought you didn't need them. He left them out because he thought you weren't smart enough to use them.

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." --Brian Kernighan

I'm a Java developer - naturally I think Gosling (for the most part) drew the lines in the right places.

Well I don't know about that. There have been a few times that I wrote code as cleverly as possible because I couldn't find a simpler way. And then when I found defects later I was able to debug it, although that took a while.

When I write code as cleverly as possible it's easier to debug, 'cos I've played knifey-spoony before!

Some needed features were left out just because they were going to take a long time to get right, and he had to ship. http://blogs.sun.com/jag/entry/closures

It's not just about being smart. It's about overcomplicating things, making things harder to debug.

Did he leave out unsigned types because he thought we weren't smart enough to cope with them? No, I'd say he left them out because it makes everything simpler. If a programmer wants an unsigned type, he can do it himself.

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