Live data from Hacker News

Notch, WebGL, Dart, and ramping up quickly

blog.tojicode.com

131–140 of 204 posts

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

#131

Earlier quoted context omitted.

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.

So the simplest program using the simplest shader would use a pass-through shader that doesn't modify the inputs?

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

#132

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…

Very well said.

Nothing -> something that works (in any way possible, spaghetti code, written quickly) -> something that works (clean refactored code that can be maintained/improved/changed).

You can't skip step 2. If you do, you will likely spend more time overall.

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

#133

Earlier quoted context omitted.

Can you give a couple of concrete examples of why he's so terrible? Or at least the areas in which he is not strong. Because it's clear to me that Minecraft was a fun and stable experience from the end users perspective, at least when I bought it (which was probably a good 18 months after the initial launch).

I mentioned some in a response to a similar comment: https://news.ycombinator.com/item?id=6842944

There's a pattern to your complaints, which is that they are most impacting to long-term external contribution.

That's the area where architecture is driven by philosophy. It's whether or not you _choose_ to study the problem, search for best practices, and work out contingencies during the design phase, or go forward with a simplistic, unknown solution and study it by driving trucks over it[0]. With most exploratory programming - of which games are a prime example - you want to drive trucks because your design is likely to be reworked many times regardless.

As well, independent creation not driven by clients and markets has to be done entirely selfishly. When taking this to heart, one naturally moves towards an exploratory style, because selfish, truck-driving code will satisfy your urges more quickly.

[0] http://www.gocomics.com/calvinandhobbes/1986/11/26

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

#134

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…

People who complain about crap code usually aren't complaining about this.

Obviously no-one can see the future. The problem isn't when code can't be easily extended, the problem is when code is easily broken.

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

#135
post #126
post #65

Earlier quoted context omitted.

> 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…

>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.

Same with us. That doesn't mean that 90% of the graduates out there, that even have taken such as class, will be able to do it.

Heck, a surprising majority of them (like 30% or more), even fails writing FizzBuzz ( http://www.codinghorror.com/blog/2007/02/why-cant-programmer... ).

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

#136

Earlier quoted context omitted.

It's not attacking a person to ask them to back up their qualifications to judge.

Asking for qualifications isn't the same as asking for evidence

The discussion is highly subjective. Qualifications are the only kind of evidence there is.

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

#137
post #134

Earlier quoted context omitted.

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…

People who complain about crap code usually aren't complaining about this. Obviously no-one can see the future. The problem isn't when code can't be easily extended, the problem is when code is easily broken.

The problem isn't when code can't be easily extended, the problem is when code is easily broken.

I'm not sure if there is much of a distinction there. I can extend your code with very little effort if I'm permitted to break it in the process.

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

#138

Earlier quoted context omitted.

> I guess someday when you're an old man, right before you close your eyes for the last time, you can imagine all that cool code that you wrote, and say what a great life you had. You were a hacker. I'm also a researcher, and I like to think that the ideas I discover will outlast me and will make a difference. Your implication is that those who think of software as a 'product' to be sold are making a difference, and…

>> I just wish there was a place for those of us who appreciate the craft to hang out. Hacker News, for a long time, was that place for me. I still don't get what you're talking about, you like to look at and admire code like it's art? Can you give an example of code that gives you satisfaction to just look at it regardless what it does?

Since we're talking about Carmack in this thread.... Fabien Sanglard does some excellent reviews of code from ID... see for example:

http://fabiensanglard.net/doom3/

There's actually a movement that studies code in the way you'd examine a literary work (Critical Code Studies). Sure it's very abstract, but it can be fun, see for example this book:

http://10print.org/

You could also look at livecoding - they treat coding as a performance art. For example:

http://www.youtube.com/watch?v=GSGKEy8vHqg

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

#139

Earlier quoted context omitted.

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.

If it wasn't written in Java it would be even harder to mod, with them not officially supporting it. The only reason it's working so well now is because Java can be decompiled rather easily.

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

#140

Earlier quoted context omitted.

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…

I would replace your "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." with, "Getting it done is a bare necessity of a good programmer, but what separates the great programmer from a transcendent programmer is whether they get it done in a more maintainable fashion."
Post reply on HN