Archive for the ‘Programming Languages’ Category

Power of Abstraction

November 23, 2009

Every programmer is familiar with the command Print “Hello World” or some variation depending upon language used (this one being Python).
When we step back to think about what that single line of code represents, in terms of all the processing that a computer undertakes, from interpreting the command to instructing the right peripherals to result in “Hello World” appearing [typically] on the computer screen, we grasp in that instance the power of abstraction.

IT is all about abstraction, with many advances ultimately being about introducing higher levels of abstraction or offering a new perspective on an existing level of abstraction.

As we consider cloud computing, abstractions abound, whether we think of it in terms of infrastructure, platforms or applications we are seeing entities that we readily recognize being abstracted as a set of services.

More exciting is the change in context we can expect as our knowledge around cloud computing matures. Specifically in the realm of PaaS, I see us moving from a container-centric perspective to an application-centric perspective. Currently the container is king, we think about setting up app servers to host our applications, with clouds the app will eventually become king, were we think of running an application in the cloud, and focus more on how we want the app to behave, rather than the topology of components (web servers, app servers, databases etc) required to enable the application to behave the way we want. In this near future that is all abstracted by the cloud.
While we will see and already seeing this future materialize in public cloud offerings, the impact on enterprise data centers that will host private clouds, and the approach enterprises will take to developing and running applications will be much more profound.

I’ve seen the future and the forecast is cloudy.


Impressions from JavaOne

June 12, 2009

Last week I attended Java One, which proved to be both an entertaining and enlightening experience … who knew I would be excited to see “Duke” in person (for the uninitiated Duke is the Java Mascot).

 

During the Key note on Day 1, the key messages all centered around Java  being everywhere, with a lot of focus on consumer electronics (yes Java coming to a TV near you). A lot of emphasis was placed on JavaFX being the way of the future .. with Larry Ellison anointing it the savior of all AJAX programmers. While AJAX is not necessarily simple, after attending a few JavaFX sessions, I’ll have to say “I don’ quite see it yet”. It offers some potential for creating UIs, but quite frankly still has some maturing to do, and given no one technology is standing still I’d say the jury is still out. That said as one application vendor put it to me, they can create Uis for mobile, desktops and the web using one language …  so seems its back to the future .. Write once, run everywhere.

 

I attended the Script Bowl, which was a shoot out between a variety of scripting languages, with Language Guru’s demonstrating key features, and the winner being decided based upon crowd response (read that as cheers and applause):

  • Jython:  Stood out as a tried and tested language given its basis in Python, but got something of a muted response from the Java Developers
  • Groovy – Proved to be the crowd favorite, its closeness and compatibility with Java , giving it the necessary boost with the audience
  • Scala – Was a new one on me, but definitely was the runner up
  • Clojure – I think this took every developer somewhere they did not want to go … back to LISP type programming
  • Jruby – Did not get much love …  think it suffered from the same hangup as Jython .. Just a tad to different from Java for the audience’s taste

 

On the cloud front, attended a lot of good sessions of leveraging Amazon EC2 and Google App Engine, but my standout favorite was a session by eHarmony on leveraging Hadoop on EC2 to do analytics, aptly titled “Matchmaking in the Cloud:Hadoop and EC2 at eHarmony“. It was a great use case for  leveraging a public cloud infrastructure to augment an element of an internal business process. They showed  how they shipped certain matching data out to EC2 to run MapReduce algorithms , and then brought the results back in. It provided an honest assessment of benefits, challenges, and decision points.

 

For pure entertainment I attended a BOF at 7:30pm (sessions go till 10:30pm did I mention this was my first Java One?) that focused on using Java to program Lego NXT MindStorm robots, always cool having little robots running around.

 

Was not all at fun and games .. Obviously had a number of customers to meet and prep for the IBM Keynote at Java One by my boss Craig Hayman, titled “Extreme Transaction Processing and Elasticity” Which I must say was the most technical keynote of the conference!

 

On the horizon I will be delivering a keynote titled “Convergence in the Cloud: How Cloud Computing and SOA Produce Real Change” at the SOA World Conference in NY on June 23rd … So if your in town come and check it out..

We are the World

May 29, 2009

Some weeks back I happened to have a rather interesting conversation with the folks out at Baynote on behavioral analysis  and the wisdom of crowds (cue “we are the world”). This caused me to buy the  book Emergence by Steven Johnson, which is proving to be an entertaining read … I will never look at ants the same way again .. I also laid my hands on Programming Collective Intelligence by Toby Segaran, which looks at implementing a lot of these ideas in the context of Web 2.0 applications and mining of social interactions.  One thing I do like about Toby’s book is that it links to another passion of mine – dynamic scripting languages .. In that he uses Python as the programming language to render all of his example implementations. I’ll share more of my thoughts once I finish reading … In the meantime I am off to JavaOne, where, no surprises, among many things I will be dropping in on quite a few sessions on dynamic scripting languages and developing in the cloud …..

 And just because I could not resist .. Another trip down memory lane ….