D (bahasa pemrograman): Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Menghapus Kategori:Bahasa pemrograman menggunakan HotCat |
mengubah informasi yang sudah outdated seperti dua pustaka, Tango dan Phobos, yang sekarang hanya 1 |
||
Baris 2:
{{rapikan|topik=teknologi informasi}}
== Sejarah Perkembangan D ==
D( bahasa pemrograman ) adalah bahasa yang dibuat oleh [[Id.wikipedia.org/Walter Bright|Walter Bright]]. D mulai dibuat pada tahun 1999 dan disebarkan ke publik pertama kali pada tahun 2001<ref>{{Cite web|url=http://www.digitalmars.com/d/1.0/changelog1.html|title=Change Log - D Programming Language 1.0 - Digital Mars|website=www.digitalmars.com|language=en-US|access-date=2018-06-17}}</ref> , kemudian mencapai versi 1.0 pada tahun 2007<ref>{{Cite web|url=http://www.digitalmars.com/d/1.0/changelog2.html|title=Change Log - D Programming Language 1.0 - Digital Mars|website=www.digitalmars.com|language=en-US|access-date=2018-06-17}}</ref>.
pada awalnya, ketika D berada pada versi 1.0, banyak programmer yang merasa kurang puas dengan pustaka pemrograman phobos saat itu, komunitas D membuat pustaka pemrograman mereka sendiri yang mereka namakan Tango dan diberitakan beberapa tanggal setelah D versi 1.0 diluncurkan<ref>{{Cite web|url=http://forum.dlang.org/post/en9ou4$23hr$1@digitaldaemon.com|title=Announcing a new library|website=forum.dlang.org|language=en-US|access-date=2018-06-17}}</ref>Tango memakai pendekatan yang berbeda dengan Phobos, dimana Tango lebih mirip dengan Pustaka pemrograman Java.
kemudian pada Juni 2007<ref>https://dlang.org/blog/2018/03/03/dmd-2-079-0-released</ref> D2 diluncurkan, dimana banyak fitur baru dimasukkan ke dalam D, seperti sistem constant, functional, contract.
Andrei Alexandrescu meluncurkan buku D yang berjudul ''The D Programming Language'' pada tanggal 12 Juni 2010
=== Distribusi D ===
* [https://dlang.org/dmd-windows.html DMD], compiler yang dibuat Walter Bright, pencipta D
* [https://gdcproject.org/ GDC], compiler D yang dibuat dengan backend GCC
* [https://wiki.dlang.org/LDC LDC], compiler D yang dibuat dengan backend LLVM
== Pustaka pemograman D ==
=== Pustaka pemograman standar ===
Pustaka pemrograman standar adalah pustaka software yang bisa Anda gunakan langsung untuk membuat aplikasi yang Anda inginkan dengan menggunakan konsep OOP yang telah diimplementasikan oleh bahasa D.
pustaka pemrograman dari D1 ada 2, satu phobos dan satu lagi tango( dibuat oleh komunitas D ) :
* Phobos, dibuat oleh Walter Bright
* Tango, dibuat oleh komunitas D, lebih popular di masa D1, namun, tidak bisa digunakan bersama dengan phobos
Pustaka pemrograman dari D2 ada 1, phobos, meskipun begitu ada projek untuk membawa Tango dari D1 ke D2<ref>{{Cite web|url=https://github.com/SiegeLord/Tango-D2|title=SiegeLord/Tango-D2|website=GitHub|language=en|access-date=2018-06-17}}</ref>
=== Pustaka GUI ([[Graphical User Interface]]) ===
Baris 29 ⟶ 35:
* [[GLFW]]
GLFW merupakan salah satu pustaka gratis untuk pemrograman [[Open GL]]. Walaupun aplikasi ini dikembangkan untuk berbagai [[kompiler]] bahasa C seperti [[Borland]], [[Pelles]], [[Visual C]], tetapi pustaka ini juga memiliki dukungan terhadap bahasa pemrograman lain seperti [[Visual Basic]], [[LUA]], [[Assembler]], D.
* [https://github.com/buggins/dlangui DlangUI]
DlangUI merupakan pustaka gratis untuk membuat aplikasi dengan GUI
== [[Integrated Development Environment]] ==
Baris 41 ⟶ 51:
* [http://scite4d.chinese-blog.org/ scite4d]
Sebuah editor dengan fasilitas auto completion, Code Folding dll.
* [https://github.com/buggins/dlangide DlangIDE]
Sebuah editor dengan auto completion dan manajemen file, dibuat diatas [https://github.com/buggins/dlangui DlangUI]oleh pencipta yang sama
== Contoh-contoh ==
=== Hello World ===
Berikut ini program '''Helo Dunia'''
import std.stdio;
void main(
{
}
</syntaxhighlight>
void main(char[][] args)▼
{▼
}▼
=== char [] ===
Baris 206 ⟶ 207:
if(utsa.getState() == Thread.TS.RUNNING) utsa.stopIt(); // pastikan berhenti
}
</source>'''<big>Functional</big>'''
<syntaxhighlight lang="d" line="1">
import std.stdio;
import std.algorithm : map;
▲{
int[] arr = [ 1, 2, 3, 4, 5 ];
arr = map!( x => x + 1 )( arr );
writeln( arr ) //[ 2, 3, 4, 5, 6 ]
▲}
</syntaxhighlight>'''<big>Template</big>'''
contoh template dalam D<syntaxhighlight lang="d">
auto add( T )( T a, T b )
{
return a + b;
}
import std.stdio;
void main( string[] args )
{
int a = 10;
int b = 20;
writeln( add( a + b ) ) //30
float x = 10.3;
float y = 20.4;
writeln( add( x, y ) ) //30.7
}
</syntaxhighlight>
== Pranala Berkenaan ==
|