«language-design» etiketlenmiş sorular

Programlama dillerinin tasarım ve yapısını içeren sorular.



2
Scala neden geri döndü, kırılmadı ve devam etmedi?
Scala'da yok breakveya continuebu yüzden bazı döngü davranışları biraz daha düşünmeyi gerektirir. Döngünün erken sona ermesi, kuyruk özyinelemesini, istisnaları veya scala.util.control.Breaks(istisnaları kullanan) gerektirir. Bunun mantığı goto, onlar gibi , akışı engelleyen akış yapıları olmaları ve daha iyi, daha az şaşırtıcı yollarla gerçekleştirilebilmeleridir. Ancak aynı argümanlar için kullanılabilecek gibi görünüyor return. …

4
Bağımlılık enjeksiyonuna özel olarak tasarlanmış bir programlama dili var mı?
Birçok genel programlama dili, bağımlılık enjeksiyonunu desteklemenize izin verecek kadar esnektir. Kütüphane veya çerçeve desteği olmadan bile. Ancak bir dil, herhangi bir programlama problemini çözmek için yeterince eksiksiz olsa bile, bir dil, neyin kolay ve neyin zor olduğunu belirleyen seçimler yapar. Bağımlılık enjeksiyonunu kolaylaştırmak ve özel olarak gizli bağımlılıklar yaratmayı …

1
Go, “örtük” arayüzlerle üretkenliği nasıl geliştirir ve bu, C # 'nin Uzatma Yöntemleri nosyonuyla nasıl karşılaştırılır?
Go Language Tutorial'da arayüzlerin nasıl çalıştığını açıklar : Go'nun sınıfları yok. Ancak, yapı türleri üzerinde yöntemler tanımlayabilirsiniz. Yöntem alıcı fonk anahtar kelime ve yöntem adı arasındaki kendi argüman listesinde görünür. type Vertex struct { X, Y float64 } func (v *Vertex) Abs() float64 { return math.Sqrt(v.X*v.X + v.Y*v.Y) } Bir …
21 c#  language-design  go 

13
Veri yapıları dile (Python'da olduğu gibi) entegre edilmeli mi veya standart kütüphanede (Java'da olduğu gibi) sunulmalı mı?
Python'da ve büyük olasılıkla birçok diğer programlama dilinde, ortak veri yapıları kendi dillerinin sözdizimi ile çekirdek dilin bütünleşmiş bir parçası olarak bulunabilir . LISP'nin tümleşik liste sözdizimini bir kenara koyarsak, dizinin üstünde bir tür veri yapısı sağlayan, başka bir deyişle, sözdizimlerinin bütünleşik bir parçası olarak bildiğim diğer dilleri düşünemiyorum (ama …

2
Neden paketler ve modüller Java 9'da ayrı kavramlardır?
Java 9, paketlere ek olarak modüllere de sahip olacak. Genellikle dillerin biri ya da diğeri vardır. Ve çoğu programcı iki terimi eş anlamlı olarak algılar . Modüller, ilkel olarak muamele ederek paketlerin üzerine inşa edilir. Kompozit desen, ilkel ve kompozitlerin eşit şekilde işlenmesini önerir. Aksi takdirde kötü şeyler olur. Örneğin, …


3
Neden mantıksal işleçler için bileşik atama işleçleri yoktur (||, && vb.)?
ECMA-262, kısmen 11.13 göre aşağıdaki bileşik atama operatörlerinin ayrıntılı listesi: *= /= %= += -= <<= >>= >>>= &= ^= |=. Kısmına 11.11 göre, var c = a || bkoyacağız aiçine değeri cise ToBoolean(a)doğrudur ve koyacağız biçine değerini caksi. Bu nedenle, mantıksal OR genellikle birleşme operatörü olarak kullanılır; function (options) …

7
Java'nın neden farklı boyut numaraları için temel öğeleri var?
Java'da orada için ilkel türleridir byte, short, intve longve için aynı şey floatve double. Bir kişinin ilkel bir değer için kaç bayt kullanılması gerektiğini ayarlaması neden gereklidir? Geçilen sayının büyüklüğüne bağlı olarak boyut sadece dinamik olarak belirlenemedi mi? Düşünebilmem için 2 neden var: Verilerin boyutunu dinamik olarak ayarlamak, dinamik olarak …

2
Neden C # 'da yeni () bir kısıtlama var ama benzer bir kısıtlama yok?
C # jeneriklerinde, type parametresinin Tvarsayılan yapıcıya sahip olması için bir kısıtlama söyleyerek söyleyebiliriz where T : new(). Bununla birlikte, bunun gibi başka hiçbir kısıtlama geçerli değildir - new(string)örneğin, vb. Bir dil tasarımı ve / veya uygulama bakış açısından, bunun nedeni nedir? Yapıcıların çalışma biçiminde ya da bunu yasaklayan (ya …

8
X = x ++ neden tanımsız?
Tanımlanmadı çünkü xsıra noktaları arasında iki kez değişiklik yapıyor. Standart tanımsız olduğunu, bu nedenle tanımsız olduğunu söylüyor. O kadarını biliyorum. Ama neden? Anladığım kadarıyla, bunun yasaklanması derleyicilerin daha iyi optimizasyon yapmasına izin veriyor. Bu, C icat edildiğinde mantıklı olabilirdi, ama şimdi zayıf bir argüman gibi görünüyor. Bugün C'yi yeniden icat …

3
Java ve .NET: Varsayılan olarak neden farklı sıralama algoritmaları kullanılır?
Sadece nedenini merak ediyor Javave .NET Frameworkvarsayılan olarak farklı sıralama algoritması kullanıyor. Java'da varsayılan olarak Birleştirme Sıralaması algoritmasını Array.Sort()kullanır ve Wikipedia.com'un dediği gibi: Java'da, Arrays.sort () yöntemleri, veri türlerine bağlı olarak birleştirme sıralaması veya ayarlanmış bir hızlı sıralama kullanır ve uygulama etkinliği için, yediden az dizi öğesi sıralandığında ekleme sıralamasına …

6
C ++ 'da satır içi işlevler. Amaç ne?
Okuduğum şeye göre, derleyici bir satır içi işlevin işlev çağrısını gövdesiyle değiştirmek zorunda değildir, ancak bunu yapabiliyorsa yapacaktır. Bu beni düşündürdü - durum buysa neden satır içi kelimeye sahibiz? Neden tüm işlev satır içi işlevlerini varsayılan olarak yapmıyorsunuz ve derleyicinin çağrıları işlev gövdesiyle değiştirip değiştiremeyeceğini anlamasına izin vermiyor musunuz?

10
Java geliştiricileri Scala hakkında ne düşünüyor? [kapalı]
Şu anda olduğu gibi, bu soru Soru-Cevap formatımıza uygun değil. Yanıtların gerçekler, referanslar veya uzmanlık tarafından desteklenmesini bekliyoruz, ancak bu soru muhtemelen tartışma, tartışma, oylama veya genişletilmiş tartışma talep edecektir. Bu sorunun çözülebileceğini ve muhtemelen yeniden açılabileceğini düşünüyorsanız, yardım için yardım merkezini ziyaret edin . 6 yıl önce kapalı . …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.