Friday, April 11, 2008

New Realities

The New Reality. Now that has a ring to it. It just might catch on as a buzzphrase. My 2 cents contribution to what New Reality looks like.

Paths to the New Reality

You need to do the following...
  • Lose the demonstrably false supposition that "scripting" is sloppy, un-professional, cavalier. Lose the condescending notion that real programmers compile programs.

  • Lose the demonstrably false supposition that the only professional way to manage data is in a relational database and a fully normalized database at that.

  • Lose the demonstrably false supposition that REST is just a toy for the simple case and that professional programmers use Object Oriented Web Services

  • Lose the demonstrably false supposition that synchronizing activity is the only sane way to manage a distributed system. Don't even think about trying distributed ACID transactions

  • Lose the demonstrably false supposition that statically compiled apps will scale better.

  • Lose the demonstrably false supposition that you can know a priori, the bits of your application that will be performance hogs

  • Lose the demonstrably false supposition that you can know today what your application will need to look like tomorrow. And lose the supposition that front-end technology will stand still for any reasonable period of time.

  • Lose the demonstrably false supposition that careful planning is the way to make waterfall development work.

11 comments:

Anonymous said...

err, it's 'lose' not 'loose'.

Sean said...

anonymous,

Ta.

Sean

Hamish said...

There's still a misspelt 'lose' before 'the supposition that front-end technology'.

Good article, though.

Sean said...

Hamish,
Ta.
Sean

Dan said...

Lose the demonstrably false supposition that OO is the only professional development model and that Java is the only professional OO implementation.

Paddy3118 said...
This comment has been removed by the author.
Paddy3118 said...

Googles App-Engine seems to agree with a lot of your points.

- Paddy.

Anonymous said...

Throw in a chorus and put this to music! :-D

sapphirecat said...

"Lose the demonstrably false supposition that the only professional way to manage data is in a relational database and a fully normalized database at that."

+2. Some time ago, I got sick of bashing hierarchies to fit into tables. This was the beginning of my journey to discovering that nobody ever challenges 'common knowledge', and learning to trust my own judgment.

Neil said...

While I agree with your statements, can you elaborate on your "demonstrably false" portions? What do you consider the threshold for this? Anecdotal experience? Peer-reviewed empirical studies? I work(?) as a grad student in software engineering, and to my knowledge there are (sadly) few of the latter.

Maybe it would be more accurate to redefine the paths to the new reality as, "Don't reject contrary approaches unless you have the empirical evidence to support that rejection".

Sean said...

Neill,

Sadly, I don't have time to write up articles for peer reviewed journals - much as I'd like to and much as I appreciate the value of the scientific principle of falsifiability it facilitates.

Having said that, it is a pretty simple matter to look around at what is happening in the industry and see that people are voting with their feet.

PHP, Google Apps, Rails, ASP.NET, LAMP, AJAX, agile development, test driven development, continuous integration etc. etc.