Thursday, July 31, 2008

Scala - What Inspires Me

During the last year I have been developing in Scala and will be giving my first talk to the Denver Open Source Users Group on August 5, 2008. The preparation for this talk got me to reflect on what inspires me about Scala. There is:

1. The uniform object model that incorporates primitives as first class objects.

2. Strong typing and clean generics.

3. Traits for composing mixins.

4. Dynamic construction for mixing classes and traits at run time for dependency injection.

5. Closures and functions passed as values.

But what inspires me the most is pattern matching. OO and FP combine into something entirely new. A match looks like an ugly Java switch statement with type enhancements, tuples and extractors. But what I see is a lovely dance between deconstruction and reconstruction that enables you to transform anything.

Indeed something to be inspired about.



For those unfamiliar with Scala, it is an ambitious merger of OO and FP (Functional Programming) that sits up top of the JVM and fully interoperates with Java. Visit www.scala-lang.org for complete information.

Monday, June 9, 2008

Viability with Open Source

I really love the fact that we are witnessing first hand the emergence of lightweight and accessible enterprise integration with Apache Service Mix and Camel

I can't think of a better environment than Apache. Apache practices a pure form of Open Source which invites lots of good committers that promotes creativity along with quality. With this support Apache has the resources to take on large enterprise projects.

Vendor sponsored Open Source falls short in attracting outside committers.

The ecosystem that enterprise projects require has become too big for any vendor.

So not only are we witnessing accessibility but long term viability.

Thursday, June 5, 2008

I Finally Get It - Apache Camel Endpoints

.
I enjoyed Bruce Synder's talk about Apache Camel at the Denver Open Source User Group meeting on June 3, 2008

I first saw Camel as just a language living inside an ESB and talking to its internals. However it finally dawned me during the talk what Camel can do outside on its own.

Camel can transport and translate anything between endpoints in just 3 lines.

This blows my mind.

I am going to put an endpoint in all my applications.

The next logical step is to create a Borg implant endpoint.

Enterprise Architects can now reveal their true colors and broadcast that final memo about the status of the integration project:

"That resistance is futile, you will be assimilated".