Yazılım öğrenmeye karar veren hemen herkes aynı soruda takılır: Hangi dille başlamalıyım? İnternette her dilin hararetli savunucusu olduğu için bu soru haftalarca sürebilir. Kısa cevap şudur: Tek bir doğru dil yoktur, yapmak istediğiniz işe uyan dil vardır. Bu yazı kararı hedefinize göre vermenize yardım eder.
Programlama dili nedir, neden bu kadar çok seçenek var?
Programlama dili, bilgisayara ne yapacağını anlatmak için kullanılan kurallı bir yazım biçimidir. Çok sayıda dil olmasının nedeni, her birinin farklı ihtiyaçlar için gelişmiş olmasıdır. Tarayıcıda çalışan bir dille işletim sistemine yakın çalışan bir dilin öncelikleri aynı değildir.
İyi haber şu: Temel kavramlar çoğu dilde ortaktır. Değişken, koşul, döngü ve fonksiyon mantığını bir dilde öğrendiğinizde ikinci dil çok daha hızlı gelir. Yani ilk seçiminiz ömür boyu bir karar değildir.
Önce kendinize üç soru sorun
- Ne yapmak istiyorum? Web sitesi, telefon uygulaması, veri analizi, işlerimi otomatikleştirmek ya da oyun geliştirmek birbirinden farklı yollara çıkar.
- Neden öğreniyorum? İş bulmak, kendi ürününü yapmak ve merak etmek farklı hedeflerdir. İş bulmak istiyorsanız yaşadığınız şehirdeki ya da uzaktan çalışabileceğiniz ilanlara bakıp hangi dillerin istendiğini kendiniz görün.
- Haftada ne kadar vaktim var? Az zamanınız varsa hızlı sonuç gördüğünüz bir dille başlamak motivasyonunuzu korur.
Hedefe göre dil seçimi
Web sitesi ve web uygulaması
Tarayıcıda çalışan arayüz için HTML, CSS ve JavaScript üçlüsü temeldir. HTML ve CSS tam anlamıyla programlama dili sayılmaz, ama web'in yapı taşlarıdır. JavaScript öğrendikten sonra daha büyük projelerde hata yakalamayı kolaylaştıran TypeScript'e geçebilirsiniz.
Sunucu tarafında, yani verilerin işlendiği arka planda seçenek çoktur: JavaScript (Node.js), PHP, Python veya C# kullanılabilir. PHP, hazır hosting hizmetlerinde kolayca çalıştığı ve WordPress gibi yaygın sistemlerin temeli olduğu için hâlâ pratik bir tercihtir.
Mobil uygulama
Yalnız iPhone için Swift, yalnız Android için Kotlin öğrenilir. Tek kodla iki platforma birden çıkmak isterseniz Flutter (Dart dili) veya React Native (JavaScript/TypeScript) değerlendirilebilir. Web bilginiz varsa React Native size daha tanıdık gelir.
Veri analizi ve yapay zekâ
Bu alanın ortak dili büyük ölçüde Python'dur. Veriyi okuma, temizleme, grafik çizme ve model kurma için geniş bir kütüphane ekosistemi vardır. Yanına mutlaka SQL ekleyin. Veritabanından veri çekmek, hangi alanda çalışırsanız çalışın işinize yarar.
Otomasyon ve günlük işler
Excel dosyalarını birleştirmek, tekrar eden raporları hazırlamak, dosyaları düzenlemek gibi işler için yine Python iyi bir başlangıçtır. Okunması kolay yazımı sayesinde küçük işletme sahipleri bile kısa sürede işe yarar küçük betikler yazabilir.
Oyun geliştirme
Oyun motoruna göre seçim yapılır. Unity C# kullanır, Unreal Engine ise C++ ve görsel programlama araçlarıyla çalışır. Yeni başlayan biri için C#'ın öğrenme eğrisi genelde daha yumuşaktır.
Kurumsal yazılım
Büyük şirketlerin ve bankaların sistemlerinde Java ve C# sık görülür. Hedefiniz kurumsal bir işe girmekse bulunduğunuz bölgedeki ilanlara bakarak bu ikisi arasında karar verebilirsiniz.
Hâlâ kararsızsanız
Belirgin bir hedefiniz yoksa iki seçenekten biriyle başlayın:
- Python: Yazımı sade olduğu için kavramlara odaklanmayı kolaylaştırır. Otomasyon ve veri işlerine göz kırpıyorsanız bunu seçin.
- JavaScript: Kurulum gerektirmeden tarayıcıda çalışır, yaptığınızı ekranda hemen görürsünüz. Web sitesi ya da arayüz sizi heyecanlandırıyorsa bunu seçin.
Bir dili değerlendirirken nelere bakmalı?
İki dil arasında kaldıysanız şu ölçütlerle karşılaştırın:
- Kaynak bolluğu: Türkçe ya da İngilizce kaliteli eğitim ve belge bulabiliyor musunuz?
- Topluluk: Takıldığınızda sorunuza kolayca cevap bulabiliyor musunuz?
- Kurulum kolaylığı: İlk programı çalıştırmak ne kadar uğraştırıyor?
- İş ihtiyacı: Hedeflediğiniz işlerde ya da projelerde bu dil gerçekten kullanılıyor mu?
Dil seçerken yapılan hatalar
- Sürekli dil değiştirmek: Bir ay Python, bir ay Java, sonra başka bir dil... Her seferinde aynı temel konuları yeniden öğrenirsiniz. En az bir küçük proje bitirmeden geçmeyin.
- "En popüler" listelerine göre seçmek: Listeler genel eğilimi gösterir, sizin hedefinizi bilmez.
- Yalnız video izlemek: İzlerken her şey anlaşılır gelir; asıl öğrenme, boş bir dosya önünde kendi başınıza kod yazmaya çalışırken olur.
- Yapay zekâya her şeyi yazdırmak: Kod asistanları açıklama almak ve hatayı anlamak için çok faydalıdır. Ama ürettikleri kodu okuyup anlamazsanız, ilk hatada ne yapacağınızı bilemezsiniz.
Dört haftalık başlangıç planı
- 1. hafta: Dilinizi seçin, kurulumu yapın. Değişkenler ve koşullarla küçük örnekler yazın.
- 2. hafta: Döngüler, listeler ve fonksiyonları öğrenin. Her konudan sonra kendinize küçük bir alıştırma verin.
- 3. hafta: Küçük bir proje başlatın. Örneğin gider hesaplayan bir program ya da yapılacaklar listesi.
- 4. hafta: Projeyi bitirin, kodunuzu GitHub'a yükleyin ve bir sonraki adımı seçin.
Her gün kısa süreli düzenli çalışmak, ayda bir uzun oturumdan daha çok işe yarar.
Amacınız yazılım öğrenmekten çok işletmeniz için hazır bir uygulama ya da site yaptırmaksa, ihtiyacınızı AlpinNext'e alpinnext.tr adresinden iletebilirsiniz.