PragProWriMo

I take up the writing challenge

My favorite Computer Science book publisher, the Pragmatic Programmers, have launched a Write-the-book-you-always-thought-you-will-write-in-a-month-competition.

Well – I had this plan for quite som time – that I will write a book for them. Well, several books actually.

Now, it looks like I have to do it – I am taking up the challenge of PragProWriMo!

User Driven

In my professional career, which covers from research work at a university trough consultancy work and participating in various agile teams, trough the role as Architect in govermental standartization projects I had to work with actual users. Even more, it was not enough just to work with them, or deliver software that will easy their life … Oh, no, no we had to extract their clever user-like-ness into proper project requirements to finish with software that really roars. The belief is that the user actually have to participate in the design, conceptual work, innovation.

Contrast this with the error 404 error – you know, the one that sits 40 cm from the screen. Or what about the stability antipattern discovered by Michael Nygaard called, well … users [?].

Or what about … ?

I have managed to learn how to handle this important engagement successfully – and even have fun doing it.

So – my book will be about Users 🙂

Stay tuned.

Painted child hands

New Year starts with Scala

Slowly up to speed

New Year is here, smoke calming down after a couple of nights of excessess with fireworks (and some other stuff too).

I think tonight, the sky will be clear, and the air fresh again.

After lazying around with my family during the Christmas Break, its time to actually work again.

Preparing lecture for  JG.DKs annual conference

I am preparing my lecture for the Danish Java Groups Annual Conference, it will be held at Hindsgavl Castle on my Island (=Funen) in Denmark. The program is here.

My talk will be about a new language – Scala – which is bytecode compactible with Java, and runs smoothly on the JVM. I claim that Scala is going to give us back Object Oriented progamming – without having to do some of the awkward workarounds, that java is forcing us to do.

Out of the host of new languages that run on the JVM, like JRuby, Groovy and Jython – I really think Scala stands out.

What is so special about Scala?

It is a functional language. It is an object oriented language. It is a type strong language – exactly like Java.

It has traits – an ability to add methods to an interface – a language feature that we have been missing since

It is pure and well designed. Invented by Martin Odersky – who designed the Java generics.

Eventually, Java 7 or 8 will be patched with closures, and traits. But those will be patches. I am right now reading a book by Odersky, Spoon and Venners – Programming in Scala – highly recommendable.

Your hello world in Scala

Curious?

Lets try Scala out.

First, lets get the convenient Eclipse plugin (you need Eclipse 3.4 + to make it work) from its update site:

http://www.scala-lang.org/scala-eclipse-plugin

Select New>Scala Project.

This gives you a … Scala project.

Now in the src folder, add a Scala Application (runnable):package application

object HelloWorld extends Application with FirstTrait{
override def main(args: Array[String]) {
println(“Hello, world from Scala!”)
println(“From trait ” + greet(“world”))
for(arg<-args)
print(arg+” “)

println(main(null))
}
}

Make your first trait:package application

trait FirstTrait {

def greet(name:String):String = “Hello “+name

}

Run the application (Run > Scala Application), to see the output:

Hello, world from Scala!
Now – hello from trait Hello world

Thats it – hello world in Scala.

Hello World in Scala

Screenshot from Eclipse: Hello World in Scala