Visi saya untuk masa depan D

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 sini

Diterjemahkan 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.

Source: https://habr.com/ru/post/id471950/


All Articles