อะไรคือหนังสือการเขียนโปรแกรมที่ยากมาก ๆ [ปิด]


14

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

ขอบคุณมาก.


1
ซีรี่ส์ส่วนใหญ่ของ Wrox ค่อนข้างเหนียวนุ่ม
Joel Etherton

1
ทำไมคน downvoting? OP ต้องการหนังสือบางเล่มที่จะเสนอความท้าทายแก่เขา ... ไม่ใช่คำถามโง่ ๆ หรือ OT
Melanie Shebel

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

4
@ Melanie - นี่คือคำถามประเภท "list of X" ซึ่งเพิ่งจะได้รับหนังสือเล่มโปรดของผู้คนที่โพสต์เป็นคำตอบ หากคุณตรวจสอบคำตอบไม่มีพวกเขามีคำอธิบายใด ๆว่าทำไมหนังสือที่กล่าวถึงตอบสนองความต้องการของผู้ใช้งาน (อย่างใดอย่างหนึ่งก็ทำได้ แต่นั่นคือ 10 คำตอบ)
ChrisF

1
ฉันเห็นด้วยกับ @Anna และ @Chris ด้านบนคำถามนี้ไม่มีส่วนสำคัญเช่นการอธิบายว่าทำไมหนังสือเหล่านี้จึงยากหรือวิธีการให้เกรดหนังสือต่อกัน
Josh K

คำตอบ:


29

ศิลปะแห่งการเขียนโปรแกรมคอมพิวเตอร์ Donald Knuth


3
ทำไม? อะไรทำให้ดี โปรดขยายคำตอบของคุณ
Walter

2
คุณควรรวมไว้ในคำตอบของคุณ ฉันได้อ่านแล้ว แต่ทุกคนที่ไม่ได้เข้าใจว่าทำไมพวกเขาถึงควรพิจารณาคำแนะนำของคุณ
วอลเตอร์

3
@ วอลเตอร์: ฉันไม่คิดว่าฉันเห็นด้วย ฉันไม่คิดว่ามันจะต้องมีการขยายตัวใด ๆ หนังสือเล่มนี้มีความสำคัญอย่างมากและเป็นศูนย์กลางของการคำนวณที่ฉันไม่รู้สึกว่าต้องการคำอธิบาย
S.Lott

1
โปรแกรมเมอร์ส่วนใหญ่มักวางแผนที่จะอ่านหนังสือสักวันหนึ่ง
Steven A. Lowe

1
@RYUZAKI: "ฉันต้องการเตรียมพร้อมก่อนที่จะข้ามไปยังสิ่งที่ดูเหมือนจะยากและให้รางวัล" อย่ารำคาญที่จะ "เตรียม" เพียงกระโดดเข้ามาเมื่อคุณพบหัวข้อที่เกินกว่าคุณคุณจะรู้ว่าคุณต้องเรียนรู้อะไร มันคือการแสวงหาตลอดชีวิต คุณไม่สามารถเตรียมพร้อมเพียงพอ คุณจะต้องเรียนรู้เพิ่มเติมอยู่เสมอ
S.Lott

13

อัลกอริทึมเบื้องต้น

ไม่เช่นนั้น "เกริ่นนำ";)


1
ทำไมไม่ (“ ดังนั้น” เกริ่นนำ””) นี่คือบทนำที่ใช้ใน CS 101
Konrad Rudolph

1
@konrad: AFAIK มหาวิทยาลัยส่วนใหญ่ใช้หนังสือเหล่านี้หลายบทเท่านั้นในการสอน
Hery

ตอนนี้ฉันต้องหามันขึ้นมารื้อแล็ปท็อปของฉันให้อยู่ในขั้นตอน (ฉันใช้ Cormen เพื่อรองรับแล็ปท็อปของฉัน ... ) และคุณพูดถูก ฉันลืมส่วนหลังของหนังสือ; เหล่านี้เป็นเรื่องของการบรรยายในภายหลัง (บางวิชาในหลักสูตรปริญญาโท)
Konrad Rudolph

@ Konrad: hery ตอกย้ำมัน
Demian Brecht

@ Konrad: ฟังดูเหมือนเป็นกระบวนการที่สำคัญ;)
Demian Brecht

10

วินัยของการเขียนโปรแกรมโดย Edgar W. Dijkstra

วิธีการเขียนรหัสที่พิสูจน์ได้อย่างถูกต้อง

นี่ไม่ใช่หนังสือสำหรับอ่าน แต่เป็นหนังสือเพื่อการศึกษา


สตีเว่นฉันไม่ได้ดูหนังสือเล่มนี้จริงๆ แต่มันทำให้ฉันถามคำถามที่สำคัญมาก: มันมีประโยชน์สำหรับการพูดนักพัฒนาเว็บหรือ C ++ coder [ไดรเวอร์อุปกรณ์ ฯลฯ ] หรือนักพัฒนา Android หรือไม่? ฉันกำลังถามคุณว่ามันคุ้มค่ากับเวลาของฉันหรือไม่ [ต่อไปในความคิดเห็นถัดไป]
Chani

[ต่อจากความคิดเห็นก่อนหน้านี้] ฉันใหม่ แต่ฉันเรียนรู้อย่างรวดเร็วชั่วร้าย ฉันอ่านบล็อกมากมายรหัสโอเพนซอร์ซ ฯลฯ ดังนั้นการอ่านหนังสือข้างบน (และอื่น ๆ ในประเภท) จะช่วยฉันได้จริงหรือ และเพื่อน; เหตุผลเดียวที่ฉันมีทัศนคติในแง่ร้ายเช่นนั้นคือฉันได้อ่านการออกแบบและวิเคราะห์อัลกอริทึมคอมพิวเตอร์โดย Aho และ ทั้งหมดและเพื่อบอกความจริงกับฉันว่าฉันใช้ความรู้นั้นแทบจะไม่ ..... แต่อีกครั้งฉันได้เขียนโปรแกรมอย่างจริงจังเป็นเวลาน้อยกว่า 6 เดือน แล้วคุณจะว่าอย่างไร
Chani

1
@RYUZAKI: คุณเขียนโปรแกรมอย่างจริงจังน้อยกว่าหกเดือนและคุณพบ Aho และคณะ อัลกอริทึมหนังสือไม่มีประโยชน์ทันที? ถ้าอย่างนั้นคุณไม่ได้มองหาหนังสือที่กล่าวถึงในคำถามนี้ คุณอาจต้องการใช้เวลาสักครู่และรู้สึกสบายใจมากขึ้นในสนามจากนั้นกลับมาที่สิ่งเหล่านี้ หนังสือในคำตอบเหล่านี้ (สิ่งที่ฉันรู้) จะสอนคุณและขยายความเข้าใจของคุณอย่างมาก พวกเขาจะไม่ทำให้คุณเป็นนักพัฒนา C # ที่ดีขึ้นทันทีหากนั่นคือสิ่งที่คุณกำลังมองหาในตอนนี้
David Thornley

+1: และวิทยาศาสตร์การเขียนโปรแกรมของ David Gries หนังสือสหายที่ขยายในธีม
S.Lott

2
@RYUZAKI ชอบข้อความ CS ที่ลึกที่สุดคุณได้รับสิ่งที่คุณใส่ไว้ ฉันได้รับการชื่นชมใหม่เกี่ยวกับความงามทางคณิตศาสตร์ของการเขียนโปรแกรมพร้อมกับประสบการณ์โดยตรงในการออกแบบและพิสูจน์ความถูกต้องของโปรแกรมขนาดเล็กมาก มันใช้เวลาส่วนหนึ่งของปีที่ดีกว่าในการทำงานผ่านหนังสือของฉัน
Steven A. Lowe

9

หนังสือมังกรแน่นอนจะช่วยให้คุณเข้าใจแนวความคิดในระดับต่ำ


สิ่งที่ดี. ฉันต้องศึกษามันเป็นส่วนหนึ่งของหลักสูตร CS ของฉันและพบว่ามันน่าสนใจมากประสบการณ์ที่ท้าทายและเพิ่มคุณค่า
Chani

6

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


2
"เจ็ดภาษาในเจ็ดสัปดาห์" นั้นยอดเยี่ยมมาก แต่ไม่ใช่หนังสือที่ยากลำบาก
Chiron

หากเป้าหมายของคุณคือการทำให้หนังสือเป็นเรื่องยากเพื่อความยากลำบากของคุณในทางกลับกันมันเป็นหนังสือที่มีข้อมูลที่ดีมากมายอยู่ในนั้น
Zachary K

4

ฉันอยากจะแนะนำสูตรตัวเลข: ศิลปะของการคำนวณทางวิทยาศาสตร์

หนังสือที่ยอดเยี่ยมซึ่งมีรายละเอียดอัลกอริทึมทางวิทยาศาสตร์ที่มีประโยชน์มากมาย ในอาชีพของฉันในระบบสมองกลฝังตัวและคอมพิวเตอร์อุตสาหกรรมเวอร์ชันหนึ่งหรืออีกภาษาหนึ่งหรืออีก1นั้นเป็นคู่หูที่คงที่ของฉัน

  1. ก่อนหน้ารุ่นที่สามมีหนังสือที่แตกต่างกันสำหรับภาษาที่แตกต่างกันดังนั้นจึงมีสูตรอาหารตัวเลขใน C , สูตรตัวเลขใน Fortranและแม้แต่สูตรอาหารตัวเลขใน Pascal

ว้าวฉันไม่ได้คิดถึงหนังสือหมวกในอีกประมาณ 15 ปี
Zachary K

ใช่ฉันซื้อฉบับพิมพ์ครั้งแรกที่มหาวิทยาลัยและมีการจัดการเพื่อหาประโยชน์สำหรับอัลกอริทึมในหนังสือเหล่านั้นในทุกงานที่ฉันทำงานตั้งแต่นั้นมา
Mark Booth

2

ทางเลือกบางอย่างสำหรับหนังสือที่มีชื่อเสียง (และยอดเยี่ยม) แนะนำแล้ว:

  • ระบบฐานข้อมูล: The Complete Book, 2nd ed. มีส่วนที่สองที่อธิบายวิธีการนำ DBMS มาใช้จริง มีเนื้อหามากมายเกี่ยวกับวิธีการจัดเก็บและจัดทำดัชนีข้อมูลอย่างมีประสิทธิภาพและวิธีดำเนินการสืบค้นในฐานข้อมูล
  • วิธีการทางวิศวกรรมเพื่อเครือข่ายคอมพิวเตอร์อธิบายรายละเอียดที่ลึกที่สุดของการทำให้เครือข่ายทำงานได้จริง หากคุณต้องการใช้แอปพลิเคชั่นหรืออุปกรณ์เครือข่ายประสิทธิภาพสูงข้อความนี้จะให้พื้นฐานที่ดีเยี่ยม
  • อัลกอริทึมการประมาณประกอบด้วยภาพรวมที่กว้างขวางของปัญหาการเพิ่มประสิทธิภาพ combinatorial ผู้เขียนขอแนะนำให้ศึกษาปัญหาในเชิงลึกก่อนที่จะพยายามสร้างการประมาณซึ่งเป็นคำแนะนำที่ดีมาก
  • ประเภทและการเขียนโปรแกรมภาษา 600+ หน้าของทฤษฎีและเทคนิคการใช้งานที่อุทิศให้กับประเภทในภาษาการเขียนโปรแกรม ปรากฎว่ามีทฤษฎีจำนวนหนึ่งที่จัดการได้อย่างไม่น่าเชื่อ หากคุณต้องการสร้างภาษาการเขียนโปรแกรมแบบเต็มเป่ามีหลายสิ่งให้เรียนรู้ที่นี่


1

ฉันเพิ่งเริ่มอ่านแฮกเกอร์ดีไลท์ (http://www.amazon.com/Hackers-Delight-Henry-S-Warren/dp/0201914654) มันอาจจะไม่ได้คะแนนสูงมากในแง่มุมที่ยากลำบาก แต่ฉันจะให้คะแนนสูงถึงความละเอียดถี่ถ้วนระดับต่ำและการแก้ปัญหาที่ฉลาดจริง ๆ กับจิตวิญญาณของชื่อ


1

คุณสามารถเริ่มต้นเรียนรู้ Lisp langs นั่นจะเป็นเรื่องที่ยาก! บวกกับการแบ่งความสุขจากการเขียนโปรแกรมปกติ

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