Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
JavaMakaleYazılım Mühendisliği

Java’yı Nasıl Öğrendim?

Paylaş

10312629_10152490043223938_6432979453490371210_n

İçindekiler

Toggle
  • Java’ya Hazırlık
  • Java’ya Merhaba
  • Java’da Pratikleşmek
  • Java OOP
  •  Java Denizi
  • Java Açık Kaynak Felsefesi

Bu yazıya başlamadan önce Bir Yazılımcı Nereden Başlamalı adlı yazımı okumanızı öneririm. 

En çok sorulan soruya detaylıca cevap vermek için bu yazıyı yazma gereği duydum.

Java Programlama Dili’ni keşfetmek öğrenmek isteyenlere yol gösterici olması açısından, kendi deneyimlerimi aktararak yardımcı olmaya çalışacağım.

Java’ya Hazırlık

Öncelikle bilmeniz gereken Algoritma’dır. Algoritma biliyorsanız diğer başlıklara geçebilirsiniz. Algoritma sadece Java’nın değil tüm programlama dillerinin temelini oluşturmaktadır. Algoritma kurma yeteneği ne kadar gelişmişse problem çözme yeteneği ve bu poblemi ortadan kaldırıcı yazılımlar yapma işlemi kolaylaşır ve kaliteleşmeye başlar. Algoritmanın yanında matematik, analiz de önemlidir. Matematiğin önemi yazılama yeni adım atan ve “amatör” olarak adlandırılanlar için ilk başta bir şey ifade etmeyebilir ancak ileri seviye programlamalarda katkısı oldukça yüksektir.

Java’ya Merhaba

Java hakkında bilgi edinmem gerekiyordu. Bu bilgi Java’nın kullanım alanları, nasıl bir yapıda olduğu yani kısaca Java’nın ne olduğunu öğrendim. Öğrenmem gerekiyordu çünkü kendimi yenilemem gerekiyordu. O meşhur soruyu bende sordum. “Java öğreneceğim hangi kitabı tavsiye edersiniz?” herkes kendi kitabını söyledi, yorumlar yorum üstüne iyice kafam karıştı. Kendi öğrenme şeklime uygun bir kitap olmalıydı. Öğrenirken daha çok pratik yapabileceğim. Bir ünite hakkında temel bilgileri verdikten sonra detaylıca bol örnekli bir kitap olmasını istedim. Çeviri olmamasına dikkat ettim. Çeviri kitap istemememin sebebi başka kitaplarda yaşadığım talihsizlikler yüzünden. Öğrenme aşamasında eksik yanlış çeviri yüzünden hata yapmak istemezdim. Kendime göre en uygun kitap Kim Korkar Java‘dan oldu. Çok ama çok güzel şekilde anlatılmış ve bol örnek olması pratiğimin gelişmesine katkı sağladı.

Java’da Pratikleşmek

Mantığını ve temel Java’yı öğrendikten sonra bir proje yaparak deneyim sağlamaya başladım. Bir Swing projesi olacaktı. Bu Swing projesinde herhangi bir veriyi veritabanına kaydetmek, silmek güncelleme işlemlerini öğreneceğim gibi Swing uygulaması ile Desktop App’a adım atarak Java’nın derinlerine girmeye başladım. Bu aşamada herhangi bir kitap almadım. Swing gelip geçici bir hevesti Java’yı öğrenmek için basit bir adım. OOP ye  yönelmeden veritabanı işlemlerini kullanabileceğim fonksiyonlar oluşturarak pratiğimi tamamladığımı düşündüm.

Java OOP

Nesneye yönelimli programlama bilmek şart, profesyonel bir biçimde çalışmanın şartı. Bu mantığı anlamak adına Swing ile yaptığım uygulamayı OOP olarak yapmaya başladım. İnternetten bulduğum yerli ve yabancı kaynaklı yazıları buldum örnekleri inceledim. İncelediğim örnekleri kendi projeme nasıl uyarlayabilirim oldukça dikkatli davranarak yapmaya çalıştım. Bu arada bilmediğim takıldığım yerleri sorma ihtiyacında ise sosyal kanallardan dilediğim cevaplarıda aldım. Bu anlamda sosyal medya’da ki yeriniz de çok önemli yazılım camiasında az da olsa nazım geçtiği için sorularıma cevap bulabildim. Çok pratik yaptım bu aşamada özellikle birden fazla uygulama geliştirmeye çalıştım. Hala deneyim açısından aklıma geldikçe bazı kodlar yazmaya çalışırım. Bu noktayı iyi kavramak Java’da herşeyi kolaylaştırıyor.

 Java Denizi

Hatta okyanus demeyelim. Pratiğimi arttırdıkça neler yapabilirim diye düşünmeye Java Teknolojilerinde kendime en uygun dalın ne olduğunu araştırmaya başladım. Java’nın eşsiz dünyasında kendime yer kapmak oldukça zor oldu. Java Teknolojilerinin ne olduğunu anlamam neden bu kadar çok kavram olduğunu öğrenmem de çileli oldu.  JavaSE , J2ME, Java EE, JSF, JSP, JDBC gibi daha bir çok kavramı hazmetmem zaman aldı diyebilirim.  Java öyle bir dil ki her ihtiyaça bir çözümü var ve o yüzden bu kadar derya deniz. Ayrıca açık kaynak olması Java kullanan milyonlarca insanın Java Dünyasına katkı sağlama isteği oldukça büyüyen, büyüdükçe de durmayan bir dünya.

Bu dünyanın içine girdikçe Türkçe kaynak gitgide azaldı. İngilizce’nin önemi ortaya çıktı. Belli bir yere kadar Türkçe kaynak bulabildim ancak ilerisinde hep ingilizce kaynaklara yöneldim ve sorularımı ingilizce olarak yöneltmek durumunda kaldım.

Java Teknolojilerinde Web teknolojisini seçtim. Bir Türkçe kaynak aldım. Sadece bir sayfasına baktım ve o kitabı daha da açmadım. (Kitabın ismini sormayınız.) İnternetteki kaynaklardan yola çıkarak yine bir proje yaparak Java Web Teknolojilerine adımımı attım. Deneyim kazanmaya başladıkça daha çok kaynak ihtiyacı hissettim ve ingilizce bir kaynak aldım. Bu kaynağı yaladım yuttum diyebilirim. Örneklerini adım adım yaparak, bakmadan yaparak ve adım adım çalışmasını izleyerek öğrendim okudum.

Web teknolojisi derken nelerden bahsettiğimi biliyorsunuz zaten. Java Server Pages ve Java Server Faces ve Servlet’ten bahsediyorum hatta PrimeFaces’dan . İlk öğrenme sürecim JSP ile başladı. JSP’den sonra Servlet’ler ile çalıştım. Servlet’ler de çok oyalandım diyebilirim. Ardından JSF çalışmalarına başladım. Ve olmazsa olmaz Hibernate ile ilgilenmek durumunda kaldım.

Java Açık Kaynak Felsefesi

Java ya da herhangi bir programlama dili elbet öğrenilir ancak Java’nın bana en büyük katkısı paylaşma isteğimi daha çok artmasına katkı sağladı diyebilirim.

Java Dünyası’na girdikten sonra beni heyecanlandıran güzelliklere denk geldim. O da adını hep duyduğum ama tam olarak ne olduğu hakkında tam bir fikrim olmadığı “Açık Kaynak Felsefesi” oldu. Topluluklar ihtiyaçlarına göre kütüphanelerin geliştirildiği, ihtiyacın olduğu anda kendi projenize dahil edebildiğiniz gibi kullanım amacınıza yönelik değiştirebileceğiniz bir felsefe ile karşılaştım. Bu felsefe ile paylaşmanın önemini de gittikçe kavradım. Paylaşmak bilginin çığ gibi büyümesine bilgi havuzundan içtikçe doymanızı sağlayan bir şey olduğunu Java ile fark ettim diyebilirim.

Uzun Lafın Kısası

Uzun lafın kısası aslında çok çalışmak, bıkmadan hemde. Severek çalışmanında etkisi çok büyük. Programlama dili öğrenmek kolay iş. İlerisinde deneyim kazanmak ve kendini ispatlamak en zor olanı. Bu zor olanı başarmak için çok okumak, her bilgiyi öğrenme isteği yani merak etmekte çok büyük etken.  Algoritma yeteneğiniz varsa öğrenilmeyecek bir programlama dili yok. Kendinize asıl sormanız gereken soru aslında herhangi dili öğrenirken yeteri kadar sabrınız var mı? Takıldığınız konularda sabırla çözmeye çalışmak, sorularınıza cevap bulamadığınızda sinirlenmek yerine sabredip öğrenmeye çalışmak.

Java Teknolojilerinde  hala öğrenmeye, bu adımları tekrar ederek kendimi geliştirmeye devam etmekteyim/edeceğim. Öğrenmenin sonu yok hele yazılımcıysanız.

Paylaş

Diğer Yazılar

Java Server Pages Kitap
Previous

Java Server Pages Kullanıcının IP Adresi Almak

blank
Next

Linux’de Program Kaldırmak

Next
blank
03 Temmuz 2014

Linux’de Program Kaldırmak

Previews
04 Haziran 2014

Java Server Pages Kullanıcının IP Adresi Almak

Java Server Pages Kitap

22 Comments

  1. Ahmet dedi ki:
    16 Haziran 2014, 11:43

    Çok güzel bir yazı olmuş Burak. Java dünyasına uzak .Net Framework dünyasından biri olarak öğrenme süreçlerindeki ortak ve farklı noktaları öğrenme şansı buldum. Keyifliydi, tebrikler.

    Yanıtla
    1. Burak dedi ki:
      16 Haziran 2014, 11:57

      Teşekkür ederim. Ahmet bey.

      Yanıtla
  2. ali dedi ki:
    16 Haziran 2014, 23:57

    Teşekkürler burak hocam bir kaç sorum olacaktı;
    1.Java web teknolojileri ile ilgili aldığınız ingilizce kaynak hangisi idi?
    2.Java temelinden sonra yaptığınız swing projesi hakkında bilgi verebilir misiniz daha başka proje örnekleri önerebilir misiniz?
    3.Jsf ile ilgili nasıl bir proje yada projeler yaptınız örnek olarak bir kaç tane söyler misiniz?

    Biraz uzun oldu sorularım cevap verirseniz mutlu olurum malum sormadan öğrenilmiyor…

    Yanıtla
    1. Burak dedi ki:
      17 Haziran 2014, 08:30

      Merhaba Ali. Java ile aldığım yabancı kaynaklı kitaplar şöyle, JAVASE için sunsoft Press Core JAVA. JSP için o’reilly 3 second. Jsf ise Core Jsf Prentice Hall.
      İkinci sorunun cevabı aklınıza ne gelirse. Gelir gider defteri olur, stok takip olur amaç sadece pratik yapmak olsun.
      Son sorunuz ise JSF için ilk yaptığım şey Telefon rehberi oldu. Sonra bir günlük uygulaması yaptım. En sonda kendim için diyet takibi diye bir program yaptım.

      Umarım yeterli bir cevap verebilmişimdir.

      Yanıtla
  3. hakan dedi ki:
    17 Haziran 2014, 09:34

    Yazin icin cok tesekkurler,Cok kaliteli ve gereken turden bir yazi olmus bu tur yazilarin cok olmasi dilegi ile 🙂 Bir sorum var Servelt+JSP islemlerine girmeden direk JSF+Primeface(video egitimi var mimar aslan)+hibernate uzerinden gidilebilir mi? Bu kodu hakkinda cok farkli yorumlar aldim birde size sormak istedim tesekkurler 🙂

    Yanıtla
    1. Burak dedi ki:
      17 Haziran 2014, 09:41

      Hakan bey değerli yorumunuz için teşekkür ederim. Sorunuza gelince Servlet JSP konularına girmeden JSF’e giriş yapan arkadaşlarımın sayısı oldukça fazla. Ancak ben temelin öğrenilmesinden yanayım. JSF kullanırken bazı durumlarda Servlet’ler ile uğraşabilirsiniz. JSP olmasa da Servlet kesinlikle bilinmeli. Yani JSF den direk başlasanız bile, muhakkak öğrenme sürecinde Servlet’ler hakkında bilginiz olsun.

      Yanıtla
  4. C.Emre ÖZ dedi ki:
    18 Haziran 2014, 01:01

    Merhabalar Burak bey, Delphi’ye uzun yıllarını ve emeğini vermiş ve hala kopamamış ama artık yavaş yavaş JAVA’ya hatta JAVA’nın üstünden atlayıp direk vaadin’e dalmaya çalışan biri olarak yazınızı ve yazınızdan daha çok sitenize hayran kaldım. Elinize kolunuza sağlık.

    Yanıtla
    1. Burak dedi ki:
      18 Haziran 2014, 09:13

      Emre bey, Değerli yorumunuz için çok teşekkür ederim. Ufak bir katkım olduysa ne mutlu efendim.

      Yanıtla
  5. hilal dedi ki:
    18 Haziran 2014, 17:10

    elinize saglık da yani sizce herhangi bi kursa vs. gitmeye gerek yokmu kendi kendinize mi ögrendiniz tamamen ayrıca bilgisayar mühendisi ögrencisi falan mısınız ?

    Yanıtla
    1. Burak dedi ki:
      18 Haziran 2014, 17:33

      Ne olduğum, ne yaptığım Hakkımda bölümünden öğrenebilirsiniz.

      Yanıtla
  6. selim dedi ki:
    10 Temmuz 2014, 17:24

    Hocam tüm bu anlattıklarınıza dayanarak kaç aylık bir süreçten bahsediyoruz?

    Yanıtla
    1. Burak dedi ki:
      10 Temmuz 2014, 17:56

      Yaklaşık 1 sene diyebilirim ama hala öğrenme aşamasındayım tam olarak öğrendiğimi hiç bir zaman düşünmüyorum Selim bey.

      Yanıtla
  7. FUrkan dedi ki:
    08 Aralık 2014, 03:29

    Değerli bilgileriniz için teşekkür ederim Hocam. Şöyle bir sorum olacaktı size.

    Java EE ile web üzerine değilde masaüstü üzerine ilk olarak yönelmek istiyorum bunun için Java EE ‘ nin hangi bölümlerini izlemeyelim bunu anlayamadım bir türlü.Yardımcı olabilir misiniz? yada bir kılavuz gösterebiliri misiniz?

    Yanlış birşey söylediysem affola..

    İyi Çalışmalar Hocam,

    Yanıtla
  8. Ahmet dedi ki:
    10 Ocak 2015, 14:11

    Hocam ben bilgisayar mühendisliği öğrencisiyim, alan derslerimin çoğunda java yazıyoruz, java ya ilgi duyuyor ve kendimi sürekli geliştirmek istiyorum. Yazınız bana dahada fazla gaz verdi diyebilirim öncelikle yazınız için teşekkür ederim. Hocam ben kendimi Java da mobil platform da geliştirmek istiyorum tavsiyeleriniz ve önerileriniz benim için önemli ve düşüncelerinizi merak ediyorum. bu konuda tavsiye ve önerileriniz nelerdir?

    Yanıtla
  9. Gökhan dedi ki:
    27 Mart 2015, 23:07

    Yazınızın katkısı çok büyük oldu gerçekten JSE ‘ yi bende sizin gibi okulum aracılığıyla öğrendim. Saten OOP bilgim lise’den gelmekte bunu iyice Java ile pekiştirdim. Okulum microsoft teknolojilerine yönelsede ben kendimi java’da geliştirme sürecine girmek istiyorum. iş hayatına atılmadan önceki son yılım diyebilirim.Bende JAVAEE ye nerden başlayacagımı bi türlü bilemedim yazınızla beni aydınlattınız çok teşekkür ederim.Sizin takip ettiniz yolu takip edeceğim.

    Meslek hayatınızda başarılı olmanız dileğiyle..

    Yanıtla
  10. Samet dedi ki:
    29 Nisan 2015, 01:34

    Merhabalar,
    yazınız çok hoşuma gitti. Şu an ben de java öğrenmeye ve kendimi bu alanda geliştirmeye adadım:)
    Elektrik elektronik mühendisliği okuyorum ama mikrodenetleyiciler olsun, mikroişlemciler olsun gözüm hep işin yazılım tarafında.
    Kalemine sağlık.

    Yanıtla
  11. Enes dedi ki:
    19 Mayıs 2015, 12:54

    Merhaba. JSP için host bulmakta sıkıntı çekiyor musunuz? Fazla kullanılmadığı için hiç bulaşmak istemiyorum aslında. Beni ikna edebilir misiniz?

    Yanıtla
  12. Burak Mestan dedi ki:
    11 Temmuz 2015, 06:17

    Hocam yazınız çok güzel benim içinde rehber oldu ki ben de kim korkar javadanı aldım başladım çok memnun ilerliyorum.

    Javayı isteme nedenim daha çok android .. sizce android yazılımları için ne düzeyde java bilgisi gerekli ? yani atlayıp sonra devam edebilceğim kısımlar var mı ? Mesela biri sanırım GUI. androidin farklı olduğu için gerekli olduğunu düşünmüyorlar ?

    Kısacası amacım java eğer temel düzey olarak android için yeterliyse javanın temel düzeyini iyice kavrayıp androide geçip sonraki adımlarda java bilgimi daha da geliştirmek istiyorum sizce doğru yol bu mudur ?

    Yanıtla
  13. Levent Yıkılmaz dedi ki:
    08 Eylül 2015, 06:56

    Bu yararlı bilgiler için teşekkür ederim. Keyifle okudum.

    Yanıtla
  14. Serdar Deniz dedi ki:
    11 Haziran 2016, 22:31

    Fikirlerin ve düşüncelerin yeni başlayanlar için yol gösterici olmuş. Java güzel bir dil.

    Yanıtla
  15. hakkı dedi ki:
    17 Haziran 2018, 17:45

    Merhaba çok yeniym bu konularda swing gibi arayüzler ile oop aynı şeyler değilmi acaba bu konuda bilgilendirebilirmisiniz?

    Yanıtla
  16. bamgümdestroyer dedi ki:
    04 Ekim 2018, 13:46

    çok yardımcı oldu yayınladığın için teşekkür ederim şuan yazılım bölümünde okuyorum a++ ile geçtim

    Yanıtla

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Java 24 Stream Gatherers Nedir Uygulama Örneği JEP 485

Java 24 Stream Gatherers Nedir?

Java Multithreading Nedir

Java CountDownLatch Nedir?

Java'da Referans Türleri (Strong, Phantom, Soft, Weak Reference )

Java’da Referans Türleri (Strong, Phantom, Soft, Weak Reference )

Java 21 Virtual Threads Özelliği Nedir? Uygulama Kod Örneği

Java 21 – Virtual Threads Nedir? Virtual Threads Uygulama Örneği

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Node.js
Java 24
Android
Struts
Röportaj
Gradle
Amazon Web Services
Vue.js
Video
Redis
Spring Boot 3.0
Debezium
Mikroservis Mimarisi
Spring Native
Spring Cloud Stream
Etkinlikler
XCode
JPA
Objective C
iPhone Uygulama Geliştirme
PostgreSQL
Spring Security
MongoDB
Java 21
Spring Data
Apache Kafka
Yaptığım Projeler
Servlet
Git
Maven
Design Patterns
DevOps
Linux
Spring Jdbc Template
RabbitMQ
JDBC
PrimeFaces
Manset
Google
Spring
Spring MVC
Spring Cloud
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Java SE
Tanıyalım
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Etkinliklerim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • RabbitMQ
  • Hibernate
  • JSP
  • Java 21
  • Java 8
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale