kod

Kod Yazmak!

cover
Serkan
4 min read
#kod

Giriş: “Geleceğin Mesleği” Söylemi ve Gerçekler

Pandemi öncesinde bir YouTuber’ın “Geleceğin Meslekleri” başlıklı bir videosuna denk gelmiştim. Videoda, kod yazmayı öğrenmenin gelecekte mutlaka bilinmesi gereken bir beceri olduğundan bahsediliyordu. Aradan üç yıl geçti. Yapay zekâ hayatımıza girdi ve bugün şu sorular çok daha yüksek sesle soruluyor:

  • Kod yazmayı öğrenmek hâlâ mantıklı mı?

  • Yazılımcılar işsiz mi kalacak?

  • ChatGPT varken neden kod öğreneyim?

Bu yazıda bu soruların cevaplarına bakacağız. Kod yazmanın gerçekte ne olduğunu, gerçekte yapay zekânın bize ne vaat ettiğini tartışacağız.

Kod Yazmak Ne Demek?

Wikipedia’ya göre:

Program formuna sokulmuş, bilgisayarlar tarafından çalıştırılan talimatlar kümesine kod denir.

Yani kod yazmak, bilgisayara ne yapacağını açık açık söylemek demektir. Sabırlı ama son derece literal (lafı birebir alan) bir varlıkla iletişim kurmak olarak düşünebiliriz. İletişim ise bizi diğer kavramımız olan programlama diline götürüyor.

Programlama Dili

İnsanlar kendi aralarında dillerle iletişim kurar. Bilgisayarlarla da aynı şeyi yaparız — ama onların anlayacağı şekilde.

Programlama dillerinin ve doğal dillerin de syntax adı verilen kurallar bütünü vardır. Biz bir dil öğrenirken bu syntax’lara bağlı kalarak o dili kullanırız. Programlama dilleri için de durum aynıdır. Fakat bu öğrendiğimiz syntax ile yazdığımız kodu aslında bilgisayardan çok, onu kullanarak binary adı verilen asıl koda dönüştüren derleyici, yorumlayıcı gibi araçlar için yazarız.

Tarih boyunca pek çok programlama dili ortaya çıktı. Kimisi genel amaçlı, kimisi sadece belirli donanımlar veya problemler için geliştirildi. Fakat hâlâ cevaplamadığımız bir soru var:

Bilgisayara ne söylüyoruz? Öğrendiğimiz bir dil ile ona yaptıracağımız işi nasıl aktarıyoruz?

Böylece bir diğer kavramımız olan algoritma ile tanışmanız gerek.

Algoritma

Algoritma, bir problemi çözmek için izlenen adımlar bütünüdür.

  • Arama

  • Sıralama

  • En kısa yolu bulma

  • Karar verme

Bunların hepsi algoritmadır. Aslında günlük hayatta da algoritma kullanırız:

Mutfağa git → suyu ısıt → çayı demle → bekle → sohbet et

Programlama dilleri, işte bu adımları bilgisayarın anlayacağı forma sokmamızı sağlar.

Kod yazmak = algoritmayı ifade etmektir.

Bu İş Sana Uygun mu? Kendine Şu Üç Soruyu Sor

1. Matematikle Aran Nasıl?

İleri seviye matematikten bahsetmiyorum. Ama mantık kurmaktan, sayılarla düşünmekten hoşlanmıyorsan bu iş seni zorlar. Çünkü kod dediğin şey, soyut mantığın somut hâlidir.

2. Gerçekten Hevesin Var mı?

  • Kod görünce merak ediyor musun?

  • Bir web sitesinde “kaynağı görüntüle” demek hoşuna gidiyor mu?

  • Tekrarlayan bir işi otomatikleştirdiğinde mutlu oluyor musun?

Eğer cevaplar “evet”se, bu iyi bir işaret.

3. Sabırlı mısın?

Kod yazmak:

  • Yarım kalan işler

  • Bozulan sistemler

  • Gece gelen hatalar

  • Bitmeyen revizyonlar

demektir.

Sabırsız birisinin altından kalkabileceği bir şey olduğunu düşünmüyorum. Ama sabırlıysan, sabır en büyük süper gücün olur.

“Ama Yapay Zekâ Var Artık…”

Evet. ChatGPT kod yazabiliyor. Hatta komple uygulama da çıkarabiliyor. Ama burada ciddi bir yanlış beklenti var.

2016’da dünyanın en etkili bilgisayar bilimcisi seçilen Michael I. Jordan bunu çok net söylüyor:

İnsanlar yapay zekâyı, düşünen ve insanlarla rekabet eden bir varlık gibi hayal ediyor. Böyle bir teknolojiye sahip değiliz. Ama sanki varmış gibi konuşuyoruz.

Yapay zekâ:

  • Kendi başına problem tanımlamaz

  • Ne istediğini bilmeyene yardımcı olamaz

  • Yanlış çıktıyı doğru sanabilir

Ama şunu çok iyi yapar:

  • Hızlandırır

  • Alternatif üretir

  • Araştırma süresini kısaltır

Doğru kullanan için inanılmaz bir çarpan etkisi yaratır.

Asıl Kritik Nokta: Temeller

Yapay zekâ çağında temel bilgilerin önemi azalmadı, tam tersine arttı.

Şunları bilmeden:

  • Algoritma

  • Veri yapıları

  • Network mantığı

  • TCP/IP

  • Veritabanı prensipleri

YZ ile ne konuşacaksın? Sana sunduğu çözümün doğru olup olmadığını nasıl anlayacaksın?

Temel yoksa, YZ sadece yanında duran ama kullanamadığın pahalı bir oyuncaktır.

Sonuç

Kod yazmak:

  • Alt tarafı bir if koymak değildir

  • Makineye emir vermek değildir

Kod yazmak, bir sistemi tasarlamak ve onu ayakta tutmaktır.

Eğer bu yazıyı okurken içinizde:

“Bir denesem mi acaba?”

diye bir his oluştuysa…

Tebrikler.
İlk bug’ına hoş geldin.