4 ms·
Maybe some analogy - C is like riding a very fast bike. Python, Java - Starting a truck which will move what you want. Erlang - starting a railway system. Erl
by yetihehe 10y ago
Maybe some analogy -
C is like riding a very fast bike.
Python, Java - Starting a truck which will move what you want.
Erlang - starting a railway system.
Erlang is like another system inside your system, it's more akin to booting a system inside a vm just to echo some hello world.
- thecourier 10y agoyeah, also it would be fair to compare a running actor system with Akka (jvm, java, scala), CAF (c++), XUDD (Python), Celulloid (Ruby) vs Erlang I believe Erlang would do some interesting things there
- sspiff 10y agoBike as in motorcycle, not bicycle I presume?
- frou_dh 10y agoTerry Davis describes his TempleOS† as a motorbike, Windows a car and Linux a semi truck with a huge gearbox. In TempleOS, you'll crash if you lean over too far. The solution? Don't lean over, then! † ring-0 only, no memory protection, exploratory dev/art focused
- rdtsc 10y agoExactly. To put it another way, if you run code on a system with concurrency units sharing the memory (the heap), your code is running on DOS or Windows 3.1 which was cool in 1990s. Erlang/Elixir is like running your code on a modern OS with a process memory separation, preemptable concurrency (processes don't have to yield by hand to others). Built in tracing and monitoring facilities (tracing, observer, dbg). Built in networking (distribution, global process registration, in memory distributed db) etc.
- mbucc 10y agoBy default, the erl interpreter starts up the otp app, which loads lots of modules (50+?) and multiple (5?) different processes. It takes a second. To get things running faster, you can use the -boot argument to erl. There is a appendix in Joe Armstrong's book that steps you through it.
- lostcolony 10y agoThis. Erlang isn't a bare programming language like C, or even a high level, but still fundamentally simple language like Python. It isn't just an intermediary bytecode running in a VM, like Java, that maps bytecode instructions to OS instructions. It is instead more like a Smalltalk environment or similar; an entire ecosystem running for the specific purpose of providing you a very particular kind of programming environment.