8. Buglar! darn bugs

(Bug böcek demektir, ancak bunu Türkçeleştirmek yerine aynen kullanmayı tercih ediyorum, zaten Türkçede de bilgisayar programcıları bu kelimeyi bug olarak kullanıyorlar) Buglar hakkında konuşmaktan hiç kimse hoşlanmaz. Bu nedenle bu dersi kısa tutacağım. Sizden istediğim yalnızca okumanız, konu ile ilgili uygulama yaptırmayacağım.

Bug nedir?

Harvard Üniversitesinde Mark II bilgisayarının içine girmeyi başaran bir güve bu bilgisayarın çalışmasını durdurmuş, bug kelimesinin kökü işte buraya dayanıyor. Güve  Grace Murray Hopper tarafından bulunmuş. Güve eski sistemlerde bilgi kaydetmeye yarayan bantlardan birisinin içine girmiş. Aşağıdaki resimde güveyi bantın üstünde, yanına alınmış notlarla birlikte görebilirsiniz, notlarda  "First actual case of bug being found." yazısını da görüyorsunuz.

first bug

Picture adapted from the public archive of the U.S. Naval Historical Center

Bugları gidermek

Bug programın beklenilmeyen bir şekilde çalışmasına neden olan hatadır. Eğer bilgisayar programları yazıyorsanız eninde sonunda buglarla karşılaşacaksınız.  İyi programcılar programları beklenilmeyen bir şekilde çalıştığında bugları tespit edip giderirler.

RUR-PLE bugları bulacak şekilde tasarlandı.

  1. Robotun hareket ettikten sonra arkasında bıraktığı iz (yeşil çizgi- bu robotun yağ kaçırmasından kaynaklanıyor!) komutların doğru olarak yerine getirilip getirilmediğini anlamak için kullanılabilir.

    simple left turn

  2. Her komut [örneğin aşağıdaki pick_beeper() gibi], işletilirken parlak gösterilir.

    highlighted instruction

    Parlak göstermek bazen problemlere neden olabilir; parlak göstermeyi highlight button  butonunu kullanarak açıp kapatabilirsiniz.

  3. Çalışan programınızı  pause button butonuna basarak durdurabilirsiniz. Bu bilgisayar programlamada "durma noktası" olarak bilinen şeyle aynıdır.

  4. Programınızı adım adım (komut komut) çalıştırmak için step button butonunu kullanabilirsiniz.

  5. Hız kontrolleri speed buttonbutonunu kullanarak programınızın çalışma hızını arttırabilir ya da azaltabilirsiniz. Hızı programınızı çalıştırmadan önce ayarlamalısınız, çalışma esnasında hız değişikliği yapılmaz. Uzun programlarınız varsa programınızı hızlı çalışacak şekilde başlatıp bug'ın olduğu yere yaklaştığında durdurup, daha sonrada adım adım çalıştırabilirisiniz.

  6. Programınızın çalışmasını bitirmek için stop button butonunu kullanabilirsiniz.

  7. Pencerenin en altında dört bölümden oluşan bir durum çubuğu vardır: 1) hangi programın yüklü olduğunu; 2) programın durumunu; 3) robotun kaç tane bip taşıdığını; 4) hangi dünya dosyasının yüklü olduğunu gösterirler.
    status bar

  8. Bir dünya dosyası yüklendiğinde robotun bir pozisyonu vardır, program çalıştırılınca robotun pozisyonu değişir, eğer robotu başlangıcındaki pozisyonuna getirmek istiyorsanız  reset button butonunu kullanın.

Şimdilik bu kadarı fazlasıyla yeterlidir. Programlama hakkında öğrendikleriniz arttıkça, bugları bulmanıza yarayacak yeni bilgiler de öğreneceksiniz!

previousBiplers - home - Duvarları Yapmaknext