Pertanyaan yang diberi tag «language-design»

Pertanyaan yang melibatkan desain dan struktur bahasa pemrograman.

4
Apa arti tepatnya yang tidak terdefinisi dalam JavaScript? Kenapa ada di sana? Penggunaan apa yang dimilikinya? Bagaimana ini bisa bermanfaat?
Dalam JavaScript, kami memiliki sesuatu yang disebut undefined . Saya mengatakan sesuatu, karena saya benar-benar tidak tahu apakah itu kelas dasar, atau variabel bawaan, atau kata kunci, atau apa pun. Saya hanya tahu bahwa itu ada di sana. Untuk melihatnya dalam aksi, Anda cukup menulis: undefined; typeof undefined; Adakah yang …

2
Seberapa mudah seharusnya kerangka pengembangan bahasa digunakan?
Ini adalah bagian dari serangkaian pertanyaan yang berfokus pada proyek yang disebut Proyek Abstraksi, yang bertujuan untuk abstrak konsep-konsep yang digunakan dalam desain bahasa dalam bentuk kerangka kerja. Halaman lain yang terkait dengan itu terkait dengan pengetikan struktural dapat dilihat di sini . Meta-topik yang terkait dengan penyelidikan tentang kerangka …

5
Fungsi Kelas Pertama
Saya mulai serius melihat Lisp akhir pekan ini (yang saya maksud saya hanya belajar Lisp dan tidak kembali ke proyek dalam C #) dan harus mengatakan saya menyukainya. Saya telah mencoba-coba bahasa fungsional lainnya (F #, Haskell, Erlang) tetapi belum merasakan hasil imbang yang diberikan Lisp kepada saya. Sekarang ketika …

1
global statis dan ruang nama anonim di C ++
Mengapa C ++ membuat perbedaan antara global statis (hubungan internal) dan simbol dalam ruang nama yang tidak disebutkan namanya (hubungan eksternal, toh tidak ada cara untuk merujuknya dari luar), ketika memperkenalkan yang terakhir? Adakah alasan-alasan itu yang masih berlaku, atau ada yang baru? Apakah ada tempat tersisa di mana mereka …


1
Mengapa Swift membutuhkan meja saksi?
Saya mencoba untuk membaca detail implementasi Swift, dan satu hal yang tidak bisa saya pecahkan adalah "tabel saksi" nya. Sepertinya itu adalah pointer vtable terpisah yang digunakan untuk struct. Tetapi mengapa Anda membutuhkannya? Struct disalin oleh nilai, jadi Anda sudah tahu pada waktu kompilasi jenis apa mereka. Jadi bukankah Anda …

1
Apakah kelanjutan kelas satu berguna dalam bahasa pemrograman berorientasi objek modern?
Lanjutan sangat berguna dalam bahasa pemrograman fungsional (misalnya Contmonad di Haskell) karena memungkinkan notasi sederhana dan teratur untuk kode gaya imperatif. Mereka juga berguna dalam beberapa bahasa imperatif lama karena mereka dapat digunakan untuk mengimplementasikan fitur bahasa yang hilang (mis. Pengecualian, coroutine, utas hijau). Tetapi untuk bahasa berorientasi objek modern …

12
Mengapa lebih banyak bahasa tidak memiliki kemampuan untuk membandingkan suatu nilai dengan lebih dari satu nilai lainnya? [Tutup]
Ditutup . Pertanyaan ini didasarkan pada pendapat . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga dapat dijawab dengan fakta dan kutipan dengan mengedit posting ini . Ditutup 5 tahun yang lalu . Pertimbangkan yang berikut ini: if(a == b or c) Dalam sebagian besar bahasa, …

3
Bagaimana menerapkan evaluasi malas if ()
Saat ini saya menerapkan evaluator ekspresi (ekspresi garis tunggal, seperti rumus) berdasarkan hal berikut: ekspresi yang dimasukkan tokenized untuk memisahkan boolean literal, integer, desimal, string, fungsi, pengidentifikasi (variabel) Saya menerapkan algoritma Shunting-yard (sedikit dimodifikasi untuk menangani fungsi dengan sejumlah variabel argumen) untuk menyingkirkan tanda kurung dan memesan operator dengan prioritas …


6
Bagaimana cara memverifikasi / membuktikan ortogonalitas suatu bahasa pemrograman?
Saya tahu konsep ortogonalitas, tetapi dari sudut pandang bahasa pemrograman, apakah ada cara untuk memverifikasi / membuktikannya? Misalnya dalam C #, seseorang dapat menggunakan publicatau staticuntuk tanda tangan metode. Anda dapat menggunakan salah satu atau keduanya dan mereka tidak akan saling mengganggu, sehingga mereka saling orthogonal, bukan? Pertanyaan saya adalah, …


3
Mengapa generik java tidak bisa ada dalam array?
Mengapa ketika saya mencoba membuat array dari ArrayLists: ArrayList<Integer>[] arr=new ArrayList<Integer>[40];ada kesalahan dan java tidak mengizinkan ini? Apakah ada alasan terkait dengan implementasi java generik, generik dalam bahasa apa pun, atau sesuatu yang sewenang-wenang?

1
Nama teknik untuk menyimpulkan argumen tipe dari parameter tipe?
Setup: Mari kita asumsikan kita memiliki tipe yang disebut Iteratoryang memiliki parameter tipe Element: interface Iterator<Element> {} Kemudian kami memiliki antarmuka Iterableyang memiliki satu metode yang akan mengembalikan Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Masalah dengan Iteratormenjadi generik adalah bahwa …

4
Apakah memiliki fasilitas bahasa generator seperti `yield` adalah ide yang bagus?
PHP, C #, Python dan kemungkinan beberapa bahasa lain memiliki yieldkata kunci yang digunakan untuk membuat fungsi generator. Dalam PHP: http://php.net/manual/en/language.generators.syntax.php Dalam Python: https://www.pythoncentral.io/python-generators-and-yield-keyword/ Dalam C #: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/yield Saya khawatir bahwa sebagai fitur / fasilitas bahasa, ada yieldbeberapa konvensi. Salah satunya adalah apa yang saya sebut "kepastian". Ini adalah metode …

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.