34 หนังสือการเขียนโปรแกรมที่มีประโยชน์แนะนำสำหรับนักพัฒนาใหม่
เผยแพร่แล้ว: 2017-01-09ไม่น่าแปลกใจเลยที่โค้ดที่เขียนได้ไม่ดีจะนำไปสู่ความล้มเหลวของโปรเจ็กต์ได้ ไม่ว่าจะมากหรือน้อย ดังนั้นการเขียนโค้ดที่สะอาดและจัดการได้จึงมีความสำคัญอย่างยิ่งต่อความสำเร็จโดยรวมของโครงการพัฒนาซอฟต์แวร์
มีหลายวิธีในการเรียนรู้วิธีการเขียนโค้ดอย่างถูกต้อง เห็นได้ชัดว่าประสบการณ์เชิงปฏิบัตินั้นมีค่าอย่างยิ่ง แต่การมีความรู้เชิงทฤษฎีที่ดีก็มีประโยชน์อย่างมหาศาลเช่นกัน
ส่วนหนึ่งของความรู้นี้ได้รับการพัฒนาในระหว่างปีการศึกษา แต่การอัพเดทหนังสือและบทความสำคัญๆ อยู่เสมอจะมีประโยชน์มาก
ทุกวันนี้ โปรแกรมเมอร์เข้าหาปัญหาด้วยวิธีการแก้ไขด่วน หากการทดลองใช้และข้อผิดพลาดไม่ได้ผล คุณสามารถ Google ปัญหาและลองหาวิธีแก้ไขที่นั่น
อย่างไรก็ตาม หากคุณต้องการเป็นโปรแกรมเมอร์ที่ประสบความสำเร็จมากกว่าที่จะเป็น 'โค้ดลิง' การอ่านวรรณกรรมเป็นสิ่งจำเป็น การอ่านและการเรียนรู้โค้ดของผู้อื่นจะทำให้คุณมองเห็นปัญหาในรูปแบบใหม่และแก้ไขได้ง่ายขึ้น
หากคุณไม่แน่ใจว่าจะเริ่มต้นจากตรงไหน อ่านต่อ เราได้รวบรวมรายชื่อหนังสือที่ครอบคลุมซึ่งได้รับการตรวจสอบและยอมรับอย่างสูงในชุมชนนักพัฒนา
เพื่อช่วยให้คุณเข้าสู่รายการหนังสือของภาษาที่คุณชื่นชอบได้อย่างรวดเร็ว เราได้จัดหมวดหมู่ชื่อหนังสือตามภาษาที่ใช้ในการเขียนโปรแกรมที่เกี่ยวข้อง ตลอดจนคำอธิบายสั้น ๆ ของแต่ละภาษา
ภาษาโปรแกรมที่คุณชื่นชอบคืออะไร?
- Javascript
- ค
- ค#
- C++
- Java
- PHP
- Python
- ทับทิม
JavaScript
JavaScript เป็นภาษาที่กำลังฟื้นตัวในช่วงไม่กี่ครั้งที่ผ่านมา แม้ว่าก่อนหน้านี้จะใช้เฉพาะสำหรับฟังก์ชันฝั่งไคลเอ็นต์ที่ทำงานในเว็บเบราว์เซอร์ของผู้ใช้ แต่ปัจจุบันใช้เป็นภาษาฝั่งเซิร์ฟเวอร์ ในบางกรณีด้วยการใช้ Node.js
มักถูกมองว่าเป็นภาษา "ของเล่น" อย่างผิด ๆ แต่ส่วนใหญ่มักใช้สำหรับการทำงานฝั่งเบราว์เซอร์ที่ใช้งานได้จริง JavaScript มีแนวโน้มที่จะสอนนิสัยที่ไม่ดีในโครงสร้างโค้ดและสถาปัตยกรรมเนื่องจากลักษณะการให้อภัย หากคุณมีความสนใจใน JavaScript ชื่อต่อไปนี้จะคุ้มค่ากับเวลาของคุณ:
- วิธีที่ชาญฉลาดกว่าในการเรียนรู้ JavaScript: แนวทางใหม่ที่ใช้เทคโนโลยีเพื่อลดความพยายามของคุณลงครึ่งหนึ่ง
2. JavaScript ที่มีประสิทธิภาพ : 68 วิธีเฉพาะในการควบคุมพลังของ JavaScript (ชุดการพัฒนาซอฟต์แวร์ที่มีประสิทธิภาพ)
3. Eloquent JavaScript : A Modern Introduction to Programming
4. คุณไม่รู้จัก JS: ES6 & Beyond
5. ตั้งโปรแกรม JavaScript ก่อน: คู่มือที่เป็นมิตรกับสมอง
6. JavaScript: The Definitive Guide : เปิดใช้งานหน้าเว็บของคุณ (Definitive Guides)
ค
โดยทั่วไป ภาษา C เหมาะที่สุดสำหรับความต้องการของระบบระดับล่าง แต่ยังใช้ในระบบปฏิบัติการและไดรเวอร์อุปกรณ์ และมีความสำคัญต่อการพัฒนาเกมด้วย โปรแกรมที่เขียนด้วยภาษา C มักจะมีประสิทธิภาพรันไทม์ที่รวดเร็วมาก
ในทางกลับกัน ภาษานี้ไม่เหมาะสำหรับการพัฒนาแอปพลิเคชันมาตรฐานและไม่ค่อยได้ใช้ในการพัฒนาเว็บ ภาษายังมีแนวโน้มและอ่อนไหวต่อข้อบกพร่องด้านความปลอดภัยต่างๆ ที่น่าสนใจทีเดียว ช่องโหว่ด้านความปลอดภัยของเว็บเกือบทั้งหมดสามารถย้อนกลับไปยังการใช้ C อย่างไม่ถูกต้องได้
อ่านเรื่องต่อไปนี้:
7. ภาษาการเขียนโปรแกรม C
8. การเขียนโปรแกรมใน C (ฉบับที่ 4) (ห้องสมุดนักพัฒนา)
9. C Programming Absolute Beginner's Guide (ฉบับที่ 3)
10. C Primer Plus (รุ่นที่ 6) (ห้องสมุดนักพัฒนา)
11. การเขียนโปรแกรม C เชิงปฏิบัติ : ทำไม 2+2 = 5986? (คู่มือฉบับย่อ)
ค#
ไม่น่าแปลกใจเลยที่ภาษา C# นั้นใช้ภาษา C ดังนั้น การเรียนรู้โครงสร้างภาษาจึงสามารถถ่ายโอนไปยังภาษาอื่นๆ เช่น Java, Objective-C, PHP และ C++
C# ควบคู่ไปกับ Java ที่เคยเป็นที่นิยม เป็นหนึ่งในภาษาโปรแกรมยอดนิยมสำหรับนายจ้าง Visual Studio ที่ใช้ C# ถือเป็น IDE ที่ดีที่สุดทั่วโลก ในขณะที่เครื่องมืออื่นๆ ที่ใช้ C# เช่น Xamarin Studio และ Mono framework นั้นใช้กันอย่างแพร่หลายโดยโปรแกรมเมอร์ในการเขียนแอป C# สำหรับมือถือ, Mac, Linux เป็นต้น
C # เป็นภาษาเชิงวัตถุซึ่งช่วยให้สามารถใช้โมเดลวัตถุที่ใช้งานง่าย ในขณะที่โปรแกรมเมอร์บางคนแนะนำว่าสิ่งนี้เป็นข้อเสีย แต่โปรแกรมเมอร์หลายคนชอบมันมากกว่า
นอกจากนี้ C# ยังเป็นภาษาที่มีการจัดการที่ดี ดังนั้นโปรแกรมเมอร์จึงไม่จำเป็นต้องกังวลเกี่ยวกับการจัดการหน่วยความจำ
อ่านเพิ่มเติมที่เราอยากแนะนำ:
12. C# 6.0 และ .NET 4.6 Framework
13. C# ในเชิงลึก ฉบับที่ 3
14. คู่มือผู้เล่น C# (ฉบับที่ 2)
C++
C++ รวมพลังระดับต่ำของ C เข้ากับนามธรรมหลายชั้นอย่างมีประสิทธิภาพ ดังนั้นจึงทำให้เป็นภาษาหลายมิติและเป็นไดนามิกมากขึ้น
หากไม่มีคุณลักษณะในภาษา ก็สามารถเขียนคุณลักษณะนั้นลงไปได้หากคุณเป็นกูรูเพียงพอ ด้วยภาษานี้ คุณสามารถทำการเขียนโปรแกรมแบบจำเป็น ใช้งานได้จริง เปิดเผย และเป็นแบบ OO
อย่างไรก็ตาม C ++ นั้นแข็งแกร่งอย่างยิ่งและวิธีที่ฟีเจอร์ที่หลากหลายโต้ตอบกันนั้นซับซ้อนมาก ไม่มีนักพัฒนารายใดสามารถใช้ชุดการสร้างบล็อคทั้งหมดที่ C ++ จัดหาให้ แต่ต้องใช้ความพยายามและสติปัญญาอย่างมากในการเลือกชุดย่อยที่ถูกต้องสำหรับโปรแกรม
หนังสือเหล่านี้อาจช่วยให้คุณเข้าใจภาษานี้มากขึ้น:

15. C++ แบบเร่ง: การเขียนโปรแกรมเชิงปฏิบัติโดยตัวอย่าง
16. C++ Primer (รุ่นที่ 5)
17. C++ ที่มีประสิทธิภาพ: 55 วิธีเฉพาะในการปรับปรุงโปรแกรมและการออกแบบของคุณ (ฉบับที่ 3)
Java
Java เป็นภาษาที่ได้รับความนิยมมากที่สุดในแอปพลิเคชันระดับองค์กร อย่างแรกเลย มันได้รับการสนับสนุนโดย Oracle และมีส่วนขยาย/แพลตฟอร์มจำนวนมากที่เขียนอยู่ด้านบน รวมถึงสิ่งใหม่ๆ เช่น NoSQL และภาษารูปแบบการใช้งาน เช่น Scala
Java เป็นภาษาของ Android ดังนั้นจึงมีความเกี่ยวข้องอย่างมากกับการพัฒนามือถือและได้รับการสนับสนุนจาก Google อย่างไรก็ตาม การใช้เครื่องมือของ Java อาจเป็นสิ่งที่ท้าทายในการทำงานด้วย
การอ่านที่จำเป็นสำหรับผู้ที่ชื่นชอบ Java ได้แก่:
18. Head First Java ฉบับที่ 2
19. Java: The Complete Reference ฉบับที่เก้า
20. Java ที่มีประสิทธิภาพ (ฉบับที่ 2)
21. รูปแบบการออกแบบขั้นแรก: คู่มือที่เป็นมิตรกับสมอง
22. Java Puzzlers: กับดัก หลุมพราง และคดีเข้ามุม
PHP
ด้วยเหตุผลบางอย่าง PHP เป็นภาษาที่ผู้คนมักจะรักหรือเกลียด บางครั้งทั้งคู่ PHP แพร่หลายอย่างกว้างขวาง แต่ในขณะเดียวกัน หลายคนก็ถือว่าภาษาแย่มาก (กล่าวคือ ออกแบบได้ไม่ดี) กล่าวคือมีการใช้ PHP กับเว็บไซต์ที่ประสบความสำเร็จจำนวนมาก รวมทั้ง Facebook และ WordPress ภาษานี้ใช้สำหรับเว็บแอปพลิเคชันเท่านั้น
ในทางตรงกันข้าม ภาษา PHP แสดงงานคุณภาพต่ำบางอย่างที่สร้างขึ้นภายในอุตสาหกรรม โดยมีตัวอย่างโค้ดที่ไม่ดีมากมายทางออนไลน์
ตรวจสอบหนังสือเหล่านี้เพื่อเริ่มต้น:
23. การเขียนโปรแกรม PHP ขั้นสูง
24. มุ่งหน้าสู่ PHP & MySQL: A Brain-Friendly Guide
25. PHP สมัยใหม่: คุณลักษณะใหม่และแนวทางปฏิบัติที่ดี
26. PHP และ MySQL ของ Murach รุ่นที่ 2
27. PHP & MySQL: มือใหม่ถึงนินจา : วิธีง่ายๆ ในการสร้างเว็บไซต์ที่ขับเคลื่อนด้วยฐานข้อมูลของคุณเอง
Python
Python เป็นภาษาตีความยอดนิยมซึ่งมีชื่อเสียงในด้านการทำงานซ้ำๆ โดยอัตโนมัติอย่างรวดเร็ว ช่วยประหยัดเวลาในการพัฒนาโปรแกรมเมอร์มืออาชีพได้มาก ตาม TIOBE ดัชนีภาษาโปรแกรมที่รู้จักกันดี Python เป็นภาษาโปรแกรมที่ได้รับความนิยมสูงสุดอันดับ 4 ณ เดือนธันวาคม 2559
Python ถือว่าช้าเล็กน้อยเมื่อพูดถึงเวลาในการรวบรวมเมื่อเปรียบเทียบกับภาษาโปรแกรมสมัยใหม่อื่น ๆ นอกจากนี้ยังมีปัญหาด้านความปลอดภัยบางอย่างเนื่องจากมีการพิมพ์แบบไดนามิก
Python ไม่ได้ใช้กันอย่างแพร่หลายสำหรับการพัฒนาแอพมือถือ แต่เป็นไปได้ที่จะเขียนแอพ Android, iOS หรือ Windows ใน Python โดยใช้เฟรมเวิร์ก Kivy
ค้นหาข้อมูลเพิ่มเติมโดยดูชื่อเหล่านี้:
28. การเรียนรู้ Python รุ่นที่ 5
29. Think Python: วิธีคิดเหมือนนักวิทยาศาสตร์คอมพิวเตอร์
30. ตำรางูหลาม ฉบับที่สาม
31. Python Crash Course : Hands-On, Project-Based Introduction to Programming
ทับทิม
Ruby เป็นเกมยอดนิยมและ "เจ๋ง" โดยเฉพาะ ในชุมชนสตาร์ทอัพ หลายคนมองว่ามันเป็นทางเลือกที่ดีกว่า Java เมื่อพูดถึงการสร้างเว็บแอปพลิเคชันอย่างรวดเร็ว
ข้อเสียที่อาจเกิดขึ้น ได้แก่ ภาษาที่พัฒนาอย่างรวดเร็ว พร้อมเอกสารออนไลน์ที่ล้าสมัยจำนวนมาก มันไม่มีประโยชน์จริง ๆ สำหรับการพัฒนาแอปพลิเคชัน GUI และเกี่ยวข้องกับเว็บแอปพลิเคชันเท่านั้น
พัฒนาความรู้ Ruby on Rails ของคุณโดยการอ่าน:
32. Eloquent Ruby (แอดดิสัน-เวสลีย์ โปรเฟสชั่นแนล รูบี้)
33. การสอน Ruby on Rails : เรียนรู้การพัฒนาเว็บด้วย Rails (ฉบับที่ 3) (Addison-Wesley Professional Ruby)
34. การออกแบบเชิงวัตถุเชิงปฏิบัติใน Ruby : An Agile Primer (Addison-Wesley Professional Ruby)
หากคุณได้เขียนบทความมาจนถึงตอนนี้ คุณจะสังเกตเห็นว่าเราได้ครอบคลุมทุกภาษาการเขียนโปรแกรมที่สำคัญและเนื้อหาที่เกี่ยวข้องที่เรารู้สึกว่าโปรแกรมเมอร์ผู้กระตือรือร้นควรอ่าน
ขอให้โชคดีและการเรียนรู้อย่างมีความสุข!