Yazılım Krizi
(wryl.tech)Yazılım Krizi
-
Yazılım krizi nedir?
- "Yazılım krizi" terimi ilk kez 1968'deki ilk NATO yazılım mühendisliği konferansında kullanıldı
- Bu konferanslar, programlama pratiklerini tanımlayıp sistematik hale getirmeye yönelik ilk çabalardan biriydi
- Son NATO yazılım mühendisliği konferansı, 1969'daki Apollo 11 fırlatmasıyla aynı dönemde yapıldı
-
Yazılım krizinin nedenleri
- 1972 Turing Ödülü sahibi Edsger Dijkstra, yazılım krizinin nedenini donanımın karmaşıklığı ve hızındaki artışla açıkladı
- "Makineler daha güçlü hale geldikçe programlama sorunları da büyür" - Edsger Dijkstra
-
Günümüzdeki yazılım krizi
- Bugün yazılım krizinden artık pek söz edilmiyor
- Yeni dillerin ve organizasyon yöntemlerinin geliştirilmesiyle sorunun çözüldüğü düşünülüyor
- Ancak bu, gerçek bir rahatlıktan çok yenilgi ve kabullenme duygusundan kaynaklanıyor olabilir
-
Soyutlama sorunu
- Yazılım krizini çözmek için çeşitli girişimler oldu, ancak bunların çoğu sorunu "soyutlama" yoluyla çözmeye çalıştı
- Soyutlama, performans bedeli karşılığında belli ölçüde bağımsızlık sağlar
- Kişisel bilgisayarların ticarileşmesinden sonra soyutlama temel düşünme biçimi haline geldi
-
Geliştiriciler ile kullanıcılar arasındaki uçurum
- Yazılım krizi, yalnızca yazılım üretenleri değil onu kullananları da etkiler
- Kullanıcılar, yazarın sundukları dışında neredeyse hiçbir şeyi kontrol edemez
- Alan Perlis: "İyi bir fikriniz varsa sorumluluğunu üstlenmeye de hazır olmalısınız"
-
Sorumluluğun yokluğu
- Yazılım üreticileri, yaptıkları araçların sorumluluğundan uzak duruyor
- Ticarileşmeyle birlikte bu eğilim daha da güçlendi
- Soyutlama, zor düşünmekten kaçınmanın bir aracı olarak kullanılıyor
-
Çözüm
- Yazılım krizinin çözümü, daha kısıtlı platformlara geri dönmek değil; soyutlama katmanlarının sayısını sınırlamak ve bilginin korunmasını zorunlu kılmaktır
- Programlama modelleri, kullanıcı arayüzleri ve temel donanım sığ ve birleştirilebilir olmalıdır
- Araçların kullanıcılarına yetki verilmelidir
-
Bugünkü hareketler
- Handmade, Permacomputing ve retro bilişim gibi, yazılım krizine dair farkındalığı artırmaya çalışan hareketler var
- Bu karşı-kültürel hareketler sağlıklı bir işaret ve durumun daha iyiye gidebileceğini gösteriyor
GN⁺ Özeti
- Yazılım krizi, donanımın karmaşıklığı ve hızındaki artıştan kaynaklanan bir sorundur
- Günümüzde sorun soyutlama yoluyla çözülmeye çalışılıyor, ancak bunun bir performans bedeli var
- Yazılım üreticileri, yaptıkları araçların sorumluluğundan uzak duruyor ve bu durum ticarileşmeyle daha da güçleniyor
- Çözüm, soyutlama katmanlarının sayısını sınırlamak ve bilginin korunmasını zorunlu kılmaktır
- Handmade ve Permacomputing gibi hareketler, yazılım krizine dair farkındalığı artırıyor
1 yorum
Hacker News görüşleri
Yazarın görüşü
Yazılım krizi
Yazılım geliştirme ve liderlik
Soyutlamanın gerekliliği
Araçlar ve bilgi
GUI ve birleştirilebilirlik
Yazılımın önemi
Modülerlik ve soyutlama
Proje yönetimi krizi