[erlang-questions] your first choice?

David Welton davidnwelton@REDACTED
Mon Feb 16 12:31:12 CET 2015


> dear erlangers,
> with my plan to build a web app (a yapp was what i had in mind) i have been
> studying tools.
> there seems to be general agreement on rebar.
> but which should i choose;

This is "asking for it", as they say, as there's nothing that gets
programmers going more than a good discussion of tools :-)

> yaws or mochiweb?
> mnesia or mongoDB?
> chicago boss or ...?
> XML or JSon?
> intellij idea or eclipse?
> and before i buy a server, Win or Linux or ...?

> while whatever i study seems ok, it is all taking a lot of time and keeping
> me from coding in erlang.

> there is some good info on the web, but i value your opinions more.
> understanding you will be required to maintain your app, if you were
> starting from scratch, which choice would you make first?

I'd turn the problem around.  What are you trying to do, and why are
you set on using Erlang for it?  "Learning Erlang" is a perfectly
acceptable response, but it does color the discussion some.

I've been doing "web stuff" for nearly 20 years, and here's my opinion
about the state of Erlang and "web stuff":

* It's got most of the pieces you need.

* There is no really good framework that puts them all together in a
decent way to get started.  Chicago Boss was a valiant attempt at
this, but... it's got some warts.

* As an example of the kind of thing you'll have to learn about and
put together yourself, consider using a database: at a minimum, you're
going to want to integrate something like fuse and poolboy to make it
work at any kind of scale, and make it work robustly.

* The bits and pieces I would use: cowboy web server, Postgres
database with epgsql, erlydtl for templates, jiffy for json, poolboy,
fuse, lager, recon, relx and a few other bits and pieces.

* If putting all that together is not your thing, and you are more
interested in getting something up and running as soon as possible,
you might look at other languages.  Elixir's Phoenix framework runs on
the same VM as Erlang.  Going further afield, you have all kinds of
choices, which have their own advantages and disadvantages, depending
on what you want to accomplish.  I'm personally a fan of Ruby on Rails
for how much stuff you can do by including various libraries.  People
have managed to build businesses on PHP, Node.js, Java, Python, Perl,
Tcl and all kinds of other systems.

* Don't buy a computer, rent a VPS via something like Linode, and run
Linux (or maybe some BSD system if you feel adventurous).

David N. Welton



More information about the erlang-questions mailing list