Live data from Hacker News

Coding Skill and the Decline of Stagnation

notch.tumblr.com

11–20 of 206 posts

Re: Coding Skill and the Decline of Stagnation

#11
"I still stubbornly believe the whole “private members accessed via accessors” thing in java is bullcrap for internal projects. It adds piles of useless boilerplate code for absolutely no gain when you can just right click a field and chose “add setter/getter” if you NEED an accessor in the future."

Is this a controversial stance? It seems like common sense, unless I'm misunderstanding something.

EDIT: To clarify: I assume he's saying "don't add accessors by default for all private members unless you need to, because you can always go back and add it if you really need it", which is common sense for any project, external or internal. I'm pretty sure he's not saying "don't add accessors, just use public members", which is controversial, IMO, even for internal projects.

Re: Coding Skill and the Decline of Stagnation

#12
post #9

I think the biggest thing he emphasized is the fact that you can never be "The Best Programmer" because there is always something to learn and ways to grow. That is probably one of the keys to a good developer, they know that there is still plenty for them to learn.

Yeah. A couple of times, I've met people who have "dabbled" in programming - maybe done it for a year or two professionally - and said they left the profession because they's pretty much learned everything there was to know about programming. I'm always impressed with their capacity to absorb so much, since I started programming when I was 8 (on a ship, in the middle of the Atlantic, without a computer) and I'm now 37 and estimate I know about 5% of all there is to know about programming (an estimate that continually drops as I learn more).

They must be really good. :)

Re: Coding Skill and the Decline of Stagnation

#13
post #11

"I still stubbornly believe the whole “private members accessed via accessors” thing in java is bullcrap for internal projects. It adds piles of useless boilerplate code for absolutely no gain when you can just right click a field and chose “add setter/getter” if you NEED an accessor in the future." Is this a controversial stance? It seems like common sense, unless I'm misunderstanding something. EDIT: To clarify: I…

Controversial might be too strong a word, but there is a counterargument to be made.

Suppose you have a member named "x." Someday, you might want to stop storing x, and instead make it a calculated value. At which point you'll need a method. Or, when setting x, you may someday want to increment a counter, or transform the input data, or take some other action. Again, you'll need a method.

Yes, it's very easy to add an accessor later. But then you'll most likely have to edit every line of code that accessed the now-defunct member variable. Your IDE may make this easy, but I'd still prefer not to have to do it.

That's not to say writing accessors is always the best choice. I'm just saying there can be good reasons to do it. Like all things in software engineering, there's no one-size-fits-all rule about this. Notch is right about the bloat accessors create, so you have to weight the advantages and disadvantages yourself in each case.

Re: Coding Skill and the Decline of Stagnation

#14

There is no "Gospel" when it comes to programming. There is a lot of code out there that isn't pretty, but it works and brings money into businesses. I think we can all agree that Notch didn't make any mistakes. Minecraft is a huge success. They are called "best practices", not "the only practices". But good for Notch to want to be like everyone else.

Best Practices are like patterns, solutions to common problems. Sometime there are problems that require uncommon solution. They are rare, but they exist. I just hope people don't disagree with Best Practices just because they want to show their displease with the authoritative...

Best Practices are like patterns, solutions to common problems. Sometime there are problems that require uncommon solution. They are rare, but they exist.

This is very interesting, and mirrors some thought I've been having myself.

I would like to see someone create a list of examples of uncommon design patterns, and list cases in which they might be warranted.

Re: Coding Skill and the Decline of Stagnation

#15
When watching Notch code I noticed a lot of code smelly habits, relying on inheritance over composition is one example. But my god his level of productivity and ability to get shit done is lightyears ahead of your average programmer, and you got to respect that more than anything.

Re: Coding Skill and the Decline of Stagnation

#16
post #11

"I still stubbornly believe the whole “private members accessed via accessors” thing in java is bullcrap for internal projects. It adds piles of useless boilerplate code for absolutely no gain when you can just right click a field and chose “add setter/getter” if you NEED an accessor in the future." Is this a controversial stance? It seems like common sense, unless I'm misunderstanding something. EDIT: To clarify: I…

[deleted]

Re: Coding Skill and the Decline of Stagnation

#17
post #9

I think the biggest thing he emphasized is the fact that you can never be "The Best Programmer" because there is always something to learn and ways to grow. That is probably one of the keys to a good developer, they know that there is still plenty for them to learn.

Isn't that one of the keys to good humanship in general?

Re: Coding Skill and the Decline of Stagnation

#18
post #15

When watching Notch code I noticed a lot of code smelly habits, relying on inheritance over composition is one example. But my god his level of productivity and ability to get shit done is lightyears ahead of your average programmer, and you got to respect that more than anything.

Is Notch's coding habits supposed to be common knowledge? Got any links?

Re: Coding Skill and the Decline of Stagnation

#19

Interesting post. A couple of observations: 1. I think programming is a multi-disciplinary task. Notch is obviously among the best at "writing a lot of working code". He's pointing out that he could improve in software design. I've work with many folks who are obviously strong in one area but weaker in others. 2. I think his coding sloppiness comes through in minecraft: it's an incredible game, but I've stopped playi…

Just guesswork, but I'd imagine it was EA, who have a subsidiary (DICE) in Stockholm, where Notch lives. Valve (as far as I know) don't have any Scandinavian subsidiaries.

Re: Coding Skill and the Decline of Stagnation

#20
I think there's something to be said for starting out with this sort of confidence, especially when you're self-taught. That sort of confidence can provide some incredible motivation. If we realized how much it work it would take to become well and truly good at things like coding, would we start down the path with such fervor?

Point is, SOPA sucks.

Post reply on HN