«language-design» etiketlenmiş sorular

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


9
Neden çoğu modern programlama dilinde Sözleşme ile Tasarım için bu kadar sınırlı destek var?
Kısa süre önce Design by Contract'ı (DbC) keşfettim ve kod yazmanın son derece ilginç bir yolunu buldum. Diğer şeylerin yanı sıra, teklif gibi görünüyor: Daha iyi belgeler. Sözleşme dokümantasyon olduğundan, birinin eski olması imkansızdır. Ek olarak, sözleşme tam olarak bir rutinin ne yaptığını belirttiğinden, yeniden kullanımın desteklenmesine yardımcı olur. Basit …

12
Neden çoğu programlama dili, işlevleri bildirmek için özel bir anahtar kelimeye veya sözdizimine sahiptir? [kapalı]
Çoğu programlama dili (hem dinamik hem de statik olarak yazılmış diller), işlevleri bildirmek için değişken bildirmekten çok farklı görünen özel anahtar kelime ve / veya sözdizimine sahiptir. İşlevleri tıpkı adlandırılmış başka bir varlık bildirmek gibi görüyorum: Örneğin Python'da: x = 2 y = addOne(x) def addOne(number): return number + 1 …

4
Go ne kadar hızlı gidebilir?
Go, 'metale yakın' olması gereken birkaç dilden biridir, yani derlenir, statik olarak yazılır ve yerelde bir VM olmadan kod yürütür. Bu, Java, C # ve benzerlerine göre hız avantajı sağlamalıdır. Bununla birlikte, Java'nın arkasında olduğu görülüyor (bkz. Programlama Dili Çekilmesi ) Daha az olgun derleyicilerin bundan büyük ölçüde sorumlu olduğunu …


5
Neden C #, vaka bloklarında yerel kapsam içermiyor?
Bu kodu yazıyordum: 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."); } } Ve bir …

26
Dil tasarımcılarının nelere dikkat etmesini istiyorsunuz? [kapalı]
Bu sorunun amacı, anadilde olmayan bir dilde olmadan, yaşayamayacağınız ya da dileğinizde kullanamayacağınız bir programlama dili özellikleri listesi oluşturmak değildir. Bu sorunun amacı, çoğu dil tasarımcının düşünmeyebileceği bir dilbilgisi tasarımının köşelerini aydınlatmaktır. Bu yüzden, X dilini düşünmek yerine biraz daha felsefi düşünün. Önyargılarımdan biri ve belki de tartışmalı olabilir, mühendisliğin …

2
4. ve 5. programlama dili neslleri nelerdir? Dahası var mı? [kapalı]
Genellikle okul / kolej düzeyinde sınıflandırıldığından, popüler programlama dilleri (C #, Java, C ++) tüm 3. nesil dillerdir (makinenin fiziksel bölümlerinden daha yüksek düzeyde soyutlama ile). Ayrıca, montaj dilleri 2. ve makine dilleri 1. nesil diller olarak sınıflandırılır. Başlangıçta, SQL'in 4. nesil dil olarak kabul edilmesi gerektiğini düşünüyordum, çünkü bu …

7
Neden bu kadar çok dil değer olarak geçiyor?
Eğer her zaman değeriyle geçirilen C gibi açık işaretçi manipülasyon olsa bile diller (siz yapabilirsiniz referans olarak onları geçmek ama bu varsayılan davranış değil). Bunun faydası nedir, neden bu kadar çok dil değerler tarafından iletiliyor ve diğerleri neden referans olarak geçiyor ? (Anladığım kadarıyla Haskell referans tarafından geçti ancak emin …

3
Java geliştirme tipik olarak C # /. NET'ten daha fazla alt sınıflama içerir mi?
Geçenlerde Android gelişimine bakmaya başladım. Bu beni Java yazılım geliştirme dünyasına geri getirdi. Java ile en son çalıştığımda itiraf edeyim, neredeyse sandığım kadar OOP’u anlamadım. Kariyerimde ağırlıklı olarak C # kullandıktan sonra, kalıtımın Java ve C # kullanımında şaşırtıcı bir fark görüyorum. C # da çoğu durumda mirastan kaçınılabileceği görülüyordu. …


5
C # ve Java neden '==' için referans eşitliği kullanıyor?
Java ve C # 'nın (ve diğer dillerin eminim) varsayılan olarak eşitlik için referans alması için bir süredir düşünmek üzereyim ==. Yaptığım programlamada (kesinlikle yalnızca küçük bir programlama problemi alt kümesidir), referans eşitliği yerine nesneleri karşılaştırırken neredeyse her zaman mantıksal eşitlik istiyorum. Neden bu dillerin her ikisinin de bu rotaya …

6
Programlama dilleri neden değişkenlerin ve fonksiyonların gölgelenmesine / gizlenmesine izin veriyor?
En popüler programlama dillerinin çoğu (C ++, Java, Python vb. Gibi) değişkenlerin veya fonksiyonların gizlenmesi / gölgelenmesi kavramına sahiptir . Gizleme ya da gölgeleme ile karşılaştığımda, hata bulmak zor olmuştu ve dillerin bu özelliklerini kullanmayı gerekli bulduğum bir durum görmedim. Bana göre saklanmaya ve gölgelenmeye izin vermemek daha iyi olurdu. …


4
Neden .compareTo () bir arayüzde .equals () Java sınıfındayken?
Nedenini bilmek istiyorum .compareTo()içindedir Comparablegibi bir yöntem ise arayüzünde .equalsbulunan Objectsınıfın. Bana göre, böyle bir yöntemin neden zaten sınıfta .compareTo()olmadığı keyfi görünüyor Object. Kullanmak .compareTo()için Comparablearayüzü uygular ve .compareTo()yöntemi kendi amaçlarınız için uygularsınız . İçin .equals()bütün sınıflar devralan beri yöntemle, sadece, sınıfında yöntemini geçersiz Objectsınıfında. Sorum şu: neden böyle .compareTo()bir …

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.