---
title: "Neden Kod Yazdığımızı Hatırlamak: Temel Kavramları Öğrenmek İçin Yapay Zekayı Bırakmak"
url: https://blog.edumints.com/neden-kod-yazdigimizi-hatirlamak-temel-kavramlari-ogrenmek-i-pzmjq1f9
category: "Yazılım"
date: 2026-09-13T09:07:54.357Z
publisher: Edumints Blog
lang: tr-TR
source_name: "dev.to"
source_url: https://dev.to/annavi11arrea1/remembering-why-we-code-dropping-ai-for-fundamental-learning-4868
---

# Neden Kod Yazdığımızı Hatırlamak: Temel Kavramları Öğrenmek İçin Yapay Zekayı Bırakmak

## Manuel Problem Çözmenin Ödüllendirici Heyecanı

Yapay zekanın sunduğu ışık hızında geliştirme konforuna kapıldığımız bu dönemde, bilinçli bir kararla tüm yapay zeka araçlarını kapatıp sadece kendi zihninizle üretmeyi hiç denediniz mi? Yaklaşık üç yıldır aralıklarla programlama öğrenen biri olarak, son dönemde bir önceki dersin temelleri üzerine kurulan **Java 2** dersine başladım. Bir tarafta Ruby kurcalarken diğer tarafta Python ile uğraşmak, pazar öğleden sonraları ise Java'ya göz atmak odağımı bir miktar dağıtıyordu. Neyse ki dillerin paylaştığı çatı kavramlar aynıydı; aksi halde tam bir kafa karışıklığı yaşanabilirdi.

Birçoğumuzun olağanüstü işleri rekor sürede inşa etmek için yapay zekaya fazlasıyla yaslandığı bugünlerde, dersin ilk ödevine başlarken radikal bir karar verdim: Hiçbir yapay zeka aracını açmayacaktım. Kendi kendime, **"Hayır, bu kez zorlanacağım; çünkü gerçekten anlamak istiyorum"** dedim. İnternette araştırma yapmak veya Google'a danışmak serbestti; zira geliştiriciliğin doğası bunu gerektirir. Fakat yapay zekaya kod yazdırmayı bırakmak, üretmenin asıl ödüllerini yeniden hatırlatan gerçek bir uyanış çağrısı oldu.

## Taşların Yeniden Yerine Oturması (Aha Anı)

Ödev üzerinde çalışırken bir noktada kavramlar zihnimde yeniden birbirine kenetlendi: Bir sınıfın metotlar barındırabilmesi, bunların `main` fonksiyonu içerisinden çağrılması, iç içe menüler kurgulamak için **iç içe switch blokları** (`nested switch`) yapılandırmak ve kısıtlı kaynaklarla gerçek anlamda hata ayıklamak (`debugging`)... 

Çalışma sırasında iki kez ciddi şekilde tıkandım. Ancak her iki tıkanıklığın ardından pes etmeyip mücadele ederek o uzun süredir özlediğim coşkulu anı yakaladım: *"Evet, sonunda çalışıyor!"* İnsanın zorlanması, bu zorluğun içinden geçerek imkânsız gibi görünen bir problemi kendi başına çözmesi, hiçbir otomatik çıktının veremeyeceği bir tatmin hissi sunuyor.

```java
// Konsolda iç içe menü analizi sunan switch yapısı örneği
switch (choice) {
    case 1:
        Text analysisResult = displayText(scanner, "Add text to analyze:\n");
        System.out.println(analysisResult);
        break;
    case 2:
        // Alt menü için nested switch kurgusu
        while (extraTestRunning) {
            int extraChoice = readInt(scannerNestedScanner, "Choose text analysis tool: ");
            switch (extraChoice) {
                case 1:
                    WordFrequency wordFrequency = new WordFrequency(...);
                    break;
                // ...
            }
        }
        break;
}
```

## Yazılım Öğrenimi Açısından Pratik Çıkarımlar

- **Bilişsel Zorlanma Kalıcı Öğrenmeyi Sağlar:** Yapay zeka sürtünmeyi ortadan kaldırır; ancak zihinsel direnç olmadan kavramsal derinlik oluşmaz.
- **Diller Değişir, Çatı Prensipler Sabit Kalır:** Python, Ruby ya da Java fark etmeksizin kontrol akışları ve nesne yönelimli temeller ortaktır.
- **Hata Ayıklama Refleksi Bağımsızlığı Getirir:** Dış bir desteğe muhtaç kalmadan problemi izole edip çözmek, bir mühendisin inşa edebileceği en kritik kas hafızasıdır.

[Orijinal kaynağa buradan ulaşabilirsiniz.](https://dev.to/annavi11arrea1/remembering-why-we-code-dropping-ai-for-fundamental-learning-4868)

---

**Kaynak:** [dev.to](https://dev.to/annavi11arrea1/remembering-why-we-code-dropping-ai-for-fundamental-learning-4868)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/neden-kod-yazdigimizi-hatirlamak-temel-kavramlari-ogrenmek-i-pzmjq1f9
