Pengguna:Yuki is bored/D (bahasa pemrograman)

Yuki is bored/D
Paradigmakompil, multiparadigma
Dirancang olehWalter Bright, Andrei Alexandrescu (sejak 2007)
PengembangD Language Foundation
Rilis perdana8 Desember 2001; 22 tahun lalu (2001-12-08)[1]
Rilis stabil
2.085.0[2] / 1 Maret 2019; 5 tahun lalu (2019-03-01)
Tipe sistemerat, statis, berduga
Sistem operasiUnix-like (FreeBSD, Linux, dll.), Windows, macOS
LisensiBoost[3][4][5]
Ekstensi nama berkas.d
Situs webdlang.org
Implementasi utama
DMD (implementasi referensi), GDC, LDC, SDC
Terpengaruh oleh
C, C++, C#, Eiffel,[6] Java, Python
Mempengaruhi
MiniD, Vala, Qore, Swift,[7] Genie
Sunting kotak info
Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini


D (atau Dlang) adalah bahasa pemrograman imperatif, berorientasi objek, dan multiparadigma yang dibuat oleh Walter Bright dari Digital Mars dan diterbitkan pada tahun 2001. Bright mengajak Andrei Alexandrescu untuk merancang dan mengembangkan D pada tahun 2007. D berawal dari rekayasa ulang C++ tetapi menjadi bahasa pemrograman yang terpisah dan telah merancang ulang fitur-fitur utama C++ dan mempunyai karateristik yang dibawa dari bahasa pemrograman yang lain seperti Java, Python, Ruby, C#, dan Eiffel.

Tujuan utama bahasa pemrograman D adalah mengabungkan performa dan keamanan bahasa pemrograman kompil dengan expresivitas bahasa pemrograman dinamis. Kode D seringkali sama cepat dengan kode C++ yang setara walaupun lebih pendek.[8] Secara keselurahan bahasanya tidak menjaminkan keamanan memori[9] tetapi mempunyai atribut opsional untuk menjaminkannya.

Sistem tipe berduga, manajemen memori otomatis, dan gula sintaktik untuk tipe data umum membuat perkembangan perangkat lunak lebih cepat sementara dengan fitur seperti uji batas, desain berdasarkan kontrak, dan sistem tipe yang sadar konkurensi membantu mengurangi kedatangannya kekutu.[10]

Contoh

sunting

Contoh 1

sunting
import std.stdio: writefln;

void main(string[] args)
{
    foreach (i, arg; args)
        writefln("args[%d] = '%s'", i, arg);
}

Contoh 2

sunting
import std.stdio, std.algorithm, std.range, std.string;

void main()
{
    dstring[] [dstring] signs2words;

    foreach(dchar[] w; lines(File("words.txt")))
    {
        w = w.chomp().toLower();
        immutable key = w.dup.sort().release().idup;
        signs2words[key] ~= w.idup;
    }

    foreach(words; signs2words)
        if(words.length > 1)
            writefln(words.join(" "));
}

Pranala luar

sunting

Referensi

sunting
  1. ^ "D Change Log to Nov 7 2005". D Programming Language 1.0. Digital Mars. Diakses tanggal 1 December 2011. 
  2. ^ "Change Log – D Programming Language". D Programming Language 2.0. D Language Foundation. Diakses tanggal 2 March 2019. 
  3. ^ "dmd front end now switched to Boost license". Diakses tanggal 9 September 2014. 
  4. ^ "dmd Backend converted to Boost License". 7 April 2017. Diakses tanggal 9 April 2017. 
  5. ^ "D 2.0 FAQ". Diakses tanggal 11 August 2015. 
  6. ^ Alexandrescu, Andrei (2010). The D programming language (edisi ke-First). Upper Saddle River, New Jersey: Addison-Wesley. hlm. 314. ISBN 0321635361. 
  7. ^ "Building assert() in Swift, Part 2: __FILE__ and __LINE__". Diakses tanggal 25 September 2014. 
  8. ^ "Expressions". Digital Mars. Diakses tanggal 27 December 2012. 
  9. ^ "On: Ruminations on D: An Interview with Walter Bright". Hacker News. August 30, 2016.  "It's close, and we're working to close the remaining gaps."
  10. ^ Andrei Alexandrescu (2 August 2010). Three Cool Things About D.