หนังสือที่มีอิทธิพลมากที่สุดเล่มเดียวที่โปรแกรมเมอร์ควรอ่านคืออะไร? [ปิด]


1439

หากคุณสามารถย้อนเวลากลับไปและบอกตัวเองให้อ่านหนังสือเล่มใดเล่มหนึ่งในช่วงเริ่มต้นของอาชีพการเป็นนักพัฒนาหนังสือเล่มนั้นจะเป็นอย่างไร

ฉันคาดว่ารายการนี้จะหลากหลายและครอบคลุมสิ่งต่าง ๆ

วิธีค้นหา:ใช้ช่องค้นหาที่มุมบนขวา inquestion:thisในการค้นหาคำตอบของคำถามในปัจจุบันการใช้งาน ตัวอย่างเช่น:

inquestion:this "Code Complete"

8
การสืบค้นหัวข้อนี้ทำให้ฉันรู้ว่าหนังสือที่เกี่ยวกับการเขียนโปรแกรมส่วนใหญ่น่าเกลียดแค่ไหน แม้ว่ากระทู้ดีมาก!
Carl Bergquist

23
สิ่งที่น่าสนใจคือในขณะที่ชื่อหนังสืออ่านว่า "อะไรคือหนังสือที่มีอิทธิพลมากที่สุดเล่มหนึ่งที่โปรแกรมเมอร์ทุกคนควรอ่าน ตามคำนิยามและตามคำถามที่วางไว้หนังสือที่แนะนำที่นี่ควรจัดการกับหัวข้อที่ไม่เชื่อเรื่องภาษาซึ่งพิสูจน์ว่าโปรแกรมเมอร์ส่วนใหญ่ยังไม่ได้เรียนรู้วิธีการอ่าน
โกง

19
ถ้าฉันสามารถย้อนเวลากลับไปและบอกตัวเองให้อ่านอะไรบางอย่างมันจะดีกว่าถ้าเป็นหนังสือพิมพ์หรือหนังสือกีฬาที่ฉันพกติดตัวไปด้วย สิ่งอื่นใดที่ทำให้คุณเสียเวลาในการเดินทาง :-)
jmucchiello

32
คุณจะรู้ว่าถ้าฉันไม่ได้กังวลเกี่ยวกับการลงคะแนนมากทั้งฉันจะไปย่ำยีและแนะนำทไวไลท์ "นอกจากนี้ยังเกี่ยวกับคนที่ซีดและหลีกเลี่ยงแสงแดด!"
Jacob Bellamy

3
ใครสามารถล้างคำตอบโดยการลบรายการซ้ำในหนังสือหรือไม่ พื้นที่ส่วนใหญ่ลงคะแนนแล้ว
rao

คำตอบ:


1746
  • โค้ดสมบูรณ์ (รุ่นที่ 2) โดย Steve McConnell
  • โปรแกรมเมอร์ในทางปฏิบัติ
  • โครงสร้างและการตีความโปรแกรมคอมพิวเตอร์
  • ภาษาโปรแกรม Cโดย Kernighan และ Ritchie
  • อัลกอริทึมเบื้องต้นโดย Cormen, Leiserson, Rivest & Stein
  • รูปแบบการออกแบบโดย Gang of Four
  • Refactoring: การปรับปรุงการออกแบบของรหัสที่มีอยู่
  • เดือนแห่งตำนานมนุษย์
  • ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์โดย Donald Knuth
  • ผู้แต่ง: หลักการเทคนิคและเครื่องมือโดย Alfred V. Aho, Ravi Sethi และ Jeffrey D. Ullman
  • Gödel, Escher, Bachโดย Douglas Hofstadter
  • ทำความสะอาดรหัส: คู่มือการฝีมือซอฟต์แวร์เปรียวโดย Robert C. Martin
  • C ++ ที่มีประสิทธิภาพ
  • C ++ ที่มีประสิทธิภาพมากขึ้น
  • CODEโดย Charles Petzold
  • การเขียนโปรแกรม Pearlsโดย Jon Bentley
  • ทำงานอย่างมีประสิทธิภาพด้วยรหัสมรดกโดย Michael C. Feathers
  • Peoplewareโดย Demarco และ Lister
  • โคเดอร์เนทที่ทำงานโดย Peter Seibel
  • แน่นอนคุณล้อเล่นมิสเตอร์เฟย์แมน!
  • Java 2nd edition ที่มีประสิทธิภาพ
  • รูปแบบของสถาปัตยกรรมแอปพลิเคชันระดับองค์กรโดย Martin Fowler
  • The Little Schemer
  • Schemer ปรุงรส
  • Why (Poignant) Guide to Ruby
  • ผู้ต้องขังทำงานโรงพยาบาล: ทำไมผลิตภัณฑ์ไฮเทคขับเราบ้าและวิธีการคืนสติ
  • The Art of Unix Programming
  • การพัฒนาที่ขับเคลื่อนด้วยการทดสอบ: โดยตัวอย่างโดย Kent Beck
  • แนวทางปฏิบัติของนักพัฒนาที่คล่องตัว
  • อย่าทำให้ฉันคิด
  • หลักการและรูปแบบการพัฒนาซอฟต์แวร์แบบว่องไวโดย Robert C. Martin
  • การออกแบบโดเมนขับเคลื่อนโดย Eric Evans
  • การออกแบบสิ่งต่าง ๆ ในชีวิตประจำวันโดยโดนัลด์นอร์แมน
  • การออกแบบ C ++ ที่ทันสมัยโดย Andrei Alexandrescu
  • ซอฟต์แวร์ที่ดีที่สุดในการเขียนฉันโดยโจเอล Spolsky
  • การฝึกเขียนโปรแกรมโดย Kernighan และ Pike
  • การคิดเชิงปฏิบัติและการเรียนรู้: ปรับโครงสร้าง Wetware ของคุณโดย Andy Hunt
  • การประมาณค่าซอฟต์แวร์: ทำให้เข้าใจถึงศาสตร์มืดโดย Steve McConnel
  • โปรแกรมเมอร์หลงใหล (งานของฉันไปอินเดีย)โดย Chad Fowler
  • แฮกเกอร์: วีรบุรุษแห่งการปฏิวัติคอมพิวเตอร์
  • อัลกอริทึม + โครงสร้างข้อมูล = โปรแกรม
  • การเขียน Solid Code
  • JavaScript - ส่วนที่ดี
  • รับจริงโดย 37 สัญญาณ
  • รากฐานของการเขียนโปรแกรมโดย Karl Seguin
  • คอมพิวเตอร์กราฟิก: หลักการและการปฏิบัติใน C (รุ่นที่ 2)
  • คิดใน Javaโดย Bruce Eckel
  • องค์ประกอบของระบบคอมพิวเตอร์
  • Refactoring to Patternsโดย Joshua Kerievsky
  • ระบบปฏิบัติการที่ทันสมัยโดย Andrew S. Tanenbaum
  • ทัวริงข้อเขียน
  • สิ่งที่ทำให้เราฉลาดโดย Donald Norman
  • วิถีแห่งการสร้างโดยคริสโตเฟอร์อเล็กซานเดอร์
  • เส้นตาย: นวนิยายเกี่ยวกับการบริหารโครงการโดย Tom DeMarco
  • ภาษาโปรแกรม C ++ (รุ่นที่ 3)โดย Stroustrup
  • รูปแบบของสถาปัตยกรรมแอปพลิเคชันระดับองค์กร
  • ระบบคอมพิวเตอร์ - มุมมองของโปรแกรมเมอร์
  • หลักการรูปแบบและการปฏิบัติที่คล่องตัวใน C #โดย Robert C. Martin
  • การพัฒนาซอฟต์แวร์เชิงวัตถุนำโดยการทดสอบ
  • แนวทางการออกแบบกรอบโดย Brad Abrams
  • การคิดเชิงวัตถุโดยดร. เดวิดเวสต์
  • การเขียนโปรแกรมขั้นสูงในสภาพแวดล้อม UNIXโดย W. Richard Stevens
  • แฮกเกอร์และจิตรกร: ไอเดียยอดเยี่ยมจากยุคคอมพิวเตอร์
  • วิญญาณของเครื่องจักรใหม่โดย Tracy Kidder
  • CLR ผ่าน C #โดย Jeffrey Richter
  • วิถีแห่งการสร้างโดยคริสโตเฟอร์อเล็กซานเดอร์
  • รูปแบบการออกแบบใน C #โดย Steve Metsker
  • อลิซในแดนมหัศจรรย์โดย Lewis Carol
  • Zen และศิลปะการบำรุงรักษารถจักรยานยนต์โดย Robert M. Pirsig
  • About Face - สิ่งจำเป็นของการออกแบบปฏิสัมพันธ์
  • ทุกคนมาที่นี่: พลังของการจัดระเบียบโดยไม่มีองค์กรโดย Clay Shirky
  • เต๋าของการเขียนโปรแกรม
  • ความงามเชิงคำนวณของธรรมชาติ
  • การเขียน Solid Codeของ Steve Maguire
  • คู่มือ Philip และ Alex เพื่อเผยแพร่ทางเว็บ
  • การวิเคราะห์และออกแบบเชิงวัตถุด้วยแอปพลิเคชันโดย Grady Booch
  • Java ที่มีประสิทธิภาพโดย Joshua Bloch
  • การคำนวณโดย NJ Cutland
  • ผู้บงการของการเขียนโปรแกรม
  • เต๋าเตียวชิง
  • โปรแกรมเมอร์ผลิต
  • ศิลปะแห่งการหลอกลวงโดย Kevin Mitnick
  • The Career Programmer: Guerilla Tactics สำหรับโลกที่ไม่สมบูรณ์โดย Christopher Duncan
  • กระบวนทัศน์ของการเขียนโปรแกรมปัญญาประดิษฐ์: กรณีศึกษาใน Common LISP
  • จ้าวแห่งการลงโทษ
  • การทดสอบหน่วยในทางปฏิบัติใน C # กับ NUnitโดย Andy Hunt และ Dave Thomas กับ Matt Hargett
  • วิธีแก้ปัญหาโดย George Polya
  • นักเล่นแร่แปรธาตุโดย Paulo Coelho
  • Smalltalk-80: ภาษาและการใช้งาน
  • การเขียนรหัสที่ปลอดภัย (รุ่นที่ 2) โดย Michael Howard
  • การเขียนโปรแกรมเบื้องต้นโดย Philip Wadler และ Richard Bird
  • ไม่มีบัก! โดย David Thielen
  • ทำใหม่โดย Jason Freid และ DHH
  • JUnit ในการดำเนินการ

16
Code Completeเป็นหนังสือที่ดีถ้าคุณอยู่ในวิทยาลัย หากคุณมีประสบการณ์การเขียนโปรแกรมอย่างน้อย 1 ปีมันเป็นเรื่องน่าเบื่อทั้งหมด
Bogdan Gavril MSFT

19
Code Completeมีข้อมูลที่เป็นประโยชน์มากมาย แต่ฝังอยู่ในอติพจน์, วาฟเฟิลและการทำซ้ำซึ่งทำให้อ่านยาก
Jeff Yates

76
ฉันอ่านCode Complete 3 ปีในอาชีพของฉัน ฉันไม่ได้เรียนหลักสูตรวิศวกรรมซอฟต์แวร์หรือหลักสูตรการเขียนโปรแกรมภาษา แต่ได้เข้าเรียนหลักสูตร CS เบื้องต้น มันเป็นหนังสือเล่มเดียวที่ดีที่สุดเท่าที่ฉันเคยอ่านเพื่อเป็นโปรแกรมเมอร์ที่ดีขึ้น มันจะไม่ทำให้คุณเป็นผู้เชี่ยวชาญ แต่มันจะทำให้คุณมากกว่าคนจรจัด
Shea

119
ปัญหาเกี่ยวกับหนังสือเล่มนี้คือสำหรับผู้เริ่มต้นมันไม่สมเหตุสมผลจริงๆเนื่องจากแนวคิดมีความก้าวหน้าเล็กน้อย เมื่อถึงเวลาที่คุณพร้อมที่จะอ่านคุณควรรู้และฝึกฝนแนวความคิดในหนังสือ 99%
esac

57
นั่นคือการจัดการกับคำแนะนำสามัญสำนึกเช่นเดียวกับที่พบในหนังสือเล่มนี้ บ่อยครั้งที่คุณต้องได้รับการเตือนให้พวกเขาถอยกลับมาอยู่ในแถว
JohnFx

9

K & R

@ Juan: ฉันรู้จัก Juan ฉันรู้ - แต่มีบางสิ่งที่สามารถเรียนรู้ได้โดยการลงมือทำจริง ๆ เท่านั้น การพูดในเชิงนามธรรมตลอดทั้งวันทำให้คุณเป็นนักวิชาการ มันอยู่ในแอพพลิเคชั่นของนามธรรมที่เราคร่ำครวญถึงเหตุผลที่มีอยู่จริง : P

@ Keith: การกล่าวถึงที่ยอดเยี่ยมของ "ผู้ต้องขังที่กำลังลี้ภัย" โดย Alan Cooper - ผู้เปิดตาแน่นอนผู้พัฒนาใด ๆ ที่ทำงานกับฉันตั้งแต่ฉันอ่านหนังสือเล่มนั้น +1


9

คณิตศาสตร์ไม่ต่อเนื่องสำหรับนักวิทยาศาสตร์คอมพิวเตอร์

คณิตศาสตร์ไม่ต่อเนื่องสำหรับนักวิทยาศาสตร์คอมพิวเตอร์โดย JK Truss

แม้ว่าสิ่งนี้จะไม่สอนการเขียนโปรแกรม แต่สอนคณิตศาสตร์พื้นฐานที่โปรแกรมเมอร์ทุกคนควรรู้ คุณอาจจำสิ่งนี้ได้จากมหาวิทยาลัย แต่จริงๆแล้วการทำตรรกะของคำกริยานั้นจะช่วยพัฒนาทักษะการเขียนโปรแกรมของคุณคุณต้องเรียนรู้ Set Theory หากคุณต้องการโปรแกรมโดยใช้คอลเล็กชัน

ที่นี่มีข้อมูลที่น่าสนใจมากมายที่สามารถช่วยให้คุณคิดถึงปัญหาในรูปแบบต่างๆ มันมีประโยชน์ที่จะมีเพียงหยิบขึ้นมาเป็นครั้งคราวเพื่อเรียนรู้สิ่งใหม่


9

Systemantics: วิธีการทำงานระบบและโดยเฉพาะอย่างยิ่งวิธีที่พวกเขาล้มเหลว รับมันถูกใช้ แต่คุณอาจไม่ได้รับอารมณ์ขันจนกว่าคุณจะทำงานในโปรเจ็กต์ที่ล้มเหลว

ความสวยงามของหนังสือเล่มนี้เป็นปีลิขสิทธิ์

น่าจะเป็น "กฎหมาย" ของการ Takeaway ที่ลึกซึ้งที่สุดที่นำเสนอในหนังสือ:

ทฤษฎีบทความล้มเหลวขั้นพื้นฐาน (FFT): ระบบที่ซับซ้อนมักจะทำงานในโหมดล้มเหลว

แนวคิดที่ว่ามีชิ้นส่วนที่ล้มเหลวในซอฟต์แวร์ที่ให้มาซึ่งถูกปกปิดโดยความล้มเหลวในส่วนอื่นหรือโดยการตรวจสอบในส่วนอื่น ๆ ดูตัวอย่างในโลกแห่งความเป็นจริงที่เครื่องฉายรังสี Therac-25ซึ่งข้อบกพร่องของซอฟต์แวร์ถูกปิดบังโดยความล้มเหลวของฮาร์ดแวร์ เมื่อความล้มเหลวของฮาร์ดแวร์คาเฟ่ถูกลบออกสภาพการแข่งขันของซอฟต์แวร์ที่ไม่ได้ตรวจพบตลอดหลายปีที่ผ่านมาส่งผลให้มีผู้เสียชีวิต 3 ราย


1
ตรวจสอบ The Systems Bible โดยผู้แต่งคนเดียวกัน (John Gall) มันเป็นฉบับที่สามของ Systemantics เขาเพิ่งเปลี่ยนชื่อ นี่คือหนังสือที่คุณขโมยมาจากโรงเรียน มันเป็นหนังสือที่ผู้ใหญ่ที่ผู้ใหญ่อ่านภายใต้ผ้าห่มพร้อมไฟฉาย
Chris Wenham

9

หนึ่งในรายการโปรดส่วนตัวของฉันคือความสุขใจของแฮ็คเกอร์เพราะมันสนุกมากที่จะอ่านเหมือนกับการศึกษา

ฉันหวังว่ารุ่นที่สองจะเปิดตัวเร็ว ๆ นี้!


+1 สำหรับ "แฮ็คเกอร์ดีไลท์" โดยเฮนรีเอสวอร์เรนจูเนียร์ - มันไม่ได้เกี่ยวกับการแฮ็กในความนิยม แต่เป็นการแฮ็คในระดับต่ำและการแฮ็ก "แฮ็ค" ในความหมายที่แท้จริง ไม่ใช่สำหรับทุกคน แต่ถ้าคุณมีส่วนร่วมในการปรับแต่งโค้ดคอมไพเลอร์ ฯลฯ หรือเป็นเพียงผู้สนใจทั่วไปที่สนใจในเนื้อหาระดับต่ำนี่เป็นหนังสือที่ยอดเยี่ยม
พอลอาร์

9

Brillant ปกหนังสือแสดง "La Sagrada Família" มหาวิหารโรมันคาทอลิคขนาดใหญ่ที่กำลังก่อสร้างในบาร์เซโลนาคาตาโลเนียประเทศสเปน จะแล้วเสร็จในปี 2026 (เหลือเพียง 17 ปี) เช่นเดียวกับโปรแกรมส่วนใหญ่แม้จะมีหนังสือที่ดีที่สุดที่พวกเขายังไม่จบ ...
PeterMmm

9

อธิบายถึง Extreme Programming: ยอมรับการเปลี่ยนแปลงโดย Kent Beck แม้ว่าฉันจะไม่สนับสนุนการพัฒนาซอฟท์แวร์ XP หรือฮาร์ดคอร์ที่ไม่ยอมใครง่ายๆ แต่ฉันหวังว่าฉันจะได้รับการแนะนำให้รู้จักกับหลักการในหนังสือเล่มนี้ก่อนหน้านี้ในอาชีพของฉัน การทดสอบหน่วยการปรับโครงสร้างใหม่ความเรียบง่ายการรวมอย่างต่อเนื่องต้นทุน / เวลา / คุณภาพ / ขอบเขต - สิ่งเหล่านี้เปลี่ยนวิธีที่ฉันมองไปที่การพัฒนา ก่อนที่ Agile จะเกี่ยวกับตัวดีบักเกอร์และความกลัวคำขอเปลี่ยนแปลง หลังจาก Agile แล้วปีศาจเหล่านั้นก็ไม่ใหญ่มาก





9

การฝึกเขียนโปรแกรม โดย Brian W. Kernighan, Rob Pike

สไตล์ที่แสดงที่นี่ยอดเยี่ยม - รหัสที่พูดออกมาเองและหนังสือทั้งหมดเป็นไปตามหลักการ KISS โดยส่วนตัวแล้วไม่ใช่ภาษาที่ฉันเลือก แต่ยังคงมีอิทธิพลต่อฉัน




9

กระบวนทัศน์ของการเขียนโปรแกรมปัญญาประดิษฐ์ : กรณีศึกษาใน Lisp สามัญโดย Peter Norvig

ป้อนคำอธิบายรูปภาพที่นี่

ฉันเริ่มอ่านเพราะฉันต้องการเรียนรู้ Common LISP เมื่อฉันมาครึ่งทางแล้วฉันก็รู้ว่านี่เป็นหนังสือที่ยิ่งใหญ่ที่สุดเกี่ยวกับการเขียนโปรแกรมที่ฉันได้อ่านมาแล้ว


9

ซอฟต์แวร์งานฝีมือขั้นสูง

alt text http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg

หนังสือเล่มนี้อธิบายสิ่งต่างๆมากมายเกี่ยวกับวิศวกรรมซอฟต์แวร์การพัฒนาระบบ นอกจากนี้ยังมีประโยชน์อย่างมากในการเข้าใจความแตกต่างระหว่างการพัฒนาผลิตภัณฑ์ประเภทต่าง ๆ : เฟรมเวิร์ก VS ลดขนาด VS ของไอบีเอ็ม สิ่งที่ผู้คนในใจเมื่อคิดแบบจำลองน้ำตก? อ่านสิ่งนี้และทุกอย่างจะชัดเจน (หวังว่า)


หนังสือเล่มนี้จะต้องมีการเขียนใหม่ตั้งแต่ต้น หัวเรื่องเป็นเรื่องที่น่าสนใจมาก แต่หนังสือเล่มนี้ค่อนข้างบ้า
Chris Mountford

คริสฉันยากที่จะเข้าใจความคิดเห็นของคุณ ... คุณช่วยอธิบายเพิ่มเติมได้ไหม? ทำไม 'บ้า'
dario minonne

ประการแรกมันเต็มไปด้วยข้อผิดพลาดในการพิมพ์ มือบรรณาธิการยอดนิยมของแอดดิสันเวสลีย์มักหายตัวไปในหนังสือเล่มนี้
Chris Mountford

... ดำเนินการต่อไปและมีพื้นที่ไม่เพียงพอที่นี่ แต่: 2. มันไม่เคยชัดเจนในข้อความที่ผู้เขียนสลับระหว่างความจริงและความเห็นเรื่องเล็ก ๆ น้อย ๆ และหลักการพื้นฐาน ฯลฯ 3. ฝีมือซอฟต์แวร์เป็นอุปมาและกลยุทธ์ในการจัดการกับหลาย ๆ ด้านยากของการพัฒนาซอฟต์แวร์ มันมีข้อได้เปรียบที่เฉพาะเจาะจงมากกว่าทางเลือกและข้อเสียอย่างน่าจะเป็น ฉันเชื่อว่าเป็นวิธีที่มีสติ มันไม่มีความหมายที่จะบอกว่าซอฟต์แวร์นั้นเป็นงานฝีมือโดยกำเนิด อ่านน่ารำคาญมาก แต่ต้องยุติธรรมเมื่อไม่นานมานี้และมีรายละเอียดมากมายที่ฉันลืมไป อย่างไรก็ตามความรังเกียจของฉันยังคงอยู่
Chris Mountford

8

@Peter Coulton - คุณไม่ได้อ่าน Knuth คุณศึกษามัน

สำหรับฉันและงานของฉัน ... โครงสร้างข้อมูลที่ทำงานได้อย่างสมบูรณ์เป็นสิ่งที่ยอดเยี่ยมสำหรับการคิดและพัฒนาด้วยภาษาที่ใช้งานได้ในใจ


8

"โลกแบน" โดยโทมัสฟรีดแมน

ความเป็นเลิศในการเขียนโปรแกรมต้องการการลงทุนด้านพลังงานทางจิตและการอุทิศตนเพื่อการเรียนรู้อย่างต่อเนื่องเปรียบได้กับวิชาชีพแพทย์หรือกฎหมาย มันจ่ายเพียงเศษเสี้ยวของอาชีพที่จ่ายน้อยกว่าค่าจ้างที่จ่ายให้กับผู้มีความรู้ทางคณิตศาสตร์ที่มุ่งหน้าไปสู่ภาคการเงิน และค่าจ้างสำหรับการสร้างรหัสกำลังพังเพราะมันเป็นอาชีพที่ค่อนข้างง่ายสำหรับคนฉลาดและมีระเบียบวินัยในประเทศส่วนใหญ่ที่จะเข้ามา

การเขียนโปรแกรมได้กัดเซาะไปแล้วถึงจุดที่จ่ายน้อยกว่าพูดประปา ระบบประปาไม่สามารถเป็น "offshored" คุณไม่จำเป็นต้องจ่าย $ 2395 เพื่อเข้าร่วมการประชุมช่างประปามืออาชีพทุก ๆ ปีเพื่อรับสิทธิพิเศษในการรับชุดท่อเทคโนโลยีใหม่ที่จะใช้เวลาหนึ่งปีในการเรียนรู้

หากคุณอาศัยอยู่ในอเมริกาเหนือหรือยุโรปเป็นเด็กและฉลาดการเขียนโปรแกรมไม่ใช่ทางเลือกอาชีพที่มีเหตุผล ธุรกิจที่เกี่ยวข้องกับการเขียนโปรแกรมอย่างแน่นอน ศึกษาธุรกิจรู้พอเกี่ยวกับการเขียนโปรแกรมเพื่อปรับแต่งเครื่องตรวจจับ BS ของคุณ: ยอดเยี่ยม แต่การอุทิศพลังงานจิตของคุณให้กับการเรียนรู้ของห้องสมุดโครงสร้างข้อมูลและอัลกอริทึม? ซึ่งเหมาะสมแล้วหากการเขียนโปรแกรมเป็นสิ่งที่คุณมากกว่าทางเลือกทางเศรษฐกิจ

หากคุณรักการเขียนโปรแกรมและด้วยเหตุผลนั้นตั้งใจที่จะทำให้มันเป็นอาชีพของคุณแล้วคุณจะต้องพัฒนาความเข้าใจที่เยือกเย็นเกี่ยวกับพลังที่มีและจะดำเนินต่อไปเพื่อให้อาชีพที่ยากขึ้นและยากขึ้น . "The World is Flat" จะไม่สอนคุณว่าจะตั้งชื่อตัวแปรอย่างไร แต่จะทำให้คุณดื่มด่ำกับความเป็นจริงทางเศรษฐกิจที่มาถึงแล้วประมาณ 6 หรือ 8 ชั่วโมง หากคุณสามารถอ่านมันและไม่ได้กลัวแล้วออกไปและซื้อ "รหัสเสร็จสมบูรณ์."


นั่นเป็นหนึ่งในคำตอบที่ดี!
Avi

8

ข้อความแสดงแทน

ปีที่แล้วฉันเรียนหลายวิชา ฉันอ่าน

The Innovator's Dilemma (เทคโนโลยีก่อกวน)
The Mythical Man Month (ซอฟต์แวร์การจัดการ)
Cross Chasm (เริ่มต้น)
ระบบการจัดการฐานข้อมูล, การ
เขียนโปรแกรมCOW Book C #, OSTRICH Book
เริ่มต้น iPhone นักพัฒนา, GRAPEFRUIT Book

หนังสือแต่ละเล่มน่าทึ่ง แต่ Dilemma ของ Innovator โดย Clayton Christensen (1997 !!!) เป็นหนังสือที่ยอดเยี่ยมจริงๆและทำให้ฉันได้คิดถึงโลกซอฟต์แวร์ที่ทันสมัย ความท้าทายที่ได้รับการแก้ไขคือเทคโนโลยีก่อกวนและวิธีที่ บริษัท ดิสค์ไดรฟ์และ บริษัท ที่ไม่ใช่ด้านเทคนิคได้รับผลกระทบจากเทคโนโลยีใหม่ที่เปลี่ยนแปลงเกมอยู่เสมอ มันให้มุมมองใหม่เมื่อคิดเกี่ยวกับ Google อาจเป็น บริษัท 'เว็บ' ที่ใหญ่ที่สุด ทำไมพวกเขาถึงมีมืออยู่ทุกอย่าง? เป็นเพราะพวกเขาไม่ต้องการให้ตำแหน่งใหม่ถูกรบกวนด้วยสิ่งใหม่ ภาพตัวอย่างบน Google มีมากมายเพื่อให้ได้แนวคิด อ่านมัน!


ฉันคิดว่าหนังสือเล่มนี้ค่อนข้างซ้ำซาก ฉันแนะนำให้อ่าน 1/4 ตัวแรก
Ben Haley

8

แฮกเกอร์โดย Steven Levy

บุคลิกภาพและวิถีชีวิตต้องมาก่อน ทุกสิ่งสามารถเรียนรู้ได้



8

ภาษา Python มีอิทธิพลต่อฉันมากฉันหวังว่าฉันจะอ่านหนังสือเหล่านี้เมื่อหลายปีก่อน ความงดงามและความเรียบง่ายของภาษา Python ส่งผลกระทบอย่างแท้จริงต่อวิธีที่ฉันเขียนโค้ดในภาษาอื่น

ข้อความแสดงแทน ข้อความแสดงแทน


2
ฉันคิดว่าการเริ่มต้นโปรแกรมเมอร์ใหม่ด้วย Python จะลดจำนวนรหัสที่น่าเกลียดที่สุดในโลก ฉันทำงานกับคนที่เยื้องบรรทัดแบบสุ่ม - คนนั้นจะไม่ทำอย่างนั้นถ้าพวกเขาได้ทำงานกับ Python สองสามเดือน
xnine

6
ฉันคิดว่าการเริ่มต้นโปรแกรมเมอร์ใหม่ด้วย Python จะลดจำนวนภาษาอื่น ๆ
Marco Mariani

2
สิ่งเหล่านี้ครอบคลุมเรื่องบังเอิญหรือไม่?
Kelly S. French

8

Omnibus ทัวริงใหม่

หนังสือที่ดีจริงๆ มีรสนิยมระดับสูงในสาขาที่สำคัญที่สุดของวิทยาศาสตร์คอมพิวเตอร์ ใช่ CS! = การเขียนโปรแกรม แต่สิ่งนี้ยังคงมีประโยชน์สำหรับโปรแกรมเมอร์ทุกคน




7

ฉันคิดว่า "The Art of Unix Programming" เป็นหนังสือที่ยอดเยี่ยมโดยมีแฮ็คเกอร์ที่ยอดเยี่ยม / มีจิตใจที่ยอดเยี่ยมเหมือนกับ Eric S. Raymond ที่พยายามทำให้เราเข้าใจหลักการสองสามประการของการออกแบบซอฟต์แวร์ หนังสือเล่มนี้เป็นสิ่งจำเป็นสำหรับทุกการเขียนโปรแกรมที่กำลังจะเริ่มโครงการภายใต้แพลตฟอร์ม Unix


6
สิ่งนี้ซ้ำซ้อน
Christopher Mahan

7

ในขณะที่ฉันเห็นด้วยว่าหนังสือหลายเล่มข้างต้นเป็นสิ่งที่ต้องอ่าน (Pragmatic Programmer, Mythical Man-Month, ศิลปะการเขียนโปรแกรมคอมพิวเตอร์และ SICP เข้ามาในใจทันที) ฉันต้องการไปในทิศทางที่แตกต่างกันเล็กน้อยและแนะนำA Discipline ของการเขียนโปรแกรมโดย Edsger Dijkstra แม้ว่ามันจะมีอายุ 32 ปี แต่ความสำคัญใน "การออกแบบเพื่อการตรวจสอบได้" นั้นมีความเกี่ยวข้องสูง (แม้ว่า "การพิสูจน์ยืนยันได้" หมายถึง "การพิสูจน์" แทน "การทดสอบหน่วย")


7

Code Craftโดย Pete Goodliffe อ่านได้ดี!

งานฝีมือรหัส


ฉันมีความหวังสูงสำหรับหนังสือเล่มนี้ แต่มันก็ไม่ได้ทำเพื่อฉัน ฉันคิดว่ามันระบุชัดเจน มันอาจจะดีสำหรับผู้ที่เพิ่งเริ่มเขียนโปรแกรม
projecktzero

7

การปรับโครงสร้างของ Martin Fowler : การปรับปรุงการออกแบบของรหัสที่มีอยู่ได้รับการจดทะเบียนแล้ว แต่ฉันจะอธิบายรายละเอียดว่าทำไมมันถึงส่งผลกระทบต่อฉัน

สาระสำคัญของหนังสือทั้งเป็นเรื่องเกี่ยวกับรหัสโครงสร้างเพื่อที่จะง่ายต่อการอ่านและทำความเข้าใจโดยมนุษย์ มันสอนฉันอย่างแรงกล้าว่ารหัสที่ฉันเขียนนั้นมีไว้สำหรับเพื่อนร่วมงานและผู้สืบทอดของฉันที่จะบริโภคและอาจเรียนรู้สิ่งที่ดีจากมัน มันเป็นแรงบันดาลใจให้ฉันไปรู้ตัวโปรแกรมในลักษณะที่ใบคนยกย่องชื่อของฉันและไม่ได้แช่งสาปแช่งฉันไปชั่วนิรันด


7

alt text http://ecx.images-amazon.com/images/I/61dECNkdnTL._SL500_AA240_.jpg

C ++ วิธีการโปรแกรมเป็นสิ่งที่ดีสำหรับผู้เริ่มต้นหนังสือเล่มนี้เป็นหนังสือที่ยอดเยี่ยมที่เต็มไปด้วย 1,500 หน้า


ฉันเห็นด้วยอย่างยิ่ง วิธีการของ Deitel ในการเรียนรู้ภาษาการเขียนโปรแกรมนั้นยอดเยี่ยมมาก ฉันพิจารณา Java How to Program เป็นพระคัมภีร์การเขียนโปรแกรมของฉัน!
HH

7

นี่คือหนังสือที่ยอดเยี่ยมที่ไม่ได้รับการยกย่องอย่างกว้างขวาง แต่เต็มไปด้วยข้อมูลเชิงลึก: การพัฒนาซอฟต์แวร์ Agile: The Cooperative Gameโดย Alistair Cockburn

มีอะไรพิเศษเกี่ยวกับมัน? ชัดเจนทุกคนเคยได้ยินคำว่า "เปรียว" และดูเหมือนว่าส่วนใหญ่เป็นผู้เชื่อในสมัยนี้ ไม่ว่าคุณจะเชื่อหรือไม่ก็ตามมีหลักการบางอย่างที่อยู่เบื้องหลังว่าทำไมการเคลื่อนไหวแบบอไจลจึงมีอยู่ หนังสือเล่มนี้เผยและเข้าใจหลักการเหล่านี้อย่างแม่นยำและเป็นวิทยาศาสตร์ หลักการบางอย่างคือ (btw นี่คือคำพูดของฉันไม่ใช่ของอลิสแตร์):

  1. สิ่งที่ยากที่สุดเกี่ยวกับการพัฒนาซอฟต์แวร์ของทีมคือทำให้สมองของทุกคนมีความเข้าใจตรงกัน เรากำลังสร้างระบบที่ซับซ้อนขนาดใหญ่ที่ซับซ้อนซึ่งมองไม่เห็นในโลกที่จับต้องได้ ยิ่งคุณมีสมองมากขึ้นเท่าไหร่นักเพื่อแบ่งปันความเข้าใจที่ลึกซึ้งยิ่งขึ้นยิ่งทีมของคุณมีประสิทธิภาพมากขึ้นก็จะเป็นการพัฒนาซอฟต์แวร์ นี่คือเหตุผลพื้นฐานที่การเขียนโปรแกรมคู่เหมาะสม คนส่วนใหญ่ไม่สนใจ (และฉันก็เริ่มด้วย) แต่ด้วยหลักการนี้ในใจฉันขอแนะนำให้คุณถ่ายอีกครั้ง คุณจบลงด้วยคนสองคนที่เข้าใจระบบย่อยที่คุณเพิ่งสร้าง ... มีวิธีอื่นมากมายที่จะได้รับการถ่ายโอนข้อมูลอย่างรวดเร็ว มันเหมือนจิตใจที่หลอมรวมเข้าด้วยกัน
  2. คุณไม่ต้องการคำศัพท์ในการสื่อสารความเข้าใจอย่างรวดเร็วเสมอไป และข้อสรุป: มีจำนวนคำมากเกินไปและคุณเกินความสามารถของผู้ฟัง / ผู้อ่านนั่นหมายถึงการถ่ายโอนความเข้าใจที่คุณพยายามจะไม่เกิดขึ้น พิจารณาว่าเด็กเรียนรู้วิธีการพูดภาษาโดยการ "ดื่มด่ำ" และ "ดูดซับ" ไม่ใช่แค่ภาษาอย่างใดอย่างหนึ่ง ... เขายกตัวอย่างเด็กบางคนเล่นกับรถไฟบนพื้น พร้อมมาเด็กอีกคนหนึ่งที่ยังไม่เคยแม้แต่จะเห็นรถไฟมาก่อน ... แต่โดยการเฝ้าดูเด็กคนอื่น ๆ เขาหยิบขึ้นมาสรุปสาระสำคัญของเกมและเล่นขวาพร้อม สิ่งนี้เกิดขึ้นตลอดเวลาระหว่างมนุษย์ สิ่งนี้มาพร้อมกับข้อสรุปเกี่ยวกับคำที่มากเกินไปจะช่วยให้คุณเห็นความผิดพลาดในสมัย ​​"น้ำตก" ในสมัยก่อนที่จะลองเขียนข้อกำหนดเฉพาะของข้อกำหนด 700 หน้าโดยละเอียด

มีมากมายในนั้นด้วย ฉันจะปิดตอนนี้ แต่ฉันขอแนะนำหนังสือเล่มนี้!


2
การมีส่วนร่วมที่ไม่เหมือนใครและคุณใช้เวลาอธิบายอย่างชัดเจนว่าทำไมการอ่านจึงมีค่า +1 สำหรับความคิดริเริ่มและความพยายาม! ฉันจะรอคอยที่จะอ่านเรื่องนี้ในไม่ช้า ...
Avery Payne

ดี. ฉันไม่คิดว่าคุณจะผิดหวัง
Charlie ดอกไม้

7

จ้าวแห่งการลงโทษ เท่าที่แรงบันดาลใจและความรักที่มีต่ออาชีพของคุณไปได้: มันจะไม่ดีไปกว่าที่ได้อธิบายไว้ในหนังสือเล่มนี้


+1 สำหรับการตรวจสอบหนึ่งบรรทัดที่แม่นยำ
rubayeet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.