Live data from Hacker News

Notch, WebGL, Dart, and ramping up quickly

blog.tojicode.com

181–190 of 204 posts

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

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

I remember you also slated my own programming ability for no reason what so ever, after seeing one tiny script that I wrote in 45 seconds.

You sir, are the kind of person who honestly believe that you're better than everyone else, and quite frankly mate, you aren't.

Are you a multimillionaire? Sometimes it's not about the code quality, it's about the ability to produce a product.

I don't revere Notch, but I do think he's a better developer than most, especially you.

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

#182
post #61

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…

What kind of a person even idolizes someone for writing great code? Steve Jobs couldn't code at all. Facebook was written in PHP. GroupOn started on WordPress. According to this Slashdot article, Sergey and Larry aren't great programmers. http://tech-beta.slashdot.org/story/13/11/01/1324209/larry-p... The Instagram founders didn't have a programming background: http://thenextweb.com/2012/04/10/instagrams-ceo-had-no-f…

> The Instagram founders didn't have a programming background

If you spend your evenings learning to program, as the article claims, how do you not have a programming background? John Carmack, who is considered a programming god by many, which can even be seen in this very discussion, also has very little formal training. I don't think that means he doesn't have a programming background.

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

#183
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?

You do need shaders for pretty much everything.

But if you only want to draw a rectangle with a solid color, you can do that using the scissor test and clearing "the screen". But that's about all you can do without shaders.

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

#184
post #71

Earlier quoted context omitted.

There are lots of problems with it. Here are a couple: He uses poor OpenGL practices, and sees poor performance as a result. He also designed the entire product in a way that makes it cumbersome to mod, without a consistent interface or a logical way for mods to work together. Modding Minecraft as a whole is one big hack. I'm more familiar with the networking side of things. The Minecraft networking protocol is a mes…

You don't seem to understand or have experience with how game code is written. It's not written to be "modified". It's not written with a specific modular outcome in mind. It's more often than not a one-off messy code that gets the job done, because that's the requirements and the pace of the industry. And, especially for something like Minecraft, it has to be original and even explore the problem space and ideas in…

While Minecraft was never originally designed to be modified by outsiders, unlike most games it was also never just intended to be a one-off release that would ship and that would be it either. From the start, it was always advertised as something that would get substantial new features and improvements over the years.

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

#185
post #159

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…

Well if we're singling out maintenance programmers, lets also talk about programmers who use "maintenance" as a dirty word. They tend to be the type to vomit out whatever immediately comes to their head and ship when it just barely works, with no thought or consideration for maintainability. Because, hey, they're going to move on to their next project anyway, and "getting things done" in the short term is far more im…

There is a middle area here, where one doesn't worry about perfect code, but still takes a moment to consider design.

Who said otherwise? The person who kicked this off declared Notch a terrible programmer because he didn't build a runway in version 0.1 for people years in the future to do exactly what they wanted. Yet he did build a large product from nothing, that has provided millions of hours of enjoyment to users. A product that built a community and a company. To see him disparaged like that is just so laughably typical.

Everyone is the world's greatest programmer in their own imagination.

And yes, there is a type of maintenance programmer that I will absolutely disparage. It is the perpetually over-their-heads developer who is always surrounded by purportedly terrible code because it doesn't have a "insert your specific need here" structure.

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

#186

Earlier quoted context omitted.

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…

Your post has many implied dichotomies and correlations that simply aren't true. For example:

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

Not really. It simply shows that bad software is commonplace and often not important enough factor to kill an entire company. It still costs companies a fortune in maintenance, client dissatisfaction and employee turnover rates.

You've seen "way, way more" of that sort because they deliver actual value and end up providing an actual solution for the world

Uh, again, no. Bad code often begets bad UI, confusing process for the users, botched transactions and a never-ending stream of database tweaks and patches. I've seen plenty of projects whose overall value to the company was negative. Problem is, that negative was spread throughout large period of time, whereas a proper update or replacement of the system would be concentrated in a much shorter time span. This is where "debt" analogy works very well. Some code is like that credit card you maxed out, but only have enough money to do minimum payments.

I have created a lot of terrible code in my career, almost always doing greenfield development.

Whether you created horrible code is largely irrelevant. What's important is what is your overall trend. Some developers pull the code quality up over time, and them maintain it at some reasonable level after that. Others slowly turn anything they touch into radioactive waste.

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

#187
post #63

Earlier quoted context omitted.

A terrible terrible coder? That's a really insulting negative tone. Maybe he is not the best but he is clearly not terrible. Out of all the programmers in the world my guess would be that he is easily in the top 1-5% even if he leaves messy code behind.

No, he really is terrible. I'm dead serious. I am responsible for working with his crap all the time, and I probably know more about the technical workings of Minecraft than even he does. Notch writes terrible code.

Not being familiar with his programming abilities or style at all, if we took all of the code ever written, is Notch's code at the very bottom of the pile? That is what I take terrible to mean.

According to some links posted elsewhere in this discussion, Notch admits himself that he is not the world's best programmer, but can we honestly say his code is bad enough that we can consider him one of the world's worst programmers?

Or are you really trying to say his code is average to good, with some mistakes made along the way?

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

#188
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 find it fascinating that elsewhere on this thread somebody expressed the opinion that "overengineering ... kills more projects than anything else" and here you express the opinion that a much worse problem is engineers bailing out after running up technical debt. To be honest, I really can't say which is worse, I've had to cope with both of them from other people. All I can say is that my tendency is to overenginee…

Like I said, I think it's a false dichotomy. Most over-engineered projects I've seen also had ridiculously sloppy code. Over-engineering usually concerns design. Sloppy coding usually concerns implementation. The code at a different stage of development, so it's possible to have both or neither.

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

#189
post #46

Earlier quoted context omitted.

can you elaborate on what's so terrible about his coding style?

There are lots of problems with it. Here are a couple: He uses poor OpenGL practices, and sees poor performance as a result. He also designed the entire product in a way that makes it cumbersome to mod, without a consistent interface or a logical way for mods to work together. Modding Minecraft as a whole is one big hack. I'm more familiar with the networking side of things. The Minecraft networking protocol is a mes…

Could you provide more specific examples and possibly detail how you would do it better? If Notch is making these errors you speak of, other programmers probably are too. You've got the perfect platform here to correct the problem.

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

#190

Earlier quoted context omitted.

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…

Your post has many implied dichotomies and correlations that simply aren't true. For example: 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 Not really. It simply shows that bad software is commonplace and often not important enough factor to kill an entire company. It still costs compa…

FYI - You replied to the wrong post.

I'll just leave it at this -- despite protestations to the contrary, I would wager that the majority of developers, if not the overwhelming majority of developers, claim to do no wrong when coding. They claim to plan and design and develop with best practices, creating clean, maintainable code.

And those same developers almost universally declare the majority of code they come in contact with to be toxic waste. Terrible code that brings down companies and kills careers (this whole hilarious discussion began with someone lamenting about the code that Notch burdened Mojang with. The code that is the sole reason for that company existing. What a horrible burden).

These claims do not mesh. At all. There is a reality that is profoundly different from what people say.

Post reply on HN