<div class="gmail_quote">2009/2/12 Nick Gerakines <span dir="ltr"><<a href="mailto:nick@gerakines.net">nick@gerakines.net</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'd like to step in and say that Erlang is an awesome platform for<br>
writing web services. In fact, to back that statement up, I'll let you<br>
metaphorically peak into how we are using it for just that.<br>
<br>
Here at EA we are building a pretty large web service powered by<br>
Erlang to support different parts of the EA Online group. We've been<br>
using tools like MochiWeb, etap (<a href="http://github.com/ngerakines/etap" target="_blank">github.com/ngerakines/etap</a>), protocol<br>
buffers (<a href="http://github.com/ngerakines/erlang_protobuffs" target="_blank">github.com/ngerakines/erlang_protobuffs</a>), dynomite<br>
(<a href="http://github.com/cliffmoon/dynomite" target="_blank">github.com/cliffmoon/dynomite</a>) (CAVEAT: it's unofficial/unimplemented<br>
but we've got use cases that jive), log_roller<br>
(<a href="http://github.com/JacobVorreuter/log_roller" target="_blank">github.com/JacobVorreuter/log_roller</a>), ejabberd and list goes on.<br>
<br>
To get it out of the way: No, we aren't building a game or MMOG with Erlang.<br>
<br>
Why? Because Erlang comes with the tools we need to rapidly prototype,<br>
improve and deliver production quality code. We can light up a small<br>
grid of modular services that tie into a public facing API within a<br>
day's development time. It's working really well and I sincerely hope<br>
that once more of our project is public, I'll be able to speak more on<br>
it. What you can do is follow us (ngerakines, JacobVorreuter, Tivoli)<br>
on GitHub and see what open source projects are coming out of this and<br>
what we are improving on.<br>
<br>
# Nick Gerakines<br>
<br>
2009/2/12 Dale Harvey <<a href="mailto:harveyd@gmail.com">harveyd@gmail.com</a>>:<br>
<div><div></div><div class="Wj3C7c">> 2009/2/12 Matthew Palmer <<a href="mailto:mpalmer@hezmatt.org">mpalmer@hezmatt.org</a>><br>
>><br>
>> On Thu, Feb 12, 2009 at 09:12:55AM -0800, Kevin Scaldeferri wrote:<br>
>> > On Feb 12, 2009, at 7:53 AM, Joe Armstrong wrote:<br>
>> > > No language serves up library code to you on a plate with no effort<br>
>> > > involved.<br>
>> ><br>
>> > This is true, but OTOH, Erlang requires much more effort than many<br>
>> > other language (Perl being the gold standard here, I would say; with<br>
>> > Ruby and, increasingly, Haskell making good showings).  A good<br>
>> > repository of reusable code is a huge boon to a language.<br>
>><br>
>> When you find "a good repository of reusable code", for any language,<br>
>> please<br>
>> let us know.<br>
>><br>
>> The examples I'm most familiar with (PECL, CPAN, Rubyforge) are large<br>
>> collections of utter crap, with the occasional jewel to keep your hopes<br>
>> alive.  The vast majority of what's in any of them is buggy, limited in<br>
>> scope, doesn't do what it says on the box, poorly tested, undocumented,<br>
>> downright dangerous, conflicts with other stuff you've already picked,<br>
>> and/or depends on other modules that you either can't find or which fit<br>
>> the<br>
>> previous categories.<br>
>><br>
>> Basically, "a large library of third-party modules" isn't something you<br>
>> want<br>
>> to be relying on when you're on a deadline to produce something<br>
>> mission-critical.  Yes, your average webapp doesn't really fit that<br>
>> "mission<br>
>> critical" profile (at least, not in the same way as a telephone switch)<br>
>> and<br>
>> hence isn't Erlang's "traditional" market.  Half-arsed injuhnearing works<br>
>> well enough for a webapp; it doesn't work for something where 5-nines<br>
>> uptime<br>
>> is a failed product.<br>
>><br>
>> Personally, as an Erlang n00b, I like the different philosophies embodied<br>
>> in<br>
>> Erlang and it's surrounding community.  I've gotten sick of half-arsed web<br>
>> frameworks and the dodgiest of dodgy code hanging on by the skin of it's<br>
>> teeth.  I'm looking forward to building some slightly more robust systems<br>
>> from here on.<br>
>><br>
>> - Matt<br>
><br>
> Erlang is written on top of "a large library of 3rd party modules"<br>
> I dont think your point was to not depend on erlang?<br>
><br>
> Should people use yaws, mochiweb, iserve, crary, or write<br>
> their own web server for each application?<br>
><br>
> If people are forced to write add hoc implementations of<br>
> common problems that have been solved X times already, then libraries are<br>
> doomed to be badly written, documented and tested.<br>
><br>
> right now there are lots of well and badly written public libraries<br>
> that cover lots of the common utility functions, however integrating<br>
> them is often annoying, people are wary because they dont know<br>
> which are the "bad" or the "good" projects, people cant find or<br>
> search them.<br>
><br>
> It seems unlikely that the "good" libraries will be introduced<br>
> into otp, especially ones that are more web focused.<br>
><br>
> I think a good package manager solves a lot of those problems,<br>
> cean is older and doesnt seem to have gained traction, faxien<br>
> seemed to have early teething problems but is looking like it could<br>
> be maturing.<br>
><br>
> <a href="http://erlware.org/documentation/index.html" target="_blank">http://erlware.org/documentation/index.html</a><br>
><br>
> erlangs core doesnt need to be bloated to solve every problem well<br>
> and 3rd party libraries dont need to be badly written and untested.<br>
><br>
>><br>
>> --<br>
>> I am cow, hear me moo, I weigh twice as much as you. I'm a cow, eating<br>
>> grass, methane gas comes out my ass. I'm a cow, you are too; join us all!<br>
>> Type apt-get moo.<br>
>> _______________________________________________<br>
>> erlang-questions mailing list<br>
>> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
>> <a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
><br>
> _______________________________________________<br>
> erlang-questions mailing list<br>
> <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
> <a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
><br>
</div></div></blockquote></div><br>Heh I wanted to make it clear if it wasnt from my first post that <br>I also think erlang makes for a great platform to write web applications. having an embedded database and a proliferation<br>
of web servers to choose from are 2 big wins, and the principles<br>behind erlangs fault tolerance and concurrency orientated<br>programming are a great match.<br><br>I agree with joe's premise that those advantages outweigh the <br>
disadvantages of not having a lot of the common utility libraries<br>for a lot of people, but I dont agree that its a reason not to bother<br>providing them as a community.<br><br>