
Ketika Andrei Alexandrescu mengundurkan diri sebagai wakil kepala departemen bahasa pemrograman D, saya diminta untuk mengambil peran ini di masa depan. Tidak perlu membicarakannya, tetapi saya masih akan mengatakan bahwa topi ini terlalu besar untuk saya.
Saya masih memasuki peran baru saya di masyarakat dan mencari tahu bagaimana saya ingin bertindak dan apa itu sebenarnya. Proses ini tidak terjadi dalam ruang hampa, karena Walter juga bersama kami.
Di
forum D, saya diminta untuk menulis posting blog tentang "impian saya dan langkah selanjutnya untuk D," jadi inilah hasilnya. Saya ingin menjadi apa dengan D dalam waktu dekat:
Keamanan memori
βTapi D adalah bahasa dengan GC!β, Aku mendengar seruanmu. Ya, tetapi ini juga merupakan bahasa pemrograman sistem dengan tipe dan pointer non-referensi, yang berarti bahwa hari ini D tidak sepenuhnya aman untuk bekerja dengan memori.
DIP1000 adalah langkah ke arah yang benar (kira-kira. Sistem pinjaman, seperti pada Rust,
lihat di sini ), tetapi bekerja dengan memori harus aman sampai programmer menolak melalui "Saya tahu apa yang saya lakukan" dengan
@ atribut atau fungsi blok
tepercaya . Ini berarti beralih ke
@ aman secara default.
Multithreading yang sederhana dan andal
Kami sebagian besar sudah berada di titik yang tepat - menggunakan model aktor menghilangkan banyak masalah yang biasanya muncul. Tetap menyelesaikan pekerjaan pada atribut yang
dibagikan dan melakukan segalanya
@ aman .
Jadikan D bahasa pemrograman standar
Kemungkinan D dalam hal refleksi statis dan pembuatan kode menjadikannya kandidat yang ideal untuk membuat kode yang harus dipanggil dari beberapa bahasa dan lingkungan yang berbeda (mis. Python, Excel, R, dll.). Ini biasanya dilakukan dengan menentukan struktur data dan panggilan RPC dalam bahasa definisi antarmuka (IDL), dan kemudian menerjemahkannya ke bahasa yang didukung dengan protokol pertukaran yang sesuai.
Dalam kasus D, semua ini tidak diperlukan. Anda dapat menulis kode industri dalam D dan dengan bantuan perpustakaan kode ini dapat secara otomatis dipanggil dari bahasa lain. Tambahkan ke semua ini, Anda dapat dengan mudah menulis kode D yang bekerja sama cepat atau lebih cepat daripada alternatif, dan itu akan menjadi kemenangan di semua lini.
Refleksi yang tak tertandingi
Alih-alih cara yang berbeda untuk bekerja dengan API terfragmentasi (__traits, std.traits, bikes), saya ingin memiliki perpustakaan yang memusatkan semua kebutuhan untuk refleksi dengan API yang indah. Saya sudah mengerjakannya.
Sederhanakan interoperabilitas dengan C ++
Seperti yang saya sebutkan dalam
pidato saya
di DConf 2019 , C ++ mencapai kesuksesan dengan membuat transisi dari C hampir mulus. Saya ingin pemrogram C ++ saat ini dengan basis kode yang sudah ketinggalan zaman untuk mulai dengan mudah mulai menulis kode dalam D. Itu sebabnya
saya menulis dpp (
catatan: penerjemah untuk header C ++ di D), tapi itu tidak semua, dan kita mungkin perlu membuat perubahan pada bahasa untuk mengadaptasi ini di masa depan.
Kecepatan pengembangan
Saya pikir kita membutuhkan juru bahasa yang sangat cepat sehingga kita dapat menolak pembuatan dan tata letak kode mesin yang konstan. Menurut pendapat saya, ini harus menjadi cara standar untuk menjalankan blok
unittest (tes unit
primitif dibangun ke dalam bahasa) untuk memberikan umpan balik cepat, dan sehingga programmer harus mengkompilasi kode mereka hanya untuk kinerja maksimum dan / atau untuk penyebaran kepada pengguna akhir. Itu juga akan memungkinkan untuk pengenalan
REPL .
String Terinterpolasi
Awalnya, saya menentangnya, tetapi semakin saya memikirkannya, semakin logis untuk D. Mengapa? Mixin string. Pembuatan kode adalah salah satu kekuatan D, dan
token string memungkinkan Anda untuk menikmati blok kode yang sebenarnya "hanya string". Interpolasi string akan sangat menyederhanakan penggunaannya. Sejauh ini,
rancangan DIP sedang dalam pengembangan.
Inilah yang terjadi pada saya setelah lama berjalan di sepanjang Danau Jenewa. Saya ingin tahu apa pendapat masyarakat tentang hal itu, apa kapalan dan peluang favorit mereka di D, dan bagaimana, menurut pendapat mereka, ini akan membantu atau menghambat kemajuan bagi D.
Diskusi di D-forum di siniDiterjemahkan menggunakan
www.DeepL.com/Translator (ini bukan terjemahan otomatis jika seseorang belum memperhatikan, tetapi pada saat yang sama penerjemah ini dengan elemen AI sangat membantu)
PS Siapa yang melewatkan
artikel sebelumnya dari blog tentang rencana D untuk pengembangan ponsel. Dia dicurigai beriklan (oh, donat disebutkan) dan diusir dari hub D.