Live data from Hacker News

Notch, WebGL, Dart, and ramping up quickly

blog.tojicode.com

121–130 of 204 posts

Re: Notch, WebGL, Dart, and ramping up quickly

#121

Earlier quoted context omitted.

Notch is a very bad programmer I despise this sort of single-dimension haughty evaluation of programming "goodness": It is garbage, and is the dismissive grenades that a particular type of maintenance programmer tosses to feel better about themselves as they try to feed the family with sloppy seconds. I single out maintenance programmers because there is a stark difference between creating something out of nothing, a…

Agreed. A programmer maintaining a new project is going to feel frustrated when the application cannot be easily extended in a way that they expect, but the original author should be forgiven for not predicting every possible future permutation of their existing code base. The best design decision might seem obvious from the maintainer's perspective, but given 100 different maintainers, you'll end up with 200 differe…

Though there are some good points here, my experience has been that this "just get it done" above all else principle has sunk just as many projects as it has launched.

Getting it done is a bare necessity of a good programmer, but what separates the mediocre programmer from a good programmer is whether they get it done in a more maintainable fashion.

It is completely ridiculous to say as long as one can get a product launched, they are a good programmer, because you're likely praising a group, half of whom are good programmers, and half of whom are sinking the product more and more over time. This is a common happening I see with praise of engineers from a management perspective, and why so often companies sink without knowing where exactly they went wrong.

You can judge if a programmer is good, not by tearing apart and poking at the mistakes they made in a new project, but if they proceeded to code using strong abstractions and decoupled code. The easiest programmers to fire are the ones who don't ship, and the programmers that tend to be the costliest to a business are the ones who ship crap code.

Re: Notch, WebGL, Dart, and ramping up quickly

#122

Earlier quoted context omitted.

I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…

I'm hoping that one day, Minecraft gets completely open source and is ported away from Java. I've tried and failed to write a plugin for Bukkit and the whole ecosystem is horrible. When your modding toolkit involves importing craptons of JARs and decompiling the rest, something's really wrong.

To be fair, the difficulty of modding isn't necessary directly correlated with the fact that it was written in Java.

Re: Notch, WebGL, Dart, and ramping up quickly

#123
post #50

Earlier quoted context omitted.

Stay away from NeHe tutorials, they are badly written and really old. Pretty much everything they cover is deprecated and done in otherwise old fashioned ways. This is a big problem with OpenGL tutorials in general, a lot of them cover old stuff that shouldn't be used any more. The entire OpenGL fixed function pipeline is deprecated, replaced by programmable shader pipeline. It's a lot more work to get simple stuff d…

If all you're looking to do is simple stuff (like get a rectangle on the screen), shaders are not required, correct?

They are, unless you use old deprecated versions of OpenGL.

Re: Notch, WebGL, Dart, and ramping up quickly

#124
post #19

Now, I haven't seen one line of Notch's code. I have no idea if it's well structured or spaghetti. I would make an educated guess and say that there's a lot of the basics in this project that have been ported over from the Minecraft or 0x10c code. This last point is rather unlikely I think. I spent more than one or two weeks worth of time watching the various screencasts you can find on twitch.tv of Notch coding (I f…

I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…

Notch tweeted this in, I'm assuming, response to this thread:

> "Just saw a nerd flamewar debating if I'm a bad programmer. I'm self-taught, prefer working along, and program for fun. Don't learn from me."

Take it for what you will.

https://twitter.com/notch/statuses/408011329237049344

Re: Notch, WebGL, Dart, and ramping up quickly

#125
post #19

Now, I haven't seen one line of Notch's code. I have no idea if it's well structured or spaghetti. I would make an educated guess and say that there's a lot of the basics in this project that have been ported over from the Minecraft or 0x10c code. This last point is rather unlikely I think. I spent more than one or two weeks worth of time watching the various screencasts you can find on twitch.tv of Notch coding (I f…

I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…

Yes good code can be commended, but initially it was his small project he worked up to be his golden ticket, never expecting it to be such a huge success. I'd say he did enough good to get it shipped, in the end that is the metric. But in terms of maintenance and clean code, I am a big proponent of it and good architecture. I can't say that this makes a project successful or not but it does make it easier to deal with after it is successful and sometimes largely determines how far it can go. There is always a battle between shipping and quality and here Notch was just shipping, in terms of the end product he is a good coder and a product shipper.

Re: Notch, WebGL, Dart, and ramping up quickly

#126
post #65

Earlier quoted context omitted.

I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…

> He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. So, he's a pragmatic programmer that gets shit done -- to the point of being able to design…

> to the point of being able to design his own toy CPU architecture

Not sure what the CS curriculum is in other countries but back where I'm from they had basically taught us enough by the middle of the second year for one to be able to design something like DCPU16 using only that knowledge.

In other words, it isn't that hard, especially when you're surrounded by examples. I would expect a second-year undergrad to be able to accomplish that.

Re: Notch, WebGL, Dart, and ramping up quickly

#127

Earlier quoted context omitted.

I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…

Sir_Cmpwn's assessment of Notch was harsh, but not wrong . Notch isn't in the same league as a John Carmack, for example. The most recent release of Minecraft saw massive changes to the underbelly of the game, all of which is being done by Mojang staff other than Notch. The game does have a ton of warts, especially where modding is involved, which can be traced to some of Notch's technical decisions. Does that mean t…

Also hindsight is a wonderful thing

Re: Notch, WebGL, Dart, and ramping up quickly

#128
post #98

Earlier quoted context omitted.

Software engineers have an unfortunate tendency to accumulate technical debt and then run away from paying it. I've seen this way, way more often and with far worse overall cost than any kind of perfectionism. The dichotomy between quality and speed of development is often an illusion anyway.

I've seen this way, way more often and with far worse overall cost than any kind of perfectionism. I'm not intending to be some sort of advocate of purportedly bad code, but I find the quoted section to be an interesting statement because, if true (and it likely is true), it simply reinforces the notion that ugly, pragmatic projects endure and succeed: You've seen "way, way more" of that sort because they deliver act…

I've worked with good code and bad code. Where there was good code, programmer turnover was low and the original programmers were still around.

Where there was bad code, turnover was high and the original coders were long gone, the impression I often got was they'd coded themselves into a corner and it was too much for them.

I honestly think places with bad code just have to keep burning out more and more programmers until someone good enough to dig them out of the hole comes along.

The most successful company had the worst code written by incredibly incompetent programmers who didn't even know basic things. One of their products the programmer was so clueless he'd created a new project and DLL for every single class. Every single class. Still made millions.

There are very few coders who can write and design a large product from scratch. Hence far more bad code than good. I think that's the more likely explanation.

Re: Notch, WebGL, Dart, and ramping up quickly

#129

Earlier quoted context omitted.

I've also spent time examining Notch's coding habits. He is a terrible, terrible coder. Minecraft was (and still is) an unoptimized, poorly designed piece of crap when he handed it off to the rest of Mojang. The DCPU-16 he designed had many flaws and his assembler for it threw out assembly convention. He makes very basic mistakes very frequently and his core designs are flawed. I say this as someone who has spent a c…

Notch is a very bad programmer I despise this sort of single-dimension haughty evaluation of programming "goodness": It is garbage, and is the dismissive grenades that a particular type of maintenance programmer tosses to feel better about themselves as they try to feed the family with sloppy seconds. I single out maintenance programmers because there is a stark difference between creating something out of nothing, a…

>Notch is a very bad programmer

If his goal is to create code that other programs will love to read, then maybe he is terrible.

If his goal is to create software that millions of people will enjoy, then he is amazing.

My guess is that he would describe his goal as the latter. Maybe his goal is different from yours.

Re: Notch, WebGL, Dart, and ramping up quickly

#130
post #44

Earlier quoted context omitted.

Notch's code is worth $150 million dollars. What's the going rate for "a damn" these days?

I think this line of thought is a big problem in the development community. There is a clear separation between code quality and shipping a successful products. Ideally you would want both if possible, but a product is not just code.

Ideally both, but if I had to sacrifice code quality for a successful product I would sort in exponential time if it meant getting a working product out the door faster. It doesn't need to be good, just good enough. (IMO obviously)
Post reply on HN