Görünüşe göre, tüm yeni programlama dilleri veya en azından popüler olanları, tür çıkarımı kullanıyorlar. Javascript bile çeşitli uygulamalar olsa bile çeşit ve tip çıkarımı elde etti (Acscript, typescript vb.). Bana çok yakışıyor ama bence herhangi bir takas var mı, neden Java diyelim ya da eski iyi dillerin tür çıkarımı yok mu?
- Go'da türünü belirtmeden bir değişken bildirirken (türsüz veya: = sözdizimi var kullanarak), değişkenin türü sağ taraftaki değerden çıkarılır.
- D , dinamik diller gibi, fazlaca tür belirtmeden büyük kod parçalarının yazılmasını sağlar. Öte yandan, statik çıkarım, hem statik hem de dinamik dünyaların en iyisini veren türleri ve diğer kod özelliklerini çıkarır.
- Rust tür çıkarım motoru oldukça akıllıdır. Başlatma sırasındaki r-değerinin tipine bakmaktan daha fazlasını yapar. Ayrıca değişkenin türünü anlamak için daha sonra nasıl kullanıldığını da gösterir.
- Swift , uygun tipte çalışmak için tip çıkarımı kullanır. Tür çıkarımı, derleyicinin, yalnızca sağladığınız değerleri inceleyerek, kodunuzu derlerken belirli bir ifadenin türünü otomatik olarak algılamasını sağlar.
var
ve C ++ gibi auto
) ve tür çıkarımı (çift yönlü, Haskell gibi let
) arasında bir ayrım yapmak faydalı olacaktır . Eski durumda, bir adın türü yalnızca ilklendiricisinden çıkarılabilir; kullanımları adın türünü izlemelidir. İkinci durumda, bir ismin türü kullanımlarından da çıkarılabilir - bu []
, eleman türünden bağımsız olarak yalnızca boş bir dizi newEmptyMVar
için veya başvurudan bağımsız olarak yeni bir boş referans için yazabilmeniz açısından faydalıdır. yazın.
var
gerektiğini, çünkü okunabilirliği zedeleyebileceğini söylemektedir.