Aynı şey olmasa da, HTML'nin neden felakete dönüştüğü budur. Tarayıcılar kötü biçimlendirmeyi tolere etti ve bildiğiniz bir sonraki şey, tarayıcı A, Tarayıcı B'nin yaptığı gibi işleyemedi (evet, başka nedenler de var, ancak bu, gevşeklik kurallarının bazıları konvansiyon haline gelmeden önce yaklaşık 10 yıl önce, ilk birkaçından biriydi. ).
Eric Lippert'in ihlal ettiği gibi, bunların çoğu en iyi derleyici tarafından değil IDE tarafından ele alınmaktadır. Bu, otomatik bitlerin sizin için neyi sıkıştırmaya çalıştığını görelim.
Şimdi baskın olduğunu düşündüğüm strateji derleyiciyi gevşetmek yerine sürekli dil iyileştirme: Eğer derleyicinin otomatik olarak anlayabileceği bir şeyse, çevresine iyi tanımlanmış bir dil yapısı getirin.
Akla gelen anlık örnek, C #'daki otomatik özelliklerdir (benzer bir şeye sahip tek dil değil): Herhangi bir uygulamadaki alıcıların / ayarlayıcıların çoğunun gerçekten bir alanın etrafındaki sarmalayıcılar olduğu göz önüne alındığında, geliştiricinin ve derleyicinin geri kalanını enjekte etmesine izin verin.
Bu da beni düşünmeye itiyor: Çoğu C stili dil bunu zaten bir ölçüde yapıyor. Otomatik olarak çözülebilecek şeyler için sözdizimini geliştirin:
if (true == x)
{
dothis();
}
else
{
dothat();
}
Aşağıdakilere indirgenebilir:
if (true == x)
dothis();
else
dothat();
Sonunda, bence bu aşağıya geliyor: Eğilim derleyiciyi "daha akıllı" veya "daha gevşek" yapmamanızdır. Daha akıllı ya da gevşemiş bir dildir .
Ayrıca, klasik "if" hatası gibi çok fazla "yardım" tehlikeli olabilir:
if (true == x)
if (true == y)
dothis();
else
dothat();