Here are a few technologies that are making a Buzz on the web, and every tech-blog is beginning to talk about them. These are just brief introductions to those non-Microsoft technologies that I'm excited about. Now, I am one in the crowd to experiment and tell the world.
GridGain provides computational grid platform for Java that is fun, simple and productive to use. As you would expect, it is open source and professionally supported. It's ideal for performing parallelizable tasks (i.e. Split the work, calculate, and aggregate the results). GridGain now supports integration with Jboss, Spring, AspectJ, Weblogic, Websphere, and many more... You can find good documentation and a quick demo at its homepage.
Erlang is a concurrent functional programming language designed at the Ericsson Computer Science Laboratory. Erlang processes are very lightweight (lighter than threads) and the system can support several thousands of processes.
Unlike most languages that use shared state concurrency, Erlang uses pure message passing concurrency. Thus, making things scalable and fault-tolerant is relatively easy. If this interests you, read the fine analysis of Erlang by Hendy Irawan. Here is an excerpt...Erlang is built on the ideas of
- Share nothing : Process cannot share data in any way. Actually, this is not 100% true; there are some small exceptions.
- Pure message passing : Copy all data you need in the messages, no dangling pointers.
- Crash detection and recovery : Things will crash, so the best thing to do is let them crash and recover afterwards.
This effort from Google is what lays the foundation, and gives fullness to the concept of Web O.S. As a developer, you’ll be able to make an application with the assurance that it will work offline and online across browsers. Check out the Google Gears API Developer's guide for tutorials. The version 0.2 release of Google Gears will support Cross Origin API, and will be a huge treat for Web application developers.
Java DB is Sun's supported distribution of the open source Apache Derby 100% Java technology database. Amongst the many changes in Java 6(u2), Sun introduces Java DB as a part of its SDK. This is great news for Java lovers who are looking for a light-weight database. I'm thrilled!
Interestingly, we can use it within browser, Web-2.0 applications for easy distribution, one-click install, secure local data storage, and data persistence if the Internet connection is lost or for use off-line. Further, it is easy to migrate an application using Java DB to other open standard databases.
Groovy provides powerful features of a dynamic language, and proves to be a handy tool to Unit test Java applications. It offers a syntax similar to Java, supports Java libraries, and compiles to Java Byte Code. So, calling of methods between the two languages can be interoperable. Groovy can serve as a good alternative to Perl and Ruby.
Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages. It is also fully interoperable with Java. Check out the beginner's guide for getting started.