1 puan yazan GN⁺ 3 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Çocuklukta bilgisayar deneyimi, 1992’de sekiz yaşındayken nakil olduğu okulun bilgisayar laboratuvarında başladı; küçük bir sanayi kentindeki okulda bir bilgisayar laboratuvarının bulunması başlı başına özeldi
  • Bilgisayar laboratuvarındaki IBM PC uyumlu sistemler, silika fabrikasından devralınmış eski makinelerdi; ayda yaklaşık iki saat boyunca 5¼ inç disketle MS-DOS ve Logo çalıştırılabiliyordu
  • Sabit disk yoktu ve depolama alanı kıttı; güç kapatılınca yapılan işler kayboluyor, program saklamak ise kodu deftere elle yazmaya daha çok benziyordu
  • Gerçek bilgisayar süresi az olduğu için Logo programlama çalışmalarının çoğu evde kalem ve grafik kâğıdıyla yapılıyor, arkadaşlar kodu kopyalayıp değiştirerek yeniden giriyordu
  • Moon Bugs, Space Invaders, Digger ve Grand Prix Circuit gibi oyunlar, bunları bizzat yapma isteği bıraktı; 30 yıl sonra bile sesleri ve kokuları hâlâ çok net

Bilgisayar laboratuvarında başlayan çocuklukta bilgisayar deneyimi

  • Susam Pal’in çocuklukta bilgisayar deneyimi, 1992’de sekiz yaşındayken nakil olduğu okulun bilgisayar laboratuvarında başladı; küçük bir sanayi kentindeki okulda bir bilgisayar laboratuvarının bulunması o dönemde başlı başına özeldi
  • Bilgisayar laboratuvarındaki makineler, kasabanın merkezi olan silika fabrikasından devralınmış eski IBM PC uyumlu sistemlerdi ve bunlar ayda yaklaşık iki saat kullanılabiliyordu
  • Bilgisayar laboratuvarına girmeden önce ayakkabılar çıkarılıyor, öğretmen de pahalı makinelerin tozsuz tutulması gerektiğini söylüyordu
  • Bilgisayarların çoğunda siyah-beyaz CRT monitör vardı, sabit disk yoktu ve RAM birkaç yüz KB düzeyindeydi
  • Her seferinde 5¼ inç disketle MS-DOS belleğe yükleniyor, ardından başka bir disketteki LOGO.COM çalıştırılarak küçük Logo programları yazılıyor ve kaplumbağa hareket ettiriliyordu
  • Sabit disk olmadığı ve depolama alanı kıt olduğu için çalışmalar kaydedilmiyor, bilgisayar kapatılınca her şey siliniyordu
  • Programları saklamanın yolu kodu deftere elle yazmaktı; ilk dönem Logo programlamasına dair ayrı bir kayıt da FD 100 sayfasında yer alıyor

Kâğıt üzerinde programlama ve oyun anıları

  • Gerçek bilgisayar kullanım süresi çok az olduğu için Logo programlama çalışmalarının çoğu evde kalem ve kâğıtla yapılıyor, grafik kâğıdında sonucu çizerek programlar “test” ediliyordu
  • Böyle hazırlanan programlar bilgisayar laboratuvarında yaklaşık 30 dakika boyunca gerçekten çalıştırılabiliyordu
  • Akılda kalan bir Logo programı, ev şeklindeki bir dış hattı izleyen animasyonlu kesik çizgi çiziyordu; arkadaşlar kodu kopyalayıp ayrıntıları değiştirerek kendi sürümlerini oluşturuyordu
  • Bu program fiilen ilk “özgür açık kaynak yazılım” gibi görülüyordu ve “istediğini yap ama ilginç bir değişiklik yaparsan göster” tarzı gayriresmî bir lisansla paylaşılıyordu
  • Dağıtım biçimi tamamen analogdu; arkadaşlar kodu kurşun kalemle defterlerine geçiriyor, sonra bilgisayar laboratuvarında yeniden giriyordu
  • Logo ödevleri başarıyla bitirilince öğretmen bilgisayar oyunu oynamaya izin veriyordu; ilk oynanan oyun Moon Bugs olmuştu
  • Sevilen oyunlar arasında Space Invaders, Bricks ve Grand Prix Circuit vardı
  • Space Invaders, bizzat oyun yapma isteği uyandırmıştı; ancak o dönemde bilinen GW-BASIC ve sınırlı bilgisayar erişimiyle basit metin girdi/çıktı programlarından daha karmaşık bir şey yapmak zordu
  • Ancak 2022’de yetişkin olduktan sonra Invaders tarzı bir oyun olan Andromeda Invaders yapılabildi; içinde 5 saniye beklendiğinde otomatik oynayan bir mod da bulunuyor
  • Windmill Software imzalı Digger, kendi önyükleme disketiyle geliyordu; bu sayede önce DOS diski takma süreci olmadan doğrudan açılıp çalıştırılabiliyordu
  • Accolade Inc.’in Grand Prix Circuit oyunu GPEGA komutuyla çalıştırılıyor ve açılış müziğini bekleten bir oyun olarak hatırlanıyor
  • Logo ve GW-BASIC ile yalnızca temel 2 boyutlu şekiller çizilen dönemde, klavye girdisiyle gezilebilen 3 boyutlu sanal bir dünyanın izdüşümünü bir bilgisayar programının üretmesi hayranlık uyandırıyordu
  • 30 yılı aşkın süre geçmesine rağmen bilgisayar laboratuvarındaki makine gürültüsü, POST bip sesi ve kapalı klimalı odanın kendine özgü kokusu hâlâ çok net hatırlanıyor
  • Beklenmedik bir yerde benzer bir kokuyla karşılaşınca çocuklukta bilgisayar deneyiminin ilk anılarına dönülüyor; bu deneyim, hayret ve keşifle dolu en güçlü ve en canlı anılardan biri olarak kalıyor

1 yorum

 
GN⁺ 3 시간 전
Hacker News yorumları
  • 1985’te bir C64 aldım; bugün grafiklerini ve seslerini emülatörlerde ya da YouTube’da yeniden görebiliyorum ama cihazı açar açmaz kasadan yayılan o ısınmış devre kartı kokusunu hep hatırlıyorum.
    Yanında gelen kasetçaların teyp kafası ayarı bozuktu; internetin olmadığı bir dönemde olduğumuz için oyunların çoğunun neden yüklenmediğini kimse bilmiyordu. Yine de program kaydetmek ve yüklemek mümkündü; ben de kullanım kılavuzu ve kütüphaneden bulduğum programlama kitaplarındaki oyun listelerine bakarak BASIC programları yazıp kendi kasetlerime kaydetmeye başladım.
    Kılavuzda sadece BASIC öğreticisi değil, grafik, sprite ve ses gibi donanım özellikleri de anlatılıyordu; belli adreslere belli sayıları POKE ederek ekranda sprite gösterip hareket ettirebileceğimi öğrendim. Kasetçaları tamir edip paket içinden çıkan oyunları yükleyebilir hale geldiğimde ise çoktan programlamaya derinlemesine kapılmıştım; o oyunların da sonuçta birilerinin oturup yaptığı şeyler olduğunu görünce benim de bunu öğrenebileceğimi düşündüm. O günden beri programlama yapıyorum.

    • C64 işletim sisteminin bir BASIC programlama dili olması gerçekten harikaydı. Oyun oynamak için donanımı kullansan bile LOAD "*",8,1 gibi komutlarla biraz programlama öğrenmek zorundaydın.
    • Başta sadece C64 alacak param vardı ve elle yazdığım programların checksum değeri tutunca gerçekten rahatlıyordum. Kayıt ortamı olmayınca program ya sadece o ana ait oluyordu ya da kartuş kullanıyordun; sonra teyp sürücüsü aldım, en son da sabit disk.
      Yine de Apple II, Sinclair ve Ti99 gibi rakiplerle karşılaştırınca, sunduğu özelliklere göre oldukça ucuz olduğunu düşünüyorum.
  • Okulda Windows 3.1 yüklü eski bilgisayarlar vardı ve sadece touch typing programlarını kullanabiliyorduk.
    İlk aile bilgisayarımızı 1995’te aldık; yanlış hatırlamıyorsam 166MHz Pentium / 16MB RAM / Windows 95’ti ve o zaman yaklaşık 3.500–4.000 dolar tutmuştu. Üç yıl sonra Half-Life çıktıktan hemen sonra bir kopyasını buldum ama ayrı ekran kartı olan o bilgisayar bile oyunu ancak çalıştırıyordu. O dönemde oyuncu olarak en yeni grafikleri takip etmek gerçekten çok pahalıydı.
    Ondan önce elektrikli daktilomuz vardı ve bilgisayarın ana kullanım amacı da yazı yazmakla iş yapmaktı. İlk programlama deneyimim HTML dosyalarını düzenlemekti; kütüphanede programlama kitapları aradım ama 3.000 nüfuslu kırsal bir yerde yaşadığımız için sadece bir Pascal ya da Delphi kitabı vardı.
    Kasabada benden birkaç yaş büyük, “bilgisayarı gerçekten çok iyi bilen” dahi bir çocuk olduğu söylenirdi; onu bulmaya gittiğimde odasının rafında büyük bir Borland C++ kutusu vardı ve bana kendi yaptığı 3D uçuş simülatörü klonunu ve Doom’a benzeyen bir şeyi gösterdi, çok etkilenmiştim. Dot-com patlaması sırasında çok iyi iş yaptı ve üniversiteyi atlayıp doğrudan çalışmaya başladı.
    Birkaç yıl sonra liseye başladığımda, yarı emekli bir geliştirici kasabaya taşındı ve okulla birlikte Java programlama dersi açtı; harika bir öğretmendi ve o zaman bilgisayar alanında çalışmak istediğime karar verdim.

    • Kariyerim aslında iki büyük şans sayesinde şekillendi.
      Birincisi, 1990’ların başında babamın kendi yayıncılık işine yardımcı olmak için bir PC almasıydı; o dönem PC’lerde olduğu gibi içinde QBasic ve GORILLA.BAS gibi oyun kaynak kodları hazır geliyordu ve yalnız vakti çok olan içe dönük bir çocuk olarak bunlarla istediğim kadar oynayabildim.
      İkincisi ise görece bütçesi olan bir bilgisayar laboratuvarına ve çok açık fikirli bir bilgisayar öğretmenine sahip bir liseye gitmemdi. Güvenilir olduğunu gösterdiğinde neredeyse istediğini yapmana izin veriyordu; okul genel olarak Mac ağırlıklıydı ama ben lisede Microsoft tarafını sevdiğim için mezuniyete yaklaşırken okul gazetesinin Windows NT dosya ve web sunucusunu kurup işletmeme izin verildi. Başka bir arkadaşım Linux’a takmıştı ve RedHat ile çizim laboratuvarında benzer bir şey yapmasına da izin çıkmıştı.
      Karakterimle fırsatlar örtüştü ve böylece sonraki 25 yıl boyunca teknoloji alanında çalıştım.
      Bugün beni endişelendiren şey, çok fazla teknolojinin kilitli olması. Artık böyle bir özgürlük tanıyan okul pek azdır; telefonlarda IDE önceden yüklü gelmiyor ve “onaylanmamış” uygulama yüklemek bile saldırı altında.
      Çocuklar için bile sektörün, araçların ve işletim sistemlerinin daha açık olması gerekiyor. Kurcalanabilir ve tamir edilebilir olmalı; en istekli çocuklar böyle öğreniyor. Her şeyi bir yerlerdeki hedge fund getirilerini maksimize etmek için kapatınca müthiş yeteneklerin ortaya çıkması engelleniyor; ABD’nin finansallaşması büyük bir hataydı.
    • Bir keresinde touch typing sınavı için kullanılan metinlerin ağda nerede tutulduğunu bulmuştum. Ondan sonra sınav bayağı komik hale geldi.
      Tabii bu, ergenlik çağındaki bana göre komikti.
  • Yaklaşık 9 yaşındayken RPG Maker içinde değişkenleri bir anda anladığım anı hatırlıyorum. Ondan önce HTML gibi şeylerle uğraşmıştım ama değişkenleri anlayınca önümde yeni bir dünya açıldı; VB6 programları da mümkün hale geldi ve her şey birden yerine oturdu.
    Bir çocuğun ya da gencin bir şeylerin nasıl çalıştığına dair temeli bir kez kavradığında sonrasında çok hızlı ilerleyebildiğini düşünüyorum. Kendi çocuğumun da mümkün olduğunca erken yaşta hesaplamanın temellerini anlamasını isterim; çünkü böylece dünyanın nasıl birbirine bağlandığını kavrayabilir.

    • Basit metin tabanlı oyunlar yapmaya başladığımda, Pascal’daki koşul ifadeleri tek başına yetmiyordu. Babama sordum; yapmak istediğim şeyin döngüler ile mümkün olduğunu anlattı ve o an sanki herhangi bir programı yazmak için gereken tüm araçları edinmişim gibi hissettim.
    • Küçükken PHP’de class kavramının ne olduğunu ve neden faydalı olduğunu anlamakta zorlandığımı hatırlıyorum. Gereksiz bir soyutlama gibi geliyordu ama sonunda anladığım anda yine dünya açıldı; Zend Engine’i çok daha iyi kavramaya başladım ve yazılım mühendisliğine ilgi duydum.
      Tabii sonra bir kez daha aydınlanma yaşadım ve artık class kullanmaktan kaçınıyorum.
  • 1980'lerin ortasındaki Tandy 1000 SX yüzünden tüm hayatım teknoloji etrafında dönmeye başladı
    Tam kaç yaşında olduğumu bilmiyorum ama tek haneli yaşlardayken babam onu eve getirmişti; babam da yerel bir perakende zincirinin ilk bilgisayar tabanlı satış noktası sistemini ve ofisteki mainframe'i yönetiyordu
    El yazısıyla yazmayı öğrenmeden önce oyun çalıştırabilmek için ses ve grafik kartının IRQ kesmelerini ayarlayan batch dosyaları yazmayı öğrendim; 8-9 yaşlarımda da bilgisayar kampında BASIC ile oyun yapmayı öğrendim. İlk çevrimiçi deneyimimi TandyNet ile yaşadım, 90'ların ortasında da HTML 0.9 ile ilk web sitemi yaptım. Tam bir curcunaydı ama sonunda yaklaşık 30 yıllık bugünkü BT kariyerime dönüştü

    • Bende de aynı Tandy 1000 SX ve bir Commodore 64 vardı. Ailem video oyunlarına sıcak bakmadığı için, Pac-Man dışında bunlar tek haneli yaşlarda programlama öğrenme araçlarıydı
      Bugünün bilgisayarlarıyla ilgili en büyük şikayetim, kod yazmayı “öğrenmenin” giderek zorlaşması. Commodore gibi makinelerde arayüzün kendisi bir programlama diliydi ve bir anlamda, kullanabilmek için bile biraz programlama öğrenmeniz gerekiyordu. iOS cihazlarda uzun süre yerel geliştirme mümkün değildi; ilk zamanlara göre biraz daha iyi ama hâlâ JIT'e izin verilmiyor
  • Benim için başlangıç noktası kaynağı görüntüle dönemiydi. 2001 civarında Geocities sayfalarının HTML'ini kopyalayıp Notepad'de değiştiriyordum; bunun bir programlama dili olduğunu bilmiyordum ama arka plan rengini değiştirmeyi ve marquee eklemeyi biliyordum
    Kaydetmek, Alt-Tab ile geçmek ve yenilemekten gelen anlık geri bildirim bile içine çekilmeme yetmişti

  • Koku meselesi bana çok dokundu. Bir üniversite profesörünün çocuğu olarak kampüsteki bilgisayar laboratuvarlarına bir ölçüde erişebiliyordum; hoca odalarının kokusu plastik, toz ve hafif yanmış kauçuk gibiydi
    O koku benim için bir dünyaydı; sadece harika oyunlara değil, o makineleri kullanmayı bilen yetişkinlerin büyülü dünyasına erişim anlamına geliyordu
    12-13 yaşlarımdayken babam bana karekök denklemleri hesaplayan bir Turbo Pascal programının çıktısını verip bunu yazıp çalıştırmamı söyledi; programlama kariyerim böyle başladı

  • Çocukken bilgisayarlarla tanışma şansım olmadı ama böyle yazılar özellikle sesler yüzünden bende nostalji yaratıyor. Kısıtlı kaynaklarla bile o dönemin insanları çok iyi şeyler üretebiliyordu

  • Oyunları çalıştırmak için MS-DOS açılış yapılandırmasını optimize edip kullanılabilir bellek açmaya uğraşan günleri hatırlayan var mı diye merak ediyorum. gorillas.bas dosyasını kurcaladığımı da hatırlıyorum
    Sanırım bu, bende daha fazlasını öğrenme ve deneme isteği uyandıran şeydi. Oğluma da benzer türden yaratıcı keşfi teşvik etmek istiyorum ama bugünün oyun ve video odaklı ortamında bunun nasıl mümkün olacağını bilmiyorum

    • DEVICE(HIGH) satırlarıyla oynayıp FILES= ve BUFFERS= ayarlarını değiştirerek, sanki bir şey değişecekmiş gibi MEMMAKER.EXE'yi tekrar tekrar çalıştırdığım zamanı kabul etmek istemeyecek kadar çok harcadım. Ama asıl mesele, üreticinin istediğini değil, makineye benim istediğim şeyi yaptırabilmekti
      Bugünün çocuğu için, makul bir modlama API'si olan; örneğin Lua gibi betikler yazabildiğin ve çok oyunculu ortamda yaptıklarını arkadaşlarına gösterebildiğin oyunlara bakardım
      Sonra da Lua kullanmaya devam ederken oyunun tamamını kontrol etmene izin veren LÖVE gibi bir pakete geçip, programlamayı gerçekten bir şeyler yapmak için gereken unsurları keşfetmesine ve bunlarla uğraşmasına yardımcı olmak iyi olabilir. Daha düşük seviyelere ilgi gösterirse daha derine inmesine yardım ederdim ama başlangıç noktası olarak modlama ve betik yazımı en mantıklısı gibi görünüyor
    • Çok eski olduğu için bulanık ama biraz hatırlıyorum. Yapılandırma dosyalarını bozup çalışan dosyayı kopyalamak için komşuya koştuğumu da hatırlıyorum. Galiba Himem.sys idi
    • Aynen. config.sys, autoexec.bat, EMS, HIGHMEM, ilk dönem Sound Blaster sürücüleri, fare sürücüsü, ağ sürücüsü; hepsi baş belasıydı
      Çalıştırması en zor olan sanırım Quarantine'di ama kesinlikle en iyi oyunlardan biriydi. O dönem için inanılmaz derecede hayal gücü doluydu, Avustralya yapımıydı ve sonradan ünlü olan grupların müzikleri bile vardı
      https://www.youtube.com/watch?v=QwO8XWbB1Pk&list=PLA5hK1g6CN... https://www.playdosgames.com/play/quarantine
  • Ben de küçük yaşta bilgisayar kullanmaya başlayıp sevmiştim, Nintendo'm da vardı; ama bugünkü ekran karşıtı akım konusunda duygularım karışık
    Oğlum daha çok küçük ve eşim hiç ekran kullanmamasını istiyor. TikTok ya da Facebook kullanmasını istemiyorum ama bir Apple II almak ya da Raspberry Pi emülatörü kurup internet öncesi dönemin eski küçük oyunlarını birlikte oynamayı düşünüyorum

    • Biz de şu anda çocuklarla aynı aşamadayız
      Katı “ekran yasağı” yaklaşımı bana, çocuk refahı alanındaki teknik olmayan liderlerin sarıldığı çok geniş bir manivela gibi görünüyor ve bunun arkasındaki nedeni anlıyorum
      Ama küçük yaşta teknolojiyle oynayıp deneme şansı bulmuş ve bugün geçimini bununla sağlayan biri olarak daha dengeli bir yaklaşım görüyorum. Çocukların dilediğince kurcalayabileceği, internetten izole bir Linux kutusu bile kurabilirsiniz. Windows, XP günlerinden beri çok gelişti ama bence tamamen yanlış bir yola da saptı
      Böylece Big Tech'in psikolojik tekrar döngülerine ya da YouTube'un rengarenk dopamin makinesine kapılmadan kalabilirler; zaten “ekran yasağı”nın motivasyonunun da çoğunlukla bu olduğunu düşünüyorum. İyi ayarlanmış bir maruziyet şart
  • O dönemin grafik programlamasının güzel yanı, ekrana bir şey çizdiğinizde program silene kadar orada kalmasıydı
    Bu sayede havalı grafikleri kolayca üretmek mümkündü. Örneğin bir çemberin noktalarını hesaplayıp tek tek işaretlerseniz, ekranda çemberin çizilişi olduğu gibi görünürdü
    SDL muhtemelen buna dahil olmak üzere “modern” grafik kütüphaneleri, her karede tüm ekranı yeniden çizecek şekilde tasarlandı ve bu yaklaşımı zorlaştırdı; aynı etkiyi vermek için programın daha önce çizdiği tüm noktaları hatırlaması gerekiyor
    Eski iş akışı grafik programlamayı gerçekten eğlenceli kılıyordu, ama modern hızlı render pipeline sıkıcı ve daha az eğlenceli. Böyle şeyler bilgisayar kullanımının eğlencesini teker teker emdi

    • Sözde preserved mode ve immediate mode grafik kütüphaneleri çoğu platformda hâlâ mevcut, isteyen istediğini seçip kullanabilir
    • Bu yazı birdenbire derin bir anımı yerine oturttu
      80'lerin başında IBM PC ortaya çıktığında, Hercules grafik kartı CGA'dan üstün, inanılmaz bir şeydi. Babamın bir arkadaşının evinde onunla çember gibi şeyler çizmiştim ve o bilgisayarda grafikler olduğu gibi kalıyordu. Ekranı nasıl temizleyeceğimi çözmem gerekmişti ama benim bilgisayarımda Hercules kartı olmadığı için böyle kalmıyordu. Bugüne kadar ne olduğunu anlamamıştım, şimdi anladım
    • Epey eski, 10 yılı da geçti, ama SDL'de yeni içeriği render etmeden önce clear fonksiyonunu çağırmazsanız ekran içeriğini koruyabildiğinizi sanıyorum. Yalnız pencere yeniden boyutlandırıldığında bunun ne kadar iyi çalışacağını bilmiyorum
    • SDL nispeten yüksek seviyeli bir API ve framebuffer tarzı grafikler de gayet iyi çalışıyor. Ancak compositing özelliği olmayan X11 pencere yöneticilerinde pencereyi taşırken ilginç bozulmaların görüldüğü bazı uç durumlar olabilir