Pengguna:Yuki is bored/D (bahasa pemrograman)

Yuki is bored/D
Paradigmaterkompilasi, multi-paradigma
Dirancang olehWalter Bright, Andrei Alexandrescu (since 2007)
PengembangD Language Foundation
Rilis perdana8 Desember 2001; 23 tahun lalu (2001-12-08)[1]
Rilis stabil
2.085.0[2] / 1 Maret 2019; 5 tahun lalu (2019-03-01)
Tipe sistemkuat, 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 multi-paradigma yang dibuat oleh Walter Bright dari Digital Mars dan diterbitkan pada tahun 2001. Bright diajak Andrei Alexandrescu untuk mendesain dan mengembangkan D pada tahun 2007. D berawal menjadi rekayasa ulang C++ tetapi D adalah bahasa pemrograman yang terpisah dan telah mendesain 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 terkompilasi dengan fitur ekspresif bahasa pemrograman dinamis. Kode D seringkali sama cepat dengan kode C++ equivalent walaupun lebih pendek.[8] Secara keselurahan bahasanya tidak menjaminkan Keamanan memori[9] tetapi mempunyai atribut opsional untuk menjaminkan keamanan pemakaian memori.

Pertipean berduga, Manajemen memori otomatis, dan Gula sintaksis untuk tipe umum membuat perkembangan lebih cepat sekaligus dengan fitur seperti pemeriksaan batas, desain berdasarkan kontrak, dan sistem tipe yang sadar konkurensi membantu mengurangi kedatangannya kekutu.[10]

Contoh

Contoh 1

import std.stdio: writefln;

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

Contoh 2

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

Referensi

  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.