[erlang-questions] Languages running on BEAM

Richard A. O'Keefe ok@REDACTED
Mon Nov 16 01:09:19 CET 2015


On 15/11/2015, at 7:47 am, Robert Virding <rvirding@REDACTED> wrote:

> I think an objective comparison would be very difficult as some of the differences are of a religious nature, for examle lisp-1 vs lisp-2 :-), and some are just a matter of preference.

There are two different things: comparison and evaluation.
You say "X has U but not V, Y has V but not U" without
revealing which you think is better.


Mind you, the last language comparison I looked at
drew its data from RosettaCode.org.  As a learning
exercise, I've been implementing as many RosettaCode
tasks as I can in a language which need not concern
us here.  The point of interest is that while I still
think this is useful as a training exercise, I have
ceased to believe that it tells us much about languages.

One *major* source of differences is not languages but
*libraries*.  For example, "Play a sound" is trivial if
you are allowed to do
    system("audioplay foobar.wav")
which hardly tells you much about the language.
Since Elixir, LFE, and Erlang can all call the same
libraries, I don't really expect much difference between
them at the *system* level.

I do expect a difference in coding errors, which will
depend on the verbosity of the language, the 'trickiness'
of the language, the previous experience of the programmer,
and tool support, not to mention how much you depend on
code generation vs hand coding.

Again, in my own RosettaCode exercises, I have
stumbled over *library* issues (like the predefined
all-subsets-of-a-set function returning a stretchy
array when I expected a _set_ of sets) more often
than *language* issues.

Something I've always believed, but the RosettaCode
study has really driven home to me, is how much
variation there is between programmers and even
*within* programmers: should I go for the one-liner
that makes strong assumptions about its input or do
something longer but safer?  In a contest I might
take short cuts, but in real programming I ought to
play safe.







More information about the erlang-questions mailing list