วิธีการพัฒนาโปรแกรมการทำงานระดับสูงขึ้น [ปิด]


12

ก่อนอื่นฉันต้องขออภัยถ้านี่ไม่ใช่สถานที่ที่เหมาะสมสำหรับคำถามนี้ แต่ฉันคิดว่า th.CS ไม่ใช่สถานที่ที่เหมาะสมแน่นอนไม่มี StackOverflow

ฉันชอบการเขียนโปรแกรมที่ใช้งานได้จริงและฉันคิดว่าฉันเป็นคนระดับกลางใน F # และเข้าใจแนวคิดพื้นฐานของ Haskell ค่อนข้างดี - และใช่ฉันคิดว่าฉันรู้ / ล้มเหมือนที่ฉันรู้ว่า Monad คืออะไร

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

อ่านอะไรเกี่ยวกับแลมบ์ดาแคลคูลัส? ทฤษฎีหมวดหมู่? ทั้งฉันรู้เพียงเล็กน้อยและฉันไม่คิดว่านี่เป็นวิธีที่ถูกต้อง / รวดเร็วที่สุดในการรับรู้

บางทีคุณอาจให้คำแนะนำบางอย่างกับฉัน

ป.ล. : ฉันไม่กลัวคณิตศาสตร์และฉันไม่หงุดหงิดกับการออกกำลังกายอย่างง่ายดาย แต่ฉันจะใส่ล่วงหน้า intros / ข้อความที่คุณสามารถใส่รหัสลงเพราะวิธีนี้คุณจะได้รับผลตอบรับทันที

คำตอบ:


6

F # เป็นการเริ่มต้นที่ดีคุณควรไปกับ Haskell และอ่านแคลคูลัสแลมบ์ดาอย่างแน่นอนและอ่านเอกสารของแลมบ์ดาที่กล่าวถึงข้างต้น

การใช้ภาษาไฮบริด (Clojure, Scala, OCaml, ... ) อาจช่วยให้มันง่ายขึ้นหากคุณมาจากพื้นหลังของ OO แต่ฉันคิดว่าถ้าคุณต้องการเข้าใจแนวคิดการทำงานของโปรแกรมคุณควรจะไปที่ ของจริง (Haskell, Lisp, ... )


ขอบคุณ - แน่นอนฉันจะยึดติดกับ F # (ฉันสามารถใช้สิ่งนี้ในรหัสการผลิต ... ) และฉันจะพยายามเรียนรู้ฮาเซลมากขึ้น - แต่มันยากขึ้นเพราะฉันพบว่ามันค่อนข้างยากที่จะทำสิ่งอื่น ๆ (ยัง) - โครงการอาจจะดี (มีตอนสั้น ๆ ใน Lisp หนึ่งครั้ง) แต่ OCaml เกือบจะเหมือนกับ F # (ฉันคิดว่า)
Carsten

@ CarstenKönig: มีโครงการที่น่าสนใจมากมายที่คุณสามารถทำได้โดยไม่ต้องกังวลกับ UI ตัวเลือกที่ยอดเยี่ยมกำลังทำงานกับภาษาโปรแกรม: การเขียน Scheme หรือ Prolog interpreter ใน Haskell เป็นการออกกำลังกายที่ยอดเยี่ยมและใช้ชีวิตอย่างมีความสุขบนบรรทัดคำสั่ง
Tikhon Jelvis

4

ฉันขอแนะนำให้คุณอ่านหนังสือสามเล่มเหล่านี้หากเวลาเป็นสิ่งที่หรูหรา:

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


เวลา ATM ไม่เป็นปัญหา - และฉันจะใช้เวลาสักครู่ถ้าฉันพบพลังงานในตอนเย็นอย่างไรก็ตาม ... อาจช้า แต่ปกติฉันสามารถอ่านได้มาก แน่นอนว่าด้วยหนังสือประเภทนั้นฉันจะก้าวไปช้าๆในการรวบรวมข้อมูล ... ขอบคุณ (น่าเศร้าที่หนังสือเล่มสุดท้ายดูเหมือนจะพิมพ์ออกมา ... ไม่สามารถอ่านจากหน้าจอได้)
Carsten

2

เรียนรู้คุณ Haskellมีการแนะนำที่ยอดเยี่ยมสำหรับฟังก์ชั่น

สำหรับสิ่งที่หนักมากคุณสามารถอ่านเว็บไซต์ที่ยอดเยี่ยมของ Oleg Klysov: ตัวคั่นที่ต่อเนื่อง, ซิป, iteratees, ...


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