«language-design» etiketlenmiş sorular

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

4
JavaScript'te tam olarak ne anlama geliyor? Neden orada? Ne işe yarar? Nasıl faydalı olabilir?
JavaScript'te tanımsız adında bir şeyimiz var . Bir şey söyledim, çünkü bunun temel bir sınıf mı, yerleşik bir değişken mi yoksa bir anahtar kelime mi yoksa başka bir şey mi olduğunu gerçekten bilmiyorum. Sadece orada olduğunu biliyorum. Eylem halinde görmek için şunları yazabilirsiniz: undefined; typeof undefined; Birisi bana bu şeyin …

2
Bir dil geliştirme çerçevesinin kullanımı ne kadar kolay olmalı?
Bu, dil tasarımında kullanılan kavramları bir çerçeve şeklinde soyutlamayı amaçlayan Soyutlama Projesi adlı bir projeye odaklanan bir dizi sorunun bir parçasıdır. Yapısal yazımla ilişkili başka bir sayfa burada görülebilir . Çerçeve ve gönderilecek uygun yerle ilgili bir soruşturmayla ilişkili meta-konu burada bulunabilir . Bir Dil Geliştirme Çerçevesi kullanmak ne kadar …

5
Birinci Sınıf Fonksiyonlar
Ciddi bir şekilde bu hafta sonu Lisp'e bir göz atmaya başladım. Diğer işlevsel dillerle (F #, Haskell, Erlang) dabbledim ama Lisp'in bana verdiği çekilişi hissetmedim. Şimdi Lisp'i öğrenmeye devam ederken, işlevsel olmayan dillerin neden birinci sınıf işlevleri desteklemediğini merak etmeye başladım. C # gibi delegelerin delegelerle benzer şeyler yapabileceğini biliyorum …

1
statik globaller ve C ++ 'da anonim ad alanları
C ++, neden adlandırılmamış bir ad alanındaki statik globaller (iç bağlantı) ve semboller arasında (dış bağlantı, ancak yine de dışarıdan referans vermenin bir yolu yok), ikincisini tanıtırken neden bir ayrım yaptı? Bu nedenlerden herhangi biri hala geçerli mi, yoksa yeni nedenler var mı? Hala farklı oldukları, anonim küresel (veya isim-alanı-kapsamı) …


1
Swift neden tanık masalarına ihtiyaç duyuyor?
Swift'in uygulama detaylarını okumaya çalışıyorum ve çivilemediğim bir şey de onun "tanık masaları". Yapılar için kullanılan ayrı bir vtable işaretçisi gibi görünüyorlar. Ama neden buna ihtiyacın olsun ki? Yapılar değere göre kopyalanır, böylece derleme zamanında ne tür olduklarını zaten biliyorsunuzdur. Peki hangi yöntemi arayacağınızı ve onunla nasıl yapılacağını sabit kodlamak …

1
Birinci sınıf devamlar modern nesne yönelimli programlama dillerinde faydalı mıdır?
Sürdürmeler, işlevsel programlama dillerinde (örn Cont. Haskell'deki monad) son derece kullanışlıdır, çünkü zorunluluk tarzı kod için basit ve düzenli bir gösterime izin verir. Bazı eski zorunlu dillerde de yararlıdırlar, çünkü eksik dil özelliklerini uygulamak için kullanılabilirler (örn. İstisnalar, koroutinler, yeşil iplikler). Ancak, bu özellikler için yerleşik destekli modern bir nesne …

12
Neden daha fazla dil bir değeri birden fazla değerle karşılaştıramaz? [kapalı]
Kapalı . Bu soru görüş temelli . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Bu yayını düzenleyerek gerçekler ve alıntılarla yanıtlanabilmesi için soruyu güncelleyin . 6 yıl önce kapalı . Aşağıdakileri göz önünde bulundur: if(a == b or c) Çoğu dilde, bunun şu şekilde yazılması gerekir: if(a …

3
İf () tembel değerlendirmesi nasıl yapılır
Şu anda aşağıdakilere dayalı bir ifade değerlendiricisini (formül gibi tek satır ifadeleri) kullanıyorum: girilen ifade, değişmez booleanları, tam sayıları, ondalıkları, dizeleri, işlevleri, tanımlayıcıları (değişkenleri) ayırmak için tokenleştirilir Parantezden kurtulmak ve operatörleri iyi bir önceliğe sahip bir şekilde sipariş vermek için Shunting-yard algoritmasını (değişken değişkenli fonksiyonları işlemek için hafifçe değiştirildi) uyguladım …


6
Bir programlama dilinin dikgenliği nasıl doğrulanır / kanıtlanır?
Diklik kavramını biliyorum, ama programlama dili açısından bunu doğrulamanın / kanıtlamanın bir yolu var mı? Örneğin C # ' publicda static, bir yöntem imzası için veya kullanılabilir . İkisinden birini veya her ikisini de kullanabilirsiniz ve birbirlerine müdahale etmezler, bu yüzden birbirlerine diktirler, değil mi? Sorum şu, geri kalan özellikler, …

5
DSL Oluşturma: Genel amaçlı bir dilde mi yoksa bağımsız olarak mı yazılır?
Belirli, belirsiz bir programlama modelini basitleştirmek için alana özgü bir dil tasarlamayı tartışıyorum. Tartışmanın bir parçası, onu mevcut bir dilin / çalışma zamanının (örn. Java) üzerine (komut dosyası olarak) oluşturmayı veya tek başına (kendi derleyici & c) oluşturup oluşturmayacağıdır. DSL tasarım deneyimine sahip olanlar, artıları / eksileri ve uygun yaklaşıma …

4
"Verim" gibi bir jeneratör dili tesisi olması iyi bir fikir midir?
PHP, C #, Python ve muhtemelen birkaç başka dilde yieldoluşturucu işlevleri oluşturmak için kullanılan bir anahtar kelime vardır. PHP'de: http://php.net/manual/en/language.generators.syntax.php Python'da: https://www.pythoncentral.io/python-generators-and-yield-keyword/ C # dilinde : https://docs.microsoft.com/tr-tr/dotnet/csharp/language-reference/keywords/yield Bir dil özelliği / tesisi olarak yieldbazı sözleşmeleri ihlal ettiğinden endişe duyuyorum . Bunlardan biri, bahsettiğim şey "kesinlik" tir. Her aradığınızda farklı bir …

3
Java jenerikleri neden dizilerde olamaz?
Neden ArrayLists bir dizi yapmaya çalıştığınızda: ArrayList<Integer>[] arr=new ArrayList<Integer>[40];bir hata var ve java buna izin vermiyor? Java'nın jenerik, herhangi bir dilde jenerik veya keyfi bir şey uygulamasıyla ilgili bir sebep var mı?

1
Bir tür parametresinin tür bağımsız değişkenlerini çıkarım için tekniğin adı?
Kurulum: Diyelim Iteratorki bir type parametresi olan bir türümüz var Element: interface Iterator<Element> {} Sonra bir Iterabledöndürecek bir yöntemi olan bir arayüz var Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Genel Iteratorolmakla ilgili sorun, ona tür argümanları sunmamız gerektiğidir. Bunu çözmek …

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.