1700'lerde Yazılmış Bir Hikayenin Hala Bilgisayar Mühendislerinin Başını Ağrıtması

1726 yılında Jonathan Swift tarafından yazılan Gulliver'in Gezileri kitabı ile bilgisayarlar arasında sağlam bir bağlantı var.
1700'lerde Yazılmış Bir Hikayenin Hala Bilgisayar Mühendislerinin Başını Ağrıtması

gulliver’in gezileri’ni hepimiz biliriz. 1726 yılında yazılmıştır. kitapta gulliver, dünyayı gezerken bir krallığa denk gelir. (o zamanlar da emekli olunca kolaylıkla dünyayı gezebiliyorlarmış çünkü diğer ülkelerin paraları değersizmiş.) geldiği bu krallıkta iç savaş varmış. iç savaşın nedeni ise çok ilginçmiş. temel olarak krallıkta iki inanış varmış. yumurtayı küçük ucundan yemeye başlanması gerektiğine inanlar, ki kendilerine little endian deniyor (little-küçük, end-son, uç demek) ve büyük yani kalın taraftan yemeye başlanması gerektiğine inananlar. bunlara da big endian deniyormuş. 

little endian ve big endian’lar yumurtanın hangi uçtan yenmeye başlaması konusunda bir türlü anlaşamadıkları için yıllarca bu ülkede iç savaş ve karmaşa varmış. birbirlerine kız vermez, kendi adamlarına torpil yapar, kendilerinin yumurtayı hangi taraftan yendiğini bildikleri için cennete gideceklerine inanıp, diğerlerini vatan haini olarak görürlermiş. tabi bu durum en çok kralın işine geliyormuş, çünkü böyle olunca kafasına göre vergi koyuyor, işine gelen ülkeye savaş açabiliyormuş. little endian ve big endian’lar duruma uyanıp biraz homurdanmaya başladığında da hemen kiliseyi devreye sokup, isa efendimizin de fakir yaşadığını ve vergiler altında ezildiğini eğer onlar da böyle yaşarsa kesin cennete gideceklerini, o yüzden sabretmeleri gerektiğini, bunun dinin bir emri olduğunu sürekli pazar ayinlerinde kiliselerden duyuruyormuş. işte hikaye böyle uzayıp gidiyor. devamını merak edenler kitabi okuyabilir.

şimdi gelelim bütün bunların bilgisayarlarla alakasına. bilgisayar teknolojisi gelişip yavaş yavaş yayılmaya başladığında bazı standartlara ihtiyaç duyuldu. çünkü o zamanlar her önüne gelen yeni bir keşif yapıyordu. bizim gençlerin kahvelerde okey ve batak konularında iyice bilgilerini ilerletip uzmanlaşması gibi bir fırsatı olmayan diğer ülkelerde, bodruma kapanan gençler kafaya göre standart buluyorlardı. bu standartlardan biri de bilgilerin hard diske nasıl yazılacağıyla alakalıydı. daha spesifik olmak gerekirse, mesela 13469 sayısını bilgisayara ondalık olarak yazabildiğimizi varsayarsak, bunu 13469 olarak mı yoksa 96431 olarak mı yazılması gerekir. yani yumurtayı küçük taraftan mı yoksa büyük taraftan mı yemeliyiz. her iki durumun da avantajı ve dezavantajı var kendine göre. gençler kendi arasında tam anlaşamamış; kimi little endian olmuş, kimi de big endian. gulliver’in maceraları’ndan ilham alarak, eğer 13469 şeklinde kaydederseniz sistem big endian olarak adlandırılıyor, çünkü on binler basamağı (en büyük basamak)olan 1 i önce yazdınız. ya da 96431 olarak kaydederseniz little endian oluyor, çünkü birler basamağı (en küçük basamak) olan 9 önce yazıldı.

tabii burada basitleştirerek anlattım. teknik olarak nasıl olduğuyla alakalı şu entry'e bakabilirsiniz:


bu durum low level denilen bit'ler, byte'lar seviyesinde iş yapan bilgisayar mühendislerini çok uğraştırır, bazen farkına varmazlarsa büyük hatalara neden olurlar. bütün bunlar yetmezmiş gibi, hayır efendim ortadan başlamalıyız, 13469’u 43619 olarak yamalıyız denen bir güruh çıktı (middle endian'lar). tam başa bela.

intel, amd gibi işlemcilerin de etkisiyle little endian yani 96431 olarak tersten yazma yavaş yavaş standart oluyor ama bunun önünde çok büyük bir engel var, o da internet. internet protokolü hala big endian kullanıyor. ve internetle alakalı en ufak bir şey yapacaksanız giriş çıkışta iki defa dönüştürmek gerekiyor. bu da tabii hız kaybı demek. maalesef yakın zamanda belli bir standart sağlanamayacak gibi görünüyor.

bu iki yöntemi gündelik hayatta farkında olmasak da kullanıyoruz. mesela biz adresleri big endian yazıyoruz (mahalle, sokak, ev no). amerikalılar little endian kullanıyorlar, çünkü onlarınki little, hehe (ev no, sokak, şehir). diğer taraftan telefon numaraları, posta kodları big endian, çünkü şehir kodları önce geliyor. tarih yazımları ise tam bir çorba. bizde little endian var (gün, ay, yıl), iso standardı big endian (yıl, ay, gün), ama mesela amerika middle endian kullanıyor (ay, gün, yıl).

hikayesi uzanan günümüze kitabın bir yazılmış 1700’lerde da bu işte.

kaynaklar