⚖️Başlangıç RehberleriBaşlangıç

Python mu JavaScript mi? Hangi Dille Başlamalı

⏱ 10 dk okuma · Yayın: 9 Ekim 2026 · Hazırlayan: Kuzey Kutbu Editörlüğü · Tüm kod örnekleri çalıştırılarak test edildi

Python ve JavaScript'i aynı örneklerle yan yana karşılaştır, hedefine göre hangi dille başlayacağına karar ver ve 30 günlük çalışma planıyla hemen başla.

Kodlamaya başlamaya karar verdin ama ilk soruda takıldın: Python mu, JavaScript mi? Bu rehberin sonunda iki dilin farkını aynı programları yan yana görerek anlayacak, kendi hedefine göre hangisiyle başlaman gerektiğine karar verecek ve elinde ilk 30 gün için gün gün bir çalışma planı olacak. Bütün örnekleri hiçbir şey kurmadan tarayıcıdaki kod editöründe çalıştırabilirsin.

Kısa cevap: İki dil de başlangıç için iyi bir seçimdir ve birinde öğrendiğin temel kavramlar (değişken, koşul, döngü, fonksiyon) diğerine büyük ölçüde taşınır. Genel olarak programlama mantığını en sade yazımla öğrenmek istiyorsan Python, tarayıcıda çalışan oyunlar ve web sayfaları yapmak istiyorsan JavaScript iyi bir başlangıçtır. Yanlış seçim yapma ihtimalin düşük; asıl önemli olan başlamak ve düzenli devam etmek.

1. Aynı program, iki dil

Farkı anlamanın en iyi yolu, aynı işi yapan programı iki dilde yan yana görmek. Aşağıdaki program önce bir selam yazıyor, sonra 3 ile çarpım tablosunun ilk beş satırını gösteriyor.

Python

isim = "Deniz"
print("Merhaba, " + isim + "!")

for sayi in range(1, 6):
    print(sayi, "x 3 =", sayi * 3)

JavaScript

const isim = "Deniz";
console.log("Merhaba, " + isim + "!");

for (let sayi = 1; sayi <= 5; sayi++) {
  console.log(sayi + " x 3 = " + sayi * 3);
}

İki program da aynı çıktıyı verir:

Merhaba, Deniz!
1 x 3 = 3
2 x 3 = 6
3 x 3 = 9
4 x 3 = 12
5 x 3 = 15

Hemen göze çarpan farklar şunlar:

  • Değişken tanımlama: Python'da isim = "Deniz" yazman yeterli. JavaScript'te başına const (değişmeyecek değer) ya da let (değişebilecek değer) koyarsın.
  • Ekrana yazdırma: Python'da print, JavaScript'te console.log.
  • Döngü: Python'daki range(1, 6) "1'den başla, 6'ya gelmeden dur" demektir. JavaScript'te aynı şeyi üç parçayla yazarsın: başlangıç (let sayi = 1), koşul (sayi <= 5) ve artış (sayi++).
  • Bloklar: Python'da döngünün içine giren satırları girinti (satır başındaki boşluk) belirler. JavaScript'te ise süslü parantezler { } belirler.

2. Karşılaştırma tablosu

KonuPythonJavaScript
YazımSade, İngilizceye yakın; daha az sembolSüslü parantez ve noktalı virgül daha çok
BloklarGirintiyle belirlenir (zorunlu){ } ile belirlenir; girinti okunabilirlik içindir
Nerede çalışır?Python yorumlayıcısı gerekir (bu sitede tarayıcı editörü yeterli)Her modern tarayıcıda yerleşik; sunucuda Node.js ile
Görsel sonuçTurtle ile çizim, metin tabanlı oyunlarWeb sayfası, düğmeler, canvas ile oyunlar
Tür davranışıUyumsuz türleri toplamaya çalışınca hata verirBazı durumlarda türleri kendiliğinden dönüştürür
Sık kullanıldığı alanlarVeri analizi, yapay zekâ, otomasyon, bilimsel hesaplama, eğitimWeb sitelerinin etkileşimli kısımları, web uygulamaları, tarayıcı oyunları
PaylaşmakKodu ya da çıktıyı paylaşırsınBir web sayfası olarak doğrudan açılabilir

3. En önemli fark: türler ve hata mesajları

Yeni başlayanlar için iki dil arasındaki en öğretici fark, birbirine uymayan türlerle (metin ve sayı) ne olduğu. Önce Python'a bakalım:

print("5" + "3")
print(5 + 3)
print(int("5") + 3)

Çıktı 53, 8 ve 8 olur. Tırnak içindeki "5" bir metindir; iki metni toplamak onları yan yana yapıştırır. int("5") ise metni sayıya çevirir. Peki print("5" + 3) yazarsan? Python durur ve şu hatayı verir:

TypeError: can only concatenate str (not "int") to str

Yani "metne yalnızca metin ekleyebilirim, sayı ekleyemem" der. Şimdi JavaScript:

console.log("5" + 3);
console.log("5" - 3);
console.log(Number("5") + 3);

Çıktı 53, 2 ve 8 olur. JavaScript hata vermez; + işaretinde sayıyı metne çevirip yapıştırır, - işaretinde ise metni sayıya çevirip çıkarır. Bu esneklik bazen işini kolaylaştırır ama yeni başlayanlar için "program çalışıyor ama sonuç yanlış" türünden, bulması zor hatalara yol açabilir. Python'un açık hata mesajı ise sorunu hemen gösterir. Bu yüzden pek çok eğitimci, programlama mantığını ilk kez öğrenenler için Python'u tercih eder.

İpucu: Hangi dili seçersen seç, kullanıcıdan alınan girdiler (Python'da input(), tarayıcıda form kutuları) metin olarak gelir. Hesap yapmadan önce sayıya çevirmeyi unutma.

4. JavaScript'in süper gücü: tarayıcı

JavaScript'in en büyük avantajı, her bilgisayar ve telefondaki tarayıcıda zaten çalışıyor olmasıdır. HTML ile bir sayfa yapıp içine JavaScript eklediğinde, tıklanabilen düğmeler ve hareket eden oyunlar yapabilirsin. Aşağıda tıklama sayan küçük bir sayfa var:

<button id="buton">Tıkla</button>
<p id="sonuc">Henüz tıklamadın</p>

<script>
  let tiklama = 0;

  function etiketYaz(sayi) {
    if (sayi === 0) return "Henüz tıklamadın";
    return sayi + " kez tıkladın";
  }

  function tikla() {
    tiklama = tiklama + 1;
    return etiketYaz(tiklama);
  }

  document.getElementById("buton").addEventListener("click", function () {
    document.getElementById("sonuc").textContent = tikla();
  });
</script>

Düğmeye ilk tıklayışta yazı "1 kez tıkladın", ikincide "2 kez tıkladın" olur. Burada iki parça var: etiketYaz ve tikla fonksiyonları işin mantığını yapar; son satırlar ise bu mantığı sayfadaki düğmeye bağlar. Mantığı ayrı fonksiyonlarda tutmak, onu sayfa olmadan da test edebilmeni sağlar. Bu yaklaşımla ilk sayfanı yapmak için HTML ve CSS ile ilk web sayfası, daha büyük bir proje için JavaScript Pong oyunu rehberine bakabilirsin.

5. Fonksiyonlar ve listeler: kavramlar aynı

Dil değişse de düşünme şekli aynı kalır. Bir puan listesinin ortalamasını ve en yüksek değerini bulan program iki dilde de aynı adımları izler.

Python

def ortalama(puanlar):
    return sum(puanlar) / len(puanlar)

puanlar = [70, 85, 90, 65]
print("Ortalama:", ortalama(puanlar))
print("En yüksek:", max(puanlar))

if ortalama(puanlar) >= 75:
    print("Harika gidiyorsun!")
else:
    print("Biraz daha pratik!")

JavaScript

function ortalama(puanlar) {
  let toplam = 0;
  for (const p of puanlar) {
    toplam += p;
  }
  return toplam / puanlar.length;
}

const puanlar = [70, 85, 90, 65];
console.log("Ortalama:", ortalama(puanlar));
console.log("En yüksek:", Math.max(...puanlar));

if (ortalama(puanlar) >= 75) {
  console.log("Harika gidiyorsun!");
} else {
  console.log("Biraz daha pratik!");
}

İkisi de Ortalama: 77.5, En yüksek: 90 ve Harika gidiyorsun! yazar. Python'da sum, len ve max gibi hazır fonksiyonlar işi kısaltır; JavaScript'te toplamı bir döngüyle kendimiz hesapladık. Görüldüğü gibi fonksiyon, liste, koşul ve döngü kavramları birebir aynı. Bu temel taşları iki dilde yan yana çalışmak istersen değişken, koşul, döngü rehberi tam bunu yapıyor.

6. Hedefine göre hangisi?

Seçimi kolaylaştırmak için kendine "Kod yazarak ilk ne yapmak istiyorum?" diye sor.

HedefinÖnerilen başlangıçNeden?
Programlama mantığını sağlam öğrenmekPythonSade yazım, açık hata mesajları
Scratch ya da blok kodlamadan geçişPythonBloklardaki kavramlar kısa satırlara kolay dönüşür
Tarayıcıda oynanan oyun yapmakJavaScriptOyun doğrudan tarayıcıda çalışır, paylaşması kolay
Kendi web siteni yapmakHTML + CSS, sonra JavaScriptWeb'in üç temel dili birlikte çalışır
Veriyle uğraşmak, hesap yapmak, işleri otomatikleştirmekPythonBu alanlarda çok yaygın kullanılır
Henüz bilmiyorumPythonGenel amaçlı; sonradan JavaScript'e geçmek kolay

Bu kararı kod olarak da yazabiliriz. Aşağıdaki program yaşına göre basit bir başlangıç önerisi verir:

yas = int(input("Kaç yaşındasın? "))
if yas >= 13:
    print("Metin tabanlı dillerle rahatça başlayabilirsin.")
else:
    print("Bloklarla ısınıp sonra Python'a geçmek iyi bir yol.")

Örneğin 11 girersen "Bloklarla ısınıp sonra Python'a geçmek iyi bir yol." yazar. Bu katı bir kural değil, kaba bir öneri: klavyeyi rahat kullanan ve okumayı seven 10–12 yaş çocukları da metin tabanlı dillerle başlayabilir. Bloklarla ısınmak istersen blok kodlama sayfasına, blok kodlamadan geçiş için Scratch'tan Python'a geçiş rehberine göz at. Sitede bu ikisi dışında birçok dil de var; hepsine diller sayfasından ulaşabilirsin.

7. İlk 30 gün planı

Plan günde yaklaşık 20–30 dakika ve haftada 5 gün çalışmaya göre hazırlandı; kalan günler dinlenme ya da tekrar içindir. Tablodaki konular iki dil için de geçerli. Python seçtiysen Python derslerinden, JavaScript seçtiysen JavaScript derslerinden ilgili konuyu bulabilirsin.

HaftaKonularHafta sonu mini projesi
1. hafta (1–7. gün)Ekrana yazdırma, değişkenler, metin ve sayı türleri, kullanıcıdan girdi almaAdını ve en sevdiği şeyi sorup bir cümle kuran program
2. hafta (8–14. gün)Karşılaştırma, if / else, mantıksal işlemler (ve, veya), basit hesaplamalarGirilen sayının tek mi çift mi olduğunu söyleyen program
3. hafta (15–21. gün)for ve while döngüleri, listeler (diziler), listede dolaşmaÇarpım tablosu ya da alışveriş listesi programı
4. hafta (22–30. gün)Fonksiyonlar, rastgele sayılar, öğrendiklerini birleştirmeSayı tahmin oyunu ya da bilgi yarışması

Plana uymanın püf noktaları

  • Her gün bir şeyi değiştir: Dersteki örneği çalıştırmakla yetinme; bir sayıyı, bir metni ya da bir koşulu değiştirip ne olduğunu gör.
  • Hata günlüğü tut: Karşılaştığın hata mesajlarını ve nasıl çözdüğünü bir yere yaz. Aynı hatayla ikinci kez karşılaştığında hemen tanırsın.
  • Gün kaçırırsan baştan başlama: Kaldığın yerden devam et. Planın amacı düzen, mükemmellik değil.
  • 30. gün bitince: 4. haftanın projesini büyüt. Python seçtiysen sayı tahmin oyunu, JavaScript seçtiysen yılan oyunu güzel bir sonraki adım.

8. İkinci dile ne zaman geçmeli?

İlk dilde değişken, koşul, döngü, liste ve fonksiyonu kullanarak küçük bir oyunu kendi başına yazabildiğinde ikinci dile geçmeye hazırsın demektir. O noktada ikinci dili öğrenmek, ilkinden çok daha hızlı olur; çünkü kavramları zaten biliyor, yalnızca yeni yazım kurallarını öğreniyorsun. Sık görülen bir yol, Python ile mantığı öğrenip ardından web projeleri için HTML, CSS ve JavaScript'e geçmektir. Tersi de gayet mümkündür.

Sık yapılan hatalar

  • Dil seçerken haftalarca araştırmak: Karşılaştırma yazıları okumak kod yazmak değildir. Bu rehberdeki tabloya bak, bir dil seç ve bugün başla.
  • İki dili aynı anda başlatmak: Başlangıçta yazım kuralları birbirine karışır; örneğin Python'da süslü parantez kullanmaya ya da JavaScript'te girintiye güvenmeye başlarsın. İlk birkaç ay tek dile odaklan.
  • Python'da girintiyi önemsememek: for ya da if satırından sonraki satırı girintisiz yazmak IndentationError hatası verir. Girintide hep aynı sayıda boşluk kullan (genellikle 4).
  • JavaScript'te parantezleri kapatmayı unutmak: Her { için bir }, her ( için bir ) olmalı. Kodu düzgün girintilemek, eksik parantezi görmeyi kolaylaştırır.
  • Metni sayı sanmak: Girdi olarak gelen "5" bir metindir. Python'da int(), JavaScript'te Number() ile çevir.
  • Hatalardan kaçmak: Hata mesajı bir ipucudur. Son satırı oku, satır numarasına bak. Ayrıntılar için en sık kod hataları rehberine göz at.

Kendin dene

Seçtiğin dilde, kolaydan zora doğru ilerle. Hepsini editörde deneyebilirsin.

  1. Kolay: Bölüm 1'deki programı 3 yerine 7 ile çarpım tablosu yapacak ve 10 satır gösterecek şekilde değiştir.
  2. Kolay: Python'da print("5" * 3), JavaScript'te console.log("5" * 3) yazınca ne çıkacağını önce tahmin et, sonra çalıştır. Sonuçlar neden farklı?
  3. Orta: Ortalama programına en düşük puanı da yazdıran bir satır ekle (Python'da min, JavaScript'te Math.min).
  4. Orta: Tıklama sayacına "Sıfırla" düğmesi ekle; tıklanınca sayı 0 olsun ve yazı "Henüz tıklamadın"a dönsün.
  5. Zor: Bölüm 1'deki programı diğer dile kendin çevir: Python biliyorsan JavaScript'e, JavaScript biliyorsan Python'a. Çıktıların birebir aynı olduğunu kontrol et.
Ebeveyn/öğretmen notu: Dil seçimi çocuğun motivasyonu kadar önemli değildir. Çocuğun "ne yapmak istiyorum?" sorusuna verdiği cevabı dinleyin; oyun yapmak isteyen bir çocuğa JavaScript ile tarayıcıda çalışan bir oyun, matematik ya da bilim seven bir çocuğa Python ile hesap yapan programlar daha çekici gelebilir. Sınıfta tek bir dil seçmek, öğrencilerin birbirine yardım etmesini kolaylaştırır. Evde destek için ebeveynler için evde kodlama rehberi, yaşa göre yol haritası için kodlamaya nereden başlanır rehberine bakabilirsiniz.

Sık sorulan sorular

Python mu daha kolay, JavaScript mi?

Yeni başlayanların çoğu Python'un yazımını daha sade bulur: daha az sembol kullanılır ve hatalar daha açık mesajlarla gösterilir. JavaScript ise tarayıcıda hemen görsel sonuç verdiği için bazı öğrencilere daha heyecan verici gelir. Kolaylık biraz da neyi yapmak istediğine bağlıdır.

Yanlış dili seçersem emeğim boşa gider mi?

Hayır. Değişken, koşul, döngü, liste ve fonksiyon gibi temel kavramlar iki dilde de aynıdır. Bir dili öğrendikten sonra ikincisini öğrenmek çok daha hızlı olur, çünkü yalnızca yeni yazım kurallarını öğrenirsin.

JavaScript ile Java aynı şey mi?

Hayır, isimleri benzese de farklı dillerdir. JavaScript özellikle web tarayıcılarında kullanılır; Java ise farklı bir yazım ve çalışma biçimine sahip ayrı bir dildir.

Python ile oyun yapabilir miyim?

Evet. Sayı tahmin oyunu ve bilgi yarışması gibi metin tabanlı oyunlarla başlayabilir, Turtle ile basit görsel oyunlar yapabilirsin. Python için oyun kütüphaneleri de vardır. Ancak oyununu bir bağlantıyla herkesin tarayıcısında oynatmak istiyorsan JavaScript daha doğrudan bir yoldur.

Bilgisayarıma bir şey kurmam gerekiyor mu?

Başlangıç için hayır. Bu sitedeki tarayıcı tabanlı kod editöründe hem Python hem JavaScript kodlarını kurulum yapmadan çalıştırabilirsin. İleride kendi bilgisayarında çalışmak istersen Python için Python yorumlayıcısını, JavaScript için de tarayıcıyı ya da Node.js'i kullanabilirsin.

Günde ne kadar çalışmalıyım?

Kısa ve düzenli çalışmak genellikle uzun ve seyrek çalışmaktan daha verimlidir. Bu rehberdeki 30 günlük plan günde yaklaşık 20–30 dakika ve haftada 5 gün varsayar; kendi temponu buna göre ayarlayabilirsin.

Öğrendiklerini hemen dene! 🚀

Kurulum yok: kodu tarayıcıdaki editöre yapıştır, çalıştır, değiştir.

💻 Kod Editörünü Aç📚 Ücretsiz Derslere Başla

Sıradaki rehberler