Pertanyaan yang diberi tag «language-design»

Pertanyaan yang melibatkan desain dan struktur bahasa pemrograman.

22
Apakah referensi nol benar-benar buruk?
Saya pernah mendengar bahwa dimasukkannya referensi nol dalam bahasa pemrograman adalah "kesalahan miliar dolar". Tapi kenapa? Tentu, mereka dapat menyebabkan NullReferenceExceptions, tetapi jadi apa? Elemen bahasa apa pun bisa menjadi sumber kesalahan jika digunakan dengan tidak benar. Dan apa alternatifnya? Saya kira bukannya mengatakan ini: Customer c = Customer.GetByLastName("Goodman"); // …

14
Mengapa sebagian besar bahasa pemrograman hanya mendukung pengembalian satu nilai dari suatu fungsi? [Tutup]
Apakah ada alasan mengapa fungsi di sebagian besar (?) Bahasa pemrograman dirancang untuk mendukung sejumlah parameter input tetapi hanya satu nilai balik? Dalam kebanyakan bahasa, dimungkinkan untuk "mengatasi" batasan itu, misalnya dengan menggunakan parameter-out, pointer kembali atau dengan mendefinisikan / mengembalikan struct / kelas. Tetapi tampaknya aneh bahwa bahasa pemrograman …

14
Mengapa 0 salah?
Pertanyaan ini mungkin terdengar bodoh, tetapi mengapa 0harus dievaluasi falsedan nilai [integer] lainnya truekebanyakan bahasa pemrograman? Perbandingan string Karena pertanyaannya tampak agak terlalu sederhana, saya akan menjelaskan diri saya sedikit lagi: pertama-tama, mungkin tampak jelas bagi setiap programmer, tetapi mengapa tidak akan ada bahasa pemrograman - mungkin sebenarnya ada, tetapi …

6
Mengapa XML disebut "bahasa" tepatnya?
Saya bertanya-tanya mengapa XML memiliki huruf L dalam namanya. Dengan sendirinya, XML tidak "melakukan" apa pun. Ini hanya format penyimpanan data, bukan bahasa! Bahasa "melakukan" hal-hal. Cara Anda mendapatkan XML untuk "melakukan" hal-hal, untuk mengubahnya menjadi bahasa yang tepat, adalah dengan menambahkan xmlnsatribut ke elemen rootnya. Baru setelah itu ia …

12
Saya telah diberitahu bahwa Pengecualian hanya boleh digunakan dalam kasus luar biasa. Bagaimana saya tahu jika kasus saya luar biasa?
Kasus spesifik saya di sini adalah bahwa pengguna dapat mengirimkan string ke dalam aplikasi, aplikasi mem-parsingnya dan menetapkannya ke objek terstruktur. Terkadang pengguna dapat mengetik sesuatu yang tidak valid. Misalnya, masukan mereka mungkin menggambarkan seseorang tetapi mereka mungkin mengatakan usia mereka adalah "apel". Perilaku yang benar dalam kasus itu adalah …



11
Apakah para pengembang Java secara sadar meninggalkan RAII?
Sebagai seorang programmer C # lama, saya baru-baru ini datang untuk belajar lebih banyak tentang keuntungan dari Resource Acquisition Is Inisialisasi (RAII). Secara khusus, saya telah menemukan bahwa idiom C #: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } memiliki setara C ++: { DbConnection …
82 java  c#  c++  language-design 

10
Jika null buruk, mengapa bahasa modern menerapkannya? [Tutup]
Saya yakin perancang bahasa seperti Java atau C # tahu masalah yang terkait dengan keberadaan referensi nol (lihat Apakah referensi nol benar-benar buruk? ). Juga menerapkan jenis opsi tidak benar-benar jauh lebih kompleks daripada referensi nol. Mengapa mereka memutuskan untuk memasukkannya? Saya yakin kurangnya referensi nol akan mendorong (atau bahkan …



14
Mengapa Overflow Aritmatika diabaikan?
Pernah mencoba menjumlahkan semua angka dari 1 hingga 2.000.000 dalam bahasa pemrograman favorit Anda? Hasilnya mudah dihitung secara manual: 2.000.001.000.000, yang sekitar 900 kali lebih besar dari nilai maksimum integer 32bit yang tidak ditandatangani. C # print out -1453759936- nilai negatif! Dan saya kira Java melakukan hal yang sama. Itu …

9
Mengapa menggunakan kelas parsial?
Dalam pemahaman saya, partialkata kunci tidak melakukan apa pun kecuali memungkinkan kelas untuk dibagi antara beberapa file sumber. Apakah ada alasan untuk melakukan ini selain untuk organisasi kode? Saya pernah melihatnya digunakan untuk itu di kelas UI yang dihasilkan. Tampaknya alasan yang buruk untuk membuat keseluruhan kata kunci. Jika sebuah …

8
Bagaimana beberapa komunitas bahasa (misalnya, Ruby dan Python) dapat mencegah fragmentasi sementara yang lain (misalnya, Lisp atau ML) tidak?
Istilah "Lisp" (atau "Lisp-like") adalah payung untuk banyak bahasa yang berbeda, seperti Common Lisp, Scheme, dan Arc. Ada fragmentasi serupa di komunitas bahasa lain, seperti di ML. Namun, Ruby dan Python sama-sama berhasil menghindari nasib ini, di mana inovasi lebih banyak terjadi pada implementasi (seperti PyPy atau YARV) daripada membuat …

10
Desain Sintaks - Mengapa menggunakan tanda kurung ketika tidak ada argumen yang disampaikan?
Dalam banyak bahasa, sintaks function_name(arg1, arg2, ...)digunakan untuk memanggil suatu fungsi. Ketika kita ingin memanggil fungsi tanpa argumen, kita harus melakukannya function_name(). Saya merasa aneh bahwa kompiler atau juru bahasa naskah harus ()berhasil mendeteksinya sebagai panggilan fungsi. Jika suatu variabel diketahui bisa dipanggil, mengapa tidak function_name;cukup? Di sisi lain, dalam …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.