Six Laws of the New Software 313
LordFoom writes "Still suffering from post-dotcom stress disorder, I keep my eye out for gentle balm to sooth my ravaged psyche. The manifestos at ChangeThis are not it. The most popular manifestos range from irritating to enlightening, with none of them particularly comforting. In particular the recent Six Laws of the New Software have done my dreams of writing lucrative code no good - although it has changed my idea of what money-making code is."
In the end of last century... (Score:5, Insightful)
Here's another law to add (Score:5, Insightful)
I'm looking at you, Firefox.
What's the deal with the PDF-format anyway? The document is 17 pages of Powerpoint-like slides. I'm sure some nice, simple HTML could have displayed that much more quickly. And not locked up Firefox for a minute.
Hope I'm not trolling too hard... (Score:3, Insightful)
Anyways, what's the deal with the
Re:Here's another law to add (Score:5, Insightful)
Not only does this prevent Firefox from freezing up obnoxiously, but it also means that you don't see the file until it's actually done loading. Progressive PDF's suck.
Respect your users (Score:3, Insightful)
Law 7 (Score:5, Insightful)
Writing vs Coding (Score:4, Insightful)
Re:Hope I'm not trolling too hard... (Score:3, Insightful)
People are dumb (Score:3, Insightful)
Re:In a nutshell (Score:3, Insightful)
manifesto? (Score:3, Insightful)
Re:Hope I'm not trolling too hard... (Score:3, Insightful)
You could get hired without a degree, so a bunch of people ditched lower paying jobs to start programming by demonstrating basic skills. Compared to them, even the people who got a formal CS degree _for the money_ were better programmers than these other goofballs, primarily Visual Basic jockeys.
Sorry if I offended any VB programmers out there...Most VB programmers aren't idiots, but most idiot programmers program in VB.
Re:In the end of last century... (Score:5, Insightful)
Re:Respect your users (Score:3, Insightful)
And it's too warm in your office. Consider turning off the heat.
And it's too easy to type with all ten fingers intact. Consider breaking three. Any three. Doesn't matter.
I bet there are a lot of other really good suggestions for people who are into massive amounts of pain.
Of course, anybody who writes end-user applications in Java is also into inflicting massive amounts of pain. But that's another conversation.
Sorry, but... (Score:2, Insightful)
Re:Here's another law to add (Score:3, Insightful)
For screen it's total shit because the page doesn't resize appropriately like in a browser.
Re:In a nutshell (Score:2, Insightful)
No-one says it is going to be easy, but with a bit of imagination anything can happen. Who the hell would have thought five years ago that google could beat yahoo et al? (Of course the day they write an OS that is better than XP, I'll eat my hat (luckily I don't have any))
What a load of garbage... (Score:1, Insightful)
If you want to make a living, or get rich for that matter, writing code... then you better have a decent idea and a great (and agressive) sales staff. Everything else is just about squeezing money from every turnip you can find. Your geek ethic doesn't lend well to this, which is why so many are under-employed right now.
Re:The "Collaborate" Suggestion and Unix (Score:3, Insightful)
You're on to something here. The essential design principle is composability. Take Lego for example. You can make complex artifacts by assembling many existing elements together.
A similar, but distinct, principle is extensibility. To continue with the Lego example, it allows you to invent a completely new element that extends the behavior of existing elements, a slider piece for example.
Not to get totally pedantic, but let's have one more. The principle of modularity enables both of the above. Originally, it meant that you could replace any piece with a functionally identical substitute. But what makes it such an interesting principle is that there are different aspects of identity. Two 1x8 Legos might be replaced by a 2x4 and two 2x2s, and so on, and perhaps the substitution has different and desirable properties.
The source of all modularity is the enabling principle of standardization. And here, if you care, is where open source comes into the picture. Because it's very hard for multiple parties to ever agree on a common standard if the candidate designs are all secret!
So your intuition is right. There is something about Unix that gives it a fundamental advantage over proprietary alternatives. However, to debate between command line and GUI, or likewise to compare statistics on security incidents, is to focus on emergent symptoms. I get frustrated with these debates because they never really seem to converge on a clear answer.
A clear answer does emerge when we look to deeper principles. These aren't just a matter of subjective preference, they are fundamental to the design of any complex artifact. Designs which express these principles are objectively superior to designs which don't. And I think that's worth remembering.
Breaks his own laws (Score:5, Insightful)
He says stick to these standards.
His own article is in a crappy PDF - possibly the lamest format possible for web articles.
A case of "do as I say not as I do"
Re:Here's another law to add (Score:2, Insightful)
I never bothered installing the adobe software, and have firefox set up to open all pdf files in xpdf automatically... it works great!
The document is opened a second or two after i click the link, and i never have to worry about my browser crashing..
Re:In a nutshell (Score:3, Insightful)
Fuck him.
Somebody has to be - why not me?
Remember, Microsoft didn't exist thirty years ago - and will likely not exist thirty years from now...
This is just the usual bullshit from people who can't deal with change.
Total crap.
Nothing to see here. Move along.
Hovno! (Score:2, Insightful)
Standards in the Real World (Score:2, Insightful)
From TFA:
The author is obviously lives in some parallel universe. I wish I could live there too. Not testing your html in *all* browsers is the most ignorant thing one could possibly do.
Re:In a nutshell (Score:2, Insightful)
Do you mean the $3.400.000.000 profit they made in the last quarter of 2004?
_Both_ generalizations are actually false (Score:3, Insightful)
The problems are (A) if you love programming, and (B) if you have the mental skills for it. At all. Yes, I've been through the "bah, programming is easy, everyone could do it if they wanted to" phase myself. Then you start to realize that things that are trivial and obvious to you, just aren't so for 90% of the rest of the people.
For example, I've actually sat and watched someone painfully try every single of "*", "&" and nothing, on every single variable on a C program, until it stopped crashing. He just could never wrap his mind around the concept of a "pointer". Some 10 years later, AFAIK he _still_ can't. Made me realize that maybe it's not that trivial a concept as I assumed.
And that's just one example. People just aren't built to, basically, think like a machine. They're hampered by natural language fuzziness, and by the human-to-human expectation that the other gets the basic idea and can work out the details for himself.
And it only becomes worse when you deal with people who don't even intend to learn. They're in it just because they "deserve" to be paid a ton of money. And they're not gonna "waste" their time on such boring stuff as actually learning an algorithm, or even the basics of the language they're paid to program in.
I've dealt with too many people whose _only_ interest is hanging around bored until the next paycheck, and their _only_ skill is marketting themselves to a clueless PHB. They can't program worth shit, and they don't even intend to learn more.
And why would they? They get paid anyway. And in the unlikely case that the boss gets a clue and fires them, they'll just move on to another company to scam. There's one sucker born every minute, after all. Not hard to find another sucker who'll swallow a faked resume. Beats actually working and learning.
And, yes, there are a _lot_ of clueless ex-burger-flippers who did just that. Moved into programming not even "just for the money", but "for _undeserved_ money."
Re:Here's another law to add (Score:3, Insightful)
No. ALL PDF's suck.
Don't get me wrong, I wholly support a platform-neutral document format. What I don't support is a document reader that takes longer to load than my operating system. Nor do I support a document reader that insists on nagging me to install OTHER software for the benefit of a bloated software empire (the other one).