Yazılımcı Olmak istiyorum ? Hangi Yazılım Dilini Öğrenmeliyim ?
Geleceğin teknolojisi diye bas bas bağırdım, eşe dosta yıllarca yalvardım dedim ki ben beceremedim bari sen bir dene !
Bu yıl internet sektöründe 11. yılıma girdim. bunun 9 yılı nasıl öğrenecem, çok zor, ben yazarsam birisi gelir kırar, güvenlik açığı olur cümleleriyle geçmiştir.
Bu 9 yılda kaç kez başladıysam bir dili öğrenmeye sürekli olarak bir erteleme ve sürekli olarak kendime olan güvenimi kaybetmişimdir. Tabi boş durmayıp siteler kurup Google Adsense ile çalışarak bunca zamandır zaten kazanıyorum.
Ama hep içimde ukde olarak kalacağını bildiğim için asker dönüşü boş kafayla tekrar denedim. Bu sefer oldu …
Yılların verdiği tecrübesizliğin (burada aslında herkes tecrübe der ama neyse) bana öğrettiği değişkenler, fonksiyonlar, dizilerin üzerine algoritma yaratma, veritabanı bağlantısı, curl işlemleri, nesne tabanlı web programlama, sınıf yapısı, mvc gibi kavramları dahil edince oldu.
Artık profosyonel olarak PHP kod yazarlığı yapmaktayım. Birbirinden farklı kurguda web sistemleri hazırlayıp, birçok web sitesine altyapı desteği sağlamaktayım.
Yani ben öğrendim. Öğrendiğimde yaşın 27 idi. Bu nedenle yazılımcı olmak istiyorsanız her ne olursanız olun, isterseniz bilgisayarı açma ve kapatma tuşuna basmaktan öte bilmeyin yine de bunu başarabilirsiniz.
Yazılımcı olmak için çabalamak hatta diğer herşeyden çok daha fazla çabalamak gerekiyor. Önümüzde ki 50 yıl boyunca ölmeyeceğini düşündüğüm bir meslek. Eğer iyi bir yazılımcı olur, müşterinin sorunlarını giderecek projeler gerçekleştirirseniz 100 yıl ölmeyecek meslek.
Öğrenirken ne gibi sorunlarla karşılaştım yukarı kısımda kısa kısa aktardıklarımı açayım biraz.
İngilizce bir dil, ve görünüşte hepimiz İngilizce konuşabiliyoruz çat pat. Fakat sadece azim edenler ileri düzeyde bir İngilizle muhabbet edebilecek kadar konuşabiliyor. Yazılım dillerinin de bundan çok bir farkı yok, zaten adı da dil.
Birşeyin temelini öğrenmek gerekir ilk durumda. Bir yazılım dilinin (ne olursa olsun farketmez) temelini değişkenler, diziler, döngüler oluşturur. Yani bir dili öğrendiğinizde bütün dillerin temelini öğrenmiş sayılırsınız. Bütün yazılım dilleri kardeştir.
Temellerini öğrenirken çok kolay gelecek bu muydu yani diyeceksiniz. Sonra bir sonraki konuyu atlayıp bir kademe üste çıkıp fonksiyonlar, classlar kademesinde kendinizi bulacaksınız. Ordan da çarpı işaretine basıp sayfayı kapatıp ben bunu öğrenemem diyerek güveninizi kaybedeceksiniz.
Bunu yapmayın!
Öğrenmek istediğiniz dilin temellerini iyice kavrayın. Değişkenler bizim en iyi dostlarımız olacak, bir değişken oluştururken kurallarını bilin. Bir dizi nasıl oluşturulur öğreneceksiniz. Fakat yazılımda tek bir doğru yoktur. Farklı yöntemlerini de öğrenin. Dizi ne işime yarayacak demeyin, dizinin son elemanı nasıl alınır, dizideki eleman sayısı nasıl bulunur bunların hazır fonksiyonları mevcut bunları öğrenin.
String değişkenlerde nasıl arama yapılır, büyük harfe nasıl dönüştürülür, rastgele sayı nasıl oluşturulur bunları öğrenin hepsinin her dilde mevcut hazır fonksiyonları zaten var. İlk etapta bunları bilmeniz size hiç bir fayda sağlamayacak gibi gelebilir fakat ileri de bir tık ileri geçtiğinizde classları okumayı, kendi fonksiyonlarınızı sınıflarınızı oluştururken çok çok lazım olacak o nedenle sürekli olarak nasıl yapılacak düşüncesinden kurtulup böyle yapılır diyebilin ve kendinize güveniniz artsın.
İlk kodlarınızı yazdığınızda çoğu zaman hata kodlarıyla karşılaşacaksınız. Bunun nedeni çoğunlukla unutulan bir kapatma işareti yani kural hatası olacak. Bir oyunda iyi bir oyuncu olabilmek için o oyunun bütün kurallarını bilmelisiniz.
Hatalardan yılmamalısınız, hatalar sizi daha da perçinlemeli. Belki saliselik bir hata yüzünden günlerce geriye dönük çalışabilirsiniz fakat o hatayı bulduğunuzda aslında başardınız demektir. Bu nedenle yılmadan sıkılmadan hatanın nedenini aramaya devam etmelisiniz.
Binlerce kelime, yüzlerce cümle, onlarca paragraf daha yazabilirim fakat aslında ne demek istediğimi anladınız siz. Yılmayacak, pes etmeyecek ve sonunda mutlu sonuca ulaşacaksınız.
Hangi Yazılım Dilini Seçmeliyim ?
Bu sorunun cevabını yine siz vereceksiniz aslında. Ne yapmak istiyorsunuz ? endüstriyel bir program tasarlayıp fabrikalarla mı çalışmak, mobil uygulama geliştirip kendi işinizin patronu mu olamak, bilgisayar vb. video oyunları yazıp voleyi vurmak yada web programlara yaparak hayalinizdeki websitesini kendiniz mi kodlamak istiyorsunuz?
Eğer web programlara üzerine gidecekseniz Mysql ve PHP kankalar dünyanın en çok kullanılan web yazılım dilleridir. Alternatifi elbette olan bu dillerin en güçlü rakibi ASP.net diyebiliriz. Gerçi bu günlerde birde Pythonumuz çıktı piyasaya. Python öğrenmek her alanda işinize yarayacak yeni nesil bir dildir. Öğrenmesi de diğer dillere oranla daha kolaydır bu nedenle web programlama üzerine gidecekseniz Python, Html ve CSS dillerini öğrenmeniz işinizi kolaylaştıracaktır. Fakat dediğim gibi PHP dünya üzerinde bulunan sitelerin %80’i tarafından kullanılan bir dildir ve geçerlidir.
Eğer mobil kodlama yapıp uygulamalar oyunlar üzerinden gidecekseniz Java halen geçerli olmaya devam ediyor. Fakat şu günlerde bir de kotlinimiz var.
Video oyunları ile haşır neşir olacaksanız bu sefer tercih etmeniz gereken dil C++ ve C#’dır. Ayrıca C dilleri aracılığı ile bilgisayar programları üretebilir ve ticaretini yapabilirsiniz.
Son yorumlar