«type-systems» etiketlenmiş sorular

bir tür sistemi, bir bilgisayar programının oluşturduğu çeşitli yapılara (değişkenler, ifadeler, işlevler veya modüller gibi) tür adı verilen bir özellik atayan bir kurallar topluluğudur.

10
Her şey için tür tanımlamalı mıyız?
Son zamanlarda kodumun okunabilirliği ile ilgili bir sorunla karşılaştım. Bir işlem yapan ve ileride başvurmak üzere bu işlemin kimliğini temsil eden bir dize döndüren bir işlevim vardı (Windows'ta bir tanıtıcı döndüren biraz OpenFile gibi). Kullanıcı bu kimliği işlemi daha sonra başlatmak ve sonunu izlemek için kullanır. ID birlikte çalışabilirlik endişeleri …
141 type-systems 

7
Dinamik ve statik olarak yazılmış dil çalışmaları
Dinamik olarak yazılan ve statik olarak yazılmış dillerin etkinliği konusunda yapılan çalışmalar var mı? Özellikle: Programcı verimliliğinin ölçülmesi Kusur oranı Ayrıca, birim testinin yapılıp yapılmayacağının etkilerini de içerir. Her iki tarafın yararları hakkında çok fazla tartışma gördüm, ancak birisinin üzerinde bir çalışma yapıp yapmadığını merak ediyorum.

4
Haskell'in tür sistemi resmen Java'lara denk mi? [kapalı]
Bazı şeylerin bir dilde diğerinden daha kolay / daha zor olduğunun farkındayım, ancak yalnızca bir tanesinde mümkün olan ve diğerinde imkansız / alakasız türlerle ilgili özelliklerle ilgileniyorum. Daha belirgin hale getirmek için, Haskell tipi uzantıları görmezden gelelim, çünkü orada her türlü çılgın / havalı şeyi yapan çok insan var.

16
“Bilinmeyen” ve “eksik” arasındaki değişkenleri bir değişkende saklarken, “bilinmeyen” ve “eksik” arasındaki farkı nasıl koruyabilirim?
Bunu "akademik" bir soru olarak kabul edin. Zaman zaman NULL'lardan kaçınmayı merak ediyordum ve bu tatmin edici bir çözüm bulamadığım bir örnek. Varsayalım ki, ölçümlerin bazen imkansız (veya eksik) olduğu bilinen yerlerde saklıyorum. NULL'dan kaçınırken bu "boş" değeri bir değişkende saklamak istiyorum. Diğer zamanlarda değer bilinmiyor olabilir. Bu nedenle, belirli …


14
Tip testi ne zaman tamamdır?
Bazı doğal güvenlik türlerine sahip bir dil varsayarak (örneğin, JavaScript değil): A'yı kabul eden bir yöntem göz önüne alındığında SuperType, çoğu durumda bir eylem seçmek için tip sınaması yapmak için cazip olabileceğimizi biliyoruz: public void DoSomethingTo(SuperType o) { if (o isa SubTypeA) { o.doSomethingA() } else { o.doSomethingB(); } } …

5
Boş değer yerine Belki türleriyle olan diller kenar koşullarını nasıl işler?
Eric Lippert, C # 'nın neden nullbir Maybe<T>tip yerine neden kullanıldığını tartışmasında çok ilginç bir noktaya değindi : Tip sisteminin tutarlılığı önemlidir; Null edilemeyen bir referansın hiçbir zaman geçersiz olduğu gözlemlenen koşullar altında olmadığını her zaman bilebilir miyiz? NULL olmayan bir referans türü olan bir nesnenin yapıcısına ne demeli? Peki …

3
Bir tip sistemi nedir?
Arka fon Bir yan proje olarak bir dil tasarlıyorum. Çalışan bir montajcıya, statik analizöre ve bunun için sanal makineye sahibim. Yaptığım altyapıyı kullanarak önemsiz programları derleyebildiğim ve çalıştırabildiğim için üniversitemde bir sunum yapmayı düşündüm. Konuşmam sırasında VM'nin bir tip sistem sağladığını, " Tip sisteminiz ne için? " Diye sordum . …


8
Bir tip sistemin güvenlik faydaları nelerdir?
In JavaScript: The Good Parts Douglas Crockford tarafından, onun miras bölümde bahseder Klasik kalıtımın bir diğer faydası ise, bir tür sistemin özelliklerini içermesidir. Bu, çoğunlukla programcının açık döküm işlemleri yazmak zorunda kalmamasını sağlar, bu da çok iyi bir şeydir çünkü döküm yaparken, bir tip sistemin güvenlik yararları kaybolur. Her şeyden …

7
PHP'deki döküm değişkenlerini yazın, bunu yapmanın pratik nedeni nedir?
PHP, çoğumuzun bildiği gibi, yazarak zayıf . Yapmayanlar için, PHP.net diyor ki: PHP değişken bildiriminde açık tür tanımı gerektirmez (veya desteklemez); değişkenin türü değişkenin kullanıldığı bağlamda belirlenir. Sevin ya da nefret et, PHP anında değişkenleri tekrar yayınlar. Bu nedenle, aşağıdaki kod geçerlidir: $var = "10"; $value = 10 + $var; …

5
Java neden tür çıkarım yapmıyor?
Java'nın, dilin ne olduğu ve VM'nin çok olgun olması koşuluyla neden tür çıkarım yapmadığını her zaman merak etmişimdir. Google'ın Git mükemmel tür çıkarımı olan bir dilin bir örneğidir ve bir kişinin yazması gereken miktarı azaltır. Bu özelliğin arkasında Java'nın bir parçası olmamak için özel bir sebep var mı?

2
Neden (veya neden olmasın) varoluşsal tipler fonksiyonel programlamada kötü bir uygulama olarak kabul edilir?
Varoluşsal türlere bağlılığı ortadan kaldırarak sürekli olarak yeniden kodlama kodu kullanmak için kullanabileceğim bazı teknikler nelerdir? Tipik olarak bunlar, türünüzün istenmeyen yapılarını diskalifiye etmek ve verilen tür hakkında en az bir bilgi ile tüketime izin vermek için kullanılır (veya benim anlayışım budur). Herhangi biri, faydalardan bazılarını koruyan kodlara güvenmeyi kaldırmanın …


6
Tür çıkarımı neden faydalıdır?
Kodları kod yazdığımdan daha sık okudum ve endüstriyel yazılım üzerinde çalışan programcıların çoğunun bunu yaptığını farz ediyorum. Varsayımım türünün avantajı, daha az ayrıntı ve daha az yazılı koddur. Ancak diğer yandan, kodu daha sık okursanız, muhtemelen okunabilir kod isteyeceksiniz. Derleyici türünü etkiliyor; Bunun için eski algoritmalar var. Fakat asıl soru, …

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.