top of page

Hangi yazılım dilini öğrenmeliyim ?

“Oyun sektörü 77 Milyar USD kazandı”

“Türkiye’de yazılım sektörü 50 Milyar USD ye koşuyor”

“Microsoft 2022’de 183 Milyar USD gelir elde etti”

“Google piyasa değeri 1,92 Trilyon USD”



Bu tarz haberler tanıdık geldi değil mi ? Geçirdiğimiz Covid19 süreci çoğu insanın uzunca bir süre evde kalmasını, buna bağlı olarakta yeni şeyler keşfetme arzusunu tetikledi. Bu etkilerden en büyük payı da, evde kalma şartlarına en uygun olan yazılım sektörü gördü.

Teknoloji artık her yerde. Uzaktan kontrol edilebilen ev araç gereçlerinden tüm dünyaya üretim yapan fabrikaların içlerine kadar artık her şey uzaktan ulaşılabilir, kontrol edilebilir hatta konuşulabilir birer yazılım oldu. Özellikle son yıllarda Open AI ile hayatımızda sıkça duyduğumuz hatta bir çoğumuzun da kullanmaya bile başladığı yapay zeka modelleri ile birlikte bir çok insan en azından nedir bu yazılım işi nasıl yapılıyor düşüncesiyle araştırma hatta öğrenme yoluna girdiler. Bu yolda ilk adım olan ve en çok sorulan sorunun cevabı için bu sayfayı yazıyorum. Hangi yazılım dilini öğrenmeliyim ?

Etrafımda olan bitenden dolayı biliyorum o kadar kompleks o kadar kafa karıştırıcı bir dönemki bu, asla karar mekanizmanızın %100 çalışmadığı araştırma yaparken içerisinde bulunduğunuz topluluğa göre yön değiştiren bir durum bu. Hatta bir çoğunun bu aşamada ne yapacağını bilmemesinden dolayı bir dilin eğitimine başlayıp, bitmeden başka bir dile, sonra başka bir dile geçip zamanını ve enerjisini tüketen, sonra da ben bu işi yapamayacağım deyip vazgeçtikleri alan tam olarak burası oluyor. Peki gerçekten bu sorunun net bir cevabı yok mu ? Şimdi bu konuya açıklık getiriyoruz.


2024 yılı itibari ile eskiden 3 5 tane duyduğumuz dillerin aksine bir çok yazılım dili oldu. Peki bunları birbirinden ayıran, seçimleri belirleyen ve tüm inşa aşamasını bu seçime göre yürüttüğümüz bu kadar hassas bir konunun bir matematiği bir seçim mekanizması yok mu ? Tabiki var. Günümüz yazılım dillerinin Syntax haricinde birbirilerinden pek bir farkları yok. For döngüsü While döngüsü yada bir metot oluşturma yöntemleri hemen hemen hepsinde aynı. En belirgin fark örnek olması açısından söylüyorum, C# ve Java, Scope { } kullanırken Python Tab kaydırması kullanıyor, birinde inherit parantez içerisinde kodlanırken diğerinde iki nokta üst üste kullanılıyor. Burada şöyle bir soru geliyor insanın aklına. O zaman neden Google Python kullanıyor yada bankalar Java C# ? Neden Freelance çalışanlar PHP kullanıyor neye göre belirleniyor bu ? Bunun en büyük cevabı Library yani kütüphaneler oluyor. Son zamanlarda en çok duyduğumuz Python artık yapay zeka dili olarak seçildi. Sizce bunun sebebi Python içerisindeki fonksiyon blokları mı ? Yani Python neyi yapabiliyor ve bu C# gibi bir dilde yapılamıyor ki AI teknolojisi Python tarafından domine ediliyor. Yada oyun ve ve bankacılık sektörü neden Java, C++ ve C# üzerinde dönüyor. Bunun cevabı TensorFlow, Pandas, Numpy gibi çok güçlü kütüphanelerin Python üzerinde çalışması. Bunun diğer örneği Unity gibi her popüler üç oyundan bir tanesinin geliştirildiği bu kütüphanenin C++ ve C# üzerinde çalışıyor olmasıdır. PHP, bir HTML sayfası üzerinde çalışabilmesi, bağımlılıklarının çok az olması ve tüm enerjisini Web Application üzerine harcadığı için bireysel çalışanların gözdesi olmuştur.


Aslında her yazılım her işi! yapabilir. Yani C++ da web uygulaması yapabilir miyim sorusunun cevabı evet yapabilirsin olur. Ama kütüphanesi yoksa, request response metotlarını, HTML render ve Bootstrap sınıflarını, middleware ve güvenlik kontrollerini oturup geliştirmek gerekecektir. Yada ben PHP ile Resident Evil gibi bir oyun yazmak istiyorum derseniz Unity gibi bir oyun motoru edinmeniz gerekecektir. Bunun yerine web ihtiyaçlarının hazır yazılmış olduğu .NET Core, PHP yada NodeJS ile yapmak, oyunu ise C#, C++ ve Unity ile birleştirmek her zaman geliştiriciye avantaj sağlayacaktır. Günümüz dünyasında ben bir yazılım öğreneyim ve herşeyi onunla yapayım fanatikliği beşer beşer çıkacağınız basamakları birer birer çıkmanızı, gereksiz zaman ve enerji sarf etmenizi sağlar.

Özetle, bir yazılım dili öğrendiğinizde hemen hemen tüm dillerde bir şeyler yapabilir, kodlarına bakınca neler olduğunu anlayabilecek aşamaya gelirsiniz. İlk aşama olarak okunabilirliği en basit olan bir dil ile başlamanız çok verimli olacaktır. Bu dönemde şu konuşmalara kulağınızı kapatmanız gerekir. "O yazılımla bunu yapamazsın ki" yada "bunu öğren bu işler bu yazılımla çok basit yapılıyor". Ve asla konuların karmaşıklaştığı dönemlerde vazgeçip başka bir dil arayışına girmeyin. Her bitmeyen değişiklik, daha çok akıl karışıklığı ve vazgeçişe bir adım daha yaklaşmak olduğunu unutmayın. Burada araştırılması gereken tek konu, projenize uygun dili seçmek değil, global olarak seçtiğiniz o alanda hangi kütüphanelerin stabil, güvenli ve popüler olduğunu bulmaktır. Bulduğunuz kütüphanelerin kullanıldığı dil sizi doğru yöne doğru ilerletecektir. Enerjinizi bu analize ayırmak, sürekli yeni dilleri öğrenmekten çok daha verimli olduğunu zaman içerisinde deneyimlediğiniz farkedeceksiniz.

43 görüntüleme0 yorum

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page