<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
%CopyrightBegin%

Copyright Ericsson AB 2009-2023. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
 
    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

%CopyrightEnd%
-->

<html>
  <head>
  <meta name="viewport" content="width=device-width, initial-scale=1"></meta>
  <meta charset="utf-8"></meta>
  <link rel="stylesheet" href="otp_doc.css" type="text/css"/>
  <title>Erlang/OTP #otp_base_vsn#</title>

<script id="js" type="text/javascript" language="JavaScript" src="js/flipmenu/flipmenu.js">
</script>
<script id="js2" type="text/javascript" language="JavaScript" src="js/topbar.js">
</script>
</head> 

<body>
  <div id="container">
      <div class="topbar">
    <div class="topbar-expand">
      <button onclick="toggleDisplay();">
        <svg version="1.1" id="Capa_1" xmlns="https://www.w3.org/2000/svg"  viewBox="0 0 54 54" width="24" height="24">
<g>
	<path style="fill:#000000;" d="M27,54c-0.552,0-1-0.448-1-1V8c0-0.552,0.448-1,1-1s1,0.448,1,1v45C28,53.552,27.552,54,27,54z"/>
	<path style="fill:#000000;" d="M11,25c-0.256,0-0.512-0.098-0.707-0.293c-0.391-0.391-0.391-1.023,0-1.414l16-16
		c0.391-0.391,1.023-0.391,1.414,0s0.391,1.023,0,1.414l-16,16C11.512,24.902,11.256,25,11,25z"/>
	<path style="fill:#000000;" d="M43,25c-0.256,0-0.512-0.098-0.707-0.293l-16-16c-0.391-0.391-0.391-1.023,0-1.414
		s1.023-0.391,1.414,0l16,16c0.391,0.391,0.391,1.023,0,1.414C43.512,24.902,43.256,25,43,25z"/>
	<path style="fill:#000000;" d="M43,2H11c-0.552,0-1-0.448-1-1s0.448-1,1-1h32c0.552,0,1,0.448,1,1S43.552,2,43,2z"/>
</g>
        </svg>
      </button>
    </div>
    <div class="topbar-title">
      <h1>
        Erlang/OTP #otp_base_vsn#
      </h1>
    </div>
    <div class="search-expand">
    </div>
  </div>
<aside id="leftnav">
<nav class="leftnav-tube">
<div class="erlang-logo-wrapper">
 <img alt="Erlang logo" src="erlang-logo.png" class="erlang-logo"/ >
</div>

<ul class="section-links">
 <li><a href="applications.html">Applications</a></li>
 <li><a href="man_index.html" class="modules">Modules</a></li>
</ul>

<ul class="section-links">
 <li><a href="general_info/deprecations.html" class="modules">Deprecations</a></li>
 <li><a href="general_info/removed.html" class="modules">Removed Functionality</a></li>
 <li><a href="general_info/scheduled_for_removal.html" class="modules">Scheduled for Removal</a></li>
 <li><a href="general_info/upcoming_incompatibilities.html" class="modules">Upcoming Potential Incompatibilities</a></li>
</ul>

<ul class="expand-collapse-items">
 <li><a href="javascript:openAllFlips()">Expand All</a></li>
 <li><a href="javascript:closeAllFlips()">Contract All</a></li>
</ul>

<ul class="flipMenu">
<li>System Documentation
<ul>
<li><a href="installation_guide/users_guide.html">Installation Guide</a></li>
<li><a href="system_principles/users_guide.html">System Principles</a></li>
<li><a href="embedded/users_guide.html">Embedded System</a></li>
<li><a href="getting_started/users_guide.html">Getting Started</a></li>
<li><a href="reference_manual/users_guide.html">Erlang Reference Manual</a></li>
<li><a href="programming_examples/users_guide.html">Programming Examples</a></li>
<li><a href="efficiency_guide/users_guide.html">Efficiency Guide</a></li>
<li><a href="tutorial/users_guide.html">Interoperability Tutorial</a></li>
<li><a href="design_principles/users_guide.html">Design Principles</a></li>
<li><a href="oam/users_guide.html">OAM Principles</a></li>
</ul>
</li>
</ul>

<h3>Application Groups</h3>

<ul class="flipMenu">
#applinks#
</ul>

</nav>
</aside>


<div id="content">
<div class="innertube">
    <h1 class="main-title">Erlang/OTP #otp_base_vsn#</h1>
    <p class="main-description">
    Welcome to Erlang/OTP, a complete development environment for concurrent programming.
    </p>

<h3>Tutorials and books</h3>

<ul>
  <li class="mobile-only">
    The navigation menu can be accessed by clicking the <svg style="transform: rotate(180deg);" version="1.1" id="Capa_1" xmlns="https://www.w3.org/2000/svg"  viewBox="0 0 54 54" width="24" height="24">
<g>
	<path style="fill:#000000;" d="M27,54c-0.552,0-1-0.448-1-1V8c0-0.552,0.448-1,1-1s1,0.448,1,1v45C28,53.552,27.552,54,27,54z"/>
	<path style="fill:#000000;" d="M11,25c-0.256,0-0.512-0.098-0.707-0.293c-0.391-0.391-0.391-1.023,0-1.414l16-16
		c0.391-0.391,1.023-0.391,1.414,0s0.391,1.023,0,1.414l-16,16C11.512,24.902,11.256,25,11,25z"/>
	<path style="fill:#000000;" d="M43,25c-0.256,0-0.512-0.098-0.707-0.293l-16-16c-0.391-0.391-0.391-1.023,0-1.414
		s1.023-0.391,1.414,0l16,16c0.391,0.391,0.391,1.023,0,1.414C43.512,24.902,43.256,25,43,25z"/>
	<path style="fill:#000000;" d="M43,2H11c-0.552,0-1-0.448-1-1s0.448-1,1-1h32c0.552,0,1,0.448,1,1S43.552,2,43,2z"/>
</g>
        </svg> symbol in the top left corner.
  </li>
<li>
The Erlang language is described in the 
<a href="reference_manual/users_guide.html">Erlang Reference Manual</a>. 
An Erlang tutorial can be found in 
<a href="getting_started/users_guide.html">
Getting Started With Erlang</a>.
<p>
In addition to the documentation here Erlang is described in several books like:
</p>
<ul>
<li>
<a href="https://www.oreilly.com/library/view/introducing-erlang-2nd/9781491973363">"Introducing Erlang"</a> from O'Reilly.
</li>
<li>
<a href="https://www.nostarch.com/erlang">"Learn You Some Erlang for Great Good!"</a> from No Starch Press.
</li>
<li>
<a href="https://oreilly.com/catalog/9780596518189">"Erlang Programming"</a> from O'Reilly.
</li>
<li>
<a href="https://www.pragprog.com/book/jaerlang2/programming-erlang">"Programming Erlang"</a> from Pragmatic.
</li>
<li>
<a href="https://www.manning.com/logan">"Erlang and OTP in Action"</a> from Manning.
</li>
<li>
<a href="https://shop.oreilly.com/product/0636920024149.do">"Designing for Scalability with Erlang/OTP"</a> from O'Reilly.
</li>
</ul>
<p>
These books are highly recommended as a start for learning Erlang. 
</p>
<p>
  More information about learning resources, editors and other tools can be found on our
  <a href="https://erlang.org/community">official Erlang web site</a>. 
</p>
</li>
<li>Erlang/OTP is divided into a number of OTP <a
href="applications.html">applications</a>. An application normally contains
Erlang <a href="man_index.html">modules</a>. Some OTP applications,
such as the C interface <em>erl_interface</em>, are written in other languages and have no Erlang
modules.
<p></p>
</li>

<p>
<li>When developing with Erlang/OTP you usually test your programs
from the interactive shell (see <a href="getting_started/users_guide.html">
Getting Started With Erlang</a>) where you can call individual
functions. There is also a number of tools available, such as the graphical <a
href="#debugger#/index.html" >Debugger</a> and the <a href="#observer#/index.html" >Observer tool</a> for inspection of system information, ets and mnesia tables  etc.
</p>

<li>For questions and discussions about Erlang we recommend <a href="https://erlangforums.com">
ErlangForums</a>.
<p></p>
</li>

<li>There is also the <a href="https://www.erlang.org/faq/faq.html" >Frequently
Asked Questions</a> which can be of interest.
<p></p>
</li>

<li>Additional information and links of interest for Erlang programmers can be found on the Erlang Open Source site 
<a href="https://www.erlang.org/">https://www.erlang.org</a>.
</li>

</ul>

<center>
<small>
Copyright &copy; 1999-#copyrightyear#
<a href="https://www.ericsson.com">Ericsson AB</a>
</small>
</center>
</div>
</div>
</div>
</body>
</html>
