İçeriğe atla

Elixir

Elixir
ParadigmasıÇok paradigmalı; fonksiyonel, concurrent, dağıtık, süreç odaklı
İlk çıkışı2012
Kararlı sürüm1.16.0 (22 Aralık 2023)
EtkilendikleriClojure, Erlang, Ruby
EtkiledikleriLFE
PlatformuErlang
LisansApache License 2.0
Olağan dosya uzantıları.ex, .exs
Web sitesielixir-lang.org

Elixir, fonksiyonel, eş zamanlı (concurrent), genel amaçlı Erlang Sanal Makinesi (Erlang virtual machine) üzerinde çalışan bir dildir. Erlang üzerine kurulmuş bir dil olduğu için dağıtık (distributed), arızalara dayanıklı (fault-tolerant) sistemler yazılır iken Erlang ile aynı soyut (abstractions) yaklaşımları paylaşabilmektedir. Elixir üretken çok yönlü araç gereçler ve genişletilebilinir tasarım modeli sağlamaktadır. Daha sonralarında dile 2 adet çok önemli özellik eklenmiştir bunlar sırasıyla derleme anında meta programlama (compile-time metaprogramming) güçlü bir macro sistemini mümkün kılan ve protokoller aracılığı ile çok biçimliliktir (polymorphism).

Elixir, oldukça bilinen çeşitli firmalar tarafından kullanılmaktadır. Bunların başında Pinterest, Moz, Discord, Inverse vb. gelmektedir.

Tarihçe

José Valim tarafından 2011 yılında geliştirilen Elixir programlama dili bir AR-GE projesi olarak Plataformatec 3 Ekim 2017 tarihinde Wayback Machine sitesinde arşivlendi. firmasında hayata geçirilmiştir. Valim'in amacı Erlang sanal makinesi üstünde yüksek genişletilebilinir ve üretken bir yapıya sahip olup aynı anda Erlang sanal makinesi üzerinde Erlang ekosistemi ile uyumlu kalabilmektir (compatibility).

İlgili Araştırma Makaleleri

Bilişim, bilişim bilimi ya da bilgisayar bilimi, bilgi ve hesaplamanın kuramsal temellerini ve bunların bilgisayar sistemlerinde uygulanabilmeleri sağlayan pratik teknikleri araştıran bir yapısal bilim dalıdır. Bilişimciler ya da bilgisayar bilimcileri bilgi oluşturan, tanımlayan ve dönüştüren algoritmik süreçler icat edip, kompleks sistemleri tasarlamak ve modellemek için uygun soyutlamalar formüle ederler. Bilişim Dünya'da hızla gelişmeye devam eden önemli bir teknolojidir.

Java, dünyanın en yaygın programlama dillerinden biridir.

<span class="mw-page-title-main">C♯</span> programlama dili

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

Kenneth Lane Thompson Amerikalı bir bilgisayar bilimcisi.Thompson, kariyerinin büyük bir bölümünde orijinal Unix işletim sistemini tasarlayıp uyguladığı Bell Labs'ta çalıştı. Ayrıca C programlama dilinin doğrudan selefi olan B programlama dilini de icat etti. Bununla beraber Plan 9 işletim sisteminin yaratıcılarından ve ilk geliştiricilerinden biriydi. Thompson, 2006'dan beri Go programlama dilini birlikte icat ettiği Google'da çalışmaktadır.

<span class="mw-page-title-main">ColdFusion</span>

ColdFusion bir programlama dilidir. Daha çok web tabanlı uygulamalar yazmakta kullanılır. JJ Allaire ve kardeşi Jeremy Allaire tarafından geliştirilen ColdFusion, sonradan Macromedia ile Allaire firmalarının birleşmesi sonucu Macromedia bünyesine katılmıştır. Gelişmiş web programcılarının kullandığı bir programlama dilidir. MySQL, PostgreSQL, Oracle, MS SQL, DB2,Ms Access, dBASE, FoxPro ve Paradox veritabanlarıyla uyumlu olarak çalışabilir. Allaire ve Macromedia bünyesinden sonra Adobe firması tarafından satın alınıp geliştirilmeye devam edilmektedir.

Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">Cep bilgisayarı</span>

Cep bilgisayarı - PDA, taşınabilir küçük cep bilgisayarları.

Objective-C, C'nin üzerine yazılmış, yansımalı, nesne yönelimli bir programlama dilidir. ObjC, Objective C ve Obj-C olarak da anılır.

<span class="mw-page-title-main">Nesne yönelimli programlama</span> nesne kavramına dayalı programlama paradigması

Nesne yönelimli programlama veya kısaca NYP, Her işlevin nesneler olarak soyutlandığı bir programlama yaklaşımıdır. NYP destekleyen programlama dilleri yüksek seviye diller olarak adlandırılır.

<span class="mw-page-title-main">Dennis Ritchie</span> Amerikalı bilgisayar bilimci

Dennis MacAlistair Ritchie, uzun süre birlikte çalıştığı arkadaşı Ken Thompson ile birlikte C programlama dilini ve Unix işletim sistemini yazan saygın Amerikalı bilgisayar bilimcisi. 1983'te Turing Ödülü'nü, 1999'de Ulusal Teknoloji Madalyası ödülünü aldı. 12 Ekim 2011'de ölmüştür.

<span class="mw-page-title-main">OpenGL</span> grafik uygulama geliştirme arabirimi

OpenGL, gelişmiş donanım desteğini kullanarak hem iki hem de üç boyutlu grafikleri ekrana çizmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Windows, Linux, MacOS ve Solaris gibi birçok işletim sisteminde yaygın olarak ve Playstation 3 başta olmak üzere bazı oyun konsollarınca desteklenir. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi büyük üreticiler her ekran kartında OpenGL desteği sunar.

<span class="mw-page-title-main">Java sanal makinesi</span>

Java Sanal Makinesi (JSM), Java platformunun nesne modülü formatı olan class uzantılı sınıf dosyalarının belleğe yüklenip çalıştırılması için gereken hizmetleri sunan bir sistem programıdır ve temel görevinin sınıf dosyalarını yorumlamak olduğu söylenebilir. Ancak, JSM'ni salt bir yorumlayıcı olarak görmek büyük haksızlık olur. Zira, yorumlama ile birlikte JSM'nin şu görevleri de vardır.

Javac Oracle Corporation tarafından sağlanan Java Geliştirme Kiti'nda (JDK) bulunan Java derleyicisidir.

<span class="mw-page-title-main">Shotwell</span>

Shotwell, Linux sistemler için gelişkin bir fotoğraf yönetim uygulaması. 2009 yılında Yorba Vakfı bünyesinde geliştirilmeye başlanılmış olup günümüzde GNOME projesi kapsamında geliştirilmektedir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

<span class="mw-page-title-main">Erlang (programlama dili)</span> programlama dili

Erlang, Ericsson firması tarafından 1986'da Joe Armstrong, Robert Virding ve Mike Williams önderliğinde geliştirilen genel amaçlı (general-purpose), eş zamanlı (concurrent), dinamik, fonksiyonel ve atık toplama (garbage-collected) özelliğine sahip olan bir dildir. Erlang veya alternatifi olan Erlang/OTP şeklinde tanımlamalar da kullanılabilir. Erlang/OTP işleyiş sürecinin bir parçasıdır ve birçok kullanıma hazır komponent/bileşen sunmaktadır. Erlang/OTP bileşenlerinin birçoğu Erlang programlama dili ile yazılmıştır. Erlang/OTP, bunların yanında bir dizi tasarım prensipleri de sunmaktadır.

AOT derlemesi C veya C++ gibi daha üst düzey bir programlama dili, Java bytecode veya .NET Framework Ortak Ara Dil kodu gibi bir ara temsilciliğin yerli bir makine diline derleme eylemidir. Sonuçta ortaya çıkan ikili dosya yerel olarak çalıştırılabilir.

Objective-J, [ Cappuccino web] geliştirme çerçevesinin bir parçası olarak geliştirilmiş bir programlama dilidir. Sözdizimi Objective-C sözdizimi ile hemen hemen aynıdır ve JavaScript ile Objective-C'nin C programlama diliyle aynı ilişkiyi paylaşır: katı, ancak küçük bir üst küme olmak; geleneksel kalıtım ve Smalltalk / Objective-C tarzı dinamik gönderim ekleniyor. Prototip tabanlı bir dil olan Pure JavaScript zaten nesne yönelimi ve miras kavramına sahiptir, ancak Objective-J JavaScript'e sınıf tabanlı programlama kullanımını ekler.Objective-J ile yazılmış programların, bir web tarayıcısının JavaScript sanal makinesi tarafından çalıştırılmadan önce önceden işlenmesi gerekir. Bu adım, çalışma zamanında web tarayıcısında veya Objective-J programlarını saf JavaScript koduna çeviren bir derleyici tarafından gerçekleşebilir. Objective-J derleyicisi JavaScript dilinde yazılmıştır; Sonuç olarak, Objective-J programlarını dağıtmak için bir web tarayıcısı eklentisi gerekmez. Objective-J, Node.js üzerinde derlenebilir ve çalıştırılabilir.