Erlang killer app?,

Shawn Pearce <>
Mon Jul 22 00:40:06 CEST 2002


Isn't this kind of what this thread is about currently?
``I like Erlang, so what can we make in it?''

I agree however, that its very, very common for developers
to pick up langauges such as Java, but shun something such
as Erlang, just because of the sheer hype, marketing, and
influence of coworkers.  Then they come with an idea and
create a software package in it, even if that means
lots of work because of the wrong language selection.

I myself shuned using Ruby for a project that others who
know it have said it would have been good at.  Instead
I have a 65,000+ line C++ monster I'd prefer not to touch.
I also know I was tempted to port it to Erlang, just because
I knew the language and thought it would be `cool'.

I've also used Tcl and Java for a project that I think
would be much better suited to Erlang, except:

	1) I don't know the state of SAE on Windows.  Tcl
		can be built to a stand alone Windows .exe,
		perfect for my application.  No DLLs are required.

	2) Erlang doesn't have XSLT and FOP->PDF available.
		(But JInterface would work well enough here with
		 only minimal Java code that I could use the
		 Java based processors.)

	3) Programming web interfaces in Erlang still isn't
		a strong suite of mine, despite that I do it
		in nearly every other language.  Perhaps its
		because I still think yaws,inets,etc are weaker
		than the other offerings... not that I really
		like Java servlets and JSP that much.

	4) My coworkers don't know Erlang and don't want to
		bother with the "chore" of learning a language
		other than the One-True-Language-Called-Java(tm).
		Its just too much of an inconvience for them.  Too
		much effort, too much thinking and studying required.

Conversely, I chose C/Erlang for my video application,
only because its very similiar to what the telecomm guys
do with Erlang.  Much of the "routing" and "control" is
done in Erlang, with the device specific bindings and
speed critical sections in C.  Erlang made perfect sense
to use, as it had an integrated database, code reloading,
distributed messaging, which were all critical as I am
attempting to create a multiple computer solution.

I think Erlang's biggest strength is really the points
mentioned earlier in this thread about fault tolerance,
distribution, etc, but also how well it coordinates
and integrates with other systems.

Just how "easy" is it to hook Java to C or C++?  What
about making Java act as an NFS server to communicate
with Unix clients? 

Erlang people do this all of the time, because its so
easy.  And because its so easy, we try not to reinvent
the wheel (when possible), unlike our Java, Perl and
Python friends.

I think its because:

	Erlang is concurrent, and with message passing
	so central to its design, that it is very trival
	to declare some unknown black box as 'another
	concurrent process, handling messages'.  This
	fits perfectly into the environment, and the
	environment fits perfectly to it.


Thierry Mallard <> scrawled:
> On Sat, Jul 20, 2002 at 05:33:46PM -0700, isaac gouy wrote:
> > [ Choosing a language ]
> > I asked the OpenNMS guys why they chose to develop in
> > Java. They didn't have much experience of Java when
> > they started but from their C++ perspective "It seemed
> > the right tool for the job of writing something easily
> > portable with a rapid development time."
> > "> Has anyone on the OpenNMS team heard of Erlang?
> > Heard of, yes.  Looked at, not really...
> > > Was it ever considered as an implementation choice?
> > I doubt it"
> 
> In my humble opinion, this is a common pattern : often, specially when
> it's a "hobby project", the developers thinks first "ok, I like
> this language and I want to code with it. Now, what can I do... ? "
> and not : "Ok, there's problem here that needs to be solved. What would
> be the betters tools (language among others) to solve it ? "
> 
> For example -and only an example- I wondered recently why Zope was
> written in Python. The answer Jim Fulton gave in an interview was 
> " I was a convert to Python by that time. ;) "

--
Shawn.

Why do I like Perl?  Because ``in accordance with Unix tradition Perl
gives you enough rope to hang yourself with.''

Why do I dislike Java? Because ``the class ROPE that should contain the
method HANG to do the hanging doesn't exist because there is too much
'security' built into the base language.''



More information about the erlang-questions mailing list