İçeriğe geç

İlk C# Programı: Merhaba Dünya ve Kodun Gizemli Dünyasına Giriş

Merhaba kod dünyası dostları! Nasılsınız, iyisinizdir umarım. Bugün hepimizin o ilk heyecanlı adımlarını attığı o büyülü ana, yani ilk C# programımıza bir göz atacağız. Hani o meşhur ‘Hello World’ var ya, işte onun peşine düşüyoruz bugün. Aslında konuyu ilk gördüğümde aklıma hemen o ilk kodlama derslerim geldi. O zamanlar her şey ne kadar karmaşık geliyordu insana, değil mi? Tabii bu başlangıç her zaman böyle olmuyor bazen, ama genel olarak bir giriş yapmak lazım işte.

Şimdi C# ile ilk tanışma dediğimizde, akla hemen o ‘Merhaba Dünya!’ mesajı gelir. Neden ‘Merhaba Dünya’ peki? Bence basit bir sebebi var: Bilgisayar ekranında kendi yazdığın bir şeyin göründüğünü görmek o kadar tatmin edici ki, bunu ilk deneyimde yapmak insana süper bir motivasyon sağlıyor. Sanki bilgisayarla ilk defa ‘konuşmuş’ gibi oluyorsun. Ne güzel değil mi?

Peki, bu ‘Merhaba Dünya’ programı nasıl oluyor da ekrana bu mesajı yazıyor? İşte tam burada kodun yapısına biraz dalmamız gerekiyor. Aslında temel yapı çok da karmaşık değil. Bir kere, C# kodları genelde bir namespace içinde yer alır. Bu namespace, kodunuzu organize etmenize yardımcı olan bir çeşit klasörleme sistemi gibi düşünebilirsin. Sonra, her C# uygulamasının bir ‘Main’ metodu olmalı. Bu ‘Main’ metod, programın başladığı yerdir, yani bilgisayar ilk çalıştırma komutunu verdiğinde ilk buraya bakar.

Bu arada, ‘Main’ metodunun hemen üstünde ‘class’ diye bir şey görürsünüz. C# nesne yönelimli bir dil olduğu için her şey sınıflar (class) içinde döner. Yani bütün kodunuz bir veya birden fazla sınıfın içinde yaşar diyebiliriz. Birazdan göstereceğim kodda bunu daha net göreceksiniz zaten.

Neyse efendim, lafı çok uzatmadan şu meşhur ‘Hello World’ programına bir göz atalım. Hani ilk başta hepimiz hata yapıyoruz ya, ben de ilk yazdığımda bir türlü çalıştıramamıştım, ekrana hep bir hata mesajı geliyordu, sinir olmuştum biraz. Neyse ki sonra bir arkadaşım yardım etti de düzelttik. Bu kod da aslında o arkadaşımın gösterdiği basit versiyonlardan biri.

Şimdi ekrana yansıyacak olan kod, aslında sadece bir satırla bu işi hallediyor. System.Console.WriteLine() diye bir komut var. Bu komut, parantez içine yazdığınız her şeyi alıp, bilgisayar ekranına, yani konsola yazdırıyor. O kadar basit yani. Parantez içine de tırnak içinde ‘Merhaba Dünya!’ yazdığınızda, işte o sihirli an gerçekleşiyor. Bu komutun önünde ‘public static void Main(string[] args)’ kısmının olması da programın bu komutu çalıştırabilmesi için şart.

Bu ‘public static void Main’ olayı biraz kafa karıştırıcı olabilir başta, ben de anlamıyordum ne olduğunu ama kabaca şöyle düşünebiliriz: ‘public’ demek bu metot her yerden erişilebilir demek. ‘static’ demek bu metot bir nesne oluşturmadan da çalıştırılabilir demek. ‘void’ ise bu metodun herhangi bir değer geri döndürmediği anlamına geliyor. Yani sadece bir iş yapıyor, bir çıktı vermiyor kendi içinde. ‘string[] args’ ise programı başlatırken dışarıdan bazı bilgileri almanızı sağlıyor, ama ilk programımızda buna gerek yok.

Şimdi gelelim o basit ama bir o kadar da önemli kod örneğine. Hani bazen kendi yazdığın kodda ufak bir hata yüzünden program çalışmaz ya, işte o anları yaşamamak için bu temel yapıyı iyi oturtmak lazım. Ben de ilk başta basit bir şey sandım ama işin içine girince anladım ki temel sağlam olunca üstüne bir şeyler inşa etmek çok daha kolay oluyor.

İşte, ilk C# programınız için basit bir örnek:

using System;

namespace HelloWorldApp { class Program { static void Main(string[] args) { Console.WriteLine("Merhaba Dünya!"); } } }

Gördüğünüz gibi, aslında çok da karmaşık bir şey yok. ‘using System;’ satırı, Console sınıfını kullanabilmemiz için gerekli olan bir kütüphaneyi dahil ediyor. Sonra ‘namespace HelloWorldApp’ ile kendi isim alanımızı oluşturuyoruz. Ardından ‘class Program’ diyerek bir sınıf tanımlıyoruz ve en sonunda ‘static void Main(string[] args)’ metodu içinde ‘Console.WriteLine(“Merhaba Dünya!”);’ komutunu çalıştırıyoruz. Bu kadar.

Şimdi ben de ilk denediğimde bu kodu biraz farklı yazmıştım sanki. Hani böyle süslü parantezleri unutmak, noktalı virgülü koymamak falan, klasik hatalar işte. Mesela şöyle bir şey yapmıştım başlangıçta:

// YANLIŞ ÖRNEK (Hata verir)

using System;

namespace HelloWorldApp { class Program { static void Main(string[] args) { Console.WriteLine("Merhaba Dünya!") // Noktalı virgül unutuldu! } } }

Evet, işte benim gibi acemi bir kodlayıcı böyle bir hata yapabiliyor. Sonra da neden çalışmıyor diye saatlerce uğraşıyorsun. Bence bu tür basit hataları yapmamak için her zaman bir kontrol listesi oluşturmak lazım. Neyse efendim, doğru yolu yukarıda gösterdim zaten, o daha önemli.

Bu arada, bu ‘Console.WriteLine’ komutu sadece metin yazmakla kalmıyor, aslında sayıları da yazdırabiliyor. Hatta matematiksel işlemleri bile yapıp sonucu ekrana verebiliyor. Mesela şöyle bir şey:

Console.WriteLine(5 + 3); // Ekrana 8 yazar.

Ne güzel değil mi? Bu basit komutun bile ne kadar işe yaradığını görmek insanı motive ediyor. Belki de bu yüzden her programlama dilinde ilk olarak bu ‘Merhaba Dünya’ örneği veriliyordur, kim bilir?

Sonuç olarak, ilk C# programınız olan ‘Merhaba Dünya’yı yazdınız ve bunun temel yapısını anladınız. Bu, kodlama yolculuğunuzda atacağınız dev bir adım. Unutmayın, her usta bir zamanlar acemiydi. Önemli olan denemekten, hata yapmaktan ve yılmamaktan geçiyor. Bu arada, dilerseniz bu kodu Visual Studio gibi bir ortamda deneyebilir, kendi ‘Merhaba Dünya’nızı ekrana yazdırabilirsiniz. Eminim çok hoşunuza gidecektir.