Home > News content

1998-2018 Erlang programming language open source 20th anniversary

via:开源中国     time:2019/2/11 9:32:41     readed:239

This release is very calm. There was no public relations at the time of publication, no publicity or media coverage. Only a simpleErlang.orgWebsite (manually edited with the vi editor). An email was sent toErlang mailing list, a post atSlasdotCreated a home page and mentioned it at the same timeComp.lang.functional(Joe follows up with due diligence). No other marketing campaign has proven that Ericsson has released a huge open source project. The focus of my week that week was not the release of Erlang, but the performances of Marky Ramone and Intruders in downtown Dallas. I hardly know how open source Erlang affects the technology industry, my career, and many people around me. What makes Erlang stand out from Ericsson? For a variety of reasons, many of us want Erlang to be released as an open source. Some of my colleagues at Ericsson want to leave their current position, but still want to use what they think is a silver bullet.Developmentproduct. Others hope to make the world a better place by providing superior tools that provide the public with fault-tolerant and scalable systems. For Ericsson's management, the wider adoption of Erlang means that more talent can be recruited from it.

Jane WalerudCathedral and Bazaar paperConvince Ericsson management to release the source code of the Erlang VM, the standard library, and part of the OTP.

Before Erlang appeared, many people did not believe that this would happen. Some people worry that at the last moment, Ericsson will give up the whole idea. Open source, the term that was created just a few months ago is a strange, terrible new monster that big companies don't know how to deal with. There are many concerns about this. To reduce risk, the city’s legends, our friendsRichard O’KeefeHe was at the Otago University in New Zealand and came to the rescue. The midnight of the East appeared extraordinarily early, so the erlang.org website was on the line for a few minutes when the New Zealand midnight clock was ringing. This time is enough for an anonymous user to download the first Erlang version, which ensures that it can escape Ericsson. Once the download is confirmed, the site is offline again and will only be reopened after 12 midnight Swedish time. I fell asleep in Dallas, so I can't confirm or deny whether this really happened. But like every legend, I believe there are some facts behind it.

.com bubble era

I remember every time we found out that we were excited to use Erlang/OTP's new non-Ericsson products. Swedish telephone company Telia is focusing on call center solutions. The UK mobile operator One2One initially used it for value-added services and used it for the core network. IdealX in Paris, first involved in messaging and XMPP. The Vail system in Chicago uses it for automatic dialing software. Of course, Bluetail has many products that offer scalability and resiliency to Internet service providers.

Erlang's usage continues to expand in Ericsson's core products. This coincides with the time I moved to London in 1999, and I am increasingly having difficulty understanding Erlang's expertise within Ericsson. Erlang Solutions was born. In the year of the company's founding, I have clients in Sweden, Norway, Australia, Ireland, France, the United States and of course the UK. In 2000, we won the first non-Ericsson customer; Paris's IdealX.

this isAlteon Web SystemsThe acquisition of Bluetail for $152 million (Altel was acquired by Nortel a few days later), it smashed the first batch in the Erlang community. Ericsson competitors are developing Erlang products! There is also a generation of successful entrepreneurs who have the funds to participate in many other startups; Synapse, Klarna and Tail-f are part of it.

Shortly after Bluetail's success, .com began to crash, the entire industry entered a survival mode, and then resumed mode. However, the industry has not affected the scholars who are fully committed. In 2002, Professor John Hughes of Chalmers University successfully hosted the Erlang seminar certified by SIGPLAN and ACM. We don't really know what it all means, but we are still very proud of it. The ACM SIGPLAN Erlang seminar in Pittsburgh (Pennsylvania) was the first seminar to be certified. Here, Richard Carlsson, a Ph.D. student from Uppsala University, showed the world the Erlang version of the try-catch mechanism.

In September 2004, Kostis Sagonas from Uppsala University held a quick lecture at the ACM SIGPLAN Erlang seminar in Snowbird (Utah) and publicly demonstrated the Dialyzer for the first time. He ran it on the code base of Teba Bank in South Africa. This is the first of many magical tools he has contributed to the ecosystem.

Erlang has long been used to teach all aspects of computer science at many universities around the world. This in turn led to related research, master thesis and doctoral programs. The seminar provides a forum for academia to publish its results and validate it with industry partners. Content downloaded from the erlang.org website is increasing with exposure.

In 2003, Thomas Arts, project manager at the IT University in Gothenburg, invited me to teach Erlang courses for his undergraduate classes. Although Professor John Hughes already knows about Erlang, he wants to learn from people who use Erlang in production. One morning, he was exhausted in class because he was staying up late. He developed the first version of Erlang QuickCheck and tried the course exercises with due diligence. This is the starting point for Quviq and the commercial version of QuickCheck, a premier property-based testing tool. I ended up teaching at IT University for ten years and more than 700 students took part in this course.

Entering the message

During the dot-com bubble burst, Alexey Shchepin began researching an XMPP-based instant message called ejabberdserver. After three years of hard work, he released version 1.0 of Facebook Chat on December 1, 2005, and launched a chat service to 70 million users. At about the same time, Brian Acton and Jan Koum founded WhatsApp, also based on the Ejabberd branch. Thanks to the hype of the Ejabberd branch, MongooseIM did the same thing and became a common platform for large-scale messaging solutions.

In May 2006, RabbitMQ was born, which defines and implements a new publish/subscribe messaging standard called AMQP. RabbitMQ is now the backbone of tens of thousands of systems. By the end of the decade, Erlang has become the language of choice for many messaging solutions.

Multi-core year

During dot com recovery, not only is the university innovating. In May 2005, the multicore version of the BEAM VM was released, demonstrating that the Erlang concurrency and programming model is ideal for future multicore architectures. A lot of excitement is concentrated on Erlang's mailing list, because not many people realize that the free lunch is over. We chose Ejabberd and just compiled it into the latest version of Erlang, which increased throughput by 280% when running on quad-core machines.

May 2007,ErlangThe original 1991 version was anonymously leaked into the VHS copy of the Ericsson Safe and placed on the erlang.org website, which was eventually placed on YouTube. No one has yet publicly assumed responsibility for this act. However, the world finally understood what people still exist under the Ericsson NDA. No computer scientist gave up their daily work... It got a sequel in 2013 and let Erlang see it. It's cool. This time, the person who posted its curpruit was identified as a resident of Chicago.Garrett Smith.

In 2007, "Erlang Programming" by Joe Armstrong was published by The Pragmatic Programmers. The following year, in June 2008, I got the first version of the paper copy of Erlang Programming; a book written by Simon Thompson and me, which took 19 months to write. At the time, O'Reilly's book was a ticket to the emerging programming language, giving way to many other exotic books.

The Erlang community in Europe met for the first time with its American counterparts. As you can imagine, we will see it as it is. At the meeting, Tony Arcieri presented Reia, which is a Ruby-style version of Erlang running on BEAM. Who said that Ruby-like grammar is a bad idea? Other speakers and attendees were leaders who had outstanding careers in the past, such as entrepreneurs and technology leaders.

At the time, the Erlang user in the United States was Tom Preston Werner. He is using it to extend the Ruby front end of Github's shared code company. In November 2009, when I attended the Erlang User Conference in Stockholm, I introduced him and Scott Chacon to the OTP team. They spent an afternoon together, which led the OTP team to transfer Erlang development to github, making it the main repository.

The relevant conferences are all over the world. The corresponding events have been held in Amsterdam, Bangalore, Berlin, Buenos Aires, Brussels, Chicago, many cities in China, Krakow, Los Angeles, Paris, Mexico City, Milan, Munich, New York, Rome, San Francisco, St. Andrews It was held in Tel Aviv, Vancouver, Washington, DC and many other places.


In January 2011, the first submission in the Elixir repo took place. The results were presented at the Krakow Erlang plant the following year and the 1.0 version was completed in September 2014. Like all successful languages, he tried to solve a problem that brought the power of Erlang to the broader Web development community.

The time is right. In January 2012, WhatsApp announced that by modifying FreeBSD and BEAM, they implemented 2 million TCP/IP connections on a single VM and host. Their goal is to reduce operating costs and run scalable services on as little hardware as possible. This is one of the things that apply to many vertical industries, and the network is one of them.

In the same month as the WhatsApp announcement, a group of related companies gathered knowledge, time and resources to create an industrial Erlang user group. Together with Ericsson, they migrated Erlang to the Apache license, contributed to the poor scheduler, launched the error tracking tool, funded the new erlang.org site, enabled Erlang Central, and worked together to build a benchmark.

Elixir era

In July 2014, Jim Freeze hosted the first Elixir conference in Austin (Texas). There were 106 participants, including the keynote speaker Dave Thomas. Chris Mccord introduced the beginning and end of Phoenix's rebirth. Robert Virding and I are also part of this lineup. I clearly remember that my message is: Just because you know Ruby, when they tell you that learning Elixir is easy, don't trust them. You need to consider the challenges that correspond to them at the same time.

The main idea behind Elixir is concurrency, knowing how to deal with it is critical to the success of the project. A year later, in August 2015, Phoenix 1.0 was released. It has the same effect as Rails on Ruby, bringing people into the Elixir era. Currently, you don't need to master concurrency to get it! Soon after, Nerves appeared, freeing Elixir from a pure network.

At Elixir Conf, I talked about the book I created with Steve Vinoski, "Using Erlang/OTP's Design Scalability." At the time, it was in the beta release phase. What I can't predict is that I have to wait until June 2016 to get a paper copy. The last four chapters, which should have been independently written, cost me 1.5 years to write. The main lesson for those who want to write a book is that if your partner tells you "you are going to be a father", you will have 8 months to complete the book. Another option is that you end up like a me, attending the conference a few days before your second child was born. This book is dedicated to Alison, Peter and our children bump. Our child was born in early July and brought the truth to Erlang, like "You didn't really understand concurrency until you gave birth to your second child."

Erlang ecosystem

Throughout 2016, Elixir's penetration rate continues to grow. The meeting on Lisp Flavored Erlang and Effene - the other two languages ​​on BEAM - revealed that their code is already running in production. New experimental transplants are constantly appearing on our radars; the era of language is over. Like .net, it's similar to C#, F#, Visual Basic, and other languages ​​or JVM ecosystems that include Java, Scala, Clojure, and Groovy, to name a few. The same thing happened to Erlang and BEAM, which prompted Bruce Tate to name it Erlang Ecosystem.

Clojerl, Effene, Elixir, Erlang, Erlog, Erlua, Fez, Joxa, Lisp Flavored Erlang and Reia, together with Erlang and Elixir, opened the era of cross-language interaction and collaboration. Together we become stronger and continue to grow!

In December 2018, the paperwork of the Erlang Ecosystem Foundation was submitted, establishing a non-profit organization whose goal was to nurture the ecosystem. I expect more languages ​​on BEAM to become more popular as we improve interoperability, common tools and libraries. As the demand for scalable and fault-tolerant systems increases, the impact of Erlang's construction and semantics on new languages ​​inside and outside the ecosystem is also increasing. I hope this will set sail as the leader and pioneer of next-generation technology in the next 20 years.


In 2018, the Erlang Ecosystem (formerly known as the Erlang User Conference) was invented at the Code BEAM Stockholm conference, and Johan Bevemyr from Cisco announced that they would migrate 2 million devices per year to Erlang. This shocked the audience because it meant that 90% of Internet traffic went through routers and switches controlled by Erlang. Erlang provides support for Ericsson's GPRS, 3, 4G / LTE, and if Ericsson's recent job advertisements can be implemented, 5G networks are also included. Implement MQTT for the IoT infrastructure with VerneMQ and EMQ (the most popular AMQP broker). Erlang not only supports the Internet and mobile data networks, it is also the backbone of tens of thousands of distributed fault-tolerant systems. Switch billions of dollars a day through its financial switches while delivering more messages through its messaging solution. This is definitely not a fabrication!

These are just some of the personal points I have made in the past 20 years. In short, this is a far-reaching implementation. In 1995, Joe Armstrong told me that Erlang would not last forever. One day, he said that there would be a better language. Fast forward to December 2018, I still wait for the prophecy to come true with an open mind. Whatever it will be, there is no doubt that Erlang will have a major impact on it.

Many thanks to Joe, Mike and Robert for their first call and thanks to Bjarne for enabling it. Pay tribute to Jane, who has made it independent of Ericsson and has ensured its existence. You have started some things that allow me to meet, collaborate and learn with amazing and talented people using the technology we all love. It provides us with a platform that enables many of us to drive innovation, at least for the next 20 years!

China IT News APP

Download China IT News APP

Please rate this news

The average score will be displayed after you score.

Post comment

Do not see clearly? Click for a new code.

User comments