C statik olarak yazılmış kabul edilir (int'ten float'a değişken bir değişiklik yapamazsınız). Bir değişken tanımlandığında bu şekilde sıkışmış olur.
Ancak, türler ters çevrilebildiği için zayıf yazılmış kabul edilir.
0 nedir? "\ 0", YANLIŞ, 0.0 vb.
birçok dilde IF (değişken) diyemezsiniz, çünkü koşullar boole ifadelerinden yalnızca boole değerlerini alır. Bunlar daha güçlü bir şekilde yazılmıştır. Aynı şey karakterler ve tamsayılar arasında gidip gelmek için de geçerlidir.
temelde c'nin iki ana basit veri türü vardır, tam sayılar ve kayan nokta sayıları (çeşitli kesinliklerde olsa da). Diğer her şey boolean, enums (basit değil ama uyuyor), vb. Bunlardan biri olarak uygulanır. Karakterler bile temelde tam sayıdır.
Dize türlerinin, yalnızca tanımlanmış değerlere atanabilen enum türlerinin, yalnızca boole veya doğru / yanlış üreten ifadelerin kullanılabildiği boole türlerinin olduğu diğer dillerle karşılaştırın.
Ancak Perl C ile karşılaştırıldığında güçlü bir şekilde yazılmış olduğunu iddia edebilirsiniz. Yani bu meşhur argümanlardan biridir (vi - emacs, linux - windows, vb.). C #, C'den daha güçlüdür. Temelde her iki şekilde de tartışabilirsiniz. Ve cevaplarınız muhtemelen her iki yönde de olacaktır :) Ayrıca bazı ders kitapları / web sayfaları C'nin zayıf yazılmış olduğunu söyleyecek ve bazıları C'nin güçlü yazılmış olduğunu söyleyecektir. Wikipedia'ya giderseniz, C girişi "kısmen zayıf yazım" der. Python C ile karşılaştırıldığında zayıf bir şekilde yazılmış olduğunu söyleyebilirim. Yani Python / C #, C, Perl süreklilik üzerinde.