İçeriğe atla

OCaml

OCaml
ParadigmasıMultiparadigmalı: fonksiyonel, imperatif, moduler,[1] nesne yönelimli
TasarımcıXavier Leroy, Jérôme Vouillon, Damien Doligez, Didier Rémy, Ascánder Suárez
GeliştiriciInria
Kararlı sürüm5.2.0[2] Bunu Vikiveri'de düzenleyin (13 Mayıs 2024 (5 ay önce) (13 Mayıs 2024))
Tür disipliniÇıkarımsanan, statik, güçlü, yapısal
EtkilendikleriC, Caml, Modula-3, Pascal, Standard ML
EtkiledikleriATS, Coq, Elm, F#, F*, Haxe, Opa, Rust,[3] Scala
Uygulama diliOCaml, C
PlatformuIA-32, x86-64, Power, SPARC, ARM 32-64, RISC-V
İşletim sistemiCross-platform: Linux, Unix, macOS, Windows
LisansLGPLv2.1
Olağan dosya uzantıları.ml, .mli
Web sitesiocaml.org Bunu Vikiveri'de düzenleyin
AilesiML: Caml

OCaml, Fransız Ulusal Bilişim ve Uygulamaları Araştırma Kurumunda (INRIA) Xavier Leroy tarafından geliştirilen, ücretsiz ve özgür bir lisans altında sunulan, ML programlama dilleri ailesine mensup, hem yorumlanan hem de derlenip doğal makine koduna dönüştürülebilen gelişmiş bir fonksiyonel programlama dilidir.

Özellikleri

  • Fonksiyonel (fonksiyonlar birinci sınıf değerdir),
  • Soyut (kapalı ve çokşekilli) cebirsel tipler,
  • Doku tanımı (pattern-matching),
  • Statik tip kontrolü (çalışma esnasında tip hatalarına yol açabilecek programları reddederek engeller),
  • Özgüdümlü hafıza yönetimi,
  • Özgüdümlü tip hesaplaması (çoğu zaman değişkenlerin tiplerini belirtmek gereksizdir),
  • Güçlü önişleme sistemi (camlp4),
  • PowerPC, x64 ve x86 platformları için makine dilinde program üretimi,
  • İşlemciden bağımsız bytecode üretimi,
  • Yacc ve Lex benzeri sözdizim çözümleyici üreticileri,
  • Etiketli işlev argümanları,
  • C ve diğer dillerle kolayca bağlanabilme,
  • Komple UNIX sistem çağrıları desteği,
  • GTK ve GTK2 desteği

İlgili bağlantılar

Kaynakça

  1. ^ "Modules". 29 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Şubat 2020. 
  2. ^ "OCaml 5.2.0 Release Notes". Erişim tarihi: 24 Mayıs 2024. 
  3. ^ "Influences - The Rust Reference". The Rust Reference. 26 Ocak 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 31 Aralık 2023. 

Dış bağlantılar

İlgili Araştırma Makaleleri

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

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Pascal (programlama dili)</span> yüksek seviyeli programlama dili

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.

Perl, bir dil bilimci olup NASA'da sistem yöneticisi olarak çalışan Larry Wall tarafından geliştirilmiş bir programlama dilidir. Yoğun şekilde metin işleme ve görüntü tanıma söz konusu olduğunda kullanılabilecek en güçlü ve pratik programlama dilidir. 22 yıldır geliştirilen ve özgür yazılım çerçevesinde kaynak kodu açık olarak sunulan Perl programlama dili hemen hemen tüm işletim sistemlerinde çalışmaktadır.

<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">C++</span> bir programlama dili

C++, Bjarne Stroustrup tarafından 1979 yılında Bell Laboratuvarları'nda geliştirilmeye başlanmış, C'yi kapsayan ve çok paradigmalı, yaygın olarak kullanılan, genel amaçlı bir programlama dilidir.

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

Yorumlanan programlama dili bilgisayar programlamada yazılan programların çalışabilmeleri için kaynak kodlarının bir yorumlayıcı tarafından yorumlanması gerektiğini ifade etmektedir. "Interpreted programming language" olarak da geçmektedir.

Ruby, nesneye yönelik, dinamik, reflektif ve esnek bir programlama dilidir. Ruby dili, Yukihiro Matsumoto tarafından Japonya'da tasarlanmaya ve geliştirilmeye başlanmıştır.

Programlama dili teorisi (PDT), programlama dilleri olarak bilinen biçimsel dillerin ve bunların bireysel özelliklerinin tasarımı, uygulanması, analizi, karakterizasyonu ve sınıflandırılması ile ilgilenen bir bilgisayar bilimleri dalıdır. Matematik, yazılım mühendisliği, dilbilim ve hatta bilişsel bilime bağlı ve onu etkileyen bilgisayar bilimi disiplinine girer. PDT'ye adanmış çok sayıda dergide ve genel bilgisayar bilimi ve mühendisliği yayınlarında yayınlanan sonuçlarla tanınmış bir bilgisayar bilimi dalı ve aktif bir araştırma alanı haline gelmiştir.

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

SQLite, dünyada en çok dağıtılan ve tavsiye edilen kaynak kodları halka açık, tamamen C/C++ programlama dilleriyle geliştirilmiş sunucu yazılımı ve yapılandırma gereksinimi olmayan, işlemsel ve ilişkisel bir SQL veritabanı motorudur.

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

Go, statik tipli, derlenen, yüksek seviyeli bir programlama dilidir. Robert Griesemer, Rob Pike ve Ken Thompson tarafından Google'da 2007 yılından itibaren geliştirilmeye başlanmıştır. Sözdizimi C'ye benzerdir fakat hafıza erişimi güvenlidir, kullanılmayan hafıza kaynakları sisteme otomatik olarak geri verilir, interface veri tipleri sayesinde yapısal tip sistemini destekler ve eşzamanlı (concurrent) çalışan işlemlerin (process) ortak hafıza kullanabilmelerinin yanında birbiriyle iletişim kurmalarını sağlayan ögelere sahiptir. Eski alan adı golang.org olduğundan sık sık golang ismiyle anılır ama asıl adı Go'dur.

<span class="mw-page-title-main">F Sharp</span> Microsoft programlama dili

F# Microsoft Research tarafından geliştirilen ve .NET Framework üzerinde çalışan fonksiyonel programlama dilidir.

Yazılım tasarımı, bir sorunun yazılım çözümü için, sorun giderme ve planlama aşamasıdır. Yazılımın özellikleri kararlaştırıldıktan sonra yazılım geliştiricileri sorun için bir çözüm geliştirir. Bu aşama mimarisel görünüm kadar, alt düzey algoritma gerçeklemeyi de içerir. Yazılım tasarımı için programlamanın ilk aşaması da diyebiliriz. Programlama işlemine başlamadan önce mutlaka ön çalışma yapmak ve programın nasıl işleyeceğini ortaya koymak gerekir. Programlama makine dili veya yüksek seviyeli bir programlama dili kullanılarak yapılır.

Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.

SFML (Simple and Fast Multimedia Library), bilgisayar bileşenleri için basit arayüz sağlayan platform bağımsız yazılım geliştirme kütüphanesi. C++ ile nesne yönelimli olarak geliştirilmiştir ve C, D, Java, Python, Ruby, .NET, Go, Rust, OCaml, Euphoria ve Nimrod gibi programlama dilleri için de bağlayıcıları vardır. Android ve iOS için uygulama geliştirebilmeyi sağlayacak deneysel portu SFML'nin 2.2 sürümüyle birlikte gelmiştir.

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

Rust; açık kaynak kodlu, çoklu paradigmalı, ilk olarak Mozilla tarafından dizayn edilen ve Rust Foundation tarafından geliştirilmekte olan; performansa, güvenliğe ve eş zamanlı işlem yapabilmeye odaklanmış bir sistem programlama dilidir. Rust, söz dizimi olarak C++ diline benzemektedir. Rust, "güvenli, pratik ve hızlı" bir dil ortaya koymak amacı ile tasarlanmıştır.

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

TensorFlow, makine öğrenimi için ücretsiz ve açık kaynaklı bir yazılım kütüphanesidir. Bir dizi görevde kullanılabilir, ancak derin sinir ağlarının eğitimi ve çıkarımına özel olarak odaklanmaktadır.

Bilgisayar biliminde, bildirimsel programlama bir programlama paradigmasıdır. —bilgisayar programlarının yapısını ve öğelerini oluşturma stili— bir hesaplamanın mantığını kontrol akışını tanımlamadan ifade eder.

Haxe özgür ve açık kaynak kodlu, çapraz platform, çok programlama diline çevrilebilen bir programlama dilidir.

<span class="mw-page-title-main">Redox (işletim sistemi)</span>

Redox, güvenlik, kararlılık ve performansa odaklanan Rust programlama dilinde yazılmış Unix benzeri bir mikro çekirdek işletim sistemidir. Redox güvenli, kullanılabilir ve özgür olmayı amaçlar. Redox, SeL4, MINIX, Plan 9 ve BSD gibi önceki çekirdeklerden ve işletim sistemlerinden esinlenmiştir. GNU ve BSD'ye benzer, ancak bellek açısından güvenli bir dilde yazılmıştır. MIT Lisansı altında dağıtılan ücretsiz ve açık kaynaklı bir yazılımdır.