Archive for October, 2008

The “Many Core” Problem

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.  Read the rest of this entry »

Tags: , ,

8 Comments

Functional Language Explosion

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.

Tags: , ,

3 Comments

GWT for Web Applications

There are several approaches for writing web applications, each with their own advantages.  GWT is a new framework with its own niche.

  • Your standard ASP.Net (or JSP/PHP/etc) w/ Ajax and JQuery (or other Javascript library)
  • Java WebStart or .Net ClickOnce
  • GWT w/ Webservices

Read the rest of this entry »

Tags: ,

No Comments

Code Generator Built-in to VS 2008

Guess what, a code generator is built-in to Visual Studio 2008.

Tags: ,

1 Comment