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."
Re:Hope I'm not trolling too hard... (Score:3, Interesting)
The biggest thing that changed and has not changed back is that before the boom, people went into IT because they liked it, the money was secondary. Now, there are many people in IT for the money and to them it's just a job, not a passion.
The "Collaborate" Suggestion and Unix (Score:5, Interesting)
"Forget enterprise systems that do everything possible within your field. They're too large, clumsy and require too much development time. Instead, create small discrete software that can collaborate seamlessly with the technology that the end users are currently using."
This, in a nutshell, seems to be the core philosophy behind much of the original Unix. Most Unix apps (and in particular, all the 'commands' which are small applications) have the concept of standard in (stdin), standard out (stdout), and standard error (stderr). Because most commands can operate to accept stdin, do its purpose, and then send to stdout, it is both possible, intuitive, and very practical to chain together many small commands to accomplish a single task very easily. I suspect there is some terminology for this process, but as I don't know what it is I generally think of it as being a "stream centered" approach. You have many discrete components operating on a stream of information. However, I know of no similar functionality in most modern GUIs, which are all basically application-centered approaches (though Windows tends to present itself as being document-centered). Each application is a single thing that you open up, and has its own self contained operations, usage, etc. I would like to see this more object-oriented stream approach exist in more GUIs today, because it is really a very useful paradigm for many tasks. It allows developers to concentrate on doing a single task extremely well, and then allows users to chain that task in as many ways as they can imagine, which is always more then what the original developer could think of. In Mac OS X 10.4, the Automator [apple.com] feature sounds like it might very well be close to what I have in mind, though a lot will depend on how easily and powerfully developers can make new 'Actions' (Apple's terminology for single task apps/commands). However, these days I really think that is an old concept that is time tested and very useful and just waiting for the right re-implementation to become critical for a new generation.Re:Here's another law to add (Score:1, Interesting)
The issue that the parent noted was that ALL Firefox instances freeze up when Acrobat is loading.
One instance freezing is acceptable (not really, but whatcha gonna do?), but all instances freezing is a bug in Firefox.
Re:The "Collaborate" Suggestion and Unix (Score:3, Interesting)
Re:The "Collaborate" Suggestion and Unix (Score:3, Interesting)
Think of it as the natural evolution of the pipeline aspects of the command line.
Re:In a nutshell (Score:4, Interesting)
This is not to say there couldn't be other mega-corps in software, just that they would probably become such using different kinds of products, strategies and so on.
What I don't understand, however, is the last part ("play to win, or give it up now"): are you implying there is no other way to succeed than the Microsoft way? I'd think that's bit short-sighted. Besides, Microsoft didn't exactly get started on great unstoppable visions, but with rather simple ideas of building basic interpreters (etc) to sell for hobbyists. The vision part only came when they grew big, and made founder(s) think they need to have visions; bit like how George Lucas keeps on reinventing the history of Star Wars.
Why does everybody think software is different? (Score:3, Interesting)
Re:Hope I'm not trolling too hard... (Score:2, Interesting)
Of course, the software he wrote took more than 8 hours to run. When our team (dedicated hackers and code monkeys) got through fixing it, we could run it and get the RIGHT answer in about 5 minutes.
Give me a geology major who loves to program any day!