Yazılım Öğrenmeye İlk Hangi Programlama Dilinden Başlanmalı?
Yazan: Ali Kasımoğlu_
06 Şubat 2021 13:29

Birçok kişinin hayalidir yazılımcı olmak. Hacker filmlerinde izlediğimiz print("dünyayı yok et") komutuyla her şeyin yok olduğu sahneler, zengin olmuş yazılımcıların başarı hikayeleri veya basit bir fikirle yola çıkarak başarıya ulaşan projeler bizleri hep motive etmiştir. Ancak bu motivasyon "başlama" aşamasında takılıp kalmıştır. Çünkü çoğu kişi nereden başlayacağını bilememekte ve hatta nereye gideceğini dahi kestirememektedir. İşte bu yazıda sizlere bu kritik sorunun çözümünü sunmaya çalışacağım.

Yeni Başlayanlar Hangi Programlama Dilini Tercih Etmeli?

Öncelikle şunun altını çizmek istiyorum. Bir yazılımcı, sadece bir programlama diliyle asla başarıya ulaşamaz. Mutlaka farklı işler ve amaçlar için başka teknoloji dillerine ihtiyacı olacaktır. Bu sebeple tek bir dile odaklanılması kesinlikle hata olur. 

Bizim öğrenilmesi basit, öğrendikten sonra birçok işimizi görebilecek, yeni nesil beklentileri de karşılayabilecek bir dil aramamız gerekiyor. Öncelikle bunu netleştirelim. Bu sorunun cevabı okuyacağınız 100 yazıdan 90'ından fazlasında Python olacaktır. Peki neden?

Neden Python?

1. Kolay Okunur: Çünkü Python syntaxis yani söz dizimi yapısı veya daha insancıl şekliyle yazılış düzeni olarak öğrenilmesi en kolay programlama dillerinin başında gelir. Örnek vermek gerekirse;

print("Merhaba Dünya")

>>> Merhaba Dünya

Gördüğünüz gibi tek bir kelimeyle ekrana merhaba dünya yazdırdık. Bir başka örnek;

liste = ["elma", "armut", 6, "20"]

for eleman in liste:
    print(eleman)

>>> elma
    armut
    6
    20

Çok basit şekilde liste içindeki elemanları yazdırdık. Bir başka örnek;

site1 = "www.google.com"
site2 = "www.alikasimoglu.com"
site3 = "www.deneme.com"
site4 = "www.python.org"

siteler = site1, site2, site3, site4

for sira, siteler in enumerate(siteler, 1):
    print(sira, siteler)

>>> 1. www.google.com
    2. www.alikasimoglu.com
    3. www.deneme.com
    4. www.python.org

Verilen web sitelerini döngüye aldık ve enumarate fonksiyonu ile numaralandırdık. 

Gördüğünüz gibi daha önce Python ile daha önce hiç uğraşmamış olsanız dahi verdiğim örnekteki kodları az çok anlayabiliyorsunuz ve bu sizin programlama için gerekli algoritmik düşünme becerinizi kısıtlamıyor. Aksine daha da basite indirgediği için en başta programlama mantığını daha kolay öğrenmenizi sağlıyor.

2. Çok Yönlüdür: Python ile çoğu şeyi yapmak mümkündür. Windows, Linux, MacOS başta olmak üzere iOS, iPadOS, Android, Solaris gibi bir çok popüler işletim sistemlerinde çalışan Python ile yapabilecekleriniz şöyledir;

    a) Web (back-end): Oldukça gelişmiş dinamik altyapıya sahip web siteleri geliştirebilirsiniz. Bu konuda yazdığım Django Framework Neden Tercih Edilmeli? başlıklı yazım ilginizi çekebilir. Elbette Python ile web sitesi geliştirmek için kullanabileceğiniz tek framework bu değildir. Flask, Pyramid gibi birçok framework alternatifi mevcuttur. Hatta isterseniz kullanmayabilirsiniz de. 

    Not: Bu site de Python'un en popüler ve gelişmiş Web Framework'ü olan Django ile geliştirildi. Ayrıca Dropbox, Instagram ve daha bir çok dev proje de bu platform ile geliştirildi.

    Eğer hedefiniz web teknolojileri yönünde olacaksa size çok net bir şekilde söyleyebilirim ki, JavaScript'i de en azından temel seviyede bilmeniz şarttır. HTML ve CSS'i saymıyorum zira onlar olmazsa olmazlar arasındadır. Ek olarak Bootstrap (css), React (javascript) gibi frameworkleri öğrenerek web alanında hızlı ve başarılı işler üretebilirsiniz.

    b) Masaüstü Yazılım: Python ile her türlü gelişmiş masaüstü uygulaması yazabilirsiniz. Python programlama dili ile gelen dahili grafiksel arayüz kütüphanesi Tkinter veya oldukça popüler PyQt veya daha birçok benzer grafik arayüz kütüphaneleri sadesinde oldukça başarılı grafik arayüzlü masaüstü python uygulamaları yazabilirsiniz.

    c) Mobil Uygulama: Python ile mobil uygulamalar geliştirebilirsiniz. Bunu yapmak üzere geliştirlen Kivy başta olmak üzere PyQt ve bir çok alternatif framework ile mobil uygulamalar geliştirebilirsiniz. Ancak bu bir native (platformun kendine has programlama diliyle geliştirilmiş) uygulama kalitesinde olmayabilir. Zira bu alanda Python biraz eksik kalmaktadır.

    Önemli Bilgi: Özellikle bu alan için söylemek isterim ki, eğer amacınız mobil uygulama geliştirmek ise, bu konuda yoğunlaşmanız gereken dil Python değildir. Sizlere en yenilikçi ve geleceği parlak olan, Google'ın geliştirdiği Dart programlama dilini kullanan ve çapraz platform (cross-platform), yani tüm mobil platformlarda çalışma imkanı sunan Flutter framework'ü öğrenip mobil uygulama geliştirmenizi tavsiye ederim.

Python ile yapamayacağınız tek bir alan vardır o da gömülü sistemler, işletim sistemleridir. O alan için C benzeri bir dil gerekir.

Ayrıca merak etmeyin kısa süre içerisinde her bir alana yönelik detaylı yol haritalarının yer alacağı yazılarımız olacaktır. Devam edelim.

3. Yenilikçidir: Çünkü en eski gelişmiş dillerden olsada, yeni nesil beklentileri karşılayan ve teknolojiye ayak uyduran en yenilikçil dildir. Günümüzde gerek büyük veri (big data) olsun gerek makine öğrenimi gerek ise yapay zeka olsun Python en çok tercih edilen programlama dilidir. Python yeni dönemde veri görselleştirmeden veri madenciliğine, makine öğreniminden yapay zeyaya her alanda kendini göstermektedir. Bu da Python'un hiç eskimeyen, aksine sürekli gelişen bir dil olmasını, dolayısıyla en çok tercih edilen dil olmasını sağlamaktadır. Bu alanlarda özellikle Pandas, NumpyTensorFlow veya PyTorch ile ilgilenmenizi tavsiye ederim.

4. Sürekli Yükselen Popülerliği: Her programcının en çok ziyaret ettiği, milyonlarca programcının bulunduğu Stack Overflow'un 2020 anketine göre en popüler programlama dilleri (işaretleme veya veri tabanı dillerini saymıyorum) JavaScript, Python ve Java olarak sıralanmaktadır.

Kaynak: StackOverflow

Diğer taraftan yazılımcıların en çok kullanmayı talep ettikleri diller listesinde ise Python açık ara birinci sırada bulunmaktadır.

TIOBE programlama topluluğu endeksi tarafından hazırlanan 2021 verilerine bakıldığında ise Python'un ne kadar popüler olduğu açıkça ortaya çıkmaktadır.

Kaynak: Tiobe

Gördüğünüz gibi her istatistik kaynağında Python'ın parlayan bir yıldız olduğunu görmek mümkün. Bu da öğrenmek ve sonrası için Python'un neden oldukça mantıklı bir seçim olduğuna dair ciddi bir sinyaldir.

Eğer kendinize ve geleceğinize yatırım yapmayı ve bunu yazılımcı olarak planlıyorsanız sizlere tavsiyem her adımınızı önceden belirlemeniz olacaktır. Bir yazılımcı algoritmik düşünce yapısıyla bakmalı, düşünmeli ve konuşmalıdır. Bu ilerisini görmenizi ve hata yapmamanızı sağlayacaktır.

İletişime Geçin_

Benimle iletişime geçmek için adresine e-posta gönderebilirsiniz. Size en kısa sürede geri dönüş yapacağımdan emin olabilirsiniz. Ayrıca dilerseniz kasimoglu.ali Skype kullanıcı adımdan yada linkedin, facebook veya twitter sosyal medya profillerimden bana ulaşabilirsiniz. Gerçekten iletişime geçmek istiyorsanız bunu bir şekilde yapabileceğinize eminim :)