Java Kitapları Üzerinde – İngilizce Kaynaklar
Sıklıkla Java kitapları hakkında sorular geliyor bana. Bu konuyu bilgim dahilinde biraz yazmak istiyorum ama önce bir şeyi hatırlatayım. Eskiden kitapları daha yakından takip ederdim çünkü o zaman bu kadar çok Java kitabı yoktu. (Geçen gün bir vesileyle yaptığım ufak bir araştırmada Amazon’da Java için 22,710, C++ için 7,322, Python için 3,975, C# için ise 5,016 kitap sonucu geldi. İngilzice dünyasında yayınlanmış bu kadar Java kitabını takip etmek için Oracle’da kütüphaneci falan olmak lazım.) Ama yine de Java’ya yeni başlayanlar içın bildiğim kadarıyla bir kaç şey söylemek isterim.
Burada bahsedeceğim kaynaklar, temel Java yani Java SE ile ilgili ve İngilizce olanlar, bunu baştan belirteyim. Türkçe kaynaklarla ilgili daha sonra yazacağım.
Java’ya baştan başlayacaklar için bence en iyi kaynak hala Java Tutorial‘dır. Malum bunun hakkında daha önce de bir şeyler yazmıştım. Tutorial olduğundan kendi kendine ögrenecekler için de nefis bir kaynaktır. İngilizcesi son derece basittir, örneklerini Netbeans projesi olarak çalıştırabilirsiniz. Java Tutorial sık sık güncellenmektedir, ara sıra ziyaret edip son halini indirebilirsiniz.
Java’yla bir süredir haşır- neşir olup da daha ciddi olarak, “nasıl”dan ziyade “neden”le ilgilenenler için Bruce Eckels’in “Thinking in Java“sı var aklımda. Bu kitap ilk çıktığında hem elektronik versiyonu erişilebilir durumdaydı hem de ciltli hali satıştaydı. Ve ben gidip satın alıp satır-satır çizerek okuduğumu hatırlıyorum. Muhtemelen Java ile ilgili beni en fazla doyuran kitap bu olmuştur. 4. ve son baskısı 2006 tarihli olan bu kitabı okumak zaman alır ama çok şey kazandırır. Bu kitabın 3. baskısı hala burada erişilebilir durumda. 4. baskısının ise bazı kısımlarına buradan erişebilirsiniz.
Malum, Eckels’in “Thinking C++” kitabı da klasikler arasındadır. Hatta kendisinin hem C++ hem de Java üzerine seminerleri var ve CD ile bu seminerleri satıyor. (Hatta ben zamanında $200’a bu CDleri satın almıştım. Henüz ABD’den yeni dönmüştüm ve bu ülkeyi daha pek tanımıyordum 🙂 Eminönü’ndeki alt geçitte baktım birileri bir sürü program vs. CDsi satıyor. Üzerinde Java yazanı sanırım 500 bin TLye satın aldım ve bilin bakalım içınden ne çıktı? Bruce abinin $200’a sattığı seminerleri 🙂 ) Dolayısıyla hem seminerleri hem de kitapları Internet’te elektronik formatta çok hızlı bir şekilde bulunabilir durumda. Sağlam Javacı olmak isteyenler, iyi bir nesne-merkezli anlayış geliştirmek isteyenler için bence düşünülmesi gereken bir kaynak.
Joshua Bloch’un “Effective Java” kitabı da vazgeçilmezler arasındadır bence. Etkin, temiz ve kaliteli Java kodu için kaçırılmamalı. Ama unutmayın bu kitap Java’yı bir kaç sene kullandıktan sonra okunmalıdır.
“Head First Java“yı ben okumadım ama çok methini duydum. Ben “Head First” terimini dilimize “lise öğrencileri için” diye çevirmeyi tercih ediyorum 🙂 Dolayısıyla kendi kendine öğrenim için çok uygun duruyor.
“Core Java” da taa Java’nın ilk günlerinden bu yana yayınlanan kitaplardan. Uzun süredir de 2 cilt olarak basılıyor ve şu anda 9. baskısını yapmış durumda. İki ciltte pek çok konuyu ayrıntılı olarak ele alıyor. Baştan sona okunacak bir kitap değil ama başvuru kaynağı olarak elinizin altında bulunabilir.
Java’da ilerleyen arkadaşlar, Java speclerini okumayı, en azından elinin altında bulundurup zaman zaman bakmayı düşünmeliler. Java SE’nin speclerine buradan ulaşabilirsiniz. Specleri okumak zordur ama en sağlıklı bilgiler de oradadır.
“The Elements of Java Style“, küçük bir cep kitabıdır ama elinizden düşüremezsiniz okumaya başlayınca. Clean Code yazmak için birebirdir. Araç kullanmıyorsanız, işe gidip gelirken serviste mesela bir kaç günde okuyup bitirirsiniz, sonraki 1-2 yılda da öğrendiklerinizi uygulamaya çalışırsınız.
Bir de Bilgisayar Mühendisliği (ABD’de Computer Science) bölümlerinde programlamaya giriş derslerinde Java ele alındığında kullanılan, daha akademik kitaplar var. Örneğin kitap fabrikası olan Deitel ailesinin “How To Program” serisinden olan “How To Program Java” kitapları. Hemen iki senede bir yeni versiyonu çıkan, ticari başarı için yarışan, gereksiz detaylı ve aşırı hacimli olmasından dolayı insanda “bitmez bu kitap” şeklinde bir his oluşturan bu tür kitapları açıkçası sevmiyorum da tavsiye etmiyorum da. Malesef ülkemizde, ABD’de de, bu kitabı kullanan bayağı bir okul var. Deitel’lerin kitabı aslen nesne kavramını son derece geciktiren bir yapıdaydı, bundan dolayı yenilerde “early objects” versiyonunu da çıkardılar. Bence bu tür sanırım sadece ders için okunur.
Java öğrenmeye daha sıkı giriş yapmak isteyenler sertifika sınavlarına yönelik yazılmış kitapları tercih edebilirler. Bu tip kitapların bol sorulu yapısının, programlama yapmayı öğretmekten ziyade sertifika sınavına hazırlamak amaçlı olduğunu unutmamak gereklidir.
Java’yı ya da bir başka programlama dilini öğrenmek için, konuşma ya da yazma seviyesinde olmasa da okuma seviyesinde bir İngilizceye ihtiyacınız vardır. (İşin açıkçası, Türkiye’deki imkanlarla, çok özel dil ve yazma yeteneğine sahip değilseniz ne yaparsanız yapın, akıcı şekilde konuşmanız çok zor, zaten gerek te yok bence.) İngilizce, öğrenmeyi ertelediğiniz her an size Java vb. teknolojileri öğrenme konusunda ayağınıza bağ olmaya devam edecektir. Halbuki teknik kitapları okuyacak derecede İngilizce öğrenmek çok zor değil. Bu yüzden, yaşınız ne olursa olsun, İngilizceye 1-2 senede biraz vakit ayırarak, bir şekilde halledin derim.
Okumak, okuyarak gelişmeye devam etmek malesef toplum olarak çok benimsediğimiz bir davranış değil. Habuki Java ve benzeri teknik konularda düzenli kitap okuyan kişi, bir topluluk içinde çok cabuk farkediliyor. Bol okuyan yazılımcılara ihtiyacımız var.
Toplam görüntülenme sayısı: 8620
hakan
25 Eylül 2014 @ 13:25
Siz de eğitimcisiniz Akın Bey, hazır java kitaplarından bahsetmişken siz de java derslerini baştan sona (en azından java se olarak) kitaplaştırsanız… 🙂
Akin
25 Eylül 2014 @ 13:36
Boyel bir yazi yazmanin en buyuk riski buydu zaten Hakan bey. Kardesim sne niye yazmiyorsun? denilmesi.
Haklisiniz. Insallah.
Tesekkurler.
Ali Erkan
25 Eylül 2014 @ 13:41
Akın hocam, Herbert Schildt’in Java: A Beginner’s Guide da bence yeni başlayanlar için çok iyi bir kitap. Ben 3.versiyonunu okumuştum. Çok güzel ve düzgün şekilde konular açıklanmış.
Akin
25 Eylül 2014 @ 13:48
Sagol Alicigim. H. Schildt zaten bu dunyanin eskilerinden. Ben onun C kitabini kullanmistim bir zamanlar.
ilhan Demirtepe
25 Eylül 2014 @ 23:24
introduction to java programming daniel liang kitabı yeni başlayanlar için çok guzel hocam gerek çozumlu sorular gerekse bolumsonu sorul sayısı baya fazladır.
Akin
25 Eylül 2014 @ 23:35
Super, tesekkur ederim bilgi icin. Bu yaziyi okuyanlara faydali olur sizlerin tecrubeleri.
İlker
26 Eylül 2014 @ 00:07
Hocam bil. müh. okuyorum bu javayı okulda hiç anlayamadım bana sıfırdan yardımcı olabilecek bir kitap önerebilir misiniz (okulda how to java kullanıyorduk)
Akin
26 Eylül 2014 @ 00:09
Java Tutorial 🙂 bence sifirdan ogrenmek icin iyi bir kaynak.