GNU/Linux'un neden önemli olduğunu bir çırpıda paylaşmak kolay değildir. İllaki atlayacağımız yerler olur. Bir bakalım:
- Günümüzde IP, e-posta, sanallaştırma, devre tasarım/analiz/simulasyonu, 3B tasarım, meşhur C dili, ve benzeri şeyler... Ya UNIX ile ortaya çıktı ya da UNIX ile standartlaştı.
- Ama UNIXlerin bile aralarında az ile tam arasında bir yelpazede uyumsuzluk vardı.
- En kötüsü pahalıydı ve gerçekten çok pahalıydı.
- Ama çalışma mantığı kural oldu neredeyse. Donanımdan soyutla, donanımı ve diğer her şeyi dosya olarak ele al. Bir tane merkezi bileşenin olsun (kernel), o diğer hepsinden rütbece üstün olsun. Herkes kademelendirilmiş bir hiyerarşi içinde ona bir şey sorup, sordurup iş yapsın.
- Sonra gencin biri çıktı. Aynı C ve UNIX'i yaratan, o dönemin çocuklarının yaptığı gibi, "yauv niye UNIX'e benzeyen ama beleş bir işletim sistemi yok ki?", "acaba ne gerekli bunun için?" diye sordu ve Linux Kernel'ini oluşturdu. İnternete yükledi.
- Herkes bunu çok sevdi. Niye? DOS-Windows zaten UNIX'ten çalıntıydı, ama kapalıydı, paralıydı. Linux ise UNIX'te olduğu gibi, C derleyicisi ile birlikte geliyordu. Ve bedavaydı. Herkes kullanabilir, herkes geliştirebiliirdi. Ve öyle de oldu.
- Tek bir sebep gerekliyse, Windows'ta ama paralı ama bedelsiz yazılımlar kullanıp yaptığımız şeyler Linux'ta dağıtımın içinde geliyor. Gelmiyorsa da dağıtımın depolarından bulunabiliyor. O da olmazsa, kaynak kodu var. Derle, bitti, oldu. Biraz çelişkili bir şey bu belki. Ya sadece Linux Kernel'i verselerdi hiç uygulama vermeselerdi? Ama bu da Linux'un mantığına aykırı olurdu.
- İşte Linux bir camia (community). Ben, sen, O, işe yarar bir uygulama geliştiriyoruz. Bunu paylaşıyoruz, standart oluveriyor.
- Misal: Dd'nin yaptığı işleri yapabilmek için ya bir Linux uyumluluk katmanı gerekiyor Windows'ta ya da iki üç beş ayrı uygulama. Wget: Windows'a karşı bir terbiyesizliktir böyle bir uygulamanın Linux'ta şak diye gelmesi. Uğraş dur Windows'ta, uyumluluk katmanı ya da acaba birisi Windows Binary'sini yapmış mıdır onun diye. Ve tabii ki ip/ipchains/iptables/ipfilter. Tamam sonuncusu Solaris kaynaklı olabilir ama, UNIX'in BSD'nin olan şey Linux'undur da. Ya terbiyesizliğe bakar mısınız? Koy iki tane NIC, kur Linux'u, al sana router, hem de paket filtreli güvenlik duvarlı, ayıp ayıp. Windows'ta? Ay ben uğraşmam.
- Böyle bir genelleme belki doğru değil ama... İlk olarak Windows için açık kaynak koduyla geliştirilip de Linux'ta çok işe yaramış olan uygulama sayısının, tam tersi uygulama sayısına oranı nedir acaba? 0? Sıfıra yakın? Bilmem. Ama yüksek olmadığı aşikar. Ek: SaMBa hahahaha.
- Hal böyleyken, Windows ve MS Server, MS'in üretkenlik yazılımı (Office) sahibi de olması sayesinde kimilerine göre cazip bazı şeylere sahip: Exchange, Active Directory (DS) vs. Ama bence, bunlar halihazırda başka türlü yapılabilen şeyleri lisanslayıp para kazanmak için lüzumsuzca karmaşıklaştırılmış şeylerden başka şeyler değil. Çok şey oldu ama n'apalım. Neyse Windows'a ters gitmeye başladık, amacımız o değildi.
- Linux, özgürce çoğu şeyi bulabildiğimiz ve bulamadıysak bilgimiz oranında geliştirebildiğimiz bir çevre, o nedenle cazip.
- Ve sadece sunucular ile basit projelerde kullanılmıyor. Evet dünya genelindeki sunucularda MS Server'dan daha çok kullanıldığını hep okuyorum, ki hiç şaşırtıcı değil. Projeler. Çoğu HPC, FPGA, gpGPU kartı, sadece Linux sürücüsü yazılabilecek kaynak kodu ilkeli ile birlikte geliyor. EDA'cıların eli ayağı SPICE, UNIX'ten doğdu. Kaynak kodlarını inceleyenler, enfes Linux SPICE'lar hazırladı. Ha bunları Windows'a port edenler de var.
- Beni C# ile PowerShell korkutuyor. MS bunların, Linux'ta standart kavram/bileşen olmasına mı çabalıyor? Bilmiyorum. Aklım ermiyor o kadarına.
- Hiçbir üretici NAS'a, DVD çalara, uydu aletine, Digitürk'e, telefona (öldü de kurtulduk telefon Windows'undan), tablete, ona buna, Windows gömmüyor, ya Linux gömüyor ya da Apple'ın (iOS) ve Samsung'un (Android) yaptığı gibi allanıp pullanmış UNIX/BSD/Linux gömüyor. Hoş, sanayi robotu işini bıraktığımda, majör robotçular Windows XP + VxWorks real time kullanıyordu ama, günümüzde durum nedir bilmiyorum.
- En azından şunu sorayım: NASA'da uçuş projesi müdürü olsanız, rokette hangi işletim sistemini kullanırdınız?
-
Linux üzerinde yapıp macOS üzerinde yapamayacağınız ne var
Tercih meselesi. Kim hangi ortamı seviyorsa onda geliştirir. Eğer cross development sınırlarına tosluyorsa, ya VM ile halleder, ya da ortam değiştirir.
-
bilgisayar mühendisliğinde Linux'un yeri ne
Neredeyse, kurulur kurulmaz uygulama geliştirilebiliyor. Ha Java'lı sistem için de aynısını söyleyebilirsiniz ama anladınız ne kastettiğimi. Yine de, MacOS'un port uyumluluk katmanları (Homebrew, MacPorts, vs.) Enfes bir düşünce.
- Gece gece aklıma gelenler bunlar. Tartışırız. Ha, macOS programcılık dışında bunun neresinde? Solaris devamı açık kaynak kodlu işletim sistemleri neresinde? Onlar bambaşka hikayeler.
Ek:
Apple, Mac ve macOS için, rastgele derleme değil, bizzat yüksek uyumlu donanım kullanıyor ve bu nedenle de Mac olmayan PC'ler denli, kullanıcı tarafından geliştirilmesi mümkün değil. Bence sorun değil. Uyumlu olması çok iyi.
Ekin eki:
UNIX ve dolayısıyla Linux'tan nefret etmek isterseniz, bir göz atın:
en.wikipedia.org
Kahkalarla okumuştum. "Doğru ya!", "Gerçekten de öyle!" nidalarıyla.