Tip Sistemi kavramı, günlük hayatlarının bir parçası olmasına rağmen bir çok yazılım profesyoneli için bile kulağa yabancı gelebilir. Tip Sistemleri; matematik ve mantık dallarındaki zengin bir konu olan "Tip Teorisinin" yazılım geliştirme ve programlama dillerine bir yansımasıdır. Tip sistemlerinin programlama dilleri için oldukça önemli ve belirleyici olduğunu söyleyebiliriz. Bu yazıda herhangi bir programlama diline odaklanmadan teorik düzeyde tip sistemlerinden bahsetmekle yetineceğiz. Tip sistemleri; bir programlama dilindeki değişken, fonksiyon vb yapı taşlarınının kullanım ve birbirleri ile etkileşimlerini, belli kurallara bağlayarak, oluşabilecek belirsizlikleri ve hataları engellemeye yönelik mantıksal sistemlerdir. Havalı cümlemizi kurduğumuza göre daha anlaşılır olarak açıklamak gerekirse örneğin bir değişkenin hangi türde değerleri tutabileceği bir fonksiyonun hangi türde parametrelerle çağrılması gerektiği yine bir fonksiyonun bir değer üretip üretmediği ve üre...