[erlang-questions] node.js vs erlang

Leonard Boyce leonard.boyce@REDACTED
Fri Jun 20 14:54:38 CEST 2014


On Fri, Jun 20, 2014 at 5:09 AM, Aaron J. Seigo <aseigo@REDACTED> wrote:
> On Thursday, June 19, 2014 12:52:28 Leonard Boyce wrote:
>> So with all the complexity issues being talked about would a basic
>> 'app generator' along the lines of yeoman
>> http://yeoman.io/learning/index.html not be a better fit?
>
> +100
>
> if the templates are written, or at least looked over, by some of the erlang
> gurus here that is a very nice way to implicitly pass on best practices to new
> developers.

I was not really thinking about the proposed 'binary' as being a
workhorse app generator, but that's not a bad idea. Now that I think
about it I was probably envisioning something along the lines of a
'erlang by example' app which would allow the new user to be
introduced to the Erlang language and concepts in an simple
interactive format. Begin with immediate satisfaction, throw in a
gentle introduction to syntax via line-by-line explanations of the
basic examples, all the while moving on to more complex paradigms and
code, and all the while exposing targeted links to in-depth
information on the topics being examined.

I believe that the more complexity issues that can be solved through
simple interfaces, the easier it is for someone new to Erlang to focus
on both learning the language and architecture best practices.

I would not class myself as an Erlang expert by any means, although I
use it every day for our entire stack, but I can speak to the
frustration of developers approaching the language for the first time
as I currently 'teaching' Erlang to some of my team who specialize in
JavaScript, but are proficient enough to write code of reasonable
quality in Java, PHP, Python, C# etc

I've had them work through LYSE and sections of Joe's book and now I
have them writing a simple FTP client to support one of our APIs, but
every day I hear their frustration. A few examples below

1) "The syntax is just too weird, I *hate* commas and semi-colons. Why
use a period and not braces?"
2) "What the hell is with the crazy 'defacto' indentation. I don't use
or want to learn to use emacs, I'm perfectly happy with Sublime."
3) "TDD is extremely painful. What should I be writing tests for?"
4) "Why is there no package manager? I need a library for X, where can
I find it? Which one do I use?" When they do find something,
invariably the code has no tests and very little documentation, or
maybe there are multiple options and no clear 'leader'. *or* there is
no library for what they need
5) "No unicode aware/safe string library? wtf? Lists of integers?
Binaries? Why in deities name does it have to be so convoluted?"
6) "Configuration files for rebar et al. just seem weird and sorta
'black magic'. dependency handling, starting of applications etc"
7) "Dialyzer is dog slow"
8) "What's up with the documentation organization? Why do I have to
use google to be able to find anything in the official docs?
Navigating the docs is crazy, I feel like it's still 1998"

> in another project i am involved with, it is obvious when someone has used the
> project generator: there is a certain consistency and adherence to coding
> norms / idioms that are otherwise unusual to see in code from new comers.

By the way Aaron, thanks for all the great work on KDE, I benefit from it daily.

> --
> Aaron J. Seigo
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list