آموزش برنامه نویسی Erlang
Erlang یک زبان برنامه نویسی همه منظوره است که تا به حال پروژه های بزرگی توسط آن طراحی شده است.Erlang یک پروژه متن باز است که مستندات آن در این سایت وجود دارد.با وجود قابلیت های فوق العاده این زبان برنامه نویسی جای تعجب است که در سایت های فارسی هیچ اثری از نام Erlang نیست.
به درخواست یکی از دوستان آموزش کامل برنامه نویسی Erlang که حدود 13.4 گیگابایت حجم دارد را برای شما آماده کرده ایم.
توضیحات زبان برنامه نویسی Erlang از زبان مرجع آن:
1 What is Erlang
1.1 In a nutshell, what is Erlang?
Erlang is a general-purpose programming language and runtime environment. Erlang has built-in support for concurrency, distribution and fault tolerance. Erlang is used in several large telecommunication systems from Ericsson. Erlang is available as open source from http://www.erlang.org.
1.2 What is OTP?
OTP (Open Telecom Platform) is a large collection of libraries for Erlang to do everything from compiling ASN.1 to providing a WWW server. Most projects using "Erlang" are actually using "Erlang/OTP", i.e. the language and the libraries. OTP is also open source.
1.3 What sort of applications is Erlang particularly suitable for?
Distributed, reliable, soft real-time concurrent systems.
Telecommunication systems, e.g. controlling a switch or converting protocols.
Servers for Internet applications, e.g. a mail transfer agent, an IMAP-4 server, an HTTP server or a WAP Stack.
Telecommunication applications, e.g. handling mobility in a mobile network or providing unified messaging.
Database applications which require soft realtime behaviour.
Erlang is good at solving these sorts of problems because this is the problem domain it was originally designed for. Stating the above in terms of features:
Erlang provides a simple and powerful model for error containment and fault tolerance (supervised processes).
Concurrency and message passing are a fundamental to the language. Applications written in Erlang are often composed of hundreds or thousands of lightweight processes. Context switching between Erlang processes is typically one or two orders of magnitude cheaper than switching between threads in a C program.
Writing applications which are made of parts which execute on different machines (i.e. distributed applications) is easy. Erlang's distribution mechanisms are transparent: programs need not be aware that they are distributed.
The OTP libraries provide support for many common problems in networking and telecommunications systems.
The Erlang runtime environment (a virtual machine, much like the Java virtual machine) means that code compiled on one architecture runs anywhere. The runtime system also allows code in a running system to be updated without interrupting the program.
1.4 What sort of problems is Erlang not particularly suitable for?
People use Erlang for all sorts of surprising things, for instance to communicate with X11 at the protocol level, but, there are some common situations where Erlang is not likely to be the language of choice.
The most common class of 'less suitable' problems is characterised by performance being a prime requirement and constant-factors having a large effect on performance. Typical examples are image processing, signal processing, sorting large volumes of data and low-level protocol termination.
Another class of problem is characterised by a wide interface to existing C code. A typical example is implementing operating system device drivers.
Most (all?) large systems developed using Erlang make heavy use of C for low-level code, leaving Erlang to manage the parts which tend to be complex in other languages, like controlling systems spread across several machines and implementing complex protocol logic.
1.5 Who uses Erlang for product development?
The largest user of Erlang is Ericsson. Ericsson use it to write software used in telecommunications systems. Many (dozens) projects have used it, a particularly large one is the extremely scaleable AXD301 ATM switch. AXD301 has several hundred people working on it and the code volume has reached about 850 kloc of Erlang (and 1 Mloc of C/C++).
A few of the other companies using Erlang are
Aptela (VoIP Service Provider)
Bluetail/Alteon/Nortel (distributed, fault tolerant email system, SSL accelerator)
Corelatus (SS7 monitoring).
dqdp.net (in Latvian) (Web Services).
Facebook (Facebook chat backend)
Finnish Meteorological Institute (Data acquisition and real-time monitoring)
IDT corp. (Real-time least-cost routing expert systems)
IEISS. (Electronic financial instrument exchange software)
Klarna (Electronic payment systems)
Lindenbaum (Large scale voice conferencing)
M5 Networks (VoIP Services)
Mobilearts (GSM and UMTS services)
Netkit Solutions (Network Equipment Monitoring and Operations Support Systems)
Process-one (Jabber Messaging)
Quviq (Software Test Tool)
RabbitMQ (AMQP Enterprise Messaging)
Smarkets (Betting exchange and prediction market)
T-Mobile (previously one2one) (advanced call control services)
Telia (a telecomms operator)
Vail Systems (Interactive Voice Response systems)
Wavenet (SS7 and IVR applications)
If you want to be listed here, send me some mail: firstname.lastname@example.org
1.6 Who uses Erlang for research and teaching?
Many universities use Erlang at various levels. This list is far from exhaustive!
Ben-Gurion University (Israel) in the Communication Systems Engineering Department.
Costa Rican Institute of Technology.
Heriot-Watt University in the UK.
Iligan Institute of Technology of the Mindanao State University in the Philippines.
IT University of Gothenburg in Gothenburg, Sweden.
KTH in Stockholm.
The Royal Melbourne Institute of Technology in Australia.
Technion—Israel Institute of Technology (Electrical Engineering Faculty).
Tecnológico de Monterrey, Campus Estado de México in the Programming Languages course.
University of A Coruña in Spain.
The University of Kent in the UK
University of Sheffield in the UK
University of Zagreb in Croatia, in the Concurrent Programming course and also for research.
Uppsala University in Sweden is home to the HiPE project.
If you want to be listed here, send me some mail: email@example.com
1.7 Can I get commercial support for Erlang?
Several consulting companies provide support and training courses: Erlang-solutions.com , Sjoland and Thyselius and Process One.
Users within Ericsson can obtain support, printed manuals and binaries from www.erlang.se.
لیست فایل های آموزش:
3976177-Introduction 3976177-Tutorial Start Developing Web Applications on Erlang (Part 1) 3976227-An Introduction to Erlang (for Python programmers) 3976232-Create an Erlang Mochiweb Web Application in Minutes_2 3976260-Erlang 3976269-Emacs Erlang for Windows 3976287-11 Erlang - Basic Concurrency 3976297-Tutorial Start Developing Web Applications on Erlang (Part 3) 3976327-Essential ErlangOTP_2 3976335-Smother, the MCDC style coverage tool for Erlang_2 3976342-Programming Erlang 3976347-08 Erlang - If Statement_2 3976369-05 Erlang - Modules and Functions 3976396-erlang vid(3).avi 3976409-RabbitMQ An Open Source Messaging Broker That Just Works 3976425-09 Erlang - Accumulators 3976459-Call Center Staffing and Cost Reduction using Excel 3976470-06 Erlang - Case Statement 3976501-07 Erlang - Case Statement Pattern Matching 3976633-An introduction to Riak 3976637-Erlang Factory 2014 - That's 'Billion' with a 'B' Scaling to the Next Level at WhatsApp 3976648-Teletr?fico vid 3 3976664-Erlang Shell Installation On Ubuntu 3976702-Erlang The Movie 3976711-LoneStarRuby Conf 2013 - Elixir Power of Erlang, Joy of Ruby by Dave Thomas 3976749-01 Erlang - Erlang Installation 3976789-Intro Talk to Erlang Web Frameworks (Nitrogen, ChicagoBoss, Zotonic) 3976811-24 Erlang - Socket using UDP, TCP and client CSharp application 3976840-Erlang Embedded - Episode 2 Concurrency in Erlang with Raspberry Pi 3976882-26 years with Erlang or How I got my grey hairs 3976891-16 Erlang - Distributed Programs - gen_server 3976906-A Visual Tour of Erlang 3976922-[Linux.conf.au 2013] - What we can learn from Erlang 3976926-Erlang DC Feb 2013 - Cowboy and Web Sockets by Loïc Hoguin 3976937-19 Erlang - Distributed Programs - Mnesia part 1 3976955-Erlang Use Cases Michal Slaski 3977042-Erlang Fault Tolerance 3977047-[Linux.conf .au 2012] Erlang in production I wish Id known that when I started 3977057-A Few Improvements to Erlang - Joe Armstrong 3977077-Parallel Erlang - Speed beyond Concurrency - Stavros Aronis 3977093-Erlang Factory Lite Vancouver 2012 Noob to production in two months 3977296-14 Erlang - Send and Receive Messages (Process) 3977319-Erlang DC 2013 Ranking Games and Scheduling Jobs by Jesper Louis Andersen 3977347-Erlang Factory 2014 -- D3 Websocket for Live Web Applications 3977357-YOW Lambda Jam 2013 - Bernard Duggan - Erlang What They Didn't Tell You in the Brochure 3977368-Erlang OTP Demo 3977400-Erlang DC 2013 Erlang meta-programming with Elixir by Yurii Rashkovskii 3977427-27 Erlang - Web Application - Chicago boss framework part 3 3977449-21 Erlang - Distributed Programs - Release Handling with systools 3977570-Erlang The Movie II - Back to the Future of Web Telephony 3977595-?????????? ?????????????? ?????? ?? ????????? Erlang 3977610-Functional programming-erlang 3977627-02 Erlang - Basic Types - Integer, Floating Point and Atoms 3977645-[...]yzing Erlang with Big Data Techniques - Ying Li 3977664-Erlang DC 2013 - Using Erlang to Drive Mobile Payment Application by Jordan Wilberding 3977749-Lambda Lounge - Reliability Features of Erlang - Garrett Smith 3977787-18 Erlang - Distributed Programs - Application 3977817-Google APIs and Erlang 3977841-Erlang controlled electric blanket (Erlang Embedded) 3977885-Erlang (R15B03) Web Framework--ChicagoBoss-0.8.7 on FreeBSD 9.1 RELEASE 3978003-Erlang 3978144-Erlang DC 2013 ErlangOTP Networked Sensors Savior by Gordon Miller 3978184-Installing Erlang R15B01 on OS-X 3978230-15 Erlang - Distributed Programs - Node Creation 3978260-17 Erlang - Distributed Programs - Supervisor 3978288-Erlang Application Metrics with Folsom Joe Williams 3978308-Lecture by Joe Armstrong part 1 3978472-04 Erlang - List 3978501-23 Erlang - Unit test using EUnit 3978528-An Erlang-Based Framework for the Automatic Testing of Web Services 3978615-1 7 VoltDB and Erlang 2 3 x Henning Diedrich CEO Eonblast 3978632-Erlang and RTEMS Embedded Erlang, two case studies - Peer Stritzinger 3978641-Francesco Cesarini @ DevconTLV Erlang From Behind The Trenches 3978659-Latest News from the Erlang OTP Group Kenneth Lundin 3978663-13 Erlang - Create, Read and Write Random Access File - Part 2 3978702-TakeOff 2013 - Clean and Clear Software with Erlang - Anthony Eden 3978824-Erlang. ????? 21. 3978853-Erlang metaprogramming made easy Richard Carlsson 3978869-The Ericsson SGSNMME, over a Decade of Erlang Success Urban Boquist 3978909-Erlang evolves for Multi-core and Cloud Environments 3978928-25 Erlang - Web Application - Chicago boss framework 3978960-Erlang Use Cases Michal Slaski 3978989-Using Flymake Mode With Erlang and Emacs 3979085-Erlang metaprogramming made easy Richard Carlsson 3979106-Erlang Solutions Erlang Writ Large Adam Kocoloski 3979163-1 7 VoltDB and Erlang 2 3 x Henning Diedrich CEO Eonblast 3979194-Erlang Factory Lite Vancouver 2012 Taking Iceland by storm 3979307-Flourish 09 Erlang workshop Martin Logan Part 4 3979323-Erlang Factory Lite Vancouver 2012 Managing processes without OTP 3979339-Erlang C 3979345-Erlang DC 2013 Lightning Talk - relcool by Tristan Sloughter 3979373-12 Erlang - File Create, Read and Write - Part 1 3979389-vieraSimulator Distribuci?n Erlang 3979431-Installing Erlang on Windows Screencast 3979454-Erlang Presentacion.avi 3979485-Nicolae Paladi-SEM, Erlang and avoiding broken bikes part 2 3979518-Embedded graphics in Erlang 3979563-Try Erlang #3 - Anagrams 3990592-Haskell tutorial 4 - typeCl[...].mov 3990648-Profiling 3990655-MySQL Cluster.mp4 3990680-Lutsk.io Corona SDK (Volodymyr Sergeyev) #2 3990762-Professor Lutz on the history of Software Engineering at RIT 3990872-compilacion y ejecucion de java en cmd 3990908-Concurrency Shopping Cart Concurrency Flaw 3990947-Internal Pattern Matching 3990986-Test Xvidcap 3991022-15 Designing for Concurrency 3991071-parallel map in AliceML 3991134-Introduction to MS Excel 3991165-02 Introducing integer types 3991225-Erlang video tutorial 3991414-Learning Erlang - the advantages of keeping things simple 3991578-8 3991617-Tutorial ada intranet 2.wmv 3991634-The Way of the Exploding Tuple