23
Erlang Sucks or How I Lost All Hope The goal of this presentation was, basically, to commit suicide, since Joe Armstrong was in the audience

Erlang Sucks. EUC 2012

Embed Size (px)

Citation preview

Page 1: Erlang Sucks. EUC 2012

Erlang Sucksor How I Lost All Hope

The goal of this presentation was, basically, to commit suicide, since Joe Armstrong was in the audience

Page 2: Erlang Sucks. EUC 2012

Covering Erlang news for the past 5 years

Moved to Sweden just to program in Erlang

Was a web programmer (PHP, Python, Coldfusion)

Who am I? Just a regular guy doing regular stuff

Page 3: Erlang Sucks. EUC 2012

Where do I begin?To tell the story of how great Erlang could be...

Joe Armstrong: With Erlang it’s very easy to do the impossible and very hard to do the easy stuff

Page 4: Erlang Sucks. EUC 2012

Erlang

Erlang is crazy weird wonderful stuff created by mad scientists to be used in crazy weird wonderful stuff created by other mad scientists. Just look at the topics at EUC

Page 5: Erlang Sucks. EUC 2012

Rest of the world

Whereas other languages are these hipster kids showing off their new shiny toys.People coming from these languages keep asking: “Can you do this or that?” Let’s see if we can.

Page 6: Erlang Sucks. EUC 2012

This here is a cricket. You know, when there’s silence or some vast empty space filled, well, with emptiness and scilence, that’s when you hear the crickets. I’ll use this cricket to illustrate a point

Page 7: Erlang Sucks. EUC 2012

Package/library/dependency management

Perl

Python

Ruby

Node.js

CPAN

easy_install

gem

npm

How do you manage stuff in other languages? Easy

Page 8: Erlang Sucks. EUC 2012

Package/library/dependency management

What about Erlang?

Page 9: Erlang Sucks. EUC 2012

Package/library/dependency management

rebar

erlware

CEAN

agner

epm

Well, there have been attempts at that in the past and currently

Page 10: Erlang Sucks. EUC 2012

Package/library/dependency management

gem install package_name

easy_install package_name

pear install package_name (PHP 0_o)

See, it’s insanely easy in some languages. For the love of all that’s good and holy, it’s even easy in PHP!

Page 11: Erlang Sucks. EUC 2012

Package/library/dependency management

{deps, [application_name,

        {application_name, "1.0.*"},

        {application_name, "1.0.*",

        {git, "git://github.com/basho/rebar.git", {branch, "master"}}}]}.

Obviously, it’s as easy in Erlang... Or is it?

Page 12: Erlang Sucks. EUC 2012

Package/library/dependency management

{deps, [application_name,

        {application_name, "1.0.*"},

        {application_name, "1.0.*",

        {git, "git://github.com/basho/rebar.git", {branch, "master"}}}]}.

1> agner fetch package_name

You can use agner, but there some problems with it

Page 13: Erlang Sucks. EUC 2012

Libraries: ImagingPerl

Python

Ruby

Node.js

PHP

Haskell

Go

2971 hits on CPAN

PIL

105 hits on rubygems

37 entries in npm

built-in

242 entries on Hackage

5 packages

Ok, what about other stuff. Perl isn’t even funny, but even Go has 5 packages.

Page 14: Erlang Sucks. EUC 2012

Libraries: Imaging

Erlang is on par with them, is it not?

Page 15: Erlang Sucks. EUC 2012

Libraries: Imaging

erl_img

Well, if your goal is only to read EXIF data, then yes, of course

Page 16: Erlang Sucks. EUC 2012

Libraries: Formatted TextMarkdown Textile BBCode ...

Python

Ruby

Haskell

Go

Erlang

What about some really basic stuff?

Page 17: Erlang Sucks. EUC 2012

Libraries: The CloudAmazon Rackspace Heroku ...

Python

Ruby

Haskell

Node.js

Erlang

What about this next great thing everyone’s talking about: the cloud? I mean, c’mon. Node.js is two years old and it has everything

Page 18: Erlang Sucks. EUC 2012

You see?

This really goes beyond just the few things I’ve shown here. If you need something insanely cool and hardcore, someone’s doing it with Erlang. If you want something simple that everyone in other languages seems to be using, you’r out of luck.

Page 19: Erlang Sucks. EUC 2012

http://erlanger.ru/

News

Forum

Wiki

3 years PHP2 years Erlang

PHP

PHP

I know what I’m talking about, some of this stuff is impossible even today

Page 20: Erlang Sucks. EUC 2012

Sucks Not

Frontend

“Mainstream” libraries

Small projects

Medium projects

GUI

Backbone

Some of backend

Management

If it ain’t 5 million hits a day, it’s not a project

I’d say that Erlang really doesn’t suck... in some pretty serious areas. And sucks in some less serious ones

Page 21: Erlang Sucks. EUC 2012

Moral of the storyfunny and insightful at the same time

Really, there was no moral :) If we want Erlang to be more “mainstream”, we should really try and build some of the stuff the “hipster kids” take for granted. Obviously, I want someone else to do that :)