Programming Erlang Second Edition
سخت افزارهای جدید به طور فزاینده ای همروند (parallel) شده اند، بنابراین زبانهای برنامه نویسی باید از همزمانی پشتیبانی کنند یا محکوم به مرگ هستند. نقل قولی از استیو جابز: راهی که شرکتهای ساخت پردازشگر در پیش گرفته اند این هست که هستههای بیشتر و بیشتر اضافه کنند، اما کسی نمیداند که چگونه برای آنها برنامه بنویسید. منظورم دو، بله؛ چهار، نه واقعا؛ هشت؛ کلا فراموشش کنید.
خب استیو اشتباه میکرده است؛ الان ما میدانیم که چگونه برای پردازشگرهای چند هسته ای برنامه بنویسیم. ما برنامه هایمان را با Erlang مینویسیم و هرچقدر که بر تعداد هستهها افزوده شود برنامهی ما نیز سریعتر از قبل کار میکند.
Erlang از همان ابتدا برای برنامه نویسی سیستمهای همزمان، توزیع پذیر، تحمل پذیر بودن خطا (fault-tolerant)، مقیاس پذیر (scalable)، نرم و بلادرنگ طراحی شده بود. سیستمهای نرم بلادرنگ به مانند سیستمهای ارتباطات تلفنی، سیستمهای بانکی و ... که در آنها تعدا دفعات پاسخ گویی سریع بسیار با اهمیت است. سیستمهای مبتنی بر Erlang در مقیاس عظیمی مستقر شده اند و بخشهای قابل توجهی از شبکه ارتباطات تلفن همراه دنیا را کنترل میکنند.
اگر مشکل شما همزمانی هست، اگر در حال ساخت سیستم چند
کاربره هستید و یا اگر در حال ساخت سیستمی هستید که با زمان سرو کار دارد، استفاده
از Erlang میتواند بخش زیادی از کارهای شما را کم
کند، چرا که Erlang فقط برای
ساخت چنین سیستمهای طراحی شده است.
سرفصلهای کتاب آموزش Erlang ویرایش دوم:
1) Introducing Concurrency
2) A Whirlwind Tour of Erlang
3) Basic Concepts
4) Modules and Functions
5) Records and Maps
6) Error Handling in Sequential Programs
7) Binaries and the Bit Syntax
8) The Rest of Sequential Erlang
9) Types
10) Compiling and Running Your Program
11) Real-World Concurrency
12) Concurrent Programming
13) Errors in Concurrent Programs
14) Distributed Programming
15) Interfacing Techniques
16) Programming with Files
17) Programming with Sockets
18) Browsing with Websockets and Erlang
19) Storing Data with ETS and DETS
20) Mnesia: The Erlang Database
21) Profiling, Debugging, and Tracing
22) Introducing OTP
23) Making a System with OTP
24) Programming Idioms
25) Third-Party Programs
26) Programming Multicore CPUs
27)Sherlock’s Last Case