Elixir (bahasa pemrograman) GudangMovies21 Rebahinxxi LK21

    Elixir adalah sebuah bahasa pemrograman fungsional, konkuren dan untuk berbagai keperluan yang berjalan dalam Mesin Virtual bahasa Erlang. Elixir dibuat berdasarkan bahasa Erlang dan memiliki abstraksi yang sama dalam membangun aplikasi yang terdistribusi dan toleran atas kesalahan. Elixir juga menyediakan perkakas yang productif dan desain yang mudah dikembangkan. Kemudahan pengembangan tersebut diwujudkan melalui meta-programming saat proses kompilasi dengan makro dan polimorfisme dengan protokol-protokolnya. Proses-proses di Elixir diawasi oleh sebuah Supervisor yang apabila terjadi satu proses yang gagal maka akan dibangkitkan proses baru sehingga tidak mengakibatkan kegagalan yang menggangu seluruh sistem, inilah keunggulan toleran atas kesalahan yang dimiliki oleh Elixir. Proses-proses seperti ini bisa mencapai jutaan proses dalam satu waktu.
    telah digunakan bebrapa perusahaan semacam E-MetroTel, Pinterest dan Moz. Elixir juga digunakan entuk mengembangkan situs web, oleh perusahaan seperti Bleacher Report, Discord, dan Inverse, and for building embedded systems.


    Sejarah


    Pembuat bahasa Elixir adalah Jose Valim, Ia memaksudkan bahasa ini untuk dapat memiliki produktivitas dan kemampuan untuk mungkin berkembang yang tinggi pada mesin virtual Erlang dan tetap menjaga kecocokan terhadap ekosistem bahasa Erlang.


    Fitur-fitur


    A language that compiles to bytecode for the Erlang Virtual Machine (BEAM)
    Everything is an expression
    Erlang functions can be called from Elixir without run time impact, due to compilation to Erlang bytecode, and vice versa
    Meta programming allowing direct manipulation of AST
    Polymorphism via a mechanism called protocols. Like in Clojure, protocols provide a dynamic dispatch mechanism. However, this is not to be confused with multiple dispatch as Elixir protocols dispatch on a single type.
    Support for documentation via Python-like docstrings in the Markdown formatting language
    Shared nothing concurrent programming via message passing (Actor model)
    Emphasis on recursion and higher-order functions instead of side-effect-based looping
    Lightweight concurrency utilizing Erlang's mechanisms
    Railway oriented programming via the with construct
    Built-in tooling for managing dependencies, code compilation, running tests, formatting code, remote debugging and more
    Lazy and async collections with streams
    Pattern matching to promote assertive code
    Unicode support and UTF-8 strings


    Contoh-contoh


    Sintaksis bahasa Elixir banyak terinspirasi dari bahasa Ruby dan Erlang, sehingga relatif mudah dipahami. Jose Valim sendiri juga diketahui sebagai salah seorang pengguna bahasa Ruby. Berikut adalah contoh-contoh yang dapat dijalankan dalam 'iex shell' maupun disimpan ke dalam sebuah berkas dan dijalankan melalui Terminal dengan mengetikan elixir .
    Contoh klasik program Hello world:

    Komprehensi

    Pencocokan pola (destructuring)

    Pencocokan Pola (Banyak klausul)

    Operator Pipa

    Modul-modul

    Mengembangkan ribuan proses secara sequential.

    Melakukan tugas secara tidak selaras (async)


    Program-program Elixir yang menonjol


    Absinthe ialah implementasi GraphQL untuk Elixir
    Ecto adalah pembungkus basisdata dan query untuk Elixir
    Mix adalah alat pembangun proyek otomatis untuk proyek-proyek Elixir.
    Nerves adalah sebuah kerangka kerja dan landasan kerja untuk peranti lunak tertanam.
    Phoenix adalah kerangka kerja pembangun situs web pada Elixir
    Plug adalah sebuah spesifikasi dan alat untuk mempermudah dalam membuat modul antara aplikasi-aplikasi web.


    Rujukan




    Pranala luar


    Elixir language website
    Code on GitHub
    Elixir - A modern approach to programming for the Erlang VM (video presentation)
    Dave Thomas: "Programming Elixir ≥ 1.6 Functional |> Concurrent |> Pragmatic |> Fun" (book)
    Simon St. Laurent, J. David Eisenberg: "Introducing Elixir" (book)
    Chris McCord: "Metaprogramming Elixir " (book)

Kata Kunci Pencarian:

elixir bahasa pemrograman
The Elixir programming language

The Elixir programming language

The Elixir programming language on Twitter: "We are improving ExUnit ...

The Elixir programming language on Twitter: "We are improving ExUnit ...

The Elixir Language: a Features Summary | Simply-How.com

The Elixir Language: a Features Summary | Simply-How.com

Elixir Blog Posts - Blogs & Podcasts - Elixir Programming Language Forum

Elixir Blog Posts - Blogs & Podcasts - Elixir Programming Language Forum

Introducing ElixirLS, the Elixir Language Server - Projects - Elixir Forum

Introducing ElixirLS, the Elixir Language Server - Projects - Elixir Forum

Elixir Consulting and Web Development - Erlang Solutions

Elixir Consulting and Web Development - Erlang Solutions

Programming Elixir 1.6: Functional |> Concurrent |> Pragmatic |> Fun by ...

Programming Elixir 1.6: Functional |> Concurrent |> Pragmatic |> Fun by ...

Getting Started with the Elixir Programming Language | Toptal

Getting Started with the Elixir Programming Language | Toptal

Getting Started with the Elixir Programming Language | Toptal®

Getting Started with the Elixir Programming Language | Toptal®

ElixirLS - the Elixir Language Server - Chat / Discussions - Elixir ...

ElixirLS - the Elixir Language Server - Chat / Discussions - Elixir ...

Introduction to the Elixir Programming Language - 2024 Guide - Instagrid.me

Introduction to the Elixir Programming Language - 2024 Guide - Instagrid.me

Introduction to the Elixir Programming Language - 2024 Guide - Instagrid.me

Introduction to the Elixir Programming Language - 2024 Guide - Instagrid.me