Posts Tagged F#

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