Sonuçta bir şekilde başlamalı. Şu an bir yazılım dilinde uzmanlaşmış biri sizin söylediğiniz şekilde tavsiye vermesi çok olası. Ama işin asıl kısmı şurada: Süreç. Süreç boyunca belli başlı şeyleri tamamladığı vakit arayış içinde olacak ve gerektirdiği prensipleri öğrenme zorunda olduğunu hissedecek. Bu sefer dokümantasyon okumayı keşfetmiş olacak. Sonra sorunlarını Türkçe aratmaktansa İngilizce aratmaya başlayacak. Bu sebeptendir ki hem araştırmayı hem de öğrenmeyi öğrenmiş olacak. Domino taşı gibi örneklendirilebilir (sırayla)
Katılıyorum fakat yıllar sonra görüyorum ki zaman aslında en büyük sermaye.
Dil hiçbir şeydir. Önemli olan ihtiyacın analizi. C dilini öğrenmeden önce ne bilindiği önemli. Dilin basit konseptlerini öğrenebilirsiniz, fakat bu sizi bu dilin yazılımcısı yapmaya yetmez. Ben 15-16 yaşlarındayken C#'ı yalayıp yutmuş, bir sürü otomasyon yazılımı geliştirmiş, sonrasında .NET ile web projelerine girmiştim.
18 yaşıma geldiğimde ben artık oldum, on numara yazılımcıyım deyip gidip bir şirketle iş görüşmesi ayarladım. Kendime olan güvenimden çok etkilendiler fakat yazdığım kodlar karşısında da dehşete düştüler.
Mesele bir sonuca ulaşmak ise çok kolay. Mesele dikeyde uzmanlaşmak ise programlama dilinin zerre önemi kalmıyor.
Programlama dilini en fazla 1 ayda öğrenebilirsiniz, Framework'leri anlamak biraz daha uzun sürer belli konseptlerin anlaşılması gerekir. Fakat günün sonunda yazılımcılık bir problem çözücülüktür ve problemler genelde dilden bağımsızdır.
Yeri gelir Java'cı oturur .NET ile kod yazar, yeri gelir C++ ile yazar. Dilleri araç olarak kullanırız.
Elzem olan veriyi analiz etmek, onu organize edebilmek, kimi zaman RAM üzerinde ince cambazlıklar yapmak, algoritmalar arasında karar verebilmek, doğru algoritma seçimi için algoritma analizlerini, zaman karmaşıklıklarını, alan karmaşıklıklarını hesaplamak gerek.
Dolayısıyla temel bilgisayar bilgisi, belli ölçüde matematik bilgisi, araştırma becerisi ve İngilizce doküman okuma bilgisi, algoritma/veri yapıları bilgisi olmadan programlama öğrenmek zaman kaybıdır.
Ayrıca bazı istisnalar her zaman vardır ve yukarıda yazdıklarımın tamamen geçersiz olduğu durumlar olabilir.
Günün sonunda ihtiyacın analizi, hedef belirlemek yolu yarılamaktır.