Tuesday, December 4, 2007

Rant about the apparent lack of "serious" Notes/Domino programmers

Started of as a comment on "The reason the Domino Development Platform Isn't Taken Seriously", where Craig asks if it's time for the DominoDevs to grow up. My rant is also influenced by the comments posted on Nathan's "Sanity Check" that OO is the way to go/most N/D developers are lazy.

Start rant:
This is just a wild guess, but don't think that the majority of N/D developers are willing/able to make the effort to write "serious" code.

Then again, how many applications need the complexity that is Java/OO/Inheritance/MVC/etc?

The recent discussions on the future of N/D remind me a lot about discussions about JavaScript, which also has had the toy stigma for most of it's life.

It's not until the Ajax-term is coined by a well respected person in the community, Jesse James Garrett, that suddenly JavaScript is THE language to learn. Then Douglas Crockford steps in and show the "serious programmers" all the amazing stuff you can do in JS, and all of a sudden, all platforms must have JavaScript.

Now the "serious programmers" want to tighten JS (with EcmaScript 4), and make it more serious (or more precisely, make it fit their world..?).

JavaScript is a forgiving language, just as LS. There is a lot of awful code being written in JS, making sites/applications brittle/insecure. If you force strong typing/classical inheritance/etc. on all JavaScript-developers (as some feel that EcmaScript 4 will), how many are you going to have left? Will the tightening of the language be worth the loss? Is the proposed tightening of the N/D-platform going to be worth the loss of less advanced programmers?

I believe that what we as a community (and Notes/Domino as a platform) need, are people who love and understand what is great about the platform, and also are able to sell the concept to developers -and- IBM. Until I see the next designer, I'm firmly convinced that the decision makers of Lotus/IBM doesn't understand what is great about the platform. From looking the latest releases (6/7/8), they see it as a collaboration/mailing platform. N/D isn't great because IBM has made a great mail/calendar application with it, but maybe the mail application is so great because of the (mysterious/genious) concept that is Notes/Domino..?

Regarding lazy/untrained developers:
Great code != Great application from the users perspective, just as Horrible code != Horrible application. Great code will probably lead to a more stable/secure/maintainable/expensive application.

If you want N/D developers to write serious code, and you believe you know how to teach them, why not go together with other great minds and write a book to enlighten them? There must be publishers willing to still publish N/D books..?

With all the Agile development books coming out recently, where is "Agile application development with Notes/Domino" (horrible title, I know).

Other titles I'd like to see:
"Web 2.0 with Domino" (although I hate the term web 2.0, it sells)
"Rich Internet Applications with Domino"
"Enterprise applications with Domino 8"
"Object Orientated programming in LS for dummies"
"Taking advantage of DB2 with Domino 8"
etc. etc.



Thomas Bahn said...

"... but [I] don't think that the majority of N/D developers are willing/able to make the effort to write "serious" code."
Sadly, this is what I think, too.

"... how many applications need the complexity that is Java/OO/Inheritance/MVC/etc?"
I don't know, how many applications NEED these, but I personally believe, most applications could benefit from them.

"Great code will probably lead to a more stable/secure/maintainable/expensive application."
stable ... checked.
secure ... checked.
maintainable ... checked.
expensive ... ch... Why do you think, great code is more expensive then poor code? First, on the long run, it will be certainly cheaper, because it's stable, secure and maintainable. Second, even on the short run it can be cheaper, because you really have to code less, probably make less errors, it 's normally more "testable" etc.

"Object Orientated programming in LS for dummies"
I cannot offer a book, but at least a conference presentation on this subject. (Just follow the link below)

I blogged my own thoughts today, as I have done a session on design patterns for Notes developers:

Thomas Bahn said...

Trying the same link, again:

Tommy Valand said...

I agree that there are benefits in using OO/stricter programming practices, but I don't think it's critical for the future of N/D. I hope the future of N/D isn't "Just another Java framework" (or a tool that gets it's functionality from the needs of the templating needs in Lotus/IBM).

I actually agree with you on the point of great code != more expensive program.

Online articles are great (thanks for the link btw), but they are also needle in haystacks for most people, compared to books.