[LinuxFocus-icon]
<--  | Ana Sayfa  | Eri�imd�zeni  | ��indekiler  | Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  Deutsch  Francais  Nederlands  Turkce  

[Edgar]
Edgar Hernández Zúñiga
<edgar(en)linuxfocus.org>

Yazar hakk�nda:

Benim �zge�mi�im yok, k�sa olan� bile...



T�rk�e'ye �eviri:
Tankut ����r <cigirt(at)be.itu.edu.tr>

��erik:

 

Kitap incelemesi : Unix Programlama Sanat� (The Art of UNIX Programming)

[Illustration]

�zet:

Bu yaz�da, s�z� edilen kitab�n i�erdi�i �nemli konu ba�l�klar�na odaklan�lmaya �al���lm��t�r. Sizler bu yaz�y� okudu�unuzda kitap, kitap��lardaki yerini alm�� olacak. Bu yaz�, kitab�n bas�m�ndan �nce okuyucular�n de�erlendirebilmesi i�in �n bask�s� yap�lan 0.87 s�r�m� g�z �n�nde bulundurularak haz�rlanm��t�r. Kitap hakk�ndaki bu yaz�y� haz�rlarken, kitab�n konusunun ne kadar �nemli oldu�unu fark ettim. "Unix Programlama Sanat�" ba�l��� bile �zerine bir yaz� yaz�lmay� hak ediyor. Kitab�n ger�ekten iyi haz�rland���n� ve yazar�n konusuna hakim oldu�unu, neden bahsetti�ini �ok iyi bildi�ini s�yleyebilirim.

�ncelenen Kitap:UNIX Programlama Sanat� (The Art of UNIX Programming)
Yazar�:Eric S. Raymond.
Katk�da Bulunanlar:Thompson, Kernighan, McIlroy, Arnold, Bellovin, Korn, Gettys, Packard, Lesk, Feldman, McKusick, Spencer.
Sayfa Say�s�:550(bu s�r�m i�in)
Yay�nc�:Addison Wesley ( http://www.awprofessional.com )

_________________ _________________ _________________

 

Giri�

"Katedral ve Pazar" (The Cathedral and the Bazaar) isimli �al��mas�yla tan�nan yazar Eric S.Raymond ola�an�st� bir kitapla kar��m�za ��k�yor. Bu kitap Unix i�letim sistemi teknolojileri ve elemanlar�n�n i� y�z�n� kavramam�z konusunda bize yard�mc� olmak amac�yla yaz�lm��.

Eric S. Raymond'�n �al��mas� Unix d�nyas�n�n bir�ok �nl� ismi taraf�ndan desteklenmi�, katk�da bulunanlar aras�nda Ken Thompson, Brian Kernighan and Dennis Ritchie de bulunuyor.

Kitap d�rt ana b�l�mden olu�makta:


Bu d�rt b�l�mde de UNIX felsefesinin temellerinden, A��k Kod Geli�tiriciler i�in en iyi uygulamalara kadar pek �ok farkl� konu �zerinde durulmu�. Kitapta ayr�ca Birimsellik (Modularity), Uygulamalar i�in protokol tasar�m�,�effafl�k, mini diller ve karma��kl�k gibi pek �ok konu ele al�nm��. Kitab�n uygulama b�l�m�nde Diller ve Ara�lar vb. konulara ek olarak okuyucunun konuyu daha iyi anlayabilmesi i�in bir�ok �rnek de verilmi� durumda.

A�a��da kitab�n i�eri�ini ve her b�l�m�n konu ba�l�klar�n� bulabilirsiniz. Bu b�l�m, kitab�n konular�n� g�zden ge�irmek ve kitapta anlat�lanlar hakk�nda bir fikir sahibi olmak a��s�ndan sizlere yard�mc� olacakt�r.  

��indekiler

I. BA�LAM.


1. Felsefe.

    K�lt�r? Hangi K�lt�r?
    Unix'in devaml�l���
    Unix k�lt�r�n� ��renme�e engel durumlar
    Unix'in k�t� yapt�klar�
    Unix'in iyi yapt�klar�
    Unix felsefesinin temelleri

Tek derste Unix Felsefesi
    Unix felsefesini uygulamak.
    Tav�rlar da �nemlidir.

2. Tarih.

    Unix'in k�kenleri ve tarihi, 1969-1995.
    Bilgisayar korsanlar�n�n k�keni ve tarihi, 1961-1995.
    A��k kod (open-source) hareketi: 1998 ve sonras�.
    Unix tarihinden al�nacak dersler.

3. Z�tl�klar.

    ��letim Sistemi �izgisinin par�alar�.
    ��letim sistemi kar��la�t�rmalar�.
    Neler gidip geliyor?.

II. TASARIM.

4. Birimsellik (Modularity).

    Sarma (Encapsulation) ve en iyi birim (module) b�y�kl���.
    �zl�l�k ve ortogonellik.
    Kitapl�klar.
    Unix ve nesneye dayal� diller.
    Birimsellik i�in kod olu�turma y�ntemleri.

5. Metinsellik (Textuality).

    Metinsel olman�n �nemi.
    Veri dosyas� meta-bi�imleri.
    Uygulama Protokol Tasar�m�
    Uygulama Protokol meta-bi�imleri

6. �effafl�k (Transparency).

    Durum analizi �rnekleri.
    �effafl�k ve ke�fedilebilirlik i�in tasarlama teknikleri.
    D�zeltilebilirlik i�in tasarlama teknikleri.

7. �oklu programlama.

    Karma��kl�k kontrol�n� performans ayarlamadan ay�rmak
    Unix IPC y�ntemlerinin s�n�fland�r�lmas�
    Problemler ve ��zerken ka��n�lacak y�ntemler
    Tasar�m a�amas�nda s�re� b�l�mlendirme

8. Mini Diller.

    Dillerin s�n�fland�r�lmas�.
    Mini dillerin uygulanmas�.
    Mini dillerin tasarlanmas�.

9. D�n��t�rme (Transformation).

    Veriye dayal� programlama.
    Ad-hoc kodu �retimi.

10. Yap�land�rma (Configuration).

    Neler Yap�land�r�lmal�?
    Yap�land�rmalar nerede bulunmal�?.
    �al��ma denetim dosyalar�.
    �evre de�i�kenleri.
    Komut sat�r� se�enekleri.
    Yap�land�rma se�eneklerinden hangilerini se�meli?.
    Bu kurallar� y�karken...

11. Arabirimler.

    "En az s�rpriz" kural�n� uygulamak.
    Unix'te arabirim tasar�m�n�n ge�mi�i.
    Arabirim tasar�mlar�n�n de�erlendirilmesi.
    CLI(Komut sat�r� arabirimi) ile g�rsel arabirimlerin kar��la�t�r�lmas�.
    �effafl�k, anlaml�l�k ve yap�land�r�labilirlik.
    Unix arabirim tasar�m �ablonlar�.
    Unix arabirim tasar�m �ablonlar�n�n uygulanmas�.
    A� taray�c�yla d�nyaya ula�mak.
    S�kut alt�nd�r.

12. Eniyileme (Optimization).

    Orada �ylece bir iey yapmay�n� ayakta durun!
    Eniyilemeden �nce �l��m yap�n.
    Y�resel olmamak zararl�d�r.
    �retilen(Throughput) i� ile durgunluk (latency).

13. Karma��kl�k (Complexity).

    Karma��kl�ktan s�z etmek.
    Be� d�zenleyicinin hikayesi.
    Bir d�zenleyici i�in do�ru boyut(size) nedir?.
    Bir yaz�l�m i�in do�ru boyut nedir?.

III. UYGULAMA.

14. Diller.

    Unix'in diller �zerindeki etkisi.
    Niye C kullanm�yoruz?
    �evrilmi� diller ve kar���k stratejiler
    Dillerin de�erlendirilmesi.
    Gelecekteki kar��la��labilecek ak�mlar.
    X ara� tak�m� (toolkit) se�imi.

15. Ara�lar.

    Tasar�mc� dostu i�letim sistemi.
    D�zenleyici se�imi.
    �zel ama�l� kod yarat�c�lar.
    C/C++ harici geli�tirme teknikleri.
    S�r�m kontrol sistemleri.
    �al��t�rma s�ras�nda hata ay�klamak.
    Kullan�c� tan�mlar�.(Profiling)
    Evrensel d�zenleyici olarak Emacs.

16. Yeniden Kullan�m.

    J. Random Newbie'nin hikayesi.
    �effafl�k yeniden kullan�m�n anhatar�d�r.
    Yeniden kullan�mdan a��k kod hareketine.
    Hayattaki en iyi �eyler a��kt�r.
    Arad�klar�m� nereden bulabilirim?
    A��k kaynak yaz�l�mlar�n� kullan�rken kar��la��labilecek durumlar nelerdir?
    Lisans meselesi.

IV. TOPLULUK.

17. Ta��n�rl�k (Portability).

    C'nin evrimi.
    Unix standartlar�.
    �zellikler DNA gibi, kod RNA gibi olmal�.
    Ta��n�rl�k i�in programlama teknikleri.
    D�nyaca ula��l�r hale getirme.
    Ta��n�rl�k, A��k standartlar ve a��k kod.

18. Belgelendirme.

    Belgelendirme Kavramlar�.
    Unix �izgisi.
    Unix belge bi�imlerinin karma��kl���.
    Var olan kaos ve olas� ��k�� yolu.
    DocBook belgelendirme ara� zinciri.
    Unix belgeleri nas�l haz�rlanmal�.

19. A��k Kod.

    Unix ve A��k Kod.
    A��k kod geli�tiricilerle �al��mak i�in en iyi uygulamalar
    Lisanslar�n mant��� : hangisini se�meli?
    Niye standart bir lisans kullanmal�?
    A��k Kod Lisanslar�ndaki �e�itlilik

20. Gelecek.

    Unix gelene�inin �z� ve olas� farkl�l�klar
    Unix'in tasar�m�ndaki problemler
    Unix'in �evre de�i�kenlerindeki problemler
    Unix k�lt�r�ndeki problemler
    �nanma nedenleri.

A. K�saltmalar s�zl���

B. Kaynaklar.

C. Katk�da Bulunanlar.

 

K�lt�r ve Unix Felsefesi

Unix veya Unix'ten t�retilen herhangi bir i�letim sistemine a�ina olanlar i�in " Felsefe " kelimesini duymak �ok �a��rt�c� olmayacakt�r. Unix bir felsefedir, k�lt�r�n�n yan�s�ra bir ya�am bi�imi; bir olu�turma, yap�land�rma ve programlama bi�imidir.

Unix do�um y�l� olan 1969'dan beri bir �ok farkl� yap�da ve b�y�kl�kte i�letim sisteminin olu�mas�na �n ayak olan �ok g��l� bir felsefe �zerine kurulmu�tur.

 

Unix Felsefesinin Temelleri

Unix felsefesi hi� ku�kusuz Ken Thompson k���k ama �ok yetenekli bir i�letim sistemi tasarlamaya karar verdi�inde ortaya ��kt�. Daha sonralar� bir�ok insan katk�da bulundular ve Unix �u anki kaynak �e�itlili�ine ula�t�.

Bahsi ge�en kitap, �zerinde �al���labilecek bir�ok �nemli konuyu i�inde bar�nd�r�yor. �zellikle kullan��l� buldu�um bir b�l�m, okuyucuyu programlamaya ba�lamadan �nce tasar�m� �zetlemeye te�vik eden ve Unix felsefesinin a�a��daki temel unsurlar� �zerinde d���nmesini sa�layan b�l�m oldu:

 

Sonu� ve �neriler

Rahatl�kla s�yleyebilirim ki bu m�kemmel bir kitap. Eric Steven Raymond bizlere nas�l iyi bir yaz�l�m geli�tirebilece�imizi ve tasar�m kavramlar� �zerinde i�e koyulmadan �nce nas�l d���nmemiz gerekti�ini ��retiyor. Bu kitap C, C++, Java vb. dillerde yaz�l�m geli�tirmeyi bilen t�m programc�lar i�in ilgi �ekici olaca�� gibi, Unix i�letim sistemine yabanc� olan programc�lar i�in de �ok faydal� bir kaynakt�r.

�ok geni� bir kaynak�aya sahip olan bu kitap, sizlere ufkunuzu geni�letmekte de yard�mc� olacak. Kendi ad�ma �unu s�yleyebilirim, kitapta S�r�m Denetim Sistemleri hakk�ndaki belgelere ula�may� sa�layacak kaynaklar� da bulmaktan �ok memnun oldum.

Umar�m bu kitap hakk�nda daha detayl� bir yaz� yazabilirim ve umar�m k�sa giri� niteli�indeki yaz�dan memnun kalm��s�n�zd�r.  

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

<--, Bu say�n�n ana sayfas�na gider

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Edgar Hernández Zúñiga, FDL
LinuxFocus.org
�eviri bilgisi:
es --> -- : Edgar Hernández Zúñiga <edgar(en)linuxfocus.org>
es --> en: Edgar Hernández Zúñiga <edgar(en)linuxfocus.org>
en --> tr: Tankut ����r <cigirt(at)be.itu.edu.tr>

2003-10-21, generated by lfparser version 2.43