You are on page 1of 23

Microsoft Açik Sistemi neden karaliyor ve

ondan niye korkuyor?


Açik Sistem Hareketi üyesi Eric S. Raymond
Geçtigimiz Mart ayinin sonlarinda Microsoft sirketi Açik Sistem'e
karsi büyük bir kampanyaya girismistir. Hedef kitlesi Amerikan
sirketlerinin yüksek rütbeli yöneticileri olan bu propaganda ile
Açik Sistem'e güya savas ilan etmistir. Bir çok konusma ve basin
toplantisi ile Linux ve onun ile ilgili teknolojileri anti-
amerikan(yani onlarin deyisiyle vatana düsman) ve adeta
kansere benzetilmek istenmistir. Kullanilan lisan ise tuhaf bir
sekilde General Jack D. Ripper'in ,1964 'de çevrilmis olan Dr.
Strange Love(How I Learned to Stop Worrying and Love the
Bomb) isimli filmindeki paranoyak monologlarini animsatiyor. Bu
monologlarda General, Sovyet Rusyanin Amerika için
olusturdugu tehdidi anlatiyordu. Microsoft, etkilemeye çalistigi
müsterilerini, Açik Sistem yazilim ve teknolojilerini eger ki
kullanirlarsa, hayatlarinin tümden zehir olacagina ikna etmeye
çalisiyordu. Böyle bir hatanin neticesinde sanki bütün meslek
sirlarini ve isleriyle ilgili ayrintilari kamuoyunun saldirisina açik
bir duruma getireceklerine inandirmaya çalisiyordu.

Bunlar gerçekle ilgisi olmayan gülünç iddialardir. Açik Sistem


yazilimlari Internet'in daha basindan itibaren belkemigini
olusturmuslardir. Internetteki degisik servisler olan DNS(domain
name server-alan adi sunucusu), iletiler(e-mail) ve web'in
kendisi hepsi açik sistem yazilimlari tarfindan yürütülüyor ve
interneti kullanan sirketler hergün bunlardan faydalaniyor. GNU
C derleyicisi (C dili bir çok uygulamanin yazildigi temel
dillerdendir, herhangi bir C programi kaynagindan kendiniz
derlemek istediginizde bir derleyiciye ihtiyaç duyarsiniz. GNU
(GNU's Not Unix) Serbest Yazilim Vakfinin olusturmaya çalistigi
serbest isletim sisteminin ögelerini içerir. GNU C derleyicisi de
bunlarin en önemlisidir.) ise "her" yerde mevcuttur. Sadece
Linux veya diger serbest isletim sistemlerinde degil, mesela Sun
Microsystem'in isletim sistemi Solaris'de, Hewlett-Packard'in HP-
UX'unda, ve bir çok profesyonel (parali) Unix türevlerinde temel
derleyici durumundadir. Büyük sirketlerin merkezi bilgisayar
sistemleri de bunlara dahildir. Bütün bu örneklerin hiç birinde
Açik Sistem yazilimlarini kullanmak bu sirketlerin degerli
bilgilerini veya parali (kapali) yazilimlarini açiga çikarmalarini
veya kamuoyuna açik bir hale getirmelerini gerektirmemistir.
Burada yapilmak istenen, açik sistem lisanslarindan biri olan GPL
(GNU serbest isletim sisteminin genel anlamli lisansi - general
public license -) ile diger serbest yazilim lisanslarin birbirine
karistirilmasi. Bir mevcut yazilimdan yeni bir yazilimin üretilmesi
ve o yazilimin kullanimi da birbirine karistirilmaya çalisilmistir.
Halbuki bir çok serbest yazilim lisansi GPL'den farkli olarak,
kendi programlarindan üretilen yeni programlarin kaynaklarinin
açik olmasini gerektirmiyor.

Korku ,Belirsizlik ve Güvensizligi Dagitmak


Fakat bu kampanya Microsoft'un kendisinin hiç bir sekilde açik
sistem yazilimlarindan faydalanmamasini gerektiriyordu. Halbuki
18 Haziran'da The Wall Street Journal yillardir bilinen bir gerçegi
ilk defa olarak açikliyordu. Microsoft'un serbest email servisi
Hotmail, serbest bir isletim sistemi olan FreeBSD ile
çalistiriliyordu. Belli ki büyük yük altinda çalisabilecek güvenilir
ve saglam bir sistem için açik sistem yazilimlarini kendi zayif ve
kirilgan ürünlerine tercih ediyorlardi. Ayrica Linux'u World Wide
Web'i ,Interneti yaratan programcilar toplulugunun yillardan beri
bildigi ve söyledigi üzere Microsoft yazilimlari bir açik sistem
yazilimi olan Berkeley Software Distribution (BSD)'nin izlerini
tasiyordu. Bir unix türü olan bu paketin bir çok fonksiyonunun
Microsoft'un fonksiyonlarina temel teskil ettigi asikardi.

Bu Microsoft'un ileri gelenleri tarafindan ilk önce inkar edildi. Iki


gün sonra ise kendileri de bu gerçekleri kabul etti. Fakat simdi
cevaplayamayacaklari bir soru ile karsi karsiyalar, o da
kendilerinin tercih etmelerine ragmen müsterilerinin açik
sistemden uzak durmasi gerektigini nasil açiklayacaklaridir.

Bu sorunun cevabini biz çok rahatlikla verebiliriz, nitekim bunun


için uzay bilimi okumus veya üstün algilama kabiliyetlerine haiz
olmak gerekmiyor. Kurmus bulundugu yazilim tekelini,
müsterilerine uyguladigi - kendi sistemine mahkum etme -
stratejileri ile ayakta tutmaya çalisan Microsoft, bir kaç yil önce
bazi çalisanlarinin disariya sizdirdigi yazismalardan, ki bunlar
Halloween Documents olarak ünlenmistir, da anlasildigi üzere
Açik Sistem'i kendi tekelini yikacak bir "tehdit" olarak
görmektedir.

Teknik olarak degerlendirilecek olursa, açik sistemin her gün


gerçek kosullarda denenen ve tekrar gözden geçirilerek hatalari
bir çok programci tarafindan düzeltilen yazilimlari, Microsoft'un
disariya kapanik yazilim fabrikalarinda üretilen ve satilacagi güne
kadar hiç bir müsterinin kullanimina ve deneyimlemesine
sunulmayan kapali türü yazilimlarini geride birakmistir.
Ekonomik yönden bakacak olursak açik sistemin düsük maliyetli
olmasi ve el bilgisayarlarindan tutun da Microsoft'un Hotmail'ini
çalistiran büyük bilgisayar merkezlerine kadar genis bir
yelpazede problemsiz çalismasi, güvenilir ve güçlü olmasindan
ileri geliyor.

Pazar payi kaybi


Bildiginiz üzere ev bilgisayari pazari artik doyum noktasina
ulasiyor ve eski isletim sistemi sahipleri (Windows 95, 98 ve
NT4.0) Windows'un yeni ürünlerini almak da çekimser kaliyorlar.
Desktop pazarinin %92 elinde tutmasina ragmen Microsoft
donanim satislarinin azalmasindan etkileniyor. Buna karsin her
ay Internet-sunucu olarak kurulumu yapilan Linux aygitlarinin
Windows 2000 satislarini solda sifir biraktigi görülüyor. Bu
arastirmayi yapan Netcraft burda sadece Internet ile ilgili
sunucularin belirtildigine dikkat çekiyor. Kisacasi büyük bilgi
merkezlerinin bilgisayar yazilimlarini tekelinden yitirmeye
baslayan Microsoft bu stratejisini desktop pazarinda basariya
ulastirmaya çalisor.

Yazilim üreten sirketlerin dikkat etmesi gereken konu,


Microsoft'un hedef listesinin basinda bulunmalaridir. Eger açik
yazilim kullanirlarsa, bütün yazilimlarini bedavaya vermeleri
gerekir kanisini tasiyan bu kesim, Microsoft'un propagandalari ile
tam anlamiyla panik oluyor.

Daha bitmedi, kendisi de Linux gibi bir açik isletim sistemi olan
BSD, Linux ile birlikte büyük sirketlerin bilgisayar merkezlerini
Windows'un elinden almaya baslamis. "High end" pazari
hakkindaki bu arastirmalar, uluslararasi Data Group, Boston ve
D. H. Brown Associates Inc, Port Chester N. Y. tarafindan
yapilmis. Böylelikle Microsoft'un gelecek ile ilgili planlarini
fonlayacak bütcesinden de büyük bir dilim eksilmis oldugu
anlasilmaktadir. Diger bir taraftan düsen donanim fiyatlari
geleneksel olarak yazilim için ayrilan paranin da azalmasina
sebep olmus. Bu yüzden paket program satislarinin da azaldigi
ve Microsoft'un pahali Windows ve Office yazilimlarinin da
revaçtan düstügü sanilmaktadir.
Simdi Microsoft'un gerçekci analistlerinin üstlerine anlattigini
tahmin ettiklerinizle, kamuoyu önünde Microsoft sözcülerinin
açikladiklarini bir zihninizde karsilastirin. Diger bir yönden
bakilacak olursa Microsoft'un müdahalesi ile yükselen hisselerinin
gelecekte hangi kaynaklardan beslenecegi de belirsizdir. Bu
kiskaçtan kurtulmak için Microsoft'un son kozu olarak sarildigi
.NET agi onun son çirpinislari sayilabilir. Elinde bulundurdugu ve
büyük olmanin verdigi avantajla sagladigi kaynaklari kullanarak
bu son ataga kalkismistir. Amaci ise desktop pazarini bir diger
yoldan kendisine mahkum etmektir. Sundugu dijital kimlik ve
sadece kayitli kullanicilarinin faydalanabilecegi türü servisler
yelpazesi ile tekelini korumaya çalisacaktir.

Düsünülmemesi gerekenlerle mücadele


Bilisim sektörü temsilcilerinin tek bir kaynaktan bütün araç ve
gereksinimlerini karsilamasi gibi ütopik bir hayal da böylelikle
yavas yavas suya düsmektedir. Onun yerine bu yöneticiler agir
agir bazi sorular sormaktadir. Bu sorular özellikle Microsoft gibi
bir yazilim tekelini ayakta tutmaya çalisanlarin uykularini
kaçirmaktadir. Açik sistem usülü ile, yani bir çok denek
programcinin denemesi ve düzeltmesi ile ortaya çikan yazilimlar
her gün problem çözme ve temel servisleri ayakta tutmaya
yeterli ise, neden tek bir adresten ve üstelik kapali yazilimlar
temin edilsin? Neden yazilim bir tüketim malzemesi olmasin ve
yazilim sirketleri servis konusunda rekabet etmesinler? Deutsche
Bank'dan Alex Brown'un tahmini ile yazilim harcamalarinin %30
lisans için yapilan harcamalardir. Diger bir %40 ise yazilim
entegrasyonu (degisik yazilimlarin uyumlu bir sekilde çalisir hale
gelmesi) için harcanir. Yazilimin kaynaklarinin kapali olmasi bu
çalismalari ne kadar zorlastirdigini tahmin edebilirsiniz. Bütün bu
masraflardan tek kalemde kurtulmak neden münkün olmasin?
Microsoft bu sorulari aklinizdan bile geçirmenizi istemiyor. Bugün
aklinizdan geçirdiginizi yarin uygulayabilirsiniz. Uyguladiginiz
takdirde ise, Microsoft kaçinilmaz sonuna yaklasmis olacaktir.
Eger Açik Sistem'in gelismesini engelleyen politik ve kültürel
çekinceler de ortadan kalkarsa, teknik açidan kendini kanitlamis
ve Microsoft'un çalisanlarinin bile itiraf ettigi (bakiniz Halloween
Documents) üzere imrenilecek bir seviyeye gelmis olan açik
sistem yazilimlari pili bitmis bir teknoloji tekeli olan Microsoft'un
hazin sonunu hazirlayacaktir.

The Wall Street Journal'in da ortaya çikardigi gibi Microsoft'un


karalama kampanyasi aslinda bir yalanlar kampanyasidir. Buna
Microsoft gibi büyük bir sirket niye gerek duysun diye sorarsaniz,
biraz önce saydigimiz etkenleri uçuca eklemeniz ve tablonun
Microsoft açisindan hiç de içaçici olmadigini kesfetmeniz
gerekiyor. Herkesi sömüren tekellerinin ayakta durabilmesi için,
her ne sekilde olursa olsun, Internet'i kullanarak gelisen bu
toplulugun bertaraf edilmesi gerekiyor. Açik sistem yazilimlari bir
sekilde sabote etmek veya onlari kanunlarla yasaklamak, hatta
açik sistemi ahlaksiz ilan ederek insanlari ondan sogutmalari
gerekiyor.

Tabii amaçlarina ulasmak için daha rafine yöntemler seçiyorlar.


Açik ve serbest yazilim üretenlerin yarin öbür gün, insan zihni ile
ortaya getirilen her türlü arti degerin sahiplerinden alinarak
kamuoyuna serbestce dagitilmasini talep edeceklermis izlenimi
yaratarak, açik yazilim üreten programcilarin hepsinin berdus,
altmisli yillarin hippilerine benzer (tek fark GPL yazili Tisort
giymeleri) komün hayati yasayan kisiler oldugunu iddia ederek
ve tabiiki bunlardan çok daha etkili olabilecek kanuni önlemler
önererek. Mesela Digital Millenium Copyright Act (DMCA) diye
ünlenen yasa tasarisi ile hem program gelistirenler hem büyük
yazilim tüketici sirketler hedeflenmektedir. Ayni sekilde lisanslar
patent kanunlarin satir aralari degerlendirilerek yaratici
programcilarin ve bunlari çalistiran sirketleri sikistirmak için
kullanilir.

Açik koda karsi kayda deger bir hukuki girisimin bugüne kadar
vuku bulmamasi IBM gibi firmalarin Linux'a önemli yatirimlar
yapmis olmalari ve böyle bir ataga kendi avukatlar alayi ile
cevap vereceklerindendir. Nitekim aleyhinde sonuçlanabilecek bir
hukuki meydan savasi Microsoft'un mevcut durumunu pek yapici
bir katki saglamiyacaktir.

Belki mahkemelerden medet ummak simdilik Microsoft için bos,


ama kanun yapicilarini ve yasama yetkisini kontrol etmek öyle
degil. Linux'u insanlarin özel ve sahsi "beyin eserlerine" el koyan
zihniyet olarak sergilemek ve böyle tanitmak belki eninde
sonunda bazi yasa tasarimcilarini etkileyecektir. Demek ki
yazilim müdürleri oldugu kadar senatörler de Microsoft'un
propagandasinin hedefidir. Bu saygideger beylerin daha önceki
bir takim firsatlarda (mesela DMCA, bütün bigisayarlarin
standard bilgi alis verisi yönetmeligi veya akil almaz copyright
kanununa eklenen ek maddeler) özel beyinsel ürünlerin
korunmasi adi altinda ortaya atilan, fakat aslinda tekeli-ayakta-
tut stratejilerin sonucu olan bir takim yasa-oyunlarina istirak
ettikleri görülmüstür zaten. Microsoft belkide bunlarin devamina
oynuyordur.

Aslinda geçmisde ancak kamuoyundan uzak, özel davet ve is


konusmalarinda, üst düzey yöneticilerle yüzyüze yapilan
görüsmelerde kullanilan bu üslup ve taktikler hiç yansitilmasaydi
ve Linux'un büyümesine engellemek için ortaya konulan bu
çabalar böylesine büyük çapta bir kampanyaya
dönüstürülmeseydi Microsoft'un amaçlarina daha uygun düserdi.
Kamuoyuna açik kodun kendilerine bir sey ifade etmedigini
söyledikleri o günlerde böylesine yüksek riskli fakat yüksek
beklentili bir çark etmelerinin arkasinda bu gizli emeller olmali.
Açik kod faydalimidir, zararlimidir tartismasini kamuoyuna
indirirken, aslinda açik kodun sonuçlarinin kendilerini etkilemeye
basladigini yadsimaya çalismaktadirlar. Kendilerini zor duruma
düsüren açik kodun beklenmedik yükselisinden ziyade olasi
zararlarina dikkatleri toplayarak açik koda saldirmak Microsoft
stratejistlerinin mükemmel bulusu olsa gerek.

Eger gerçekler sizin yaninizda degilse


Eger gerçeklerden güç bulamiyorsaniz, yalanlara sarilirsiniz. Tipki
Microsoft'un bu davasinda oldugu gibi. Microsoft'un sergiledigi
her yeni açiktan Linux'un programcilari ve açik kodun
savunuculari tüm güçleriyle yükleneceginden emin olabilirsiniz.
Bunun için Microsoft'un savas stratejisine birebir cevap vermek
bile zorunda degiller. Çünkü yavas ama emin bir sekilde
programlama platformunu ele geçiriyoruz. Nitekim fazla mesai
den yorulmus bilgisayar mühendislerinin defalarca restart
ettikleri bilgisayarlarindan ve registry hatalarindan ve inanilmaz
güvenlik açiklarindan ve programlama dili kütüphanelerinin
çöküsünden ve nihayet Windows'un meshur Mavi Ekranlarindan
ne denli bikmis olduklarini tahmin edebilirsiniz. Bunlara
Microsoft'un inkar boyutuna varan "asparagas"larini da eklersek,
açik kodun zafere yaklastigini görebiliriz.

Mohandas K. Gandhi'nin su meshur sözlerini tekrarliyalim:


"En basta seni tanimaz, görmezden gelirler. Sonra sana gülerler.
Bir ara seninle savasmaya baslarlar. Sonra sen kazanirsin."

Gandhi siddetten uzak durarak yürütülen her aktif mücadelenin


son merhalesini tarif ediyor sanki. Buna göre biz de zafere
yakinlasmis olmaliyiz. Nitekim Microsoft hafife alinmayacak bir
irade ile açik koda yüklenmek için kamuoyuna inmistir.
Bilgisayarcilar toplulugunun sik sik güç almak için tekrarladigi bu
sözler artik yerini bulacaktir.

Eger öyle olursa bu herkes için iyi demektir. Neden diyeceksiniz?


Bilgisayarcilarla, bilgisayarcilar arasinda geçen bu beyin
mücadelesinin toplumun genel faydasi için ne kadar agirligi
vardir? Ha açik sistem ha kapali yazilim, ne olmus yani?
dememelisiniz. Bu olusumun ekonomimizi, gelecekte
toplumumuzun ve dünyanin yasayacagi medeniyetini
etkileyecegini söylemek abarti mi olur acaba? Bilgi toplumuna
dönüstügümüz günlerde bilginin tek bir sirketin kontrolünde akan
bir meta mi, yoksa açik standartlar ve milyonlarca sesin mevcut
oldugu bir forum mu olmasini istersiniz? Tekelleri koruyan ve
tekellerin yönettigi bir iletisim altyapisi mi, yoksa özgürlük mü?
Kullanicilarin kullanacaklari yazilimlari seçebilecegi mi, yoksa
kullandiklari yazilimlar tarafindan kontrol edilenler mi olmasi
gerekir? Biz bu sorularin cevaplarini biliyoruz. Microsoft'un
cevaplarini da biliyoruz. Zafer bizim için önemlidir.

Eric S. Raymond
IEEE Spectrum Agustos 2001
Çeviren: Berk Emdin
berkemdin@ixir.com
Java Teknolojisi
Java Nedir
Java'nin Internet üzerinden batak oynamiza yaradigini tahmin
etsek de Java ile JavaScript arasindaki farki, daha dogrusu
ikisinin birbirinden ayri kavramlar oldugunu bilmeyen insan
sayisi hiç de az degil. Java teknolojisi yazimizin konusu olduguna
göre JavaScript'in html sayfalara bazi dinamik özellikler getiren
(kayan yazilar, fare üzerine gelince degisen resimler vs.) bir
komut (script) dili oldugunu belirtip geçmemizde yarar var.

Java ismi bir programla dilini ve bir platformu belirtir. Kelime


anlami ise ünlü Java ambleminin hatirlattigi gibi, "aci kahve"dir.

Java, Sun Microsystems'de bir grup yazilim uzmani tarafindan


gelistirilmektedir. Bir sirket tarafindan gelistiriliyor olmasi onun
tescilli bir dil olmasi anlamina gelir, ancak görece "açik" olarak
gelistirilen Java'nin tescilli olmasindan Java'yi kullanan hiçbir
programci sikayet etmez. Sun, Java Platformunu (Java Sanal
Makinesi - Java Virtual Machine) ve Java programlama dilini
ihtiyaçlara göre yeniler.

Niçin Java?
Devamli degisen bir programlama dilini kullanmak biraz ürkütücü
gözükebilir, ki bu hakli bir kaygidir. Java ile yazdiginiz büyük
ölçekli bir yazilimi Java dilindeki degisikler dogrultusunda, hiçbir
özelligini degistirmeseniz bile, yeni Java platformunda çalismasi
için yenilemeniz gerekebilir. Çünkü zamanla dil, eskiden
kullanilan bazi metodlari ya da biçimleri özellikle güvenlik
sebebiyle yeni sürümlerinde kullanilmasina izin vermeyebilir.
Ancak gelisen, özellikle de olumlu yönde gelisen bir dil olmasi,
heyecanli bir programlama yasatsa da artilari sayesinde çok
tutulmasini saglar. Java'nin bu kadar çok tutulmasinin en genel
sebebleri sunlardir:

• Basitlik: Java ögrenmesi kolay bir dildir. Biraz programlama


geçmisi olan özellikle de C++ gibi nesne tabanli bir dilde
deneyimi olan kisi için Java'yi anlamak çok kisa bir zaman alir.
Ayrica yazilan kod da son derece basit ve anlasilabilirdir. Bir
çok yildiz (*) ve 've isareti' (&) içeren C++ kodunun yaninda
Java kodu siir gibi görünür.
• Mimariden Bagimsiz Olma Java ile yazilan programlar her
platforma çalisir. Programi baska platformlara aktarmak için
güç sarfetmeye gerek yoktur. Bu sayede ayni anda, örnegin PC
üzerinde Windows veya Linux ve Macintosh üzerinde MacOS ile
çalisan kullanicilar tamamen ayni program araciligi ile birbirleri
ile kagit oyunu oynayabilirler.
• Nesne Tabanlilik Java Smalltalk'dan bu güne uzunan, "nesne
tabanlilik" ilkesini zorunlu bir altyapi olarak kurmustur. Bugün
en yaygin kullanilan nesne tabanli programlama dillerinden biri
olan C++'da nesne tabanli kod ile nesne tabanli olmayan kod
bir arada yazilabilir; ancak Java'da bu yapilamaz. Java'da yeni
bir yapi nesneler ile olusturulmak zorundadir. Bu yapi
programciyi nesne tabanli düsünmeye zorlayacagindan
üretkenligi arttirir.
• Dagitik Programlama Java'da dagitik programlama dil ile gelen
bir özelliktir. Java'nin gelistirilken Internet'te dagilma özelligi
hep göz önüne alinir. RMI (Remote Method Invocation - Uzak
Yöntem Uyarimi) mekanizmasi sayesinde örnegin, sunucu
istemcide çalisan Java programindaki yöntemi çagirip göre
döndürdügü degeri alabilir.
• Güç Java sadece küçük programlar yazmak için degildir. Java
ile büyük araçlar tasarlanabilir. Aslinda Java ile büyük araçlar
tasarlamak bir çok anlamda daha kolaydir. Kaba bir yaklasim,
ayni isi yapan Java programinin C++ programindan yari yariya
daha kisa bir sürede yazilabilecegini gösterir.
• Çok Görevlilik (Multithreaded) Java ile çok görevlilik dilin
kendisiyle gelir, ayri bir kütüphane kullanmaniza gerek yoktur.
Bu sayede kolayca, program içerisinde programin birden fazla
ufak kisimlari arka planda, ya da ayni anda çalisabilir.
• Hatasiz kod Java ile çalisma zamaninda ortaya çikan (runtime)
hatalar çok zor gerçeklesir. Pek çok hata kodun derlenmesi
sirasinda ortaya çikar ve düzeltilir. Güçlü tip denetimi
sayesinde bir nesnenin baska bir nesne yerine kullanilabilme
durumlari kati bir sekilde belirlenmistir. Çalisma zamaninda
ortaya çikabilecek hatalar (dosya bulunamamasi, Internet
baglantisi kurululamamasi) çerçevelenmistir ve programci
istisna yakalama mekanizmasi (Exception Handling) ile bu
hatalari dikkate almaya zorlanmistir. Çok klasik "if (a=5)"
hatasi Java'da gerçeklesmez.
• Güvenlilik Java programlari çok çesitli güvenlik seviyeleri ile bir
çok ihtiyaca cevap verecek sekilde çalisabilir. Bu özelligi
sayesinde Internet bulunan Java appletleri güvenle
çalistirilabilir.
Java Nasil Çalisir
Java'nin nasil çalistigini anlamak için önce baska dillerin nasil
çalistigini anlamak gerekir. Bunun için Java dilinin kendisinden
pek çok güzel özelligini aldigi C ya C++ dilini seçilebilir.

Programci tercihen bir program gelistirme arabirimiyle programin


kaynak kodunu yazar. Yazdigi bu program derleyerek
çalistirilabilir bir dosya elde eder. Windows çalisma ortaminda
çalistirilabilir dosyalarinin uzantilari exe ya da dll'dir.

Ancak bu exe dosya baska bir platforma, örnegin Linux'e birebir


kopyalansa da orada çalistirilamaz. Bunun sebebi programin
Windows için "derlenmis" olmasidir. Yani exe dosyasi içerisinde
Windows isletim sisteminin anlayabilecegi "makine kodlari"
içermektedir.

Programi Linux'da çalistirmak için kodun Linux için yeniden


derlenmesi gerekir. Ancak çogu zaman kod üzerinde degisiklikler
de yapmak gerekir. Pencere arabirimini kullanan bir program için
(ki bilindigi gibi artik hemen her program böyledir) kodun
çogunun sifirdan yazilmasi gerekir.

Java ile yazilmis bir program ise her platformda çalisir! Oldukça
iddiali bir söz, ancak istisnalar disinda geçerli de. Bu Java'nin "Bir
kere yaz, her yerde çalistir!" ilkesini açiklar.

Java Sanal Makine


Java ile çalisan bir program her platformda çalisir sözü teknik
anlamda tam olarak dogru bir tanimlama olmayacaktir. Aslinda
bir Java programi sadece tek bir platformda çalisir: Java Sanal
Makine.

Java Sanal Makine, (Java Virtual Machine - JVM) isletim sistemi


üzerinde mini bir isletim sistemi olarak çalisir. Sanal makine
özellikleleri Sun tarafindan belirlenmistir, isteyen her üretici bir
sanal makine yazabilir. Internet Explorer altinda Java apletlerini
Microsoft'un IE'ye entegre ettigi Microsoft Virtual Machine
sayesinde çalistirabiliyoruz. Ya da el bilgisayarlari için KVM de
basarili bir sanal makinedir. (Aslinda Sun Java, Java 2, J2SE,
J2ME ve J2EE isimlerini tescil ettirmistir, ayrintilar için
baglantilara bakiniz.)

Java API
API (Application Programming Interface - Uygulama Gelistirme
Arabirimi) dilin sundugu önceden programlammis ve iyi
tanimlanmis arabirimlerle programci sunulmus çesitli islevlerin
genel adidir. Örnegin programci sinüs fonksiyonunu temel
calculus baglantilari ile elle yazmak zorunda kalmayip bunu
"java.lang.Math" paketi sayesinde dogrudan kullanabilir.

Kisisel bilgisayarlar için yazilmis API içerisinde bulunan


paketlerden bazilarinin görevleri sunlardir:

• Sayi ve yazi islevleri


• Dosya yazma ve okuma
• Resim olusturma
• Arabirim tasarlama
• Ag islevleri
• Güvenlik
• Veritabani erisimi

Özellikle güvenlik ve ag ile ilgili paketler Java'nin Internet üzerinde çok popüler ve kullanisli
olmasini saglamistir.

.java Dosyalari
.java dosyalari programlarin kaynak kodunu içerir. Bir .java
dosyasinda sadece bir sinif tanimlanmasi Java'nin en çok dert
yanilan özelliklerinden biridir.

.class Dosyalari
Bu dosyalar derlenmis "bytecode"lardir. Programin JVM için
önergeleri bu dosyalar içerisinde bulunur. Dosya herhangibi
JVM'de çalisabilir.

.jar Dosyalari
Bu dosyalar .class dosyalarinin toplanip sikistirilmis halidir.
Özellikle appletler için daha kolay bir tasinabilirlik saglar.

Java Neler Yapabilir


Iletisim teknolojilerin hizla kendini yenilemesi ve farkli teknolojik
araçlari (Windows kurulu masaüstü bilgisayari, Linux kurulu
masaüstü bilgisayari, cep telefonu, el bilgisayari, televizyon vs.)
ortak bir dilde konusturma istegi Java teknolojisinin bir çok
büyük sirket tarafindan desteklenmesini sagliyor. Microsoft'un
yeni .NET stratejisinin en büyük rakibi olan Java teknolojisi'ne
destegini çekip Windows XP ile IE altinda Sanal Makine'yi
kaldirmasi bu durumda pek sasirtici olmuyor. Microsoft'un
XP'den JVM'yi kaldirmasi, XP altinda Java programlari ya da
apletleri çalistirilamayacagi anlamina gelmiyor, aksine kullanicilar
Microsoft sanal makinesinden daha iyi yazilmis Sun'in kendi
sanal makinesini kurduklarinda daha islevsel bir ortam elde
etmis oluyorlar.

Java teknolojisi sadece küçük appletler degildir. Bu teknolojinin


önemli terimlerini de açiklamakta yarar var.
*

• Java Sunucu Sayfalari (Java Server Page - JSP) Java diliyle


bütünlesik yazilan ag sayfalaridir. Java sunucu sayfalari
sayesinde dinamik ag içerigi saglanir. Prensipte Microsoft'un
ASP teknolojisine benzer ancak ASP sayfalarinin sundugu
nesneler sadece Microsoft platformunda çalisan COM nesneler
iken JSP sayfalarinda platform bagimsiz Java nesneleri
kullanilir. *
• Servlet Istem ile çalisan Java ag sayfalari gibi sunucularda
kullanilir. CGI teknolojisinin alternatifidir. Servlet kendisinden
istenen bilgiyi verir ya da kendisine gönderilen bilgiyi isler. *
• JDBC Veritabanlarina SQL istemler gönderme ve sonuçlari
almak için kullanilan API. *
• Java Bagimsiz Arabirimi (Java Native Interface - JNI) Java ile
C, C++ ya da assembly gibi dillerin birlikte kullanilmasini
saglayan arabirim. Bu sayede Java'nin yapamadigi islevler de
(örnegin platform bagimli islevler) de Java ile kullanilabilir. *
• JINI Hatalara karsi dayanikli sistemler, topluluklar ya da dagitik
servisler kurulmasi ve bunlarin birbiri ile siki iletisim kurmasini
saglayan teknoloji. JINI kullanilarak olusturulmus yazicilari,
tarayicilari ve merkezi dosya sunucusu ile kurulu bir yerel agi
bu teknolojinin kullanim alanina örnek verebiliriz. *
• EJB Hareketler (transaction) ya da veritabanina baglanma gibi
karisik islemleri sunucu tarafinda çalistiran ve orta derecede
erisimi kolaylastiran, çok platform destekli program bilesenleri.

Java platformunda yazilmis pek çok da API bulunmaktadir.


Internet için en önemlileri sifreleme gibi islemleri gerçeklestirir.
Programlar için olanlarindan bazilari çoklu ortam, seri iletisim
baglantisi, tam ekran görüntüleme, üç boyut ya da ileri
resimlemedir. Bunlar, ihtiyaçlara göre kullanilir.

Java teknolojisi, gelisen Java teknolojisi elektronik iletisimin,


dolayisiyla hayatimizin önemli bir parçasi olacak gibi gözüküyor.
Açik bir sekilde gelistirilen hiç bir araç bu kadar popüler ve
kullanisli olmamisti, öyle ki programlamaya Java ile
baslayabilirsiniz!
Baglantilar java.sun.com

Bahri GENÇSOY
bahri@ieee.metu.edu.tr
MIKROELEKTRONIK GENEL TANITIMI
Süphesiz, günlük hayatimizda elektronik teknolojisinden çok
büyük oranda etkileniyoruz. Evde, iste, yolculukta, okulda her an
elektronik sistemlerle ve ürünlerle iç içeyiz.

Bilgisayar, uydu, cep telefonu, faks makinesi, lazer yazici,


televizyon ve diger elektronik ürünler olmadan yasanacak bir
hayati hayal etmek gerçekten zor. Ancak, bundan 40-50 yil önce
bunlarin hiçbiri yoktu. Peki, bunlar olmadan yasamayi bizim için
imkansiz yapan ne? Birçogumuz, elektronik ürünlerin içinde
büyüdügümüz için elektronik endüstrisindeki bu hizli gelismenin
farkina bile varmiyoruz. 20. yüzyilin baslarinda, hiç bir ticari
elektronik aygit yoktu ve mikroelektronigin temel birimi olan
transistörün icadi 1940'li yillardadir. Bu gelisme, 1950'li yillarda
iki kutuplu (bipolar) transistörün bulunmasiyla ve 1961 yilinda
entegre devrelerin üretimiyle tetiklendi. Süphesiz, çok kisa bir
zamanda mikroelektronik teknolojisinde köklü degisiklikler
meydana geldi ve o zamanlardan beri de, hayatimizin
vazgeçilmez unsurlarindan biri oldu ve öyle görünüyor ki gelecek
yillarda daha da büyüleyici gelismeler devam edecek.

Mikroelektronik teknolojisindeki bu gelismeleri büyük bir


heyecanla izliyoruz. Peki, teknolojideki bu sasirtici ve hizli
gelismenin altinda yatan sebepleri hiç düsündük mü? Entegre
devre teknolojisindeki gelismenin en önemli nedeni, üretim
maliyetinin çok düsük olmasi, binlerce devrenin ayni anda
üretilebilmesi ve ayni devrede milyonlarca aygitin olabilmesi.
Devreler ne kadar karmasik olursa olsun, seri üretimle çok düsük
maliyetlerde üretilebiliyor. Bunun sonucunda, entegre devrelerin
kullanim alani da gittikçe genisliyor. Bir teknolojinin
uygulanabilirligi performans /maliyet oranina baglidir. Hemen
hemen tüm uygulamalarda, entegre devreler daha önce
kullanilan tekniklerin ve teknolojilerin ulasamadigi performansa
çok düsük maliyetlerle ulasabilmistir. Özetleyecek olursak, bu
teknolojinin baslica avantajlari, küçük boyutlarda ve hafif,
güvenilir, daha önce ulasilamayan çalisma performansina sahip
olmasi ve maliyetinin düsük olmasi. Devrelerdeki karmasikligin
artmasi, yani hemen hemen tüm sistemin ayni devre parçasi
üzerine entegre edilebilmesi teknolojinin bu yöne kaymasinda
önemli olan diger faktörlerden biridir.

Yariiletken teknolojisi, entegre devrelerin temel parçalarini


olusturuyor ve geçtigimiz 60 yilda, dünya elektronik
endüstrisindeki bu sasirtici ve hizli gelismenin temelini
olusturuyor. Bilgi çaginda daha hizli ve daha karmasik sistemlere
duyulan devamli ihtiyaç, yariiletken teknolojisinin sürekli
gelisimini ve yeni aygitlarin icat edilmesini zorunlu kiliyor. Daha
hizli, daha az enerji harcayan, daha yogun, daha karmasik, daha
verimli ve farkli islevlere sahip devrelere ve sistemlere duyulan
devamli ihtiyaç, yariiletken teknolojisinde yeni aygitlarin
sayisinin artmasina ve yariiletken türlerinde çesitlilige neden
olmustur.

Mikroelektronik teknolojisini daha iyi anlamak için biraz da


tarihsel gelisimine göz atmakta fayda var. 1945'lere kadar,
elektronik aktif aygit teknolojisi vakum tüplerinden (vacuum
tubes) ibaretti. Her ne kadar elektronik aygit boyutlarinda bir
derece küçülme ve devre entegrasyonu gerçeklesse de günümüz
teknolojisinin ulastigi noktaya yönelik bir gelisme olmamistir. Bu
nedenle günümüz teknolojisinin büyük bir bölümü 1947'de
William B. Shockley, Walter H. Brattain ve John Bardeen'in Bell
Laboratuarlarinda transistörü icadinin bir sonucudur .Bu
devrimsel gelismeyi entegre devrelerin (integrated circuits - IC)
üretimi takip etmistir. Ilk entegre devre 1958'li yillarda hem
Texas Instruments'da Kilby tarafindan hem de Fairchild
Semiconductor'da Noyce ve Moore tarafindan ayni zamanlarda
icat edilmistir ve o günden günümüze entegre devrelerin gelisimi
bes asamayla devam etmistir:

• Küçük ölçekli entegre devre (SSI - small scale integration), Tek


bir entegre devrede 1-10 aygit Örnek: yüzeysel aygit (planar
device), mantik devresi (logic gate), kapan (flip-flop).
• Orta ölçekli entegre devre (MSI - medium scale integration),
Tek bir entegre devrede 100-1000 aygit Örnek: sayaç
(counter), çogullayici (multiplexer), toplayici (adder).
• Büyük ölçekli entegre devre (LSI - large scale integration), Tek
bir entegre devrede 1000-20000 aygit 8 bitlik mikroislemci (8
bit microprocessor), SOB - salt okunur bellek (ROM - read only
memory), REB - rasgele erisimli bellek (RAM - read access
memory).
• Çok büyük ölçekli entegre devre (VLSI - very large scale
integration). Tek bir entegre devrede 20000-1000000 aygit
Örnek: 16 ve 32 bitlik mikroislemciler (16 ve 32 bit
microprocessors), karmasik çevre birimleri (sophisticated
peripherals).
• Asiri büyük ölçekli entegre devre (ULSI - ultra large scale
integration) Tek bir entegre devrede 100000-10000000 aygit
Örnek: özel islemci (special processors), sanal gerçekçi makine
(virtual reality machines), akilli sensör (smart sensor)

VLSI teknolojisinin bir ürününü görüyoruz. Ilk transistörle


aralarindaki fark çok açik. Tablo 1'de bu gelismelerin tarihsel
boyutlari detayli olarak verilmistir. Önümüzdeki yillarda bu
gelisim sürecine altinci bir asama eklenecektir: dev ölçekli
entegre devre (GSI - giant scale integration) .

Yil Olay
Iki kutuplu transistörün (bipolar transistor) Bell Laboratuarlari'nda
1947
Bardeen, Brattain ve Shockley tarafindan icadi.
Silikon iki kutuplu transistörlerin ticari üretimi Texas Instrument'da
1952
basladi.
Ayni anda hem Texas Instruments'da Kilby tarafindan hem de
1958 Fairchild Semiconductor'da Noyce ve Moore tarafindan ilk entegre
devre icat edilmistir.
1961 Ilk ticari dijital entegre devre Farchild tarafindan piyasaya sürüldü.
AIEE (American Instute of Electrical Engineers) ve IRE (Institute of
1963
Radio Engineers) birleserek IEEE'yi olusturdu.
IEEE International Solid-State Circuits Conference (ISSCC)'inda ilk
1967
yariiletken RAM'i tartisildi.
Ilk ticari islemsel kuvvetlendirici (operational amplifier) entegre
1968
devresi -(A 709- Fairchild Semiconductor tarafindan tanitildi.
Tek transistörlü dinamik bellek gözesi (memory cell) IBM'de
1970
Dennard tarafindan icat edildi.
1971 Intel tarafindan 4004 miroislemcisi tanitildi.
1972 Intel tarafindan ilk 8 bit'lik mikroislemci -8008- tanitildi.
1974 Ilk ticari 1- kilobit'lik bellek çipi gelistirildi.
1974 8080 mikroislemcisi tanitildi.
1978
Ilk 16 bit'lik
mikroislemci
gelistirildi.
1984 Megabit bellek çipi tanitildi.

TERIMLER:

amplifier: yükselteç
bipolar transistor: iki kutuplu transistör
bit: ikil,bit
component: bilesen
device: aygit
equipment: donatim, alet
flip-flop: yazboz, kapan
microprocessor: mikroislemci
multiplexer: çogullayici
ROM - read only memory: SAB - salt okunur bellek
RAM - read access memory: REB - rasgele erisimli bellek
vacuum tube: vakum tüpü

Transistör: (Eng: transistor) Genellikle germanyum veya


silikondan yapilmis, üç uçbirimden (terminal) olusan (tipik
olarak; base, emitter, collector veya gate, source, drain), akim
yükseltme (amplify) özelligine sahip aktif yariiletken aygit.

Entegre devre: (Eng: integrated circuit) Yariiletken teknolojisiyle


üretilmis, elektronik bir devrenin tamamini veya bir kismini
içeren küçük çip.

Basak Yüksel
basak@ieee.metu.edu.tr
Crouching Error, Hidden Markup
Neville Holmes, University Of Tasmania

Bugün Microsoft'un ticari varligi o kadar baskinlasmistir ki,


islerinde bilgisayar kullanan birçok profesyonel, Microsoft'un her
hareketinin islerini ve sayginliklarini derinden etkileyecegini
bilmektedir. Artik Microsoft'u görmezden gelmek çok zorken,
sirketi hedef alacak ifadeler kullanmak ise sadece isin kolayina
kaçmak olmustur.

Ancak geçen sene yayimlanan bir gazete makalesi bana,


Microsoft'un bilgisayar tabanli isler üstündeki etkisinin ciddi bir
elestiriyi hakedecek kadar zararli olabilecegini gösterdi.
"Pierpont'un Microsoft ile uzun ilk gecesi"1 (Pierpont's Long First
Night with Microsoft) baslikli yazida takma adi Pierpont olan bir
kisi, Microsoft Word ile ilk defa bir makale yazma deneyimi ile
sonuçsuz kalan ve pahaliya patlayan Microsoft teknik servisinden
destek alma çabasini anlatiyor.

Itibar ve Hizmet
Aslinda artik Microsoft aleyhindeki olaylar günlük hayatimizin bir
parçasi olmaya basladiysa da, Australian Financial Review'da
yayinlanmaya layik görülmüs bu yazi içlerinde en çok rahatsiz
edici olanidir. Bu kadar saygideger, ve bu kadar okunan bir
yazinin -alayci bi hava içinde bile olsa da- "Bilisim sektöründe
hala bu eski ipten kazanilacak para var" cümlesiyle bitmesi
bilgisayar profesyonelligi açisindan olumsuz bir hava yaratmistir.
Pierpont'un bu yazisini okuyanlarin arasinda mutlaka bilgisayar
uzmanlarini ise alanlar ya da bilgisayar isine para yatiranlar
bulunmaktadir. Bu, olayin talihsizligini iki katina çikarmaktadir.

Ted Lewis'in "Hizli, Pahali ve Korkunç Karisik (Fast, Expensive,


and Horribly Complex)"2 yazisinda da belirtildigi gibi, hizmetteki
kalitesizlikte, bilgisayar programlarindaki kötü kalitenin rolü
büyüktür. Bu faktör bilgisayar dünyasini baltalamakla birlikte,
bizi de yeni standartlar aramaya ve gelistirmeye yöneltmistir.

Peki neden bu standartlar bilgisayar programlarinin


kullanilabilirligi ve hizmet edebilirliklerinin gelismesini saglamadi?
Ilk cevap, belki de bizim standartlarimizin uygun olmadigidir.Ya
da ikinci bir cevap, uygun standartlar olsa bile, bilgisayar
endüstrisinin bunlari kabul etmedigidir.
Eger ikinci cevap sebebin biraz bile parçasiysa, bilgisayar
profesyonelliginin politik bir problemi var demektir. Bu problem
mühendislik ile mimariyi ayirdedememelerinden
kaynaklanmaktadir. Bu durumda ilk cevap -uygun standartlarin
yoklugu- daha büyük önem kazanmaktadir.

Microsoft Word kullanicilara o kadar çok problem yasatmaktadir


ki bunlari tek bir kaynaga baglamak ya da suçu standartlarin
yokluguna atmak zordur. Word'ün yasattigi problemler basitçe
onun bütün diger paket programlardan çok daha fazla kullaniciya
sahip olmasiyla açiklanabilir. Ben de Word'ü, bana gönderilen
Word formatindaki e-mail'leri basmak disinda bir kaç is için
kullanirken bazi problemler yasadim. Bu tecrübelerimden
çikardigim dersler bana yeni standartlarin gelistirilmesi ve
uyarlanmasinin gerekliligini gösterdi

WYSINWYW
Word'le ilk önemli deneyimim bundan 10 yil kadar önce oldu.
Görevim mi? Uluslararasi bir dizayn sirketinde çesitli çalisma
gruplarinin hazirladigi raporlari tek bir yayin içine toplamak..
Script, Roff ve TeX gibi metin sekillendirme programlarinin uzun
süredir kullanicisi oldugum için Word'ün radikal yaklasimi beni
endiselendiriyordu. Ama bütün çalisma gruplari Word
kullanmakta israr edince, baska seçenegim kalmadi.

Ilk tecrübem hem heyecan verici hem de sarsiciydi. Her ne kadar


"imleme" (markup) yaklasimina alismis olsam da, Word'ün
mouse ve menülere dayali tarzinin dökümanimin iskelet yapisini
fontlarla, basliklarla, dipnotlarla, indekslerle olustururken çok
etkili oldugunu gördüm. Word'deki WYSIWYG (What You See Is
What You Get - Ne Görürsen Onu Alirsin) özelligine ne kadar
hayran kaldigimi hatirliyorum. WYSIWYG ile dökümanimin
iskeletinin basildigi anda nasil görünecegini, ayni anda ekranda
görebiliyordum. Bu benim geleneksel düz metinlerle çalisma
stiliminden sonra çok önemli bir yenilikti.

Sonra grup raporlari gelmeye basladi. Bir raporu ana dökümana


eklemekte hiçbir problem yasamiyordum, ama sonradan garip
seyler olmaya basladi. Bir raporu yükleyip dökümanin geri
kalaniyla ayni stile soktuktan sonra dökümanin uzun süredir
bakmadigim bazi yerlerinde degisiklikler farketmeye basladim.
Birçok zaman bu degisiklikler fontlarla sinirli kaliyordu: bir
yerdeki serseri bir fontu degistirmem baska bir yerlerde daha
font degisimlerine sebep oluyordu.

Süslü sayfa basliklarimsa, isimin en çok zaman alan kismini


olusturarak, en büyük problemi yarattilar. Dökümanimin son
halinde hersey yerli yerinde olmasina ragmen; sponsorun
ofisindeki kisilerin bir önsöz eklemesiyle yine bütün basliklarim
bozuldu. Sonuçta yayimlanan ürün beni hiç de memnun etmedi.

WYSIWYG anlayisini desteklesem de, Word'deki ilk denemesi


daha çok WYSINWYW (What You See Is Not What You Want -
Gördügün Istedigin Degil) olarak adlandirilmaliydi. Mutlaka
yasadigim bazi zorluklar Word'ü ilk defa hem de önemli bir is için
kullanmamdan kaynaklaniyordu; ama digerleri.. Çok daha temel
bir nedenin sonuçlariydi.

Problem Ve Çözüm
Problemin ana kaynagi Kenneth Brooks'un "Lilac: Bir Çifte-
Görünümlü Belge Editörü (Lilac: A Two-View Document Editor)"3
yazisina rastlayinca biraz daha belirginlesti. Brooks WYSIWYG
anlayisiyla "imleme" teknigini biraraya getiren bir sistemden
bahsediyordu. Bence, Word'ün kontrol edilemezligi, istenmeyen
seylere neyin sebep oldugunu görememekten kaynaklaniyordu.
Lilac gibi bir sistem, kullaniciya hem sekillendirilmis dökümana,
hem sekli belirleyen imlere ya da her ikisine birden bakarak bu
problemi asma sansini sunuyordu. Lilac sistemi aslinda Cennet
diye isimlendirilmeliydi.

Bu tarz çifte-görünümlü paketlerin yayginligi ve baskinliginin


hizla olusacagindan emin olarak gelismeleri hevesle beklemeye
basladim. Sonradan farkettim ki, böyle sistemler piyasaya
sürülmesine karsin, çok pahali ve de yayginliktan uzaktilar.

Böyle bir eksiklik sadece "imleme" yaklasiminin tabiatindaki


"zorluk" faktöründen kaynaklaniyor olamazdi. Hem, Word
kullaniciya dökümanini HTML (Hyper Text Markup Language) ve
RTF (Rich Text Format) gibi içinde "imleme" kodlari bulunduran
formatlarda kaydetme ve yükleme olanagini sunuyordu. Demek
ki kendisi de o bütün çekici görüntüsünün altinda bir "imleme"
dili saklamaktaydi. Word'deki eksiklik metni sekillendirirken
kullandigi imleri açikça göstermemesiydi. Ben burdan Word'ü
yapanlarin sekillendirme özelliklerini, düsünmeden, tek bir
felsefeye ya da belli prensiplere bagli kalmadan, rastgele
ekledikleri sonucunu çikardim. Bu da bir düz metin üstünde
imlerin gösterilmesini imkansiz hale getiriyordu.

Imleme
"Imleme" sistemlerinin uzun süreli tarihine bakildiginda, bunlarin
veri isleme sistemlerinde binyillardir kullanildigini görüyoruz.
"Imleme" okuyucuya aslinda verilmek istenen sekli belirtmek
amaciyla kullanilan, geleneksel notlardir. Bu notlarin uygulanis
sekli, yazinin nerede yüksek sesli okunacagi gibi seyleri gösterir
ve bir diger adi da "noktalama isareti"dir.

"Durma ve Etkisi (Pause and Effect)"4 baslikli yazida Malcolm


Parkes, Latin alfabesinin içinde önemli bir yer tutan noktalama
isaretlerinin tarihini anlatiyor. Yazilari sesli okurken kullanilan ilk
noktalama isareti, okuyucuya retorik birimler arasinda ne zaman
duraklayacagini belirtiyordu. 7. yüzyilda Irlandali katipler
geleneksel "scriptio continua" (sürekli yazi) nin birakilmasi
gerektigine karar verene dek, yazarlar kelimeler arasina çok
nadiren bosluklar koyuyorlardi. Noktalama isaretlerindeki asil
standartlastirma hareketli harflere sahip matbaanin icadiyla
basladi. Çünkü matbaa, sinirli sayida noktalama isaretiyle daha
pratik hale gelecekti.

Günümüzün Teknolojisi
Günüzümdeki teknolojik gelismeler durumu kötü yönde
degistirdi. Ilk baslarda bilgisayar endüstrisince gelistirilen
karakter setleri nerdeyse hiç noktalama isareti içermiyordu.
Sonradan gelistirilen, standard 7 ve 8 bitlik karakter setleri,
ASCII ve EBCDIC sadece bir kaç tane daha fazlasini
bulunduruyordu. Bu, eski noktalama isaretlerinin sadece bir
kismini alip, üstüne bagimsizca yenilerini eklemek suretiyle,
basim endüstrisinin ana standartlarini reddetmekti.

Bu yetersiz karakter setleri, birçok isaret kullanmak zorunda


olan, bilgisayar dünyasinin ilk döküman sekillendiricilerinin
islerini feci sekilde baltaladi. Script ve Roff gibi programlar ise o
günlerin kaba yazicilarinda bayagi iyi isler çikardilar. Daha
hassas yazicilarin çikmasiyla, programcilar bu programlari
yenilediler; ama onlarin tipografi konusundaki eksikligi bu
gelismeleri yavaslatti. Ilgilerini daha çok içerik üzerine yönelten
programcilar ilk önce GML, (Generalized Markup Language)
sonra SGML, (Standard Generalized Markup Language) ve son
olarak da HTML'i gelistirdiler.
Neyse ki "imleme" problemi Donald Knuth'un ilgisini çekti.
Tipografi geleneklerini iyice ögrenerek bilgisayarlarin zavalli 7-
bitlik karakter setinden, profesyonel dökümanlar olusturabilecek
ve her düzenleyciyi memnun edecek bir "imleme" sistemi
olusturdu.

Knuth'un TeX isimli "imleme" sistemi (http://www.tug.org), her


WYSIWYG editör programi için çok saglam bir dizgi standarti
olusturuyor. TeX, çok yönlü, gelistirilebilir ve geleneklere bagli
bir sistem. Matbaacilik endüstrisinin standartlarini görmezden
gelmek yerine onlara adapte oluyor. TeX ayrica matematikçilerin
de dahil oldugu genis bir profesyonel kitle tarafindan kullaniliyor,
çünkü onlarin da kendilerine ait tipografik ihtiyaçlari var.
Online Dökümanlar Artik basilmis dökümanlar bundan 10 yil öncesine göre hayatimizda çok
daha küçük bir rol oynuyor; çünkü artik her döküman Web üstünde bulunabiliyor.

Eski Web, kullanisli olamiyacak kadar çok kullanici dostu, içerige dayali bir "imleme" sistemi
olan HTML üstüne kurulu. Aslinda HTML'in "imleme" sisteminin kalbinde, matbaacilik
endüstrisinin gelistirdigi sembollerden biri olan diple ( "<" ) yatmakta.

Yeni Web, daha da içerik agirlikli bir imleme dili olan XML (eXtensible Markup Language)
yolunda ilerlemektedir. Unicode, ASCII için neyse; XML'de HTML için o olacaktir. Nasil
ASCII'nin pek hizmet edemedigi yazi sistemlerini Unicode tamamiyle reddedip, dünya
dillerine yöneldiyse, XML'de döküman teknolojisini tamamiyle reddetmis ve kendi içerigini
gelistirme yoluna gitmistir. Ve simdi XML'in daha gelismis ve daha yaygin olan bir versiyonu
olan ebXML (electronic business XML) Web ya da onun takipçisi için yalnizca ticari bir
gelecek vaadetmektedir.

Sonuçta, TeX'in derinligine ve çok yönlülügüne sahip, imlenmis düz bir metin dosyasiyla hem
baskiyi, hem ekran görüntüsünü olusturacak, kullanicinin içerik ve görünümle etkilesimini
saglayacak bir programa ihtiyacimiz var. Knuth'un yaklasimini ya da TeX'in kendisini bile
uyarlamak bize:

- Latin alfabesi temelli herhangi bir dil ya da diller karisiminda yazi kontrolü için bir standart,
- 7 bitlik ASCII sistemi içinde de kullanilan, para birimleri ve kopya haklari gibi yaratici
semboller,
- Diger yazi sistemleri için örnek bir standart,

kazandiracaktir. Böyle bir destekle, belge sekillendirme tüm diger içerik bazli standartlar için
iyi bir temel olusturacaktir.

Böyle bir standardi gelistirmek ve uyarlamak, bilgisayar endüstrisinin matbaaciligin olgunluk


dönemi sayilan hareketli harf dönemindeki standartlara ulasmasini saglayabilir ve bu da
birçok profesyonelin o zamanlardaki yazi uzmanlari ve düzenleyicilere olan saygiyi takdir
etmesini saglayabilir. Hatta Microsoft bile Word'e yepyeni bir ipin görüntü ve hissini verebilir
- Neville Holmes Tasmania Üniversitesi, Bilgisayar Bölümünde arastirma ve ögretim
görevlisidir.
- Bu yazi IEEE Society, Computer dergisinin Eylül sayisinda yayinlanmis, ve yazarin izni ile
çevrilip dergimizde yer almistir

1: Australian Financial Review, 26 Ekim 2000,


http://www.pierpont.com.au/eco_Archives/default.cfm?behaviour=view_article&id=3233
2: Computer, Eylül 1999, pp. 120,118-199
3: Computer, Haziran 1991, pp. 7-19
4: University Of California Press, 1993
TeX Bazli Bir Editör: VTeX 5.0
Çeviren: Onur Turgay

You might also like