[erlang-questions] Erlang meets physics

Jared Kofron <>
Wed Mar 14 00:47:43 CET 2012


Hi Joe-
What a surprise!  I had no idea that you and Robert V were both recovered physicists.

I absolutely agree with you re: concurrency in erlang.  I find handling the concurrent aspect
of my programs to be essentially trivial in erlang, especially once you leverage the power of
supervision trees.

JK

On Mar 13, 2012, at 3:34 AM, Joe Armstrong wrote:

> Great news - spread the word !
> 
> Just for the record Erlang programmers numbers 1 and 2 (ie myself and
> Robert Virding)
> are both ex physicists.
> 
> When I lecture I often point out the similarity between causality and
> message reception.
> You don't know that something has happened until you get a message
> telling that it has happened.
> 
> (In physics it's a ray of light, or a photon, or something -
> forgetting entanglement for the moment)
> 
> In computing it's the reception of a message.
> 
> As a ex physicist I know that we can't say anything about simultaneous
> events occurring
> at different places in space-time - turn this into computer science
> and the same arguments
> apply to things like making sure replicated data is consistent on
> remote sites - well you can't
> - at least if you want to change it - Brewer's CAP theorem applies -
> which for a physicist makes
> perfect sense.
> 
> Also as an ex physicist I realize that things do actually happen in
> parallel in the real world,
> so modelling them in a sequential programming language (if I wanted to do that)
> is big time crazy - just describe the parallel stuff in a concurrent
> language and the program
> writes itself. Wait a few years till we have million core computers
> and the parallel problems
> can be solved 1:1 on parallel computers - and programming simulations
> and so on will be
> really easy - but don't even think about doing it in a sequential language...
> 
> Cheers
> 
> /Joe
> 
> 
> On Mon, Mar 12, 2012 at 2:34 AM, Jared Kofron <> wrote:
>> Hi All,
>> I've been using Erlang at work for a few years now, and I thought I'd throw my experience out there, as
>> my application is a little different than what you usually see on the list - I am a graduate student at the
>> Center for Nuclear Physics and Astrophysics at the University of Washington, and use Erlang extensively
>> in my work.
>> 
>> In my experience, something that Erlang is really great at but doesn't receive much attention for these days
>> is managing and interacting with hardware.  In any physics experiment of even modest sizes, you wind up
>> having to keep track of the state of various pieces of equipment, often modify that state, and constantly
>> interrogate particular values.  For example, we might want to change the current in a magnetic trap, turn
>> that trap off altogether, or simply read back the voltage drop across our superconducting magnet.
>> 
>> So far, I have deployed Erlang in this zone for two separate experiments (SNO+, a large particle physics
>> experiment in Canada) and Project 8 (a small nuclear physics experiment here in Seattle).  Both times have
>> been great successes, and I have found the reception of Erlang in this market to be great.  In general, what
>> I have done is wrap a hardware management layer with some kind of outside world interface. For SNO+, we
>> used Webmachine and RESTful control, and for Project 8 we actually conduct all communication
>> by using CouchDB as a message passing interface.
>> 
>> Physicists are suspicious creatures, but once you demonstrate the feature set that you get for practically
>> free with OTP, they see the advantage pretty quickly.  On top of that, the development cycle for sophisticated
>> applications can be greatly reduced - more than once it made my group float to the top in terms of meeting
>> goals.
>> 
>> In short, as far as I am concerned, Erlang has found a new niche in the world of Physics, and I intend to
>> spread the word as much as I can!
>> 
>> Jared Kofron
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://erlang.org/mailman/listinfo/erlang-questions




More information about the erlang-questions mailing list