Pengguna:Yuki is bored/D (bahasa pemrograman)
Yuki is bored/D | |
---|---|
Paradigma | terkompilasi, multi-paradigma |
Dirancang oleh | Walter Bright, Andrei Alexandrescu (since 2007) |
Pengembang | D Language Foundation |
Rilis perdana | 8 Desember 2001[1] |
Rilis stabil | 2.085.0[2]
/ 1 Maret 2019 |
Tipe sistem | kuat, statis, berduga |
Sistem operasi | Unix-like (FreeBSD, Linux, dll.), Windows, macOS |
Lisensi | Boost[3][4][5] |
Ekstensi nama berkas | .d |
Situs web | dlang |
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 • L • B |
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
- (Inggris) Situs resmi
- (Inggris) Digital Mars
- Repositori Yuki is bored/D (bahasa pemrograman) di GitHub
Referensi
- ^ "D Change Log to Nov 7 2005". D Programming Language 1.0. Digital Mars. Diakses tanggal 1 December 2011.
- ^ "Change Log – D Programming Language". D Programming Language 2.0. D Language Foundation. Diakses tanggal 2 March 2019.
- ^ "dmd front end now switched to Boost license". Diakses tanggal 9 September 2014.
- ^ "dmd Backend converted to Boost License". 7 April 2017. Diakses tanggal 9 April 2017.
- ^ "D 2.0 FAQ". Diakses tanggal 11 August 2015.
- ^ Alexandrescu, Andrei (2010). The D programming language (edisi ke-First). Upper Saddle River, New Jersey: Addison-Wesley. hlm. 314. ISBN 0321635361.
- ^ "Building assert() in Swift, Part 2: __FILE__ and __LINE__". Diakses tanggal 25 September 2014.
- ^ "Expressions". Digital Mars. Diakses tanggal 27 December 2012.
- ^ "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."
- ^ Andrei Alexandrescu (2 August 2010). Three Cool Things About D.