Pertanyaan yang diberi tag «language-design»

Pertanyaan yang melibatkan desain dan struktur bahasa pemrograman.


9
Mengapa ada dukungan terbatas untuk Desain berdasarkan Kontrak di sebagian besar bahasa pemrograman modern?
Saya baru-baru ini menemukan Desain oleh Kontrak (DbC) dan saya menemukan cara yang sangat menarik untuk menulis kode. Di antara hal-hal lain, tampaknya akan menawarkan: Dokumentasi yang lebih baik. Karena kontrak adalah dokumentasi, tidak mungkin bagi seseorang untuk ketinggalan zaman. Selain itu, karena kontrak menentukan dengan tepat apa yang dilakukan …

12
Mengapa sebagian besar bahasa pemrograman memiliki kata kunci atau sintaksis khusus untuk mendeklarasikan fungsi? [Tutup]
Sebagian besar bahasa pemrograman (baik bahasa yang diketik secara dinamis maupun statis) memiliki kata kunci dan / atau sintaksis khusus yang terlihat jauh berbeda dari mendeklarasikan variabel untuk mendeklarasikan fungsi. Saya melihat fungsi sama seperti mendeklarasikan entitas bernama lain: Misalnya dengan Python: x = 2 y = addOne(x) def addOne(number): …

4
Seberapa cepat Go bisa pergi?
Go adalah salah satu dari beberapa bahasa yang seharusnya menjalankan 'close to the metal', yaitu dikompilasi, diketik secara statis, dan mengeksekusi kode secara native, tanpa VM. Ini harus memberikan keunggulan kecepatan di atas Java, C # dan sejenisnya. Namun, tampaknya itu berada di belakang Java (lihat Program Shootout Language ) …


5
Mengapa C # tidak memiliki cakupan lokal di blok kasus?
Saya sedang menulis kode ini: private static Expression<Func<Binding, bool>> ToExpression(BindingCriterion criterion) { switch (criterion.ChangeAction) { case BindingType.Inherited: var action = (byte)ChangeAction.Inherit; return (x => x.Action == action); case BindingType.ExplicitValue: var action = (byte)ChangeAction.SetValue; return (x => x.Action == action); default: // TODO: Localize errors throw new InvalidOperationException("Invalid criterion."); } } …


2
Apa itu generasi bahasa pemrograman ke 4 & 5? Apakah ada lebih banyak dari mereka? [Tutup]
Karena sering diklasifikasikan di tingkat sekolah / perguruan tinggi, bahasa pemrograman populer (C #, Java, C ++) adalah semua bahasa generasi ke-3 (dengan tingkat abstraksi yang lebih tinggi dari bagian fisik mesin). Selain itu, bahasa rakitan diklasifikasikan sebagai bahasa ke-2 dan bahasa mesin sebagai bahasa generasi pertama. Awalnya saya berpikir …

7
Mengapa begitu banyak bahasa yang lulus nilai?
Bahkan bahasa di mana Anda memiliki manipulasi pointer eksplisit seperti C selalu dilewati oleh nilai (Anda dapat meneruskannya dengan referensi tetapi itu bukan perilaku default). Apa manfaatnya ini, mengapa begitu banyak bahasa yang dilewatkan oleh nilai-nilai dan mengapa yang lain lulus dengan referensi ? (Saya mengerti Haskell disahkan oleh referensi …

3
Apakah pengembangan Java biasanya melibatkan lebih banyak subkelas daripada C # /. NET?
Saya baru-baru ini mulai melihat pengembangan Android. Ini telah membawa saya kembali ke dunia pengembangan perangkat lunak Java. Terakhir kali saya bekerja dengan Java, saya akui, saya tidak memahami OOP sebanyak yang saya kira sekarang. Karena sebagian besar menggunakan C # dalam karir saya, saya melihat perbedaan yang mengejutkan dalam …


5
Mengapa C # dan Java menggunakan persamaan referensi sebagai default untuk '=='?
Saya telah merenungkan mengapa Java dan C # (dan saya yakin bahasa lain) default untuk referensi kesetaraan ==. Dalam pemrograman yang saya lakukan (yang tentunya hanya sebagian kecil dari masalah pemrograman), saya hampir selalu menginginkan kesetaraan logis ketika membandingkan objek daripada referensi kesetaraan. Saya mencoba memikirkan mengapa kedua bahasa ini …



4
Mengapa .compareTo () dalam antarmuka sementara .equals () berada di kelas di Jawa?
Saya ingin tahu mengapa .compareTo()ada di Comparableantarmuka sementara metode seperti .equalsdi Objectkelas. Bagi saya, tampaknya sewenang-wenang mengapa metode seperti .compareTo()belum ada di Objectkelas. Untuk menggunakan .compareTo(), Anda mengimplementasikan Comparableantarmuka dan mengimplementasikan .compareTo()metode untuk tujuan Anda. Untuk .equals()metode, Anda cukup mengganti metode di kelas Anda, karena semua kelas mewarisi dari Objectkelas. …

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.