# Erlang Ecosystem: Scalability, Resilience, and Enterprise Strategy

**Podcast:** Software Architektur im Stream
**Published:** 2026-08-21

## Transcript

Hi, I am Alaroy Schumbach.
Do you organize any user groups, conferences or other tech events?
Then feel free to add them to Treff.dech, an uncommercial platform for tech events in the German-speaking community.
It's free without any advertising or tracking.
Just visit Treff.dech.de Okay, so welcome to another episode of Software-Tichtum Stream.
This time with Franz Schreck und Cesarini.
And we will talk about the Erlang ecosystem.
So first of all, Francesco, willkommen to the show.
Thanks for doing this with me.
Can you say a few words about yourself?
So, hi, thank you.
Hi to everyone.
Thank you so much for having me.
So, my name is Francesco, half Italian, half Swedish.
I've been working with the Erlang ecosystem since its early days.
So, lucky enough from being, seeing a programming language, you know, become an ecosystem of languages.
Ich begann bei Ericsson, die eine Consulting-Arm-Konferenz-Arm-Konferenz-Arm-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Konferenz-Kon Ja.
Und wir haben links zu den Podcasts, so wenn du in die Erlangen-Ecosystem hast, kannst du das machen.
Ich meine, zwei Dinge, die ich möchte highlighten.
So, first of all, du hast es bereits gegeben.
Erlangen ist zu Ericsson, nicht zu der Stadt Erlangen in Deutschland, das einige Leute glauben.
Und die andere Sache, die ich finde interessant ist, du willst du darüber reden, die Rolle Erlängs in den ersten Zeiten von WhatsApp?
Ich denke, das ist sehr spannend.
Ja, ich meine, in den ersten Zeiten, wenn du auf WhatsApp schauen, sie haben eine Open Source Messaging Solution, die E-JabberD.
Und sie haben sie einen Fokus geändert.
Jan und Brian Die haben keine Externals Investoren.
Sie haben es selbstverständlich.
Und sie hatten eine Zielgruppe, die die Überhörterung der Verhörterung zu reduzieren und versuchen, zu bekommen, dass es viele User auf eine Maschine gibt.
Das ist ein Schwerterungsverfahren, aber es auch die Operational-Kosten.
Und so, das ist das die Fokus.
Und, um, ja, ich glaube, 20...
2011, sie hatten 1 Millionen TCPIP-Connections auf eine Single-Machine.
In 2012, sie publischen Blogposte, die hat 2 Millionen User geschlossen.
Und sie hat das gemacht, indem sie FreeBSD und optimiert die Beam, die prevalenten Erlang-Virtual-Machine, die die vorhanden.
Das ist der impact sie auf die Community hatte.
Die Veränderungen sie gemacht wurden, die Mainstream zu machen.
So drei Jahre, vier Jahre, du warst 2 Millionen TCPIP-Konnectionen auf eine AWS-Instanz.
Die Veränderungen zu FreeBSD wurden in Mainstream-Operating Systems und die Veränderungen zu den Beam.
und sie haben die Fenix, die wir vielleicht noch ein bisschen darüber sprechen, die in der modernen Rehabilitationen sind, in Elixir, eine der anderen Sprache in der Erlang-Ecosysteme.
Sie waren able zu bekommen 2 Millionen WebSockets, die auf eine Maschine geschlossen sind.
Das ist das, was sie wirklich geholfen hat.
Und ich denke, wenn sie in 2014 wurden, die Server-Site-Team, das war die Team, die ...
Die waren alle neue Features, die all die Existenz-Features gestorben waren.
Die waren auch diejenigen, die die Operationen waren, die in der Mitte der Nacht waren, während es eine Outage gab, mit rund 10 Leuten.
Es war ein wirklich kleines Team.
Und an der Zeit, sie hatten 400 Millionen User, und sie waren auch 1 Millionen User-A-Day.
Das spricht zu den poweren von cleveren Menschen, die die richtigen Tools und die richtigen Dinge richtig sind.
Ja, und ich finde das Story sehr impressionant mit den 400 Millionen Zusern und 10 Millionen Menschen, weil die average Team, die ich sehe, ist bereits larger und sie sind nicht mehr.
So, when we originally discussed this episode, you suggested that we shouldn't talk about Erlang, but rather the ecosystem.
Why?
Well, I mean, Erlang is a programming language, but it's one of the many programming languages which today make part of the whole ecosystem.
And, you know, it's, you know, if you look at it, you know, Du kannst einen Analog mit der Java-Ecosystem oder der .NET-Ecosystem.
Der Java-Ecosystem includes Scala, Clojure, Groovy, Kotlin, JRuby und viele mehr.
Und das auch mit .NET, die mit C-Sharp, F-Sharp, Visual Basic, PowerShell.
Ich würde sagen, dass es über 40 Sprachen gibt, die heute auf der Beam-Virtual-Machchine sind.
Und alle diese Sprache werden die Erlang-Semantiken und die Propräte der Beam- und die Beam- und die Erlang-Semantiken.
So, zurück zu 2008-2009, die ersten waren Rea, die Erlang mit Ruby-like Syntax und Effener, die C-like, die war inspiriert von C.
Die meisten populärer sind heute, die ich weiß, haben in der Produktion genutzt.
Erlang ist eine ganze Portion von Lua auf dem Beam.
Es ist für die Schriftung, für die Test-Case, für die anderen Verlangen.
Elixir wird wahrscheinlich 10x größer als Erlang, wenn es nicht 10x größer als Erlang ist.
Das wurde von Jose Wallin gegründet, um Erlang zu bringen, zu vielen anderen, größten Gemeinden.
High-scale distributed systems.
Okay, how do we bring it to the web?
How do we bring it to the embedded space?
Gleam is a new and upcoming language by Louis Pilleford, bringing static typing to the Beam.
So these are the ones which are really beginning to take off.
And just to give you an idea, new languages which I came across recently, and I'm talking the last couple of months, include Bondi.
Das ist auf die Möglichkeit, die auf die Systeme auf die IoT-Agen-Agent-Multiparty-Systeme in der IoT-Systeme.
Es gibt viel in das Spazier.
Und Cure, das hat schon seit einem Zeitpunkt, aber es kam auf meinem Radar.
Ein Dependency-Type-Language, die Targeting-De-Beam-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-Bem-B Diese sind die Sprache, die sich mit einem anderen anwendet, die manchen, die manchen, die manchen, die manchen, die manchen, die manchen.
Und gleichzeitig, die manchen, die alle optimisationen, die Ericsson ist, auf der Beam Virtual Machine, die Compiler und die Toolchain, auch.
Es ist nicht die Sprache, die die richtige Sprache für die Arbeit.
Es ist, dass es die richtige Sprache gibt.
Das ist das, was eigentlich was, was helping expand the whole user base.
Ja, ich habe zu sagen, wenn man es aussehen kann, Erlang ist es ein bisschen, let's say, special in der Syntax, ich würde sagen.
Ich bin nicht sicher, was du denken, aber es ist unlike andere Languages, ich denke.
Der Syntax ist da, weil die erste Virtual Machine, die in Prolog war, Und das hat sich sehr gut geführt.
Und das ist, glaube ich, eine der Grund, warum es nicht so populär heute als es sollte.
Aber wenn du ein Computer Science hat mit dem Computer Science hat, Syntax ist etwas, was du über das in ein paar Tage oder so und nicht mehr denken über das, weil es einfach etwas, was dein Langer Inventus hat.
Wenn du nicht ein Computer Science hat, wenn du nicht exposed bist, mit einem halbener Sprache in der ersten zwei bis drei Jahre in der Universität, dann wird es viel schwieriger.
Und das ist understandable.
Und das ist das Elixir.
Es hat eine Ruby-like Syntax.
Die User geteilt in diese falsche sense von familiarity.
Sie fühlen, dass das so familiar ist.
nicht realisieren, dass es ein komplett anders language ist, und es funktioniert in eine komplett anders Art.
Aber der erste obstacle ist, dass es, weil es keine Neu-Syntax gibt, und das ist etwas Josef Berlin, die wirklich gut zu haben.
Und das ist etwas, was wir in der Erlang-World nicht quite getroffen haben.
So vielleicht ein möglicher Hohenwerk wäre, um zu sehen, dass Erlang, die Sprache und auch ...
at Prolog and see what you can do with it.
And I had pretty good experience with spending a weekend with Emacs Lisp and having ChatGPT talk me through how to get started with it.
So maybe that's an option.
Okay, so interesting.
So Fabotti said that he learned Erling in an ISLQB training.
So that's the...
International Software Architecture Qualification Board.
And he has to admit that it was quite challenging coming from Java.
And yeah, maybe that's the point, right?
With the curly braces and that you're used to with the C languages and then learning just looks very different.
I think the real challenging thing more than looking different is that, you know, a programming language worth learning is a programming language which changes the way you think and reason.
Was ist die größte Sache, die Erlang zu lernen?
Everything else you've learned about other programming languages.
That's the hardest part because it's a different approach.
It's a different way of structuring your programs and it's a different way of thinking.
It's a different way of handling your errors.
And when you start thinking of it that way, you actually stop overengineering.
That's what we see a lot of C programmers do, for example.
They think in terms of performance.
No, let the VM handle the performance.
Just make sure you don't have bottlenecks in your system.
Stop trying to be the fastest program out there.
You need to be fast enough.
It doesn't matter if your request takes 200 milliseconds or 400 milliseconds.
What's important is that it doesn't take more than 400 milliseconds when you've got a spike of a million users hitting your system at the same time.
Those are the things you need to think about.
And that's, I think, Das ist die Harde.
Es ist mehr als Unlearning.
Ja, ich denke, das ist ein guter Punkt, dass du die Unterschiede zwischen Performance und Scalability hast.
Oftentags, Scalability ist wirklich die Problem, dass wenn du viele User hast, dass du die System scale, so add mehr resources zu den System und dann die richtige Performance hast.
Was you just said is really, really important, because that's the difference between the JVM and the Beam.
The JVM was built for speed.
If you look at floating-point operations, when Erlang was ported to the JVM, floating-point operations in Erlang on the JVM were 2,000 times faster than on the Beam.
Aber gleichzeitig, versuchen wir zu 2 Millionen FEDs auf dem JVM zu schaffen.
Es wird nicht funktioniert.
Du kannst 2 Millionen Prozesse auf dem Beam in kein Zeitpunkt, ohne Probleme zu haben.
Das ist das, was wir mit dem Scale bedeutet.
Your peaks of, you know, Discord messages coming in or your tweets or your WhatsApp messages, you know, and handle them in a very predictable way, optimally using your resources versus the JVM, which will be incredibly fast at, you know, managing, you know, a single request on a thread.
you're going to struggle when you start hitting scale.
You just said the sort of magic word, process, because that's the alternative to Dermaphos and the concurrency principles in the other languages.
So can you explain what a process is and how it's important?
So a process is the main building block of your Erlang programs.
Ich glaube, es ist ein Konzept, das sie aus Smalltalk auszudrücken, das ist eine Art von Object-Orienten-Lang.
In Smalltalk, man hat Objekte, die nicht mit Erlangen, und sie mit ihnen kommunizieren, durch die Message Passung.
Wenn man die Prozesse anschaut, ist die Hauptgeböden, die nicht mit Erlangen haben.
und sie kommunizieren mit dem Message Passing.
Und zu quote Alan Kay, in der Definition von Object-Rei-Entre-Programmung, Paul sagt, das mit Inheritance kam dann, das kam dann, das kam dann, wenn C++ kam.
Und wenn die Prozesse nicht mit der Erinnerung haben, dann bekommt man die Möglichkeit, die Möglichkeit, ich glaube, die Probleme, die Möglichkeit, die Probleme, die Probleme, die Probleme, die Probleme, ich glaube, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, die Probleme, ein Modell based auf threads, wo sie share memory.
Das bedeutet, dass wenn threads die Kriterien zu accessen, sie es lockt, ist, dass sie eine Lock-Karte.
Die größte Problem mit dem Schaden und Multicore-Architectur ist die Lock-Karte.
Das ist auf der Kosten für die Daten zu kopieren, von einem Prozess zu einem anderen.
So, this is the key part.
And message passing is asynchronous, so it's non-blocking.
So, you can actually send a message and then continue executing.
And it's asynchronous message passing, which you need for speed.
And so, as soon as you've got processes with social memory, you've got distribution built into the language semantic.
Distribution built in.
Weil man kann die Prozesse auf verschiedene Machinen setzen.
Und wenn man das macht, man hat die Distribution.
Erlang hat die Distribution in die Semantik der Sprache.
Und so kann man einen Prozesse senden von einem Prozesse zu einem anderen.
nicht wissen, ob sie auf eine andere Maschine oder nicht.
Es könnte auf der gleichen Maschine sein oder auf einer anderen Maschine sein oder anders.
Und so, die Location wird transparent.
Jetzt, dass du eine Distribution hast, du automatisch kriegst du Replication aus, weil du Redundant Instanz hast.
Du kannst die Konten des Prozesses auf zwei Maschinen copy.
So, to quote Joe Armstrong, one machine might be struck by lightning.
Joe Armstrong ist einer der Co-Inventors von Erlangen.
Und so, all of a sudden, you've got a copy of the data in another process, and it works.
And that gives you full tolerance.
And you can also go in and spread your workload across nodes.
And as you spread your workload across nodes, all of a sudden, you've got two machines, you double your computing capacity.
Aber das macht man das mit keinen Veränderungen in deinem Programm.
Denn, wiederum, die Location ist transparent.
Du wirst nicht wissen, dass du eigentlich zwei verschiedene Machines hast, weil du die Prozesse in ein Cluster der Nodes konzentrieren kannst.
Und so, die Message könnte auf eine Netzwerk sein, es könnte nicht.
Und die Liebe dieser Konkurrenz-Modell ...
Ich meine, diese sind die Entscheidungen, die sie sehr, sehr, sehr early gemacht haben.
Und sie predate Multicore.
Aber wenn man Distribution in Multicore Architektur hat, bei der Falle auch parallelism.
Und parallelism in den ersten Zeiten war, dass wir zwei Nodes auf der gleichen Maschine hatten, die sich dann mit I.O.
Aber jetzt, seit 2006, wir haben, dass wir die VM haben.
Jetzt, wir haben eine Schädler für die Chore, und dann, die Chores auf die Chores, die Chores auf die Chores, die Chores auf die Chores, die Chores auf die Chores auf die Chores auf die Chores auf die Schädler.
So, automatisch, du hast Parallelismus.
Und du hast es.
Als ich schon erwähnt, der größte Problem mit dem Schädling auf Multicore Architektur ist Mummerlock-Contention.
Es gibt keine Schärf-Memory-Lock-Contenten hier, weil es keine Schärf-Memory gibt.
Und so, ja, wenn man keine Bottlenkungen hat, ein Programm, das ist zu sein, auf eine Quad-Core-Machin, wenn man es auf eine 16-Core-Machin hat, wird automatisch runniväß 4x schneller, ohne zu verabschieden oder zu re-Compilen es.
Und man denkt, dass diese sehr sehr unterschiedliche Probleme sind, aber...
In der Fall, sie sind alle verbunden.
Durch die Distribution, man bekommt die Stabilität, man bekommt die Reliabilität, aber man bekommt auch die Parallelität.
Ich weiß nicht, ob wir in der Geschichte der Computer Science interessieren, aber ich glaube 2018, ich habe Tony Hoare.
Der Kreator von CSP, der Kommunikation Sequential Processes hat.
Er hat auch HoreLogik und Quicksort gemacht.
Wir haben Karl Hewitt, der Kreator der Actor-Modell.
Und Jo Armstrong, der Co-Kreator von Erling Style Concurrency, in der gleichen Raum, in der PANEL.
Und diese sind die drei Leute, die die Grundsatz der Grundsatz für modernen Konkurrenz-Programm und die Influenzierung der meisten.
Und ich fragte alle von ihnen, was Probleme Sie versuchen zu lösen?
Und die Antworten einfach blew mich weg.
Tony Hoare, ich versuche, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden.
Karl Yud, ich versuche, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden, wie man sich herausfinden.
Und sie alle zusammenfassenen eine sehr, sehr andere Lösung.
Sie haben zwei Unterschiede, aber die Lösung war sehr, sehr, sehr ähnlich.
Und so drei Visionaries, die auf der Grundlage waren, auf die sehr unterschiedlichen Probleme waren, aber eigentlich, nein, sie waren alle auf Probleme, die sehr, sehr verbunden sind, alle auf eine Konkurrenz-Modelle mit Notion-Memory, die gibt es die Distribution, die Stabilität, Reliabilität und Parallelismus.
Wir wissen, heute, sie waren verbunden, sie definitiv nicht, dann.
Which sort of makes you wonder why not everybody is using this these days.
And also there is the comment by Christian Trutz, and he said, super fast Erlang tutorial.
So based on what you just said, how does, so is there garbage collection on Erlang, in Erlang systems or in the Erlang VM or the Beam, I should say?
Yes, so.
Der Garbage Collector ist sehr optimisiert, um keine Eingang auf die Software realtime Projekte der Sprache und der System zu verändern.
Es ist ein Generational Garbage Collector, der auf ein prozessive Prozess wird.
Es gibt keine Stop-the-Welt Garbage Collector.
Das bedeutet, dass wenn ein Prozess aus dem Gelegenheit braucht, es mehr Gelegenheit braucht.
Die Garbage Collector ist in den Stag und die Hebe, die nicht mehr benutzt wird, und es stopt, als es genug genug hat.
Es sind sehr kleine, sehr kurze Verschleuner, die Garbage Collector nur einmal.
Und das ist nicht dokumentiert für eine Grundlage.
Man muss die Sorte Code in und die Sorte Code beenden.
Aber ich denke, dass jedes Jahrzehnt, die Verbrauchung von Verbrauchung macht, was wir callen ein Full Sweep.
Und frees auf alle Memory, um zu sicher, dass es keine Memory Leaks gibt und reduziert die Risiken der Fragmentation.
Und bei dem das so machen, man bekommt...
Es gibt eine wirklich gute Begründung von Ihren Durchput.
Und Sie haben nicht den 1% der User, die die Requesten sind, die die Verkaufs-Verlusten sind.
Es ist eine große, große Unterschiede zwischen JVM und .NET.
Und es ist möglich.
Du kannst das auf den JVM oder .NET machen, weil es shared memory ist.
Du hast eine sehr, sehr complexe Garbage-Collektor.
Ich habe die Person, ja.
Erlangen, der von JVM-Garbage-Collektor ist, und er hat heute auf dem Go-Team gearbeitet.
Er hat alle die Papers auf Erlangen-Garbage-Collektor gesehen und gesagt, ich wünsche nur, dass die Memory-Management so einfach in der JVM-Garbage-Collektor ist.
Es ist nicht.
Die Schriftsteller-Memorie ist kompliziert.
Versus die einfachste approach, die sie auf die Beam-Garbage-Collektor haben.
The other thing, I mean, we sort of, we didn't really mention it explicitly, or you didn't really mention it explicitly, but Erlang is obviously from a high availability background.
So how is high availability done in Erlang?
So basically ensuring that there's no single point of failure.
You need two of everything.
You need, and that's a simplistic view, but you need two networks, you need...
Du musst zwei Redundant-Power-Supplies, zwei Virtual-Machines und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und, und Die Anforderungen auf Telekom Networks, bei der Art, Telekom Networks, konnte nicht die Software oder die Hardware nicht.
Es war, dass es, während einer Erdbewegung, während einer Erdbewegung, man musste, dass du telefonisch auf den Telefonnummer und die Erdbewegung auf den Anforderungen zu bekommen.
Und, nach in den Tagen, wenn dein System nicht funktioniert, wenn dein Telefonnummer nicht funktioniert, es würde die Frontpages der Journalisten machen.
Es gab große Penalte, die mit dem Anwendungsverfahren und oftmals die Regierungsverfahren.
Das bedeutet, dass man Systeme, die nicht zu verlieren.
Das ist genau das Problem, wenn man die Inventer-Eirling in der Zeit versucht, zu lösen.
Wie können wir sicher, dass unser System nicht zu verlieren, wenn jeder auf New Year's Eve auf die Telefonnummer und sich auf die anderen und wünschen sich ein Happy New Year?
Wie können wir sicher, dass wenn...
Wir gehen und gehen in die Kabel ab, wir können noch immer wieder aufsuchen.
Was passiert, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn wir, wenn You just have a replica of the state on a separate machine ready to kick in as soon as something happens.
Yeah, and that's basically what you said, where we have the processes and they don't share any memory.
So you would just do message passing and then you could have a replica of each process.
I have to admit that I was, how should I put it, a little bit surprised because one of the things that when...
Ich habe mir gesehen, dass Erlang nicht in detail ist.
Eine der Dinge, die sich zu minden ist, ist das Let It Crash idea.
Und ich dachte, das war die Antwort auf High Availability.
Was ist Let It Crash?
Und was es zu High Availability?
Warum hast du das?
Das ist eine gute Frage.
Wenn wir sagen, Let It Crash, Wir haben eine Konkurrenz-Modelle, die Sie sich isolieren.
Software wird die Bugs haben.
Bugs sind nichtprediktabel.
Wenn Sie das passieren würden, Sie würden sich gegen sie gegen sie gehen.
Was ist es, dass wir die Abkommen machen?
Das geht zurück zu der vorherigen Frage.
Ich denke, das ist eine der schwersten Dinge.
One needs to start thinking of is you don't encourage defensive programming.
What you do is instead you try to isolate your error, your fault in a process.
So if you come across something unexpected, let, you know, and it could be a bug in your code or it could be corrupt data.
Let the process executing that code crash.
And we're saying, we're not saying the system, the whole system crashes.
It's just one single process.
So, you know.
Discord läuft auf der Beam.
Du hast hunderte, hunderte, hunderte, und von Telefonnummern zu sein, um die System zu sein, um die System zu sein.
Ein Crash in Discord bedeutet, dass du vielleicht eine Telefonnummer oder eine Message verlierst.
Du hast es zu einem Telefonnummern zu, oder einem Telefonnummern zu, oder einem Telefonnummern zu, oder einem Telefonnummern zu sein, oder einem Telefonnummern zu sein.
Und nicht alles, was das System zu sein.
Und du kannst das machen, weil die Prozess nicht mehr memoryen.
So, indem du die Prozess crash hast, du hoffentlich klare die Korrupte-State.
Und du musst nicht auf die Veränderung von dem Crashen, sondern auf die Rückkehr, wenn es auf die Veränderung ist.
Du kannst du einen neuen Prozess machen, kannst du diese Telefonnummer wieder aufnehmen?
So, for example, oh yeah, the user is still online, let me reconnect them, for example.
So you focus very much on recovery and on the recovery, hopefully you get rid of that corrupt state which existed.
So it doesn't mean you ignore errors, it just means that you take care of them and you handle them in a different way than what you might be used to.
And this is how they've managed to achieve downtimes of...
und das includes software upgrades, in major systems of a few minutes and sometimes even a few seconds per year.
I mean, there have been cases where systems have been up and running for three, four years without the need to reboot them, even in the presence of errors, because you sometimes don't even notice those errors.
And I think that's...
To me, when I had that rough look at Erlang, that was something that I found quite surprising because if you come from the sort of traditional school of programming, to me it seems like those experienced programmers will tell you, well, you have to think about all the errors that could happen and you have to deal with them.
And then your code becomes really complex because you have to sketch all the exceptions.
Und dann ist das Leder-Crasher-Ide, die sich einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, dass es einfach nur, Correct.
And, you know, oh, you need to trap all these exceptions.
But if you knew what these exceptions were going to be, you know, they wouldn't be happening.
And so, you know, and that is the big problem, you know, by being defensive, in my experience, you actually end up introducing even more bugs in your system because you're trying to handle the unknown.
Und wie Sie die Anong-Klose haben, ist es ein mystery zu mir.
Ja, sie sind called Exceptions für eine Grund, weil sie sind die Exception.
Exactly.
Okay, so die andere Sache, die Sie eben schon erwähnt, und ich denke, das ist auch eine sehr interessante Sache, wenn Sie wirklich haben, eine hohe Availability haben, Sie haben die Problem, dass Sie die Software nicht ohne und wie du schon erwähnt hast, da ist eine Lösung in Erlang für das.
Was ist das?
Was ist das?
Was ist das in Erlang?
Es ist ein Elixir.
Und du kannst es sehr einfach in all den Beam-languages machen.
Und es ist, dass du, an einem Punkt in der Zeit, du kannst du eine neue Version des Modules auf den Virtual Machine upload.
Any new process which is started will automatically start running the new version of the module.
All processes running the old version of the module will continue running the old version of that module.
Until they do what we call a fully qualified function call, where we prefix the module to the function name.
And at that point, a check is done.
Am I running the new version of the code?
No, you're not.
So automatically it goes in and it switches.
So, it sounds very, very simple on the surface, and it is simple.
And it's extremely powerful, because even just from a developer point of view, it might take a few minutes to start up your system.
You notice a bug when you're coding.
What you do is you fix that bug, you upload that new version of that module, you rerun.
der Request, und du kannst es ohne zu reizigen, die Systeme zu starten.
So, der ganze Test-Cycle wirklich aufsetzt.
Und in Produktion, es war eine Requirement.
Every Dollar, die man in den alten Jahren verwendet, war es Redundant Hardware.
Du hast eine Hot-Standby-Machine, die nichts gemacht hat und es für die erste Maschine zu verhindern.
Instead, using both machines would double the capacity you could handle.
Of course, assuming no machine would fail.
And that would help manage your peak loads.
And what you did is you were able now to go in and upgrade.
You double your capacity and you were able to do an upgrade of your machine without taking down your system.
And again, that was critical.
oder sogar überrebootst du dein System, was wichtig für eine hohe Availability.
So, das ist eine Idee, die Sie von Smalltalk auszuladen.
Ich fragte Dan Engels, der von Smalltalk, warum er die Software Upgrade macht, und er sagte, dass sie so lange, dass das eine gute Möglichkeit für uns weiterentwickelt und nicht mehr Zeit für die Maschinen zu überrebootst.
In diesem Fall, die haben das Ende und die Verwendung es versucht, dass man immer noch auf die Telefonkarte aufwenden kann, während man eine große Veränderung macht.
Diese Veränderung in complex Telefonkarte ist nicht für die Feind der Herstellung, weil man braucht die Backward-Compatibilität, man braucht die Schema-Migrations.
Und so, you know, it does have its cost, you know, when your system's complex.
If it's a website, it's probably easy, but when you have a telco system, it's much more complex.
But it's been done with code bases with millions of lines of code.
And it's been done without the users and sometimes even the customers knowing about it.
One thing that I would like to add, so I find it quite fascinating because, as you said, Smalltalk has the same idea and Smalltalk introduced a virtual machine in particular to not recompile the whole system, but instead just patch the part of the code that would actually be changed by you, which means that turnaround times on Smalltalk machines in the 70s are probably faster than what we have these days in a lot of cases.
And I find that quite...
Fascinating in a way.
Because you refer so much to Smalltalk, I think it's an interesting thought that I never had.
Like it's the same idea, message passing between independent entities.
However, in Smalltalk, the entities that would exchange those messages are objects, so instances of classes.
Und ich würde sagen, dass das mehr von Prozess ist.
Am ich falsch?
Oder ist das eigentlich falsch?
Prozess ist eher wie Microservices.
Das ist korrekt.
Das ist korrekt.
Das ist korrekt.
Prozess ist immer aktiv.
Sie sind immer immer exekutig.
Es ist nicht nur wenn du sie und sie invokt.
Was ist die Veränderung von der Logik?
Das ist wichtig.
Und die Unterschiede ist, dass ein Objekt, wenn man ihn verabschiedet hat, ein Prozess wird, wird es weiterentwickelt, aber es wird automatisch verabschiedet werden, wenn es nicht mehr Code zu verabschieden hat.
Und es ist wunderviert für eine Income Message.
Ich empfehle mich wirklich an alle die Listenerinnen.
Es gibt Joe Armstrong, der Kreator von Airline Interviews, Alan Kay.
Er hat eine Konferenz von CodeMesh.
Und wir posten einen Link hier, so Sie können in und sehen uns.
LNK, obviously, the inventor of Smalltwork and also the Dynabook, if I remember correctly, right?
Was it he?
The Dynabook?
Was that his idea?
Yeah, that was, yeah.
A laptop for Abichard.
Yeah, that's correct.
I mean, he is one of the visionaries of computer science.
He set the foundations which we work on today on a daily basis with.
Okay.
So, we have...
A comment by Mauro Gabriel-Titimoli.
I hope I said that correctly.
It would be really interesting to hear something about the different deployment strategies, CICD, and the difference with other traditional systems.
I'm not sure what to make of that, to be honest.
I don't think so.
I mean, Erlang's been around for such a long time.
And I mean, the most common deployment strategies today...
sind auf Docker und Kubernetes.
Und ich sage, unfortunately, weil es eine große Verlap, mit dem Beam- und dem Docker-Kubernetes-Kubernetes-Kubernetes-Kubernetes-Kubernetes.
Und es ist die Monitoring, die Isolation und all das.
Und es ist so, es ist wie...
People don't do software upgrades during runtime anymore because they just take down the Docker container and deploy a new one.
And it's something you need to do because of the mutability you've got in the containers.
And that is in a way, it's a pity, but oh, it's fine.
If there are 500 requests going through a Docker container at that point in time, it doesn't really matter.
They can press refresh and they'll just blame it on the network.
And that's, you know, I come from a world where you need to serve every request and try to optimize the whole customer experience.
My favorite deployment approach is on the bare metal, basically.
Running the virtual machine, you know, straight on the operating system.
Und das ist, dass die weniger Lägers du hast zwischen den Hardware, zwischen den Chips und den Virtual Machine, die mehr Memory du benutzt und die schneller die Systeme läuft.
Und wir versuchen wirklich zu bekommen, wie viel Computing Capacität aus der Maschine zu reduzieren, die AWS Bills zu reduzieren, und die Impact auf den Environment, wenn du willst.
Also, be as fast as possible.
And that's where it comes in.
And if you think of it, my vision for the future is a project we worked on over a decade ago, which is no longer being developed because...
Die Welt war nicht wirklich bereit für es.
Wir setzten ein entire network als eine Erlang-Application.
So, die Switch-Firmware, die Controller, die whole stack war komplett automatisch.
So, es würde in und deployen und optimieren, based auf Latency und Throughput, all across die verschiedenen Nodes.
In einer Weise, die Developer nicht mehr aware war.
You could basically spin off an instance and it would spin it off close to the data because it would have figured out that moving the data would take too long, would be too expensive to the computer.
It would move the compute to the data.
And, you know, it was, yeah, the world wasn't ready for it.
And, you know, and this is, you know, usually when I talk about, you know, taking two steps forward, one step back, you know, that's usually what I mean right there.
Yeah.
Und Mauro Gabriel Titimodi just added, that overlapping with Docker Kubernetes is the one that I was interested to hear and the hot code reload things.
And I think...
For Mauro, yeah, I mean, I would really recommend and we'll post a link.
I took, I had the keynote at the Reactive Summit together with one of the key maintainers of Kubernetes.
So the person who managed all of the releases.
Und unsere conclusie ist, in der Zukunft, da wird ein Kubernetes, und es wird da und running sein, aber der idealen Scenario ist, dass die Verlöper nicht aware ist.
Und das war die conclusie, wir kamen zu ein paar Jahre ago.
Ich möchte, ich möchte, ein Punkt, das ich gerade gemacht habe, ist, Okay, I just have the bare metal.
I have Linux on top of that bare metal, for example.
Then I have the Beam on it, and then I'm done.
So I don't have virtualization.
I don't have Kubernetes.
So it appears to be a much simpler stack, and you get rid of quite a lot of things.
And that's also, I think, what Mauro just added.
Hot reloads, updates, was something that would otherwise probably require Kubernetes, as you mentioned.
So you actually get a lot less complexity.
Yeah, Wi-Fi, no.
There is one point, I mean, for like, I don't know, 20 minutes at least.
I'm wondering if you listen to these kinds of technological advantages that the system has.
The question becomes, why is not everyone using that?
And before we did this episode, Ray Gassi on LinkedIn said, one question I have to the session is a bit of the challenge.
Why a beam?
So Francesco just dropped off for some reason.
Well, I can still read the question.
There we go.
This is what you get when you have no single points of failure.
So we've gone from fiber over to 5G.
But it had to be done manually, unfortunately.
Yeah.
So I was just referring to the question that Ray Garcia was asking before we did the episode.
So he said, one question I have to the session is a bit of a challenge.
While Beam and its languages have an active global community that is slowly growing and it has its research followers, it remains an outlier.
in popularity contests with mainstream corporate buyers.
And I would like to add, I mean, we had this discussion, it's like 35 years old, the technology, and it has been used in large production environments.
So it's really mature and well-established.
So, and he goes on and says, this is even when we can find clear examples in big tech where it has been adopted for specific high-performance and stress-oriented components.
Ist es ein Naming-Issue, die Geschichte, die Lack-of-Marketing-Education, die Fortschritte, die mit der Entwicklungslösung, Job-Opportunities?
Was ist das, was das, was das Explosive-Adoption-Moment?
Das ist die Frage, warum nicht Ehrlang nicht immer mit Ehrlang und den Ehrlang?
Und Ray, das ist ein sehr guter Punkt.
Es beginnt mit dem Lack-of-Marketing.
Probably the first programming language released as open source, the year the term open source was coined.
But at the time, open source meant, here's the source code, don't bug us.
The only public announcement, there was no press release, the only public announcement was one of the developers posted on Slashdot, and that was it.
So it's something which...
Das war eine der Bereiche, die all die Marketing ...
Ericsson war in der Telekom-Switches, in der Bühne zu verkaufen, und Sie können nicht verkaufen, sondern sie konnten nicht verkaufen.
Sie wussten nicht die Verkaufen, die nicht die Verkaufen, die eine große Gemeinschaft und eine Open-Source und wie viel sie können, um die Kosten zu reduzieren und um die Erkaufen zu erhöhen.
Der zweite war die Lack der Menschen, die Lack der Menschen, die zu sprechen, mit Budget-Holdern und Decision-Makers zu sprechen.
Das hat uns zurückgebracht.
Die Gemeinschaft oftmals eine bottom-up-affreitete.
Wir wussten, wie zu sprechen mit technischen Menschen.
Wir waren sehr gut.
Und die technischen Menschen haben es geschafft.
Die Adoption von Universitäten von Erlang, die in vielen Universitäten, war viel schneller als die Adoption in der enterprise-basis.
Und so, während wir eine bottom-up-abschluss genommen haben, gab es keine Strategie für die Top-Down-Aufschluss.
Ich denke, wir brauchen mehr Leute wie Ray, die mit den Stakeholder sprechen können, in der Stakeholder-Language zu verstehen.
Ein großer Problem ist auch die technischen Entscheidungen, die nicht auf technischen Facts gemacht werden, sondern oft von technischen Entscheidungen.
Das ist, was ein sehr, schönes Gerät oder eine sehr, sehr, kaltes Schöne oder eine sehr, sehr gute Website macht all die Unterschiede.
Und der reale Problem ist, dass es nicht die Lacken oder Erlang-Energern.
oder der Career Paths, lange bevor Erlang war als Open Source.
Das war mein erstes Job bei Ericsson.
Wir waren ein Team mit 100 Erlang-Developer.
Und was es ist, dass gute Developerinnen und Erlangen will auf Erlangen und Elixir nicht mehrmals.
Was wichtig ist, ist die Erfahrung in den Verticals.
So bei Ericsson, wir haben Leute, die Telekom kennen.
Und in fünf Tagen haben wir sie mit Erlang beitragen.
Und Sie können die Menschen in der nächsten Jahre in sogar weniger als das.
Und so, es ist die gleiche analogy, ich glaube, wir haben heute mit AI.
Du musst senior developers und einen approachen, die es zu beantragen.
Du starten mit Design-Destations-Test-Cases und dann auf die Code-Base.
Aber du musst jemanden.
who knows what they're doing and then the technology actually comes second.
I have to admit, I mean, if I may, I would like to add, I would argue that Erlang is in no way special.
I mean, we have been discussing Smalltalk in this episode for quite a few times and I would argue that the popular OO programming languages that we have now that are considered mainstream Ich bin eigentlich ein step back von Smalltalk, natürlich für Java, natürlich für C++.
Ich bin natürlich für JavaScript.
JavaScript hat sich in, was es, in einem Woche?
Ja, ich bin ja.
Ich würde eigentlich argue, dass das ist ein Phänomen, dass wir in der Industrie haben, dass popularer Technologien sind, Most often the ones that are not really that great.
And then there are some spots, like we mentioned, WhatsApp, for example, where one team that bets on that technology is able to really do something that is really, really impressive and that no one else can.
But that's not what most of the industry does.
For impressive projects, you need three things.
You need good tools.
Good people and cleverness.
And so Erlang is just one of them.
You know, it's just one of these tools.
It's not, yeah, you need good people and that's what WhatsApp had.
And you need cleverness, which is, you know, showcases the fact that a team of 10 were able to manage all of the server side things.
Und ich würde sagen, dass du die Freiheit zu benutzen, weil, wie du gesagt hast, management oft interferes mit diesen Entscheidungen.
Und ich würde auch sagen, dass Niche Technologie vielleicht vielleicht besser Leute, weil sie wirklich wollen, sie müssen, sie machen, sie machen, sie machen, sie machen, sie machen, sie machen, sie machen, sie machen.
Ich denke, es bringt, ich will nicht sagen, dass es Leute zu sagen, es bringt Leute zu verstehen, was die richtige Tool für die Job bedeutet, als die Tool anhand zu tun.
Und so, ja, das ist eine große Unterschiede.
Und, you know, nachdem Sie nach Java ist, dass Java sehr erfolgreich ist, dankz zu excellenten Marketing.
Ich meine, sie rote auf die Antitrust-Waves gegen Microsoft.
Das war gut, die Marketing zu werden, hat es sich sehr populär.
Oracle ist jetzt viel Geld aus Java zu machen.
Ericsson ist nicht mehr Geld aus Erlang.
Sie sind viel Geld aus der Open Source, die Füße von Bugs, von Verlusten und Füßen von Bugs, von Verlusten und ETC.
Das ist großartig.
Aber Geld-Wise ist sehr, sehr wenig.
Ja, und danke für die Beziehung, dass es nicht besser Leute gibt, sondern es ist immer ein Veränderungsverteid.
Ja, so das ist ein guter Punkt.
So, da ist eine Frage von Ramiro Matthieu-Oder.
Das ist eine gute Frage.
Und er sagt, es wäre toll zu hören über die ETS, die power of it und wie man kann es avoid externalen Dependencies, wie REDD in den meisten Fällen.
What's ETS?
So, let's step back a little bit.
So ETS is Erlang Term Storage.
And it's an in-memory key value store, which runs in the same memory space as your business logic, as your code.
So what you do is you use it to cache local data you need when you're running.
So you could cache information on a phone call.
of an instant message which still hasn't been persisted and pushed out to all of its destinations or whatnot.
Now, so we actually call it the Redis of the Beam.
There's one big difference.
It runs in the Beam.
So that means there's no encoding or decoding.
So you're not reaching, there's no I.O.
to access the data.
And that means in sub-microseconds, You can actually extract that data and start using it versus having to JSON encode the request, send the request, get it back, decode it back into a Beam format.
And so just to showcase the power of this, we used to have something called the LimeStack, Linux, Yours, Mesia, and Erlang back in the mid-2000s.
Wir hatten den Web-Server in der gleichen Memory-Spanse, das in Erlang war.
Ihr war ein sehres Web-Server, das in Erlang war.
Er wurde direkt in Erlang-Business-Logic.
Es gab keine I.O.
zwischen dem Web-Server, PHP, Python oder Perl, wenn man seine Zeit kennt.
Und dann gab es keine Externalskurs zu Externalskurs, weil man alles in eine Database beitragen, based auf ETS-Tables.
Und so wir konnten es umhunderte, dass wir hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, hunderte, weil jeder HTTP-Rechst war ein separatees Prozess.
So it would run in parallel and get its own time slot to execute.
And so when Apache would stall at around, again, this is mid-2000s, at around 7,000, 8,000 simultaneous connections, the Beam, and then you started getting a degradation in throughput because of the context switching, the Beam was able to manage about 80,000, 90,000 TCP IP connections at the time.
auf eine SINGLE Nöte und mit einer Degradation des Service.
Die einzige, die es aus dem Moment ist, ist, dass die ganze Virtual Machine aus dem Fall crash.
Das ist dann, wenn man die Anzahl an den Request erhöht.
Aber die Durchsucht in Kilobytes per Sekunde der Daten, die es ausgedrückt wurde, war das gleiche.
Und das ist, dass es dynamisch Webseite in Millisekunden ist.
Es war eigentlich...
Und du hast das heute mit Phoenix.
und Elixir, wo die Web Server in Bandit ist, in Elixir, so es in der Beam.
Phoenix, die ganze Web Framework, so die modern-day Rubin Rails, mit allen seinen Channels und allen seinen Features, ist in Elixir, und es in der gleichen Virtual Machine.
Und du kannst dann Nesia oder ETS Tables, in der Storing Session Daten in der Beam.
Dynamic pages.
And they discover it faster than what it takes to actually cache static webpages in Redis and then serve them that way.
There is another question by Mauro.
So he says, what are your thoughts about the Erlang programming language?
Is the nowadays Beam main language choice Elixir?
So that is correct.
The main language of choice is Elixir.
I think Elixir is probably about...
10 times larger than Erlang.
But it's also because it's being used in a much wider range of domains and areas.
Erlang in my view should still be used in the low-end infrastructure when you need to have full control and then you interface and you write all your microservices on top of it in Elixir.
And the two co-exist in the same virtual machine very, very easily.
So, you know, that would be my, that's my modus operandi.
And the reason is, you know, you write your whole control layer, you know, and it's because there's a different, in Elixir you use a lot of dependencies, you use the package manager, and by doing that, you let go of the control.
In Elixir instead, by doing...
In Erlang, you tend to write, oh, I need to write a connector.
It's 10 lines of code.
I'll do it myself.
And that gives you full control of what you're doing.
And you have no macros.
Well, you have macros, but they're very different to use.
So with that, as a result, you then, yeah, with that, you know, it becomes much harder to go off in tangents and make mistakes.
So, you know, I think it's not one or the other, but it's...
Again, using the best tool for the job, but there's no doubt all new Greenfield projects today or Elixir, Gleam is really, really picking up as well.
And Gleam will compile both to the browser as well as the backend.
But again, keeping the two separate, it's very much so you still, you need separate mindset if you're running in the browser versus the backend versus the server.
So there are differences, but you still use the same language for both.
Und Gleam ist, ich meine, als du gesagt, Alexei ist es zu Ruby oder Ruby-like.
Ja.
Gleam ist, Gleam, mehr als being related, der approach Louis took war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, er war, Und so, was das macht, ist, dass du noch eine Lett-A-Crash-Aprache hast, aber du schaffst die Numerhe-Crash-Aprache, aber du schaffst die Numerhe-Crash-Aprache, weil du starten fangen, viele Errors zu finden, die du nicht durch Dynamik-Tamme an der Compile-Tamme anstatt.
Du schaffst viel mehr Solid-Code.
Und das ist auch passiert in Elixir, wo du retrofittest.
und gradual typing, die Type System auf Elixir.
Aber es wird viel, viel harder, weil es nicht mehr von Anfang an gab.
Und so, man muss es retrofit, und das macht viel mehr Arbeit.
Okay, so Jürzef Bukhetti just sagt, wenn Sie nicht Elixir recommend?
Wenn Erlang ist die bessere Sprache, wenn Sie es nicht?
Control system, but also I wouldn't recommend Erlang or Elixir when you need high throughput.
So as an example, you need to do numerical analysis.
You need to do number crunching.
That's where I would go for Zig or I'd go for Rust without any doubts.
And then use Elixir for the orchestration.
So you do your actual mapping in Elixir, and then the actual reduce where you do the heavy number computation.
You do that in a language which compiles to native and is much, much faster.
And there is a way to use those native languages to sort of have them as processes too, right?
Das ist das, was ich sagen.
Das ist korrekt.
So, so you see them, you think you're speaking to an airline or Elixir program, but there are, you know, there are libraries which allow you to interface and also isolate the failure, which can happen when you're dealing with native language, natively compiled languages.
So, we are already slightly over time.
Is there anything that you want to add?
Anything that I forgot to ask you?
Any questions?
Well, I think, Was ist die Idee von den Erlang-Ecosystem, die Software-Developer sollte verstehen, wenn sie nicht ein einziges Erlang schreiben?
Ich denke, das ist wirklich, wirklich wichtig.
Wenn es eine Sache ist, dass Sie von heute wiederholen, ist die ganze Lässe über Konkurrenz und Failure Handlung.
Du musst auch Lightweight Konkurrenz in modernen Architekturen und modernen Hardware Stacks, Hardware Stacks mit heterogeneous Cores.
oder distributed, wo man multiple chips auf der gleichen Maschine oder auf andere Maschine.
Weil es gibt es, es gibt scalability und es gibt reliability.
Und du musst auch eine Art, die Fehler werden, dass es, wenn es die Lange ist statisch-typete.
Stattig-typing findet ein paar bugs, aber nicht alle.
So, think about isolating failure in eine simple Art.
Und, statt zu versuchen, die nicht erwähnt, auf der Rückkehr zu werden.
Was können Sie eigentlich machen, um zu verabschieden, um die Veränderung zu bekommen, um die Veränderung zu verabschieden, um die Veränderung zu verabschieden?
Das ist das eine Sache, die ich alle sollte, wenn man nicht die Anwendung auf einem Tag-Tag-Tag-Tag.
Geh diese Lehren, die wir gelernt haben, und die in den Programmen der Sprache verabschieden.
Erlang ist der Ramon der Programme, die es nicht mehr macht, es nicht mehr macht es, aber es war back there, die Influencer-Language, die sich viel mehr populärer als es, die die Beete in den Backgrund hat.
Okay, so, vielen Dank.
Vielen Dank für die Zeit.
Vielen Dank für die Fragen.
Vielen Dank für die Fragen.
Vielen Dank für die Zuschauer für die Fragen.
Vielen Dank für die Zuschauer.
Also, vielen Dank für die Zuschauer.
Also, haben wir eine gute Woche.
Vielen Dank.
Vielen Dank für mich.
Es war ein sehr viel Spaß.
Ja, danke.
Und btw, ihr könnt auch alle Software Architecture Stream Events finden auf www.treff.ag.
Und wenn ihr Fragen habt, dann schreibt es mir.
