الیکسر زبان پویا و کاربردی است که برای ساخت برنامه های قابل برنامه ریزی و قابل نگهداری طراحی شده است. Elixir، Erlang VM را به کار می گیرد. بنابراین می توانید از کتابخانه های موجود Erlang استفاده کنید. در خدمت شما هستیم با مقاله زبان برنامه نویسی Elixir چیست؟ معرفی کامل Elixir (الیکسیر) از وب سایت آموزش برنامه نویسی سورس باران.
زبان برنامه نویسی Elixir چیست؟
زبان برنامه نویسی Elixir یک زبان برنامه نویسی کاربردی، همزمان و عمومی است که بر روی ماشین مجازی Erlang اجرا می شود (برای آشنایی با زبان برنامه نویسی Erlang کافیه اینجا کلیک کنید). Elixir از Erlang تولید می شود و از همان انتزاع برای ساخت برنامه های توزیع شده و تحمل پذیر استفاده می کند. Elixir همچنین یک ابزار تولیدی و یک طراحی گسترده را فراهم می کند. زبان برنامه نویسی Elixir برای توسعه وب توسط شرکت هایی مانند Bleacher Report، Discord و Inverse و همچنین برای ساخت سیستم های تعبیه شده مورد استقاده قرار می گیرد.
الیکسیر (به انگلیسی: Elixir) یک زبان برنامه نویسی تابعی، همروند با کارایی عمومی است که بر روی ماشین مجازی ارلنگ (BEAM) اجرا میشود. الیکسیر بر روی ارلنگ ساخته شدهاست تا بتواند امکان نوشتن برنامههای توزیعشده، مقاوم در برابر خطا، زنده و بدون وقفه را ارائه کند، اما با گسترش این امکانات، ویژگیهای برنامه نویسی متا با استفاده از ماکروها و چندریختی از طریق پروتکلها را نیز فراهم میکند.
ویژگی های زبان برنامه نویسی Elixir (الیکسیر)
- زبان برنامه نویسی Elixir زبان که به بایتکد ماشین مجازی ارلنگ (BEAM) کامپایل میشود.
- همه چیز یک عبارت است.
- توابع ارلنگ به دلیل کامپایل به بایتکد ارلنگ و برعکس، میتوانند بدون داشتن هیچ تأثیری بر روی سرعت اجرا فراخوانی شوند.
- برنامهنویسی متا امکان تغییر مستقیم AST را فراهم میکند.
- امکان چندریختی از طریق مکانیزمی که «پروتکل» نامیده میشود. مانند کلوژر، پروتکلها یک مکانیزم توزیع پویا را فراهم میکنند.
- پشتیبانی از مستندات از طریق docstringهای مشابه پایتون.
- برنامهنویسی همروند بدون اشتراک چیزی از طریق انتقال پیام (مدل Actor)
- همروندی کم حجم با استفاده از ابزارهای و مکانیزمهای ارلنگ و سینتکس ساده (برای مثال Task)
- انطباق الگو
- پشتیبانی از یونیکد و رشتههای UTF-8
برنامه نویسی کاربردی
برنامه نویسی کاربردی یک شیوه برنامه نویسی را ترجیح می دهد که به توسعه دهندگان کمک می کند تا کد کوتاه، سریع و قابل نگهداری بنویسند. Elixir به شدت به این ویژگی متکی است تا اطمینان حاصل کند که نرم افزار شما تحت محدودیت های مورد انتظار کار می کند.
توسعه پذیری و DSL ها
Elixir به طوری طراحی شده تا بتوان آن را توسعه داد. این زبان به طوری طراحی شده تا توسعه دهندگان به طور طبیعی زبان را به حوزه های خاصی گسترش دهند تا بتوانند میزان بهره وری خود را افزایش دهند.
اکو سیستم در حال رشد
Elixir با مجموعه وسیعی از ابزار ها برای تسهیل توسعه، پیشرفت می کند. همچنین این زبان دارای یک ویژگی به نام Mix است، Mix یک ابزار ساخت است که به شما اجازه می دهد تا به راحتی پروژه ها، مدیریت وظایف و تست ها را اجرا کنید.
سازگاری با Erlang
Elixir در ماشین مجازی Erlnag اجرا می شود تا توسعه دهندگان دسترسی کامل به اکو سیستم Erlang داشته باشند. این نرم افزار توسط شرکت های WhatsApp ، Heroku و Klarna برای ایجاد برنامه های توزیع شده مورد استفاده قرار می گیرد.
مثال از برنامه نویسی Elixir
مثال Hello World کلاسی در برنامه نویسی Elixir
iex> IO.puts "Hello World!" Hello World!
مثال ادراک در برنامه نویسی Elixir
iex> for n <- [1,2,3,4,5], rem(n,2) == 1, do: n*n [1, 9, 25]
مثال انطباق الگو در برنامه نویسی Elixir
iex> [1, a] = [1, 2] iex> a 2 iex> {:ok, [hello: a]} = {:ok, [hello: "world"]} iex> a "world"
مثال انطباق ماژول ها در برنامه نویسی Elixir
defmodule Fun do def fib(0), do: 0 def fib(1), do: 1 def fib(n) do fib(n-2) + fib(n-1) end end
مثال انطباق مقیاس پذیری در برنامه نویسی Elixir
current_process = self() # Spawn an Elixir process (not an operating system one!) spawn_link(fn -> send current_process, {:msg, "hello world"} end) # Block until the message is received receive do {:msg, contents} -> IO.puts contents end
مثال انطباق آزمون خطا در برنامه نویسی Elixir
children = [ TCP.Pool, {TCP.Acceptor, port: 4040} ] Supervisor.start_link(children, strategy: :one_for_one)
مثال توسعه پذیری در برنامه نویسی Elixir
defmodule MathTest do use ExUnit.Case, async: true test "can add two numbers" do assert 1 + 1 == 2 end end
مثال ویژگی ابزارها در برنامه نویسی Elixir
$ mix new my_app $ cd my_app $ mix test . Finished in 0.04 seconds (0.04s on load, 0.00s on tests) 1 tests, 0 failuresلینک منبع
امیدواریم که این مطلب مورد توجه دوستان قرار گرفته باشد.
مشاهده جلسات قبل معرفی زبان های برنامه نویسی
- زبان برنامه نویسی سی و سی پلاس پلاس
- معرفی زبان برنامه نویسی پایتون
- Ruby چیست؟ بررسی زبان برنامه نویسی روبی
- زبان برنامه نویسی PHP چیست؟
- زبان برنامه نویسی Lua چیست؟
- کاتلین (Kotlin) چیست؟ توضیح زبان برنامه نویسی کاتلین
- Ada چیست؟ معرفی زبان برنامه نویسی Ada
- زبان برنامه نویسی COBOL چیست؟ شرح کامل COBOL
- معرفی زبان برنامه نویسی Cython
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۹ بهمن ۱۳۹۷
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس