

Efene - a programming language with C-like syntax that runs on the erlang vm - iamaleksey
http://github.com/marianoguerra/efene

======
marianoguerra
Hi, I'm the creator of the project, as some comments say, the idea is to make
it easier for people that find the erlang syntax confusing to be able to start
coding with the fundamental concepts that erlang provides and by doing it
making more likely to jump to erlang (or keep coding in efene if they want :).
the code can be compiled to bytecode or translated to erlang to see how the
code would look like, so it can be a learning exercise to jump to erlang too.

~~~
gradschool
What reference would you recommend for a compiler developer targeting the
Erlang VM?

~~~
ncarlson
I've read from various mailing lists that the technical specifications of the
Erlang VM are kept internal at Ericsson as well as "in the minds" of the
language's developers.

Personally, I'd love to get a hold of some documents that clearly describe the
finer details of BEAM.

------
jdp
There seems to be more than one group trying to associate a language with
nicer syntax with Erlang's virtual machine. Another attempt is Reia, a
language more inspired by Ruby and Python: <http://wiki.reia-
lang.org/wiki/Reia_Programming_Language>

~~~
jcl
Also, Lisp-Flavored Erlang:

<http://metajack.im/2009/01/09/lisp-flavored-erlang/>

------
vorobei
While I welcome _all_ Erlang-spreading efforts, I quite like the Erlang
syntax.

It initially looked more ridiculous than managed C++, but after about seven
months of daily Erlang programming it's the most natural thing ever.

The problem with C-style syntax is that it encourages the diversity of coding
conventions. Python makes everyone's code look about the same because of its
ingenious whitespace-handling rules. Erlang's syntax appears to achieve a
similar result because of its ... weirdness.

------
jacquesm
That's an interesting development.

I'm pretty sure that the syntax of Erlang is one of its main stumbling blocks,
it is very far off the beaten path (and imo ugly), which means an immediate
shortage of people that can program in it.

Grafting a C like language on top of the Erlang VM should theoretically give
you the same kind of stability and scalability without the drawback of having
to fish in a pool with all of 5 programmers in it (and they'll be working for
a telco somewhere anyway).

~~~
almost
There's a lot more to erlang than a funky syntax. I don't think making it
superficial look like something else will increase the number of people how
can program it

~~~
jacquesm
Absolutely, but it certainly doesn't help either.

It's like with foreign languages, if you have to learn a new language but at
least their pronunciation rules and alphabet are the same as the one that you
already know how to use the barrier is a lot lower than if they use a
different script as well.

It serves as a bridge from the known in to the unknown.

As soon as that bridge isn't there the number of people that will be able (or
willing) to make the jump drops dramatically.

If this step-in-between will make the concepts behind Erlang easier to bring
to the masses then more of them will eventually make the step to Erlang itself
as well.

------
wmf
The problem with minority syntaxes always seems to be that if you don't know
the real language you won't be able to read any of the existing code
(especially in tutorials/books) out there.

------
capablanca
At some point I started caring more about the quality of the implementation
than the syntax...

~~~
ekiru
Efene appears to be purely(or almost so) an alternative syntax for Erlang, and
includes an Efene-to-readable-Erlang translator.

Some people have internalized the syntax of Erlang, and there are certainly
aspects of its syntax that I prefer to the C-style syntax(",", ";", and "."
are not among that list). I don't regularly program Erlang, only very
occasionally dabbling and writing a toy program in it, but every time I try to
dabble, I'm frustrated a little by needing to look up again when to use which
of ",;.". Efene seems intended(among other things) to eliminate that problem.
On the other hand, I like Erlang's syntax for control structures and for
function definitions and for tuples, which I doubt Efene preserves.

