The new era starts now...
Eficient programming it isn't enough anymore, as in the hardware industry, the software should be developed to implement easily concurrency between different processors or cores which are implemented in the new systems and it's not only a matter of efficiency or speed, but the code achieves to use better the resources, scale up between all of their processors and cores and in addition to make that in an easy way.
"When you are stuck in a traffic jam with a Porsche, all you do is burn more gas in idle. Scalability is about building wider roads, not about building faster cars. Steve Swartz
The Erlang/OTP Volume I: A Concurrent World book offers a clear introduction to the language, its features and the basic work with the environment of the Erlang virtual machine.
*Publicado en mayo de 2020.
|Número de páginas||192|
About the authors, the book, the volumes, nomenclature y acknowledges.
What you should know about Erlang
Definitions of Erlang as language and platform, features, history, what was made with Erlang and the concurrency.
Syntaxis of the language, data types (atoms, integers and floats, variables, lists, tuples, records y maps), data conversion and printing to the screen.
Date and times, definition of monotonic time, how works the time and time measurement in Erlang and important changes in OTP 18.
Expressions, Structures and Exceptions
Arithmetic and logic expressions, operators precedence, pattern matching, control flow structures (case and if), comprehension lists and functional blocks.
Functions and Modules
Code organization, functions scope, polymorphism and pattern matching, guards, closures, functional programming, recursivity and built-in functions.
Process anatomy, advantages and disadvantages of the Erlang process system, spawn, registering processes with names and process communication, link processes, monitoring processes, reloading code, nodes and remote process calling.
ETS, DETS and Files
How to use ETS and DETS, create, remove and look up for information. Handling files individually (create, read, write and remove) and inside of a directory (active working directory, create directory, list and remove directories).
Communication network concepts, creation of clients and servers for TCP and UDP protocols and concurrent connections using TCP.
At last we'll give a tour to the Erlang ecosystem. We will learn to develop a project using rebar3 as main tool to create the project and create releases and hot-upgrades for our code.
Erlang installation for Windows, Mac and GNU/Linux.
We will check the Erlang command line. This appendix is very useful to follow the samples along the book and perform the examples.
The graphic tools of Erlang let us connect to all of the nodes and even in production to analyze the system behaviour. We will see the toolbar, the applications monitor, the processes administrator, table viewer, debugger and a tool which try to put everything together: observer.