rejimlerine göre işletim sistemleri

ali kamber ali kamber
== liberaller ==

yazılımlara ayarlarını nasıl saklayacakları, arayüzü nasıl oluşturacakları gibi konularda dayatmalarda bulunmazlar. bunun yerine üçüncü şahıslar tarafından hazırlanmış araçları/standartları kullanmaları ya da oturup kendi araçlarını/standartlarını oluşturmaları beklenir.

iyi yanları: yazılımlar daha özgün ve amaca uygun tasarlanabilir ve daha yüksek başarım sağlayabilirler.

kötü yanları: bir standart olmadığı için yazılım geliştirmek ve bileşen paylaşmak zorlaşır. ayrıca son kullanıcı her yazılım için yeniden deneyim kazanmak durumunda kalır. ("k desktop'ta buradaydı, gnome'da nerede bilmiyorum!")

örnek: linux.

== sosyal demokratlar ==

işletim sistemine gömülü ayar saklama araçları ve arayüz bileşenleri vardır. işletim sistemi üreticisi yoğunlukla bunları kullanmayı salık verir, yazılım geliştiricileri bu yönde teşvik eder. yine de yazılımlar denetimi ellerine alarak farklılaşma yoluna gidebilirler.

iyi yanları: standartlara uyan yazılımlar o işletim sistemi içerisinde sorunsuz taşınırlar. yazılım geliştirirken "hangisini kullansam?" diye düşünmeye gerek yoktur, çözümler hızlı bir biçimde gerçeklenebilir. bir yazılımı kullanmayı öğrenen bir kullanıcı deneyimlerini başka yazılımlara aktarabilir.

kötü yanları: işletim sistemi tek elden yönetilen bileşenlerle yüklüdür. bunlar hoşunuza gitmiyorsa oturup her şeyi baştan yaratmak gerekir. bu ise en temel api'lerle boğuşmak, kimi zaman da "undocumented" duvarına çarpıp yılmak anlamına gelir. ayrıca oluşan kodun taşınamaz olma ihtimali çok yüksektir. (yıllardır windows'ta pencerenin sağ üst köşesindeki düğmelerin yanına "minimize to system tray" düğmesi eklemeye çalışan programcıkları düşünün. hepimiz biliriz ki o düğme illa ki bir gün sorun çıkaracaktır.)

örnek: windows.

== sosyalistler ==

her yazılım tepesinde dosya, düzenle, vs. şeklinde uzanan bir menü ve onun altındaki belge görüntüleme/düzenleme arayüzünden ibarettir. ayarlarını nerede saklayacakları, arayüzlerinin nasıl oluşturulacağı önceden belirlenmiştir. aslında tüm işletim sistemi tek bir yazılım gibi davranmaktadır, programcının işi bu işletim sistemine eklentide bulunmaktan ibarettir.

iyi yanları: yazılım geliştirmek için sadece doldurulacak boşlukları düşünmek yeterlidir. son kullanıcı ise tek bir yazılım kullanıyormuş gibi rahattır.

kötü yanları: yazılımlar amaca uygun çözümler getirmek ya da farklı görünüp ilgi çekmek için eninde sonunda işletim sistemine taklalar attırmayı deneyeceklerdir. bu da taşınamaz kodlar, orada farklı burada farklı görünen arayüzlerle sonuçlanacaktır. (zaten bu tür bir işletim sistemi için ilk başarılı "winamp" yazıldığında soyalizm çökmüş olacaktır*.)

örnek: macintosh'un ve windows'un ilk sürümleri.