Erlang OTP
Joe Erlang had fault tolerance in his mind when he designed and implemented Erlang. He was the chief architect of the project which built Erlang/OTP.
Features of Erlang:
Concurrent
Scalable
Soft-Real Time
Distributed
Fault Tolerant
Where all is Erlang used?
Telecom
Banking
E-Commerce
Instant Messaging
Computer Telephony
What is OTP?
OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.
It includes its
own distributed database
applications to interface towards other languages
debugging
release handling tools
Ericsson managed to get the nine 9's reliability in one of its product (99.9999999% reliability).
Erlang is based on the following ideas:
Share Nothing
Pure message passing
Crash detection. Let it crash and recover principle
Erlang processes are very lightweight. Erlang can have hundreds of thousands of processes.
Garbage collection is also good. It can have thousands of independent heaps and all are garbage collected separately. So long-running applications will not stop responding when they perform garbage collection.
Erlang server will never crash your OS. Erlang is made that way.
Refactoring is a big trouble in Erlang. But you don't need to keep refactoring code like in other languages. The compiler helps you refactor your code. It gives warning when you pass an unwanted parameter to your function.
There is transparency in data structures. Data structures are like interfaces.
Some of the disadvantages are:
You have very few libraries for usage
Its a functional programming language. So if you have worked on Java C, its going to be difficult to understand its importance in a short duration of time.
Features of Erlang:
Where all is Erlang used?
What is OTP?
OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.
It includes its
Ericsson managed to get the nine 9's reliability in one of its product (99.9999999% reliability).
Erlang is based on the following ideas:
Erlang processes are very lightweight. Erlang can have hundreds of thousands of processes.
Garbage collection is also good. It can have thousands of independent heaps and all are garbage collected separately. So long-running applications will not stop responding when they perform garbage collection.
Erlang server will never crash your OS. Erlang is made that way.
Refactoring is a big trouble in Erlang. But you don't need to keep refactoring code like in other languages. The compiler helps you refactor your code. It gives warning when you pass an unwanted parameter to your function.
There is transparency in data structures. Data structures are like interfaces.
Some of the disadvantages are:
Comments