Yazılım, bilgisayara ne yapacağını söyleyen programlar ve kurallardır; donanımdan farklıdır ve kullanıcıya bir işi yaptıran mantıksal katmandır. Bu yüzden “yazılım nedir?” sorusunun kısa cevabı, bilgisayarda çalışan talimatlar bütünüdür.
En pratik açıklama şudur: önce yazılımın ne işe yaradığını, sonra donanım ve yazılım farkını, en sonda da günlük örneklerini görmek gerekir. Böyle bakınca konu yalnız bir tanım olmaktan çıkar; hangi tür yazılımı kullanacağınızı ve neden bazı araçların sistem, bazılarının uygulama olduğunu daha kolay anlarsınız.
Bu tanımın önemli tarafı, yazılımı yalnızca “bir uygulama” gibi dar bir şey olarak görmemesidir. İşletim sistemi, masaüstü programı, web uygulaması, komut satırı aracı ve geliştirme ortamı gibi farklı türler de bu şemsiyenin içindedir.
Bu ayrımı bilmek önemlidir; çünkü birçok sorun yazılım kaynaklı olurken kullanıcı ilk bakışta bunu donanım arızası sanabilir. Aynı şekilde yeni bir program yüklemek, çoğu zaman bilgisayara yeni bir fiziksel parça takmakla aynı şey değildir.
Bir uygulamanın görünmesi, onun yazılım olduğunu anlamaya yeter; ama yazılım kavramı bununla sınırlı değildir. Arka planda çalışan servisler, sürücüler ve sistem bileşenleri de yazılım sayılır.
Sistem yazılımı bilgisayarın çalışmasını sağlar; uygulama yazılımı kullanıcı işlerini yapar; geliştirme yazılımı ise başka yazılımları üretmek için kullanılır. Bu ayrım, yeni başlayanların en çok karıştırdığı noktayı sadeleştirir.
Kısacası sistem yazılımı, bilgisayarın kendi düzenini kurar. Kullanıcının doğrudan açıp belge yazmadığı ama tüm çalışma ortamını taşıyan katman budur.
Yani bir uygulama yazılımı, “bilgisayarın çalışması” için değil, “kullanıcının işi” için vardır. Bu yüzden aynı cihazda çok farklı uygulamalar bulunabilir.
Bu tür yazılım, başka yazılım üretmek için kullanılır. Yazılım geliştirme ile ilgilenen biri için en temel araçlar burada toplanır.
Bu yüzden yazılımı anlamak, yalnız teknik bilgi değil, doğru araç seçimi anlamına da gelir. Hangi programın ne yaptığı, nerede çalıştığı ve hangi katmanda yer aldığı netleşince kullanıcı kararı da kolaylaşır.
En pratik açıklama şudur: önce yazılımın ne işe yaradığını, sonra donanım ve yazılım farkını, en sonda da günlük örneklerini görmek gerekir. Böyle bakınca konu yalnız bir tanım olmaktan çıkar; hangi tür yazılımı kullanacağınızı ve neden bazı araçların sistem, bazılarının uygulama olduğunu daha kolay anlarsınız.
Yazılımın temel tanımı
Yazılım, bilgisayarın bir görevi yerine getirmesi için kullanılan uygulamalar, programlar ve onlarla ilişkili kurallardır. Donanım elle tutulur parçaysa, yazılım o parçaların nasıl çalışacağını belirleyen mantıktır.Bu tanımın önemli tarafı, yazılımı yalnızca “bir uygulama” gibi dar bir şey olarak görmemesidir. İşletim sistemi, masaüstü programı, web uygulaması, komut satırı aracı ve geliştirme ortamı gibi farklı türler de bu şemsiyenin içindedir.
Yazılım ile donanım arasındaki fark
Donanım, bilgisayarın fiziksel parçalarıdır; yazılım ise o parçaların üzerinde çalışan talimatlardır. Klavye, disk, işlemci ve ekran donanımdır; onları kullanan işletim sistemi ve programlar yazılımdır.Bu ayrımı bilmek önemlidir; çünkü birçok sorun yazılım kaynaklı olurken kullanıcı ilk bakışta bunu donanım arızası sanabilir. Aynı şekilde yeni bir program yüklemek, çoğu zaman bilgisayara yeni bir fiziksel parça takmakla aynı şey değildir.
Günlük örneklerle farkı ayırın
Tarayıcı açılmıyorsa sorun çoğu zaman programdadır; bilgisayar hiç açılmıyorsa sorun donanım, güç veya sistem katmanında olabilir. Aynı mantık, metin düzenleyici, oyun, muhasebe programı ve terminal araçları için de geçerlidir.Bir uygulamanın görünmesi, onun yazılım olduğunu anlamaya yeter; ama yazılım kavramı bununla sınırlı değildir. Arka planda çalışan servisler, sürücüler ve sistem bileşenleri de yazılım sayılır.
| Terim | Kısa anlamı |
|---|---|
| Yazılım | Bilgisayara ne yapacağını söyleyen programlar ve kurallardır; fiziksel parça olan donanımdan farklıdır. |
| Uygulama yazılımı | Kullanıcının doğrudan işini gören programlardır; örneğin tarayıcı, editör veya muhasebe yazılımı. |
| Sistem yazılımı | İşletim sistemi, sürücü ve temel araçlar gibi, bilgisayarın çalışmasını sağlayan katmandır. |
| Geliştirme yazılımı | Kod yazma, test etme ve derleme için kullanılan araçlardır; IDE ve derleyici buna örnektir. |
| Açık kaynak yazılım | Kaynak kodu topluluk veya şirket tarafından paylaşılabilen, lisans koşulları olan yazılımdır. |
Yazılım türleri
Yazılımlar işlevlerine göre genelde üç grupta düşünülür: sistem yazılımı, uygulama yazılımı ve geliştirme yazılımı. Bu sınıflama, neyi neden kullandığınızı ayırmayı kolaylaştırır.Sistem yazılımı bilgisayarın çalışmasını sağlar; uygulama yazılımı kullanıcı işlerini yapar; geliştirme yazılımı ise başka yazılımları üretmek için kullanılır. Bu ayrım, yeni başlayanların en çok karıştırdığı noktayı sadeleştirir.
Sistem yazılımı
İşletim sistemi, sürücüler ve temel yardımcı araçlar sistem yazılımına girer. Bunlar olmadan kullanıcı programları düzgün çalışamaz veya donanım kaynaklarına erişemez.Kısacası sistem yazılımı, bilgisayarın kendi düzenini kurar. Kullanıcının doğrudan açıp belge yazmadığı ama tüm çalışma ortamını taşıyan katman budur.
Uygulama yazılımı
Tarayıcı, e-posta istemcisi, oyun, ofis programı ve çizim aracı gibi yazılımlar uygulama yazılımıdır. Bu programlar, kullanıcının doğrudan bir işi tamamlaması için tasarlanır.Yani bir uygulama yazılımı, “bilgisayarın çalışması” için değil, “kullanıcının işi” için vardır. Bu yüzden aynı cihazda çok farklı uygulamalar bulunabilir.
Geliştirme yazılımı
Kod yazma ve test etme araçları geliştirme yazılımıdır. Metin editörleri, IDE’ler, derleyiciler, hata ayıklayıcılar ve sürüm kontrol araçları bu grupta düşünülür.Bu tür yazılım, başka yazılım üretmek için kullanılır. Yazılım geliştirme ile ilgilenen biri için en temel araçlar burada toplanır.
Yazılım neden önemlidir?
Yazılım, donanımı işe yarar hale getirir; bilgisayara, telefona ve sunuculara görev kazandırır. Aynı cihaz, farklı yazılımlarla bambaşka işler yapabilir.Bu yüzden yazılımı anlamak, yalnız teknik bilgi değil, doğru araç seçimi anlamına da gelir. Hangi programın ne yaptığı, nerede çalıştığı ve hangi katmanda yer aldığı netleşince kullanıcı kararı da kolaylaşır.