Archive for the ‘Languages’ Category

GWT is Flexible — an iPhone Demo

Monday, May 25th, 2009

GWT is a very flexible environment that allows you to write a web application in Java and compile it to Javascript -- even for the iPhone.

A number of people have fears with GWT, for instance

  • (not true) GWT isn't flexible which will lead developers down a dead-end path.
  • (not true) GWT is ugly, and can't be used to make "gucci" UIs.

This post will show that these are just myths. (more...)

The “Many Core” Problem

Saturday, October 25th, 2008

We, as developers, have a problem.  CPUs will continue to have more cores, and each core is not going to be any faster.  The only way to write faster applications is to write multithreaded code, which has two challenges:

  • Multithreaded code is complex to write and think about.
  • Multithreaded code is difficult to test.

From what I've seen, people are pursuing 4 approaches.  (more...)

Functional Language Explosion

Saturday, October 18th, 2008

There is suddenly a lot of interest in functional languages recently.  The two advantages are

  • Writing a DSL (Domain Specific Language)
  • Writing concurrent code

The languages that seem to come up are:

  • Clojure (JVM)
  • F# (based on OCaml, Haskell, and ML) (.Net CLR)
  • Erlang (JVM)

I'm not particularly interested in DSL (despite my last post on code generators), however as CPUs contain more and more cores, we'll need a way to safely write multithreaded code.

The Clojure project has an interesting post on its approach on simplifying multithreaded code.

Erlang handles concurrency by only having local variables and providing a way to send messages to and from other threads.

Lastly, MPI is a .Net library for distributed processing where the same program executes multiple times and each instance communicates with each other using message passing which sounds very Erlang-like.