Bilgisayar aslında ne yapıyor?
Kart nedir, kod nedir, yazdığın şey nasıl çalışıyor
Bu görevde kod yazmıyorsun. Kartın ne olduğunu ve yazdığın şeyin ona nasıl ulaştığını anlayacaksın — sonraki her görev bunun üstüne kuruluyor.
Bilgisayar üç şey yapar
Girdi alır. Talimatı uygular. Çıktı verir.
Hesap makinesi: tuşlara basıyorsun (girdi), topluyor (talimat), ekrana yazıyor (çıktı). Telefon: ekrana dokunuyorsun, bir şeyler hesaplıyor, sana bir şey gösteriyor. Elindeki kart da aynı şeyi yapıyor. Fark sadece boyutta ve neyin girdi, neyin çıktı olduğunda.
Elindeki kart avuç içi bir bilgisayar
Ekranı yok, klavyesi yok. Onların yerine bacakları var — kenarlarındaki metal delikler.
Bir bacaktan elektrik gelir, kart onu "girdi" diye okur. Bir bacağa elektrik verir, ona bağlı ne varsa çalışır — LED yanar, motor döner. Kitlerde yapacağın her şey bu iki hareketin birleşimi: bacaktan oku, bacağa yaz.
Kartın üstünde küçük bir LED de var. Kitler gelmeden önce kartın sana tek cevap verme yolu o.
Kod, sıraya dizilmiş talimattır
Bir yemek tarifi düşün:
- Suyu kaynat
- Makarnayı at
- On dakika bekle
- Süz
Sıra önemli. Makarnayı kaynamamış suya atarsan olmaz. Bir adımı atlarsan olmaz. Tarif yazan kişi "sen anlarsın" diyemez — her adımı yazmak zorunda.
Kod tam olarak bu. Bilgisayar tarifi harfi harfine uygular. Senin kastettiğini değil, yazdığını. Bu kursta göreceğin hataların neredeyse hepsi "ben şunu kastetmiştim" ile "kod şunu yaptı" arasındaki farktan çıkacak.
Yazdığın dil kartın dili değil
Sen İngilizceye yakın bir dilde yazacaksın: delay, if, print. Kart bunları anlamıyor. Kart sadece elektrik açık-kapalı dizilerini anlıyor.
Arada bir çevirmen var: derleyici. Yazdığını alıyor, kartın anladığı hale çeviriyor. Bir yabancı dile çeviri gibi — ama titiz bir çevirmen. Cümlende bir harf yanlışsa "bunu anlamadım" deyip durur. Çeviri yapmaz.
Sonra yükleme var: çevrilmiş halin USB kablosundan kartın hafızasına kopyalanması. Bilgisayarında bir dosyayı taşımak gibi.
Bu ikisi ayrı şeyler ve ayrı hatalar üretiyor. Derleyici "cümleni anlamadım" der — henüz karta hiçbir şey gitmemiştir. Yükleme "karta ulaşamıyorum" der — cümlen doğruydu ama kablo ya da port sorunu var. İkisini ayırt etmek, Görev 9'da öğreneceğin şeyin yarısı.
Kart yazdığını unutmaz
Kod bir kez yüklendi mi kartın içinde kalır. Fişi çek, tak — aynı kodu baştan çalıştırır. Bilgisayarı kapat, kartı tek başına bir şarj adaptörüne tak — yine çalışır.
Bu yüzden kitlerde sistemi kurup bilgisayardan ayırıyorsun. Sera sistemi bir hafta bilgisayarsız çalışıyor; kodu bir kere yüklemek yetiyor.
Bedava bir şey yok. Kart yazdığını unutmaz ama düşünmez de. Yanlış yüklediysen yanlışı bir hafta boyunca kararlılıkla uygular.
Kendini test et
Soru: Yazdığın kodda bir harf hatası var. Yükle'ye bastın. Kart yanlış mı çalışır, yoksa hiç çalışmaz mı?
Cevabı gör
Hiç çalışmaz — daha doğrusu, karta hiçbir şey gitmez.
Derleyici harf hatasını görür ve durur. Çeviri yapmadığı için yüklenecek bir şey de olmaz. Kartta bir önceki kod ne idiyse o kalmaya devam eder.
Bu iyi bir haber. Derleyicinin yakaladığı hata, karta hiç ulaşmayan hatadır. Asıl dikkat etmen gerekenler derleyicinin yakalayamadıkları: cümle dilbilgisine uygun ama anlamı yanlış. Onları Görev 3'te ve 4'te kendin yaşayacaksın.
Sıradaki görevde ilk talimatını yazacaksın ve kartın üstündeki ışık sana cevap verecek.
Takıldın, hata tablosu da yetmedi mi?
WhatsApp'tan sor — hangi görevdesin, ekranda ne yazıyor, devrenin fotoğrafı.