จุดเริ่มต้นของการเรียนรู้ Java – สิ่งที่คุณควรรู้และสิ่งที่ฉันอยากให้รู้
เผยแพร่แล้ว: 2020-04-14การเริ่มต้นเขียนโปรแกรมจะง่ายขึ้นหากเป็นส่วนหนึ่งของหลักสูตรของวิทยาลัย จากนั้น คุณไม่จำเป็นต้องเลือกภาษาที่จะเรียนรู้ ข้อโต้แย้งใดที่จะข้าม และแนวคิดใดให้ความสนใจมากกว่า
เมื่อฉันไปวิทยาลัย ภาษา C เป็นภาษาการเขียนโปรแกรมภาษาแรกที่เรียนรู้ จากนั้นอาจารย์จะให้หลักสูตรเกี่ยวกับ C++ แก่เรา และหลังจากนั้น คุณสามารถเลือก Java, Python และภาษาอื่นๆ ได้หากต้องการ
อย่างไรก็ตาม เมื่อฉันพูดคุยกับนักพัฒนาซอฟต์แวร์ระดับเริ่มต้น ฉันไม่แนะนำให้เริ่มการศึกษาด้านการเขียนโปรแกรมด้วยภาษาซี แต่โดยทั่วไปแล้ว ฉันแนะนำให้เรียนรู้ Java – ฉันจะอธิบายให้ฟังว่าทำไมในภายหลัง
แม้ว่าในความคิดของฉัน ชุมชน Java จะเต็มไปด้วยสื่อการเรียนรู้ แต่นักพัฒนามือใหม่มักถามฉันว่า "ฉันจะเริ่มจากตรงไหนดี" หรือ "ฉันต้องอ่านทฤษฎีหรือเริ่มเขียนโค้ดทันทีหรือไม่"
เห็นได้ชัดว่าการเรียนรู้โค้ดด้วยตัวเองไม่ใช่เรื่องง่าย ในฐานะนักพัฒนาที่ช่ำชอง ฉันตัดสินใจช่วยเพื่อนมือใหม่และแนะนำพวกเขาเกี่ยวกับข้อผิดพลาดของเส้นโค้งการเรียนรู้ Java ในโพสต์นี้ คุณจะพบว่าแนวทางปฏิบัติใดเป็นตัวเปลี่ยนเกมในการเรียนรู้ Java ที่ซึ่งนักพัฒนา Java จำนวนมากล้มเหลว และวิธีตรวจสอบให้แน่ใจว่าคุณได้นำแนวคิดที่คุณเชี่ยวชาญไปใช้ในที่ทำงาน
แต่ทำไมจาวา?
ถ้าสัญชาตญาณแรกของคุณคือการเริ่มโต้วาทีกับฉันและอธิบายว่า Python ง่ายกว่าหรือ C เป็นวิธีดั้งเดิมในการเรียนรู้การพัฒนาซอฟต์แวร์ ให้ฉันรับรองกับคุณว่าฉันเห็นว่าคุณจะมาจากไหน
ฉันเห็น Java ในสิ่งที่เป็นจริง ตระหนักถึงข้อเสียของมัน (ความเร็วและประสิทธิภาพหน่วยความจำสำหรับหนึ่ง) อย่างไรก็ตาม ฉันเชื่อว่าไม่มีภาษาใดที่ดีไปกว่าการเรียนรู้ในฐานะนักพัฒนาระดับเริ่มต้น
นี่คือเหตุผลที่ฉันชอบ Java เป็นจุดเริ่มต้นในการเขียนโปรแกรม:
- แนวคิดของ Java ถูกใช้โดยภาษาโปรแกรมหลายภาษา การเขียนโปรแกรมเชิงวัตถุ ตัวแปรที่พิมพ์ หรือโฟลว์การควบคุม เป็นแนวคิดทั้งหมดที่คุณสามารถใช้ในภายหลังเมื่อทำงานใน C หรือ C++ หากนักพัฒนา Python รู้วิธีเขียนโค้ดใน Python เท่านั้น คุณจะมีสะพานเชื่อมระหว่าง Java กับเว็บและมือถืออื่นๆ (Kotlin มีฟังก์ชันมากมายสำหรับภาษา Java) ในแง่ของความเก่งกาจ การเลือก Java เป็นชัยชนะเหนือภาษาอื่นๆ อย่างแน่นอน
- การเข้ารหัสใน Java นั้นหลากหลาย สำหรับภาษาการพัฒนาภาษาแรกของคุณ คุณไม่เพียงแค่ต้องการเทคโนโลยีที่ให้ผลกำไรที่จะช่วยให้คุณมีทักษะและได้งานทำ ในทางกลับกัน คุณควรแน่ใจว่าคุณพร้อมจะขี่รถอย่างสนุกสนาน และ Java คือสิ่งที่คุณต้องการอย่างแท้จริง หากคุณเพิ่งเริ่มต้น ความรู้สึกที่ C ง่ายกว่าเพราะคุณต้องพิมพ์น้อยลงอาจหลอกหลอนคุณ (มันทำให้เข้าใจผิดตามที่คุณจะเข้าใจในภายหลัง) อย่างไรก็ตาม เมื่อฉันจำวันที่เรียนภาษาโปรแกรมของฉันได้ ไม่มีประสบการณ์การเรียนรู้อื่นใดที่จะสำคัญไปกว่าการแทรกแซงใน Java มีพื้นที่เหลือเฟือสำหรับความคิดสร้างสรรค์และแอปพลิเคชันตัวอย่างในการสร้าง ไม่ว่าจะเป็น RPG แบบข้อความ เกมที่จัดการคอนโซล และอื่นๆ อีกมากมาย ยิ่งไปกว่านั้น คุณสามารถค้นหาโครงงานสำหรับระดับความยากทุกระดับ ไม่จำเป็นต้องเรียนรู้แนวคิดเชิงทฤษฎีเป็นเวลาหลายเดือนก่อนที่จะไปสู่การเรียนรู้ภาคปฏิบัติ
- ภาษาที่ใช้กันอย่างแพร่หลาย บางครั้งมันก็ง่ายอย่างนั้น - คุณต้องการเรียนรู้ภาษาที่ให้คุณทำอะไรก็ได้ และแทบไม่มีอะไรดีไปกว่า Java ภาษานี้เหมาะสำหรับเว็บแอป ซอฟต์แวร์ โครงการ Android และเครื่องมือภายใน หลังจากได้รับ Java พื้นฐานแล้วคุณจะรู้สึกว่าคุณสามารถทำอะไรได้ไม่มากก็น้อย จริงอยู่ การแทรกแซงในภาษาสคริปต์เช่น JavaScript ยังคงมีความจำเป็น – อย่างไรก็ตาม มันจะไม่น่ากลัวเท่ากับการเรียนรู้ภาษาโปรแกรมตั้งแต่เริ่มต้น เมื่อคุณมีระดับความเชี่ยวชาญ Java ระดับกลางเป็นอย่างน้อย
ตลาดงานการเขียนโปรแกรม Java – มีดีอะไรไหม?
การเรียนรู้ Java อาจสนุกและทั้งหมด แต่ฉันจะไม่ว่างงานและหิวโหยหรือไม่ถ้าเป็นภาษาเดียวที่ฉันรู้
เนื่องจาก Java เป็นที่นิยมในหมู่นักพัฒนาระดับเริ่มต้น คุณอาจรู้สึกว่าทุกคนรู้วิธีใช้งาน และจะไม่มีใครจ้างโปรแกรมเมอร์อีกต่อไป เป็นไปได้มากว่าคุณกำลังประสบกับเอฟเฟกต์แบบคลาสสิกของไพรเมอร์ โดยคิดว่าเพราะคุณเห็นบางสิ่งมากมาย มันอาจจะเป็นเรื่องธรรมดาที่เจ็บปวด
ฉันรวบรวมสถิติบางอย่างเกี่ยวกับตลาดงาน Java เพื่อพิสูจน์ว่ามีงานมากมายสำหรับนักพัฒนาที่มีทักษะพอสมควร:
- Java เป็นภาษาการเขียนโปรแกรมที่มีอันดับสูงสุดตามการสำรวจล่าสุดของ Stack Overflow
- เงินเดือนเฉลี่ยของนักพัฒนา Java ในสหรัฐอเมริกาอยู่ที่ 79,137 เหรียญสหรัฐ จากข้อมูลของ Glassdoor;
- จำนวนการเปิดการพัฒนา Java ที่มีอยู่ในปัจจุบันบน Indeed – 27,049
หากคุณพิจารณาแนวโน้มโดยรวมในโลกเทคโนโลยี เช่น ความต้องการที่เพิ่มขึ้นสำหรับความสามารถด้านเทคโนโลยีและการเพิ่มจำนวนอุปกรณ์ Android ที่เพิ่มขึ้น (Java เป็นภาษาที่ใช้กันอย่างแพร่หลายในการพัฒนา Android) จะเห็นได้ชัดว่าคุณไม่มีงานทำ ทุกเวลาเร็ว ๆ นี้
ดังนั้น แทนที่จะลังเลว่าคุณควรลองใช้ Java หรือไม่ ให้มารวมกันแล้วเริ่มเรียนภาษาวันนี้
สิ่งที่ฉันหวังว่าฉันจะรู้ในการเดินทางการเรียนรู้ Java ของฉัน
ย้อนกลับไปในวันที่ฉันเรียน Java มีเครื่องมือและทรัพยากรไม่มากนัก นอกเหนือไปจากแบบฝึกหัด หนังสือ และเอกสารอย่างเป็นทางการอีกสองสามโหล เหตุใดฉันจึงคิดว่านักพัฒนาซอฟต์แวร์ทำได้ง่ายขึ้นในขณะนี้ เนื่องจากมีทรัพยากรจำนวนมาก ผู้เขียนโค้ดระดับเริ่มต้นจำนวนมากสับสนและถูกครอบงำด้วยเครื่องมือที่หลากหลาย
แม้ว่าจะไม่มีกลยุทธ์ที่แน่นอนในการได้มาซึ่งความเชี่ยวชาญด้านการพัฒนาซอฟต์แวร์ แต่นี่คือสิ่งที่อยากให้มีคนบอกฉันเร็วกว่านี้
1. เรียนรู้การแก้ปัญหา ไม่ใช่การเขียนโปรแกรม
ฉันเห็นผู้เริ่มต้นจำนวนมากอ่านบทช่วยสอนหลังจากฝึกสอน หยิบรูปแบบและแนวคิดขึ้นมา อย่างไรก็ตาม แม้ว่าวิธีนี้จะช่วยให้คุณเรียนรู้ไวยากรณ์ Java ได้ แต่คุณก็ยังห่างไกลจากกรอบความคิดของโปรแกรมเมอร์
หลังจากที่ฉันเรียนบทช่วยสอน Java เสร็จและต้องนำทักษะของฉันไปใช้ให้เกิดประโยชน์ ฉันก็รู้สึกสับสนและท้าทาย แทนที่จะแยกส่วนแอปพลิเคชันออกเป็นส่วน ๆ ที่เคลื่อนไหวและเห็นว่าฉันจะสร้างมันขึ้นมาเองได้อย่างไร ฉันกลับมองว่าแต่ละโครงการเป็นเหมือนภูเขาสูงที่ฉันไม่มีทางปีนขึ้นไปได้
โชคดีที่ระหว่างทาง ฉันพบทรัพยากรมากมายที่ช่วยให้มีความมั่นใจมากขึ้นในการพัฒนา Java ในโลกแห่งความเป็นจริง:
- Think Like a Programmer – หนังสือที่ช่วยให้คุณได้รับแนวความคิดของนักพัฒนาโดยไม่คำนึงถึงภาษาที่คุณกำลังเรียนรู้
- Codegym – แพลตฟอร์มเฉพาะสำหรับการเรียนรู้ Java ที่เน้นการประยุกต์ใช้แนวคิดเชิงทฤษฎีในทางปฏิบัติ ต้องขอบคุณสิ่งนี้ ฉันค้นพบเกี่ยวกับการแฮ็กที่มีประโยชน์หลายอย่าง ซึ่งช่วยให้ฉันพัฒนาโครงการได้ง่ายขึ้น
- Stack Overflow – ฉันรู้ว่าคุณเคยได้ยินเกี่ยวกับการซุ่มซ่อนอยู่ที่นี่มาบ้างแล้ว ในขณะที่ฉันไม่แนะนำให้วางโค้ดบางส่วนจาก SO การอ่านฟอรัมอย่างคร่าวๆ จะทำให้คุณเข้าใกล้แนวความคิดของนักพัฒนามากขึ้นอีกก้าวหนึ่งอย่างแน่นอน
2. ฉันประเมินเทคโนโลยีช่วยเหลือต่ำไป
อย่างไรก็ตาม ฉันก็ไม่รู้ว่าไลบรารีและเฟรมเวิร์ก Java มีประโยชน์เพียงใด โดยธรรมชาติแล้ว ในฐานะนักพัฒนามือใหม่ คุณต้องการทำทุกอย่างด้วยตัวเอง อย่างไรก็ตาม มีเพียงสิ่งเดียวที่คุณทำได้ในหนึ่งวัน และการมองหาทางลัดมักเป็นสิ่งสำคัญ
หากฉันต้องเริ่มต้นเส้นทางการเรียนรู้ Java ใหม่ ฉันจะเลือกชุดเครื่องมือเพื่อจับคู่ภาษาด้วย
นี่คือเครื่องมือที่ฉันแนะนำให้นักพัฒนาลองใช้:
- JUnit – เครื่องมือทดสอบที่สะดวกสำหรับโปรแกรมเมอร์ Java
- JRat – ตัวสร้างโปรไฟล์ประสิทธิภาพ Java ที่ช่วยให้นักพัฒนาตรวจสอบการทำงานของผลิตภัณฑ์ของตน
- Mockito – กรอบงานโอเพ่นซอร์สที่อำนวยความสะดวกในการเยาะเย้ย Java;
- Ehcache – เครื่องมือแคชที่ออกแบบมาโดยเฉพาะสำหรับการเขียนโปรแกรม Java
ฉันจะแสดงรายการไลบรารี เฟรมเวิร์ก และ API ที่จำเป็นที่สุดสำหรับการเรียนรู้ Java ด้านล่าง
3. ฉันไม่มีแผนการเรียนรู้
ด้วยความเชื่อมั่นอย่างมากในบทเรียนและแหล่งข้อมูลออนไลน์ ฉันเริ่มเรียนรู้ Java แบบไร้สมองโดยสิ้นเชิง ฉันไม่มีไทม์ไลน์สำหรับการเดินทาง ไม่รู้ว่าจะใช้ทักษะของตัวเองอย่างไร หรือกิจวัตรการเรียนประจำวันที่เข้มข้นขึ้น แรงจูงใจของฉันนั้นเรียบง่ายและงี่เง่า – Java ดูเหมือนทันสมัย โดยไม่รู้ว่ามันรู้สึกเหมือนเป็นการพลาด ดังนั้นทำไมฉันไม่เรียนรู้มันล่ะ
หากคุณกำลังเริ่มต้นในการพัฒนาซอฟต์แวร์ ให้ละเอียดมากขึ้นว่าคุณต้องการไปที่ใดเมื่อสิ้นสุดวัน อย่าปล่อยให้เป้าหมายที่คุณคิดไว้ทำให้คุณตาบอด – การเรียนรู้ภาษาเขียนโปรแกรมควรเริ่มต้นด้วยพื้นฐานเสมอ แม้ว่าคุณจะต้องการเป็นนักพัฒนาแบบฟูลสแตก – นักเทรดที่เก่งมาก
ตอนนี้ ถ้าฉันต้องเรียนรู้ Java ตั้งแต่เริ่มต้น นี่คงเป็นแผนงานของฉัน:
JDK API:
- Java IO
- Java Collection
- Java Concurrency
- Java8
จาวาเฟรมเวิร์ก:
- ฤดูใบไม้ผลิ
- รองเท้าบูทสปริง
- ไฮเบอร์เนต
- ไมโครนอต
- Eclipse ไมโครโปรไฟล์
ห้องสมุดทดสอบ:
- แตงกวา – อำนวยความสะดวกในการทดสอบที่ขับเคลื่อนด้วยธุรกิจ
- Robot Framework – ช่วยเพิ่มประสิทธิภาพการทดสอบการรวม
- JUity สำหรับการทดสอบหน่วย
- Mockito สำหรับการทดสอบจำลอง
สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการจำลองการเรียนรู้การพัฒนา Java ให้ดูที่กราฟด้านล่าง
ฉันจะกำหนดเส้นตายให้กับแต่ละช่วงตึกเพื่อให้แน่ใจว่าฉันจะไม่หย่อนยานและคืบหน้า
บทสรุป
เมื่อฉันพูดว่าการเรียนรู้ Java เป็นเรื่องสนุก ฉันหมายถึงความคิดถึงและความทรงจำที่มีความสุขซึ่งคุณจะรู้สึกได้หลังจากที่คุณเชี่ยวชาญ สำหรับกระบวนการนี้ คุณจะสัมผัสได้ถึงจุดสูงสุดของการได้คำตอบที่ถูกต้องสำหรับปัญหา และความไม่เข้าใจในสิ่งที่ทรัพยากรการเรียนรู้ของคุณต้องการจากคุณในระดับต่ำ
เช่นเดียวกับการเรียนรู้ใดๆ การเรียนรู้ภาษาโปรแกรมอย่างเชี่ยวชาญคือหยาดเหงื่อและน้ำตา อย่างไรก็ตาม ตราบใดที่คุณอดทนและผ่านพ้นความยุ่งยากในขั้นต้นของ Java กระบวนการเรียนรู้จะค่อยๆ สนุกขึ้นและเหนื่อยน้อยลง
มีความคิดเกี่ยวกับเรื่องนี้หรือไม่? แจ้งให้เราทราบด้านล่างในความคิดเห็นหรือดำเนินการสนทนาไปที่ Twitter หรือ Facebook ของเรา
คำแนะนำของบรรณาธิการ:
- เริ่มต้นทักษะ JavaScript ของคุณด้วยหลักสูตรเริ่มต้น $13 นี้
- 9 ต้องเรียนรู้สำรับเพื่อให้ทันกับ Java
- 3 ข้อควรรู้เกี่ยวกับ Java โฮสติ้ง
- เหตุใดการเขียนโปรแกรม Java จึงเป็นที่นิยมสำหรับธุรกิจ