Unix programlama tam olarak ne anlama geliyor? [kapalı]


10

Unix programlama teriminin ne anlama geldiğini anladığımı sanıyordum , ancak şimdi bir çekirdek / C programlama bağlamında okuduktan sonra, bu terimin anlamını netleştirmem gerektiğini hissediyorum.

Bunun şu anlama geldiği açık değildir:

  1. Kabuk programlama,
  2. Unix programlama araçları,
  3. Unix komut satırı araçlarının belirli bir yöntem / modeli (örneğin, "Unix kabuk programlama" boru hattı yolunu kabul etmek) veya
  4. başka bir şey.

2
Biraz bağlam vermeniz gerekecek. Bu ifadeyi nerede okudunuz? Bağlamın dışında, bir Unix OS için programlama demek olduğunu söyleyebilirim.
lgeorget

6
Bu soru konu dışı gibi görünüyor çünkü temel İngilizce ile ilgili.
Gilles 'SO- kötü olmayı bırak

1
@Gilles Ah şimdi bir sınırlayıcı: P
goldilocks

@Igeorget, Taoup.
Pacerier

@goldilocks, Anlamı?
Pacerier

Yanıtlar:


14

"Unix programlama", açıkça bir unix ortamı için programlama anlamına gelir. Bu, ilgili bir standarda ( POSIX gibi ) uyan mermiler için programlama içerir . Bununla birlikte, aynı şekilde standartlaştırılmış sistem arayüzleri ve kaynaklarının * nix dünyasına özgü olduğunu varsayarak, herhangi bir dilde programlamayı da içerecektir.

Örneğin, C veya C ++ 'da üçüncü taraf kitaplığı olmayan ağ programlaması taşınabilir değildir, çünkü standartlardan hiçbiri bu konuda hiçbir şey söylemez. C / C ++ 'da ağ oluşturma, işletim sistemi tarafından dikte edilen bir arabirim kullanılarak gerçekleştirilir ve * nix-ish sistemlerinde bu daha fazla veya daha az evrenseldir, bu kodu Windows'a (örneğin) değiştirmeden (veya tersine) değiştiremezsiniz. Bu nedenle, C veya C ++ 'da ağ işleri yapmak, taşınabilir bir kütüphane kullanmak veya bir platformu hedeflemek anlamına gelir ve Unix, daha sonraki durumda, bu nedenle "unix programlama" (ve C veya C ++ programlama ve ağ programlama) olabilir. 1

Ancak, bu tür Perl veya piton veya java gibi birçok üst düzey dilde ağ programlama olduğu taşınabilir; bu diller genellikle C dilinde uygulanır, ancak uygulamanın ayrıntıları platformdan platforma farklılık gösterse de, arabirim değişmez. Bu nedenle, perl'in üzerinde çalıştığı herhangi bir sistemde çalışması gereken perl'de ağ kodu yazabilirsiniz; bir Unix sisteminde, bu, tercüman uygulaması tarafından uygun yerel çağrılara çevrilir ve bir windows sisteminde farklı şekilde çevrilir. Gerçek perl kodunuz perl'den başka bir şeye özgü olmadığından, unix programlama değildir. Ağ programlama ve perl programlama, ancak unix programlama değil.


1. C ve Unix arasındaki yakın tarihsel ilişki nedeniyle, C'nin genel olarak işletim sistemleri yazmak için en çok kullanılan dil olması ve bir "işletim sistemi" nin doğası gereği, kategorisinde çok şey var " İşletim sistemine özgü C programlama "- ağ oluşturmanın yanı sıra günlük bir başka örnek de, dosyaları dosyalama ve dizinleri okuma gibi dosya sistemine yönelik şeylerdir. Bu nedenle, çeşitli "C'de Unix Programlama" türü kitaplar vardır, çünkü C'deki temel programlama kaçınılmaz olarak OS'ye özgü birçok öğeyi içerir. Bu, perl veya java gibi daha taşınabilir dillerde geçerli değildir; bu durumda, kitabın konusu büyük olasılıkla " Perl'de Sistem Programlaması" veya daha büyük olasılıkla sadece "Perl ile Programlama" olacaktır.


1
prof goldilocks yine grev yapıyor!
mikeserv

@goldilocks, Linux Unix'i öldürdüğü için, şu anda "Unix programlama" nın neredeyse hiç kimseyi yapmadığını mı kastediyorsunuz?
Pacerier

1
Solaris ve BSD yaygın olarak kullanılmaktadır (ortalama bir PC tüketicisi ne olduklarına dair hiçbir fikre sahip olmasa bile) ve teknik olarak OSX resmi olarak UNIX uyumlu olarak onaylanmıştır (adın "macOS" a geri döndüğü anlaşılıyor, bu yüzden öncülünüze katılmıyorum
goldilocks
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.