Java öğrenmek için başlangıç ​​noktası – bilmeniz gerekenler ve keşke bilseydim dediğim şeyler

Yayınlanan: 2020-04-14

Üniversite müfredatınızın bir parçasıysa, programlamaya başlamak daha kolaydır. O zaman hangi dili öğreneceğinizi, hangi argümanları atlayacağınızı ve hangi kavramlara daha fazla dikkat edeceğinizi seçmek zorunda değilsiniz.

Üniversiteye gittiğimde, öğrenilecek ilk programlama dili C idi, sonra profesörler bize C++ üzerine bir kurs verecekti ve daha sonra isterseniz Java, Python ve diğer dilleri alabilirsiniz.

Ancak, giriş seviyesi yazılım geliştiricilerle konuştuğumda, programlama eğitiminizi C ile başlatmanızı önermiyorum. Bunun yerine, genellikle Java öğrenmenizi öneririm – nedenine biraz sonra değineceğim.

Bana göre Java topluluğu öğrenme materyalleriyle dolu olsa da, yeni başlayan geliştiriciler sıklıkla bana "Peki, nereden başlamalıyım?" diye soruyorlar. veya “Teoriyi okumalı mıyım yoksa hemen kod yazmaya başlamalı mıyım?”.

Görünüşe göre, kendi başınıza kodlamayı öğrenmek kolay değil. Deneyimli bir geliştirici olarak, acemi akranlara yardım etmeye ve Java öğrenme eğrisinin tuzaklarında onlara yol göstermeye karar verdim. Bu gönderide, Java öğrenmede hangi uygulamaların ezber bozan olduğunu, birçok Java geliştiricisinin başarısız olduğu yerleri ve ustalaştığınız kavramları işyerinde nasıl uygulayacağınızı öğreneceksiniz.

Ama neden Java?

İlk içgüdünüz benimle bir tartışma başlatmak ve Python'un daha kolay olduğunu veya C'nin yazılım geliştirmeyi öğrenmenin daha geleneksel bir yolu olduğunu açıklamaksa, sizi temin ederim ki nereden gelebileceğinizi görüyorum.

Java'yı nesnel olarak görüyorum, dezavantajlarının farkındayım (biri için hız ve bellek verimliliği) - yine de, giriş seviyesi bir geliştirici olarak öğrenilecek daha iyi bir dil olmadığına inanıyorum.

Programlamada başlangıç ​​noktası olarak Java'yı bu kadar sevmemin nedeni şudur:

  • Java kavramları birden fazla programlama dili tarafından kullanılır. Nesne yönelimli programlama, yazılan değişkenler veya kontrol akışı, daha sonra C veya C++ ile çalışırken kullanabileceğiniz kavramlardır. Bir Python geliştiricisi yalnızca Python'da nasıl kod yazılacağını biliyorsa, Java ile diğer web ve mobil (biri için Kotlin, işlevselliğinin çoğunu Java'ya borçludur) arasında bir köprüye sahip olursunuz. Çok yönlülük açısından, Java'yı seçmek kesinlikle diğer tüm dillere göre bir kazançtır.
  • Java'da kodlama çok yönlüdür. İlk geliştirme diliniz için sadece size beceri ve iş kazandıracak kazançlı bir teknoloji istemiyorsunuz. Bunun yerine, eğlenceli bir sürüşte olduğunuzdan emin olmak sizin yararınızadır - ve Java tam olarak aradığınız şeydir. Yeni başlıyorsanız, daha az yazmanız gerektiği için C'nin daha basit olduğu hissi sizi rahatsız edebilir (daha sonra anlayacağınız gibi yanıltıcıdır). Ancak, programlama dili öğrenme günlerimi hatırladığım kadarıyla, başka hiçbir öğrenme deneyimi Java'ya müdahale etmekten daha iyi değil. Metin tabanlı RPG'ler, konsol tarafından yönetilen oyunlar ve çok daha fazlası gibi yaratıcılık ve örnek uygulamalar için çok fazla alan var. Bunun da ötesinde, tüm zorluk seviyeleri için projeler bulabilirsiniz - pratik öğrenmeye geçmeden önce aylarca teorik kavramları öğrenmeye gerek yoktur.
  • Yaygın olarak kullanılan dil. Bazen bu kadar basit – her şeyi yapmanıza izin verecek bir dil öğrenmek istersiniz ve Java'dan daha iyi bir şey yoktur. Dil, web uygulamaları, yazılımlar, Android projeleri ve dahili araçlar için mükemmeldir. Temel bir Java bilgisi edindikten sonra, az çok her şeyi yapabileceğinizi hissedeceksiniz. Elbette, JavaScript gibi komut dosyası dillerine müdahale etmek hala gerekli olacaktır - ancak, en azından Java'nın orta yeterlilik düzeyinde olduğunuzda, bir programlama dilini sıfırdan öğrenmek kadar korkutucu olmayacaktır.

Java Programlama İş Piyasası - Herhangi Bir İyi mi?

kod geliştirmeyi öğren
Resim: KnowTechie Mağazası

Java öğrenmek eğlenceli olabilir ama bildiğim tek dil buysa, işsiz ve açlıktan ölmez miyim?

Java, giriş seviyesi geliştiriciler arasında çok popüler olduğu için, herkesin onu nasıl kullanacağını bildiğini ve artık kimsenin programcı kiralamayacağını hissedebilirsiniz. Büyük olasılıkla, hazırlamanın klasik etkilerini yaşıyorsunuz - çok fazla şey gördüğünüz için bunun acı verici bir şekilde yaygın olabileceğini düşünüyorsunuz.

Makul düzeyde yetenekli bir geliştirici için çok iş olduğunu kanıtlamak için Java iş piyasası hakkında bazı istatistikler topladım:

  • Java, Stack Overflow'un en son anketine göre en üst sıradaki programlama dilidir;
  • Glassdoor'a göre, ABD'deki bir Java geliştiricisinin ortalama maaşı 79.137 dolar;
  • Gerçekten de şu anda mevcut olan Java geliştirme açılışlarının sayısı – 27.049

Teknoloji dünyasındaki genel eğilimleri - örneğin teknoloji yeteneğine yönelik artan talep ve Android cihazların artan yaygınlığı (Java yaygın olarak kullanılan bir Android geliştirme dilidir) gibi hesaba katarsanız, işlerinizin bitmediğini açıkça görürsünüz. yakın zamanda.

Bu nedenle, Java'yı denemeniz konusunda tereddüt etmek yerine, bir araya getirin ve dili bugün öğrenmeye başlayın.

Java öğrenme yolculuğumda keşke bilseydim dediğim şeyler

Java öğrendiğim günlerde, birkaç düzine eğitim, kitap ve resmi belge dışında yarısı kadar araç ve kaynak yoktu. Neden geliştiricilerin artık çok fazla kaynak olduğu için daha kolay olduğunu düşünüyorum, birçok giriş seviyesi kodlayıcının kafası karışıyor ve çeşitli araçlardan bunalıyor.

Yazılım geliştirme yeterliliği elde etmek için önceden belirlenmiş bir strateji olmamasına rağmen, burada birinin bana daha önce söylemesini dilediğim birkaç şey var.

1. Programlamayı değil, problem çözmeyi öğrenin

web geliştiricisi
Resim: Pexels

Öğreticilerden sonra öğreticilere göz gezdiren, kalıpları ve kavramları toplayan birçok yeni başlayan görüyorum. Ancak bu, Java sözdizimini öğrenmenize yardımcı olurken, yine de bir programcının zihniyetinden çok uzak olacaksınız.

Java eğitimlerini tamamladıktan ve becerilerimi iyi kullanmak zorunda kaldıktan hemen sonra kafam karıştı ve zorlandım. Uygulamaları hareketli parçalara ayırıp onları nasıl sıfırdan inşa edebileceğimi görmek yerine, her projeyi tırmanamayacağım yüksek bir dağ gibi görmeye devam ettim.

Şans eseri, bu arada, gerçek dünyadaki Java geliştirme konusunda daha özgüvenli olmaya yardımcı olan pek çok kaynak buldum:

  • Programcı Gibi Düşün - hangi dili öğreniyor olursanız olun bir geliştiricinin zihniyetini edinmenize yardımcı olan bir kitap
  • Codegym – teorik kavramların pratik uygulamasına vurgu yapan, özellikle Java öğrenimine adanmış bir platform. Bunun sayesinde, proje geliştirmeyi kolaylaştırmama yardımcı olan çok sayıda faydalı tüyo öğrendim.
  • Yığın Taşması – Burada gizlenme hakkında çok şey duyduğunuzu biliyorum – SO'dan kod parçalarını yapıştırmanızı tavsiye etmesem de, forumları gözden geçirmek kesinlikle sizi geliştiricinin zihniyetine bir adım daha yaklaştırıyor.

2. Yardımcı teknolojiyi hafife aldım

Her nasılsa, Java kitaplıklarının ve çerçevelerinin ne kadar yararlı olabileceği konusunda mutlu bir şekilde cahildim. Doğal olarak, yeni başlayan bir geliştirici olarak her şeyi kendi başınıza yapmak istersiniz - ancak bir günde yapabileceğiniz yalnızca bu kadardır ve kısayolları aramak genellikle çok önemlidir.

Java öğrenme yolculuğumu yeniden başlatacak olsaydım, dili eşleştirmek için bir araç seti seçerken çok daha titiz olurdum.

Geliştiricilerin kontrol etmesi için önerdiğim araçlar şunlardır:

  • JUnit – Java programcıları için uygun bir test aracı
  • JRat – geliştiricilerin ürünlerinin yürütülmesini izlemelerini sağlayan bir Java performans profili oluşturucu;
  • Mockito – Java ile alay etmeyi kolaylaştıran açık kaynaklı bir çerçeve;
  • Ehcache – Java programlama için özel olarak tasarlanmış bir önbelleğe alma aracı.

Java öğrenimi için en temel kütüphaneleri, çerçeveleri ve API'leri aşağıda listeleyeceğim.

3. Bir öğrenme planım yoktu

Öğreticilere ve çevrimiçi kaynaklara çok güvenerek Java'yı tamamen boş kafayla öğrenmeye başladım. Yolculuğum için bir zaman çizelgem, becerilerimi nasıl kullanacağım hakkında hiçbir fikrim ya da ayrıntılı bir günlük çalışma rutinim yoktu. Motivasyonum basit ve aptalcaydı - Java modaya uygun görünüyordu, kaçırılmış gibi hissettirdiğini bilmemek, öyleyse neden öğrenmiyorum?

Yazılım geliştirmeye başlıyorsanız, günün sonunda nereye varmak istediğiniz konusunda daha titiz olun. Aklınızdaki hedefin de sizi kör etmesine izin vermeyin – bir programlama dili öğrenmek, tam kapsamlı bir geliştirici olmak isteseniz bile, her zaman temel bilgilerle başlamalıdır.

Şu anda Java'yı sıfırdan öğrenmem gerekseydi, kabaca bu benim yol haritam olurdu:

JDK API'leri:

  • Java GÇ
  • Java Koleksiyonu
  • Java Eşzamanlılığı
  • Java 8

Java Çerçeveleri:

  • Bahar
  • bahar çizme
  • hazırda bekletme
  • mikronot
  • Eclipse Mikroprofil

Kitaplıkları Test Etme:

  • Salatalık – iş odaklı testleri kolaylaştırır
  • Robot Çerçevesi – entegrasyon testini optimize etmeye yardımcı olur
  • Birim testi için JUnity
  • Maket testi için Mockito.

Daha ayrıntılı bir Java geliştirme öğrenme modeli için aşağıdaki grafiğe bakın.

Gevşemediğimden ve ilerleme kaydettiğimden emin olmak için bu blokların her birine bir son tarih atardım.

Çözüm

Java öğrenmenin eğlenceli bir yolculuk olduğunu söylediğimde, öncelikle ustalaştıktan sonra hissedeceğiniz nostalji ve mutlu anılardan bahsediyorum. Sürece gelince, hem probleme doğru cevabı almanın en yüksek seviyesini hem de öğrenme kaynağınızın sizden ne istediğini anlamamanın en düşük seviyesini yaşayacaksınız.

Herhangi bir öğrenmede olduğu gibi, bir programlama dilinde ustalaşmak kan ter ve gözyaşıdır. Ancak, sabrettiğiniz ve Java'nın başlangıçtaki hantallığını aştığınız sürece, öğrenme süreci giderek daha zevkli ve daha az yorucu hale gelecektir.

Bu konuda herhangi bir fikriniz var mı? Aşağıdaki yorumlarda bize bildirin veya tartışmayı Twitter veya Facebook'a taşıyın.

Editörün Önerileri:

  • Bu 13 $'lık başlangıç ​​kursuyla JavaScript becerilerinizi hızlı bir şekilde başlatın
  • Java ile güncel kalmak için 9 deste öğrenmelisiniz
  • Java barındırma hakkında bilmeniz gereken 3 şey
  • Java programlama işletmeler için neden popülerdir?