出家如初,成佛有余

编程新趋势-来自web的buzz word

Posted in Uncategorized by chuanliang on 2007/09/24

New Trends in Programming 上讨论了互联网上正在热议的技术术语(buzz word),包括GridGain、Erlang、Google Gears、Derby、Groovy、Scala等,大部分与Java相关,具体得到如此结论的途径无从知道,应该是通过诸如technorati、digg之类的社会化工具得出的吧。其中GridGainGoogle Gears 倒值得研究一番,尤其是Google Gears,联想到Firefox3 对offline功能的支持(参看 Firefox 3 To Support Offline Apps),可以猜想对Information Provider的SaaS应用以及作为Infomation Broker的RIA客户端必将成为各大巨头争夺的两大焦点(传统意义的Client-Server),而对于RIA客户端,怎样实现信息较为方便的存储、检索、处理是必须首先解决的问题,因此Google Gears应该是google未来RIA战略的重点。

对于Derby,如果是基于Java的应用(例如ActiveMQ这样的应用)采用它尚可接受,对于基于诸如Python、RoR、C++的应用,我更愿意选择sqlite

对于Erlang而言,的确是近期各大blog的热点(这从dzone、infoq的热点议题可以看出),应该是一门很不错的语言,但对我而言,我更宁愿选择python+twisted的搭配来完成高性能服务器的处理。

我目前感兴趣的buzz word:

Hadoop, jQuery, CSS Framework,Django,Facebook Platform ,Collective Intelligence,scalability website

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.

Google Gears is an open source browser extension that enables web applications to provide offline functionality. It provides Javascript hooks that will interface with a few locally running services such as Cache, Database, and asynchronous Thread pool. If you are a user of Google-Reader, you might have noticed the Offline support… This is made possible only with the help of Gears plugin on our browser.

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.

Technorati 标签: , , ,

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: