Bu sayfadaki yazılar
Sayfanın metni
Sayfa 12
Günümüzün modern tekniğinin diğer buluşlarına göre bilgisayarlar oldukça yeni cihazlardır. Motorlu taşıtların 219 yıldır (Gugnot'nun buharlı arabası), uçakların 1783'den beri (Mongolfie) varolmalarına karşın ilk bilgisayar 1941 yılında (Zuses Z3) yapılmıştı. Fakat o günden sonra bu alanda inanılmayacak derecede hızlı bir gelişme kaydedilmiştir ve önemli adımlar atılmıştır. 1955 yılında Avrupa'nın en iyi bilgisayarı diye adlandurılan IBM 1401, günümüzün teknolojisinde normal bir hesap makinesinin yaptığı işlemden pek fazlasını yapamıyordu. O zamanlar dünya üzerinde oldukça yayılmış olan IBM 1401 beş basmaklı iki sayıyı toplamak için 230 mikrosaniye harcıyordu ve en fazla 16000 işareti hafızasında tutabiliyordu. Çok yakından tanıdığımız C-64 bile bu toplamayı 5 mikrosaniyede gerçekleştirmektedir ve toplam 65536 bayt doğrudan kullanılabilir belleğe sahiptir. 1401'in aylık kirası tüm donanımıyla birlikte ortalama 50 milyon TL. idi. Şu anda C- 64'ün fiyatı bunun kat kat altındadır. Fakat teknik son 20 yıl içinde sadece ve sadece bu alanda dev adımlar atmamıştır: İnsan-bilgisayar ilişkisi günümüzde oldukça değişik boyutlara ulaşmıştır. Önceleri insanlar bilgisayarlara göre hareket etmek zorunda kalırken, şimdi daha çok bilgisayarlar insanlara uymaktadır. Bu tezin ne derece doğru olduğunu şimdi daha iyi anlayacağız. Öncelikle bilgisayarlarda oldukça sık karşılaşılan bir problemin geçen yıllar zarfında hangi aşamalardan geçilerek çözüldü- Bünü inceleyelim isterseniz. Örnek olarak A adındaki bir kayıt ünitesinden B adındaki bir diğerine herhangi bir dosyanın nasıl aktarıldığını görelim, Yalnız burada kısa bir bilgi vermemiz gerekmektedir. 1965 yılında normal bir programcı için bugünlerde yakından tanıdığımız ikilik sayı sistemi pek fazla bir şey ifade etmiyordu. O zamanlarda her bilgisayar kendine özgü sembolik kodlama sistemini geliştirmişti: Prosa (Siemens 2002) SPS veya Autocoder (IBM 1401) Freiburger Code (Zuse Z23) Tecrübeli bir programcı olabilmek için ise bu kodlama sistemlerinden 2 veya 3 tanesini bilmek gerekiyordu. Bilgisayarların zamanı ise o devirlerde yine oldukça kıymetliydi. Bu nedenle programlama işleminin büyük bir kısmı kâğıt üzerinde gerçekleşirdi. Hazırlanan bir programın kodları özel makineler yardımı ile delikli kart veya bantlara yazılır, daha sonra bunlar yine özel okuyuculara yerleştirilerek programın çalışması sağlanırdı. *60'lı yılların bilgisayarları için klavye ve ekran gibi yan üniteler söz konusu bile değildi. Olası bir hatada program tamamen baştan yazılmakta idi. Yanıp sönen bazı lambalar ve bugünkülerle karşılaştırılmayacak derecede kaba yapılmış yazıcılar bir programın çalışıp çalışmadığını gösterirdi. © yıllarda kullanılan kayıt araçları arasında en yaygın olanı “trommel” adı verilen manyetik silindirlerdi. Şimdi tekrar yukarıdaki problemimize dönüp (Bir verinin A'- dan B'ye aktarılması) bunun trommel kayıt cihazının kullanıldığı bir sistemde nasıl çözümlendiğini kısaca görelim. Aşağıdaki satırlarda göreceğiniz program Siemens S2002 cihazının Prosa sembolik kodlama sistemi ile yazılmıştır. Kullanılan komutlar aslında 13 harflik uzun kelimelerdir kat burada sadece kısaltmalar belirtilmiştir.
TRA: Trommel üzerinde okuna- cak adresleri belirle! (Burada komutun adres kısmı Trommel'in adres registerine yazılır) BLL : Okunacak dosyanın block uzunluğunu belirle! (Block uzunluğu yine Trommel üzerindeki block uzunluğu re- gisterine yazılır) LTR: Trommel'dan block'u oku ve registerde belirtilen adres- lere kaydet!
Yukarıdaki satırlar yazma işlemi için bir kez daha tekrarlanır, yalnız bu sefer okuma komutunun yerine yazma komutu STR alır. Üzerinde durulması gereken son bir konu da programcının zamanlamasıdır. Dönen trommel üzerinde okuyucu ve yazıcı kafa sabit durduğundan işlem yapılacak yere sıra geldiği anda bilgisayar gerekli komutu kullanıyor olmalıdır. Bu nedenle kullanıcı her seferinde komutların işlev süreleri ve trommel'in dönüş süresi arasında bağıntı kurmak zorundadır. Görüldüğü gibi programcı bilgisayar tarafından belirlenen çok dar sınırlar içinde hareket etmek zorundaydı. Aynı sorunla günümüzde de herhangi bir Makro-Assembler kullanmadan makine dilinde program yazanlarda karşılaşmaktadır. İlk bilgisayarlarla birlikte ilk Compiler programları da ortaya çıkmaya başlamıştır: Fortran (1957) ve çok yakın akrabası Algol (1958). Bu ileri programlama dillerinin gereği kadar yayılmamasının başlıca sebebi o zaçok fazla oluşu ve makine dilinde yazılmış bir programın çok daha hızlı olmasıydı. Tekniğin son yıllarda gösterdiği korkunç gelişimle birlikte bilgisayarların maliyeti önemli derecede du, müştür. Birçok yeni Compiler geliştirilmiş ve gerekli hesaplama süresi oldukça kısalmıştır. Günümüzde Cobol, Pascal, PL/1, Forth, Ada, Logo, Lisp, C, Prolog ve her şeyden önce Basic büyük önem kazanmıştır ve programcıların işini oldukça kolaylaştırmaktadır. C-64'ün Basic'inde yukarıdaki program oldukça değişik bir hal alır. Aşağıda göreceğiniz satırlarda 8 No.'lu disket sürücüsündeki bir seguential dosya 9 No.'lu sürücüye kaydedilmektedir: 10 OPEN 1,8,2, “DA-TA,SEO,READ” 20 OPEN 2,9,3, “DA-TA,SEO,WRITE” 30 INPUT # 1,A$ 40 PRINT # 2,A$ 50 IF ST< >0 THEN 70 60 GOTO 30 70 CLOSE #2 80 CLOSE #1 90 END Az çok İngilizce bilen herkes komutların ne işe yaradığını hiçbir ön bilgiye sahip olmaksızın anlayabilir: İlk önce 8 ve 9 No.'lu sürücülerin herbiri için bir kanal açılır, birincisi üzerinden veriler okunurken ikincisi üzerinden kaydedilir. Bu arada ST (status « durum) değişkeninden daha kaydedilecek veri olup olmadığı öğrenilir. Son olarakda tüm kanallar kapatılmaktadır. Şu anda birçok kişi bilgisayar kullanımı için en uygun ortamın sağlandığını düşünebilir, fakat yine de bazı pürüzler hâlâ mevcuttur. Örneğin bilgisayar kullandığı ileri programlakalır. Yukarıdaki programda unutulacak bir ““#” işareti her şeyi değiştirir. 4.0'da problemimiz şu
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 13
ların maliyeti önemli derecede du, müştür. Birçok yeni Compiler geliş- tirilmiş ve gerekli hesaplama süresi oldukça kısalmıştır. Günümüzde Co- bol, Pascal, PL/1, Forth, Ada, Lo- go, Lisp, C, Prolog ve her şeyden ön- ce Basic büyük önem kazanmıştır ve programcıların işini oldukça kolay- laştırmaktadır. C-64'ün Basic'inde yukarıdaki program oldukça değişik bir hal alır. Aşağıda göreceğiniz satırlarda 8 No.'lu disket sürücüsündeki bir segu- ential dosya 9 No.'lu sürücüye kay- dedilmektedir: 10 OPEN 1,8,2, “DA- TA,SEO,READ” 20 OPEN 2,9,3, “DA- TA,SEO,WRITE” 30 INPUT # 1,A$ 40 PRINT # 2,A$ 50 IF ST< >0 THEN 70 60 GOTO 30 70 CLOSE #2 80 CLOSE #1 90 END Az çok İngilizce bilen herkes ko- mutların ne işe yaradığını hiçbir ön bilgiye sahip olmaksızın anlayabilir: İlk önce 8 ve 9 No.'lu sürücülerin herbiri için bir kanal açılır, birincisi üzerinden veriler okunurken ikincisi üzerinden kaydedilir. Bu arada ST (status « durum) değişkeninden daha kaydedilecek veri olup olmadığı öğ- renilir. Son olarakda tüm kanallar kapatılmaktadır. Şu anda birçok kişi bilgisayar kul- lanımı için en uygun ortamın sağlan- dığını düşünebilir, fakat yine de ba- zı pürüzler hâlâ mevcuttur. Örneğin bilgisayar kullandığı ileri programla- kalır. Yukarıdaki programda unutu- lacak bir ““#” işareti her şeyi değiş- tirir. 4.0'da problemimiz şu