Sonuç olarak dil olayına takılmama konusu önemli. Yoksa hangimize sorsan her birimiz ayrı dil öneririz eminim ki. Programlama öğrenmenin en zor taraflarından biri de, sana önerilen diller, teknolojiler, kitaplar ve metodlar arasından senin üzerinde en iyi çalışanlarını bulmaktır. Bu yüzden de bir miktar deneme yanılmaya hazır ol
Bu deneme yanılma konusundan nasibini almış birisi olarak geç bile olsa birkaç ekleme de ben yapayım. 6510 assembly'den sonra bir süre C ile uğraştıktan sonra programlamaya ara vermiştim, hemen sonrasında bir yakınımdan gelen ricayla da PHP öğreniverdim. Benim açımdan şaşırtıcı ama ilk doğru düzgün kod yazabildiğim ve sonunda ortaya işgören bir yazılım çıkartabildiğim dil yine PHP oldu.
İşe şununla başlamıştım:
http://tvertne.org/tmp/oop/PHP_101_by_Zend.pdf (bu da güncellenmiş versiyonu:
http://devzone.zend.com/6/php-101-php-for-the-absolute-beginner/), sonrasında gerçekten hem çeviri hem de mantık açısından gerçekten kötü birkaç Türkçe kitabı referans kullanarak ilerledim, sonunda da ani bir aydınlanmayla php.net ve google aramaları ile devam ettim (kısacası Amerika'yı yeniden keşfettim). İki bilgisayarlı bir ofiste yazılım mühendisliğinin bütün harikalarından uzak ve OOP'nin yalnızca P'sini düstur alarak iki ayımı verdikten sonra, tamam oldu galiba diyebildim
. Bir kısmı halen çalışan o kodlara utançla karışık bir sempati besliyorum, Skate'nin Zamazingo'larını anımsatan pek çok satırım var açıkçası:).
nightlord'un özellikle kalınlaştırdığım satırına gelirsek ise zaman içerisinde dil/platform/öğrenme metodları arasındaki deneme yanılma kaynaklı gelgitlerin bana çok yararı da oldu. Evet artık programlamayı becerdim dediğim PHP'den C'ye döndüğümde daha önceden anlamadığım ve beceremediğim birkaç konuyu rahatça kodladım (bilhassa for döngüsünü C ile çalışırken kafamın almadığını fark ettim, öncesinde işlevi kavramadan ezbere kuruyormuşum döngüyü diyebilirim). Assembly'de uzun uzun okuyup anlamaya çalıştığım adresleme modları konusu C'de pointerler ile uğraşırken yardımcı oldular. Yine özel bir eğitimde PHP'de debugging anlatılırken "aaa VICE monitor ile yaptığım şey, hımm" deyip hemen konuya dalabilmiştim (o dersten önce debugging ile işim olmamıştı
).
Bu kadar uzun yazdığıma göre halen bu dil konusuna takılmışım sanırım
yukarıdan da zaten yazacağım sonuç çıkıyor, bilhassa ilk defa programlama öğrenmek isteyenlere ben PHP öneriyorum; yukarıda adı geçen dillerin yaptığı pek çok işi gerçekleyebiliyor olsa da platform, kurulum ve kullanım açısından yeni başlayanlar için zorlayıcı olabilir. Temelinden daha fazla bilgim yok ama sanırım Python bu konuda daha iyi olabilir, (Windows'ta) next next next kolaylığında kurulabiliyor ve kafa + göz yormayan basit bir interpreter/editor ile hemen çalışır hale geliyor. Python için şu Türkçe kaynağı önerenler oldu, şahsen bir garanti vermiyorum:
www.istihza.comKendim şu sıralar arada sırada açıp JavaScript kurcalıyorum, sanki fazla "serbest" bir dil ama
http://www.codecademy.com/ sitesinde programlamaya başlangıç için kullanılıyor. (Sanırım web'in C eşleniğine dönüştü bu dil.)
Favori doktorum Tennant'tır
.
Ek: Doktor, JS falan derken asıl vurgulayacağım şeyi unutmuşum. Programlamadan önce nightlord zaten linklerini vermiş ama bilgisayar mimarisi, sayı sistemleri, hafıza konularını anlamadan da olsa birkaç defa okumak inanılmaz fayda sağlıyor, birincisi bu. İkincisi yine bu konu altında da mesajları olan kimilerinin daha önce de sık sık yazmış olduğu gibi "kod okumak" önemli bir ayrıntı. Bir de Ref ilk mesajlarından birisinde dediği gibi; programlama forumda soru-cevap şeklinde öğrenilecek bir uğraş - iş değil diye düşündüğümü ekleyeyim (en azından bu metod
benim üzerimde çalışmadı).