Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
tef
May 30, 2004

-> some l-system crap ->
Erlang!

Even if you don't use erlang, it is still worth understanding the architectural principles behind it. Joe Armstrong's Thesis is an excellent read.

http://www.erlang.org/download/armstrong_thesis_2003.pdf

quote:

Making reliable distributed systems in the presence of sofware errors

The work described in this thesis is the result of a research program started in 1981 to find better ways of programming Telecom applica- tions. These applications are large programs which despite careful testing will probably contain many errors when the program is put into service. We assume that such programs do contain errors, and investigate methods for building reliable systems despite such errors.

The research has resulted in the development of a new programming language (called Erlang), together with a design methodology, and set of libraries for building robust systems (called OTP). At the time of writing the technology described here is used in a number of major Ericsson, and Nortel products. A number of small companies have also been formed which exploit the technology.

The central problem addressed by this thesis is the problem of constructing reliable systems from programs which may themselves contain errors. Constructing such systems imposes a number of requirements on any programming language that is to be used for the construction. I discuss these language requirements, and show how they are satisfied by Erlang.

Problems can be solved in a programming language, or in the stan- dard libraries which accompany the language. I argue how certain of the requirements necessary to build a fault-tolerant system are solved in the language, and others are solved in the standard libraries. Together these form a basis for building fault-tolerant sodware systems.

No theory is complete without proof that the ideas work in practice. To demonstrate that these ideas work in practice I present a number of case studies of large commercially successful products which use this technology. At the time of writing the largest of these projects is a major Ericsson product, having over a million lines of Erlang code. This product (the AXD301) is thought to be one of the most reliable products ever made by Ericsson.

Finally, I ask if the goal of finding better ways to program Telecom applications was fulfilled—I also point to areas where I think the system could be improved.

Adbot
ADBOT LOVES YOU

tef
May 30, 2004

-> some l-system crap ->

MononcQc posted:

It's got Prolog-like syntax

Also worth reading is 'Use of Prolog for developing a new programming language'

http://www.erlang.se/publications/prac_appl_prolog.pdf

quote:

This paper describes how Prolog was used for the development of a new concurrent real-time symbolic programming language called Erlang.Erlang was developed by rst building a prototype in Prolog - the prototype was used bya user group to test their reactions to the language. As time passed many features were added(and removed) from the interpreter and eventually the language reached a level of maturitywhere it was decided to try it out on a signi cant problem.About 3 years and some 20,000 lines of Erlang later, performance became an issue - wewrote Prolog cross compilers from Erlang to various concurrent logic programing languagesfollowed by a direct implementation of Erlang itself. The direct implementation of Erlangwas loosely based on the WAM and made by writing a Prolog compiler from Erlang to a newabstract machine and an emulator for the abstract machine in 'C'. The instruction set forthe abstract machine was rst prototyped in Prolog - nally the compiler was re-written inErlang, thus totally removing any dependency on Prolog.This paper describes some of the key events which lay between the simple prototype andthe current version of the language.

tef
May 30, 2004

-> some l-system crap ->

Shinku ABOOKEN posted:

What projects do people use Erlang in? By that I mean, what happened that made you go "I need Erlang for this!"?

I wanted to use Erlang in my last project, a distributed web crawler. Unfortunately, Erlang wasn't on the cards.

So I poorly reimplemented process supervision in python :shrek:

tef
May 30, 2004

-> some l-system crap ->

MononcQc posted:

So I'm about to release a short free [pdf] manual on managing Erlang systems in production, with less than 100 pages. It has gone through no real editing from real editors whatsoever. From the intro:


I'm looking for people to review the document and send me back criticism by e-mail and whatnot. I'm looking for anything from grammar to "this bit here is poo poo, remove it" and whatnot.

Let me know if you're interested, I really need eyes on this.



:toot: Me too :toot:

  • Locked thread