Biraz ben bu bataklığa nasıl başladığımı anlatayım belki 3-4 bir şey kaparsın. Yaklaşık 3 yıl önce matematik hocam "bak şöyle şöyle güzel şeyler var" diyip yazılım cehennemine soktu beni. İlk önce bir udemy kursu aldım, temeli öğrendim. Metodlardır, odur budur her neyse temel yani. Ondan sonra bir proje belirledim. Menülü bir program yazıcaktım, karekök almadır, pisagorlardır, asallardır her şeyi yapacaktı. Ama nasıl? İlk önce herkesin başladığı şu hello world örneğinden başladım. Ben buna nasıl bir şey atabilirdim? Hah variable'dan çekerek. E variable'dan çektim, başka bir şey ekleyemez miyim? böyle böyle gitti, araştıra araştıra. Yaklaşık 1.5 yıl temelimi mükemmelleştirdim. Ondan sonra algoritmalara başladım ve kendi tabirimce yükseliş dönemine geçtim. Araştırdım, araştırdım buldum. Ve artık şu projeyi yazmaya başlayacaktım.
Menüler nasıl yapılır? Nasıl dizayn edilir? Butona listener nasıl eklerim? E buna giriş nasıl yaparım? Mysql? Mysql güvenliği nasıl yapacağım? Nasıl kodları koruyabilirim, obfuscate? Cevap basit: Araştırarak. Ben kendi kendime öğretmiş biriyim, bir şeyi bulamadığımda stackoverflow ve java docs mükemmel bir yol arkadaşım. Uzun sürdü. Bayağı uzun sürdü ama sonunda o projeyi bitirdim. 1 yıl önce bu projeyi bitirdim. Fakat bu projeyi bitirmemle beraber ciddi manada yükselişe geçtim. Artık saçma sapan şeylere değil, ciddi manada mantık ve problem çözme işlerine yoğunlaşıyordum. Temelim artık çok iyiydi, çünkü kendi kendime öğrendiğim için artık java docsu ezberlemiştim.
Yaklaşık 6 ay önce ise spigot kütüphanesi ile tanıştım. Bir arkadaşım "vauv sen javayı biliyorsun, neden minecraft eklentileri yapmıyorsun bana da yapsana xd" gibi bir şey diyip beni buna soktu. Temelim sağlam olduğu için (Yani 3 ayda öğrenip ben javacıyım diye gezinmiyorum.) rahat bir şekilde mantığı kavradım. Fakat hala bir sorun var. Java ve spigot api, car(araba) ile carpet(halı) gibi aynı. Mantıkları aynı ama yazılışları, syntaxı bambaşka. Naptım? spigot api docs'a baktım. "Hmm, adama nasıl mesaj atarım? spigot api -> oyuncu sınıfı-> hah send message. nasıl yapılıyor bakayım.. Tamamdır yaptım!" bu mantıkla ilerledim. Hep kendime öğrettim.
Başkalarına göre 3 yılımı çöpe atmış olabilirim, ama eminim milletin 1 haftada bitireceği şeyleri 2 günde aynısını bitirmemin avantajını buradan alıyorum.
Sana tavsiyem: Temeli öğren, bir proje belirle, o projenin üstüne hep bir şeyler koyarak ilerle. Bilmediğin şeyler koy. Araştır. Öğren. Test et. Bunu böyle yapsam ne tepki verir? Deney yap. Kendi kendine eğit. Bu sayede kimseye bağımlı kalmadan kitaplık gibi iş yaparsın. Bu metod biraz uzun ve zaman harcatır, evet. Ama gerçekten karşılığını alacaksın