คำถามติดแท็ก programming-languages

ภาษาโปรแกรมเป็นภาษาประดิษฐ์ที่ออกแบบมาเพื่อแสดงการคำนวณที่เครื่องสามารถทำได้ ** โปรดทราบ: ** เช่นเดียวกับกรณีอื่น ๆ ใน Stack Overflow คำขอแนะนำแหล่งข้อมูลและบทช่วยสอนคำขอรายการสิ่งต่างๆ ("ภาษาใดมีคุณลักษณะนี้ ... ") และตามความคิดเห็นมากเกินไป ("อะไรดีที่สุด ... ") คำถามนอกประเด็น

30
หนังสือภาษา / แบบฝึกหัดสำหรับภาษายอดนิยม
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เมื่อไม่นานมานี้ฉันเป็นผู้เริ่มต้นใช้งานพยายามหาหนังสือ / แบบฝึกหัดที่ดีเกี่ยวกับภาษาที่ฉันต้องการเรียนรู้ แม้กระนั้นก็ยังมีบางครั้งที่ฉันต้องเลือกภาษาที่ค่อนข้างเร็วสำหรับโครงการใหม่ที่ฉันกำลังทำอยู่ จุดโพสต์นี้คือการจัดทำเอกสารการสอนและหนังสือที่ดีที่สุดสำหรับภาษาเหล่านี้ ฉันจะเริ่มต้นรายการด้วยสิ่งที่ดีที่สุดที่ฉันสามารถหาได้ แต่หวังว่าพวกคุณจะช่วยได้คำแนะนำที่ดีกว่า / ภาษาใหม่ ๆ นี่คือสิ่งที่ฉันพบ: เนื่องจากตอนนี้สามารถแก้ไขได้แล้วฉันจึงให้การควบคุมแก่ชุมชน หากคุณมีข้อเสนอแนะโปรดใส่ไว้ในส่วนนี้ ฉันตัดสินใจที่จะเพิ่มหัวข้อสำหรับหนังสือโปรแกรมเมอร์ทั่วไปและการอ้างอิงออนไลน์ด้วยเช่นกัน ยินดีต้อนรับทุกคำแนะนำอีกครั้ง โปรแกรมทั่วไป Online Tutorials พื้นฐานของการเขียนโปรแกรมโดย Karl Seguin - จาก Codebetter ซึ่งเป็นภาษา C # แต่ความคิดดังขึ้นทั่วทั้งกระดานไม่น่าเชื่อว่าจะไม่มีใครโพสต์เรื่องนี้เลย How to Write Unmaintainable Code - คู่มือต่อต้านที่สอนวิธีเขียนโค้ดในแบบที่เป็นไปได้มากที่สุด มันคงจะตลกถ้าคำแนะนำเหล่านี้จำนวนมากไม่ได้ดังมาก ส่วนการเขียนโปรแกรมของหนังสือ Wiki - แนะนำโดย Jim Robert ว่ามีหนังสือ / แบบฝึกหัดจำนวนมากในหลาย ๆ …

11
คำอธิบายที่ดีที่สุดสำหรับภาษาที่ไม่มีค่า null
บ่อยครั้งเมื่อโปรแกรมเมอร์กำลังบ่นเกี่ยวกับข้อผิดพลาด / ข้อยกเว้นของโมฆะบางคนถามว่าเราทำอะไรโดยไม่มีโมฆะ ฉันมีความคิดพื้นฐานเกี่ยวกับความเท่ของตัวเลือกประเภทต่าง ๆ แต่ฉันไม่มีความรู้หรือทักษะทางภาษาที่จะแสดงได้ดีที่สุด อะไรคือคำอธิบายที่ยอดเยี่ยมของสิ่งต่อไปนี้ที่เขียนในวิธีที่เข้าถึงโปรแกรมเมอร์โดยเฉลี่ยที่เราสามารถชี้ให้บุคคลนั้นเห็นได้ ความไม่พึงประสงค์ของการมีการอ้างอิง / พอยน์เตอร์จะเป็นโมฆะโดยค่าเริ่มต้น ประเภทตัวเลือกทำงานอย่างไรรวมถึงกลยุทธ์ในการตรวจสอบกรณีว่างเช่น การจับคู่รูปแบบและ ความเข้าใจแบบ monadic ทางเลือกอื่น ๆ เช่นการกินข้อความไม่มี (ด้านอื่น ๆ ที่ฉันพลาด)

30
ทำไมโปรแกรมไม่ได้เขียนในแอสเซมบลีบ่อยขึ้น [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ดูเหมือนว่าเป็นความคิดเห็นหลักว่าการเขียนโปรแกรมแอสเซมบลีใช้เวลานานกว่าและยากที่จะโปรแกรมในภาษาระดับสูงกว่าเช่น C. ดังนั้นจึงดูเหมือนว่าจะแนะนำหรือสันนิษฐานว่าดีกว่าที่จะเขียนด้วยภาษาระดับสูงด้วยเหตุผลเหล่านี้ และสำหรับเหตุผลของการพกพาที่ดีขึ้น เมื่อเร็ว ๆ นี้ฉันได้เขียนในชุดประกอบ x86 และเริ่มต้นกับฉันแล้วว่าเหตุผลเหล่านี้อาจไม่จริงยกเว้นการพกพา บางทีมันอาจเป็นเรื่องของความคุ้นเคยและการรู้วิธีเขียนชุดประกอบ ฉันยังสังเกตเห็นว่าการเขียนโปรแกรมในแอสเซมบลีค่อนข้างแตกต่างจากการเขียนโปรแกรมใน HLL บางทีโปรแกรมเมอร์แอสเซมบลีที่ดีและมีประสบการณ์สามารถเขียนโปรแกรมได้อย่างง่ายดายและรวดเร็วเหมือนกับโปรแกรมเมอร์ C ที่มีประสบการณ์เขียนใน C อาจเป็นเพราะการเขียนโปรแกรมแอสเซมบลีค่อนข้างแตกต่างจาก HLLs ดังนั้นต้องใช้ความคิดวิธีการและวิธีการที่แตกต่างกันซึ่งทำให้ดูเหมือนว่าโปรแกรมในสิ่งที่ไม่คุ้นเคยเป็นเรื่องที่น่าอึดอัดใจมาก ถ้าการพกพาไม่ใช่ปัญหาจริงๆแล้ว C จะมีอะไรบ้างในแอสเซมเบลอร์ที่ดีเช่น NASM แก้ไข: เพียงเพื่อชี้ให้เห็น เมื่อคุณกำลังเขียนในการชุมนุมคุณไม่จำเป็นต้องเขียนในรหัสการเรียนการสอน คุณสามารถใช้มาโครและโพรซีเดอร์และการประชุมของคุณเองเพื่อสร้าง abstractions ต่าง ๆ เพื่อทำให้โปรแกรมแยกส่วนเพิ่มเติมบำรุงรักษาได้ง่ายขึ้นและอ่านง่ายขึ้น นี่คือที่คุ้นเคยกับวิธีการเขียนแอสเซมบลีที่ดีมา

9
ภาษาประเภทไดนามิกกับภาษาประเภทคงที่
อะไรคือข้อดีและข้อ จำกัด ของภาษาประเภทไดนามิกเมื่อเทียบกับภาษาประเภทคงที่? ดูเพิ่มเติม : อะไรกับความรักของภาษาแบบไดนามิก (หัวข้อโต้แย้งมากกว่า ... )

18
การเขียนโปรแกรมเชิงประกาศคืออะไร? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน5 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันได้ยินคำนี้เรื่อย ๆ ในบริบทที่แตกต่างกันหลายอย่าง มันคืออะไร?

24
ภาษาสำคัญที่ต้องเรียนรู้ที่จะเข้าใจแนวทางและแนวคิดต่าง ๆ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ เมื่อสิ่งที่คุณมีคือมีดสลักเกลียวและวอดก้าหนึ่งขวดทุกอย่างดูเหมือนล็อคที่ประตูโรงเรือของ Wolf Blitzer (แทนที่ด้วยค้อนและตะปูถ้าคุณไม่อ่าน xkcd) ฉันกำลังเขียนโปรแกรม Clojure, Python, Java และ PHP ดังนั้นฉันคุ้นเคยกับไวยากรณ์ C และ LISP รวมถึงช่องว่าง ฉันรู้ว่าจำเป็น, ใช้งานได้, ไม่เปลี่ยนแปลง, OOP และระบบพิมพ์สองอย่างและสิ่งอื่น ๆ ตอนนี้ฉันต้องการมากขึ้น! ภาษาใดที่ใช้แนวทางที่แตกต่างกันและจะมีประโยชน์สำหรับการเลือกเครื่องมือที่ใช้งานได้จริงหรือความเข้าใจทางทฤษฎี ฉันไม่รู้สึกอยากเรียนภาษาอื่นที่ใช้งานได้ (Haskell) หรือภาษา OOP ที่จำเป็น (Ruby) อีกทั้งฉันไม่ต้องการฝึกภาษาสนุก ๆ ที่ทำไม่ได้เช่น Brainfuck สิ่งหนึ่งที่น่าสนใจมากที่ฉันพบว่าตัวเองเป็นภาษาโมโนโพนิคสแต็กเช่น Factor เมื่อฉันรู้สึกว่าฉันเข้าใจแนวความคิดส่วนใหญ่และมีคำตอบสำหรับคำถามทั้งหมดของฉันฉันต้องการเริ่มคิดเกี่ยวกับภาษาของเล่นของตัวเองเพื่อให้มีการตั้งค่าส่วนตัวของฉันทั้งหมด

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

9
คำว่า "บริบท" ในการเขียนโปรแกรม? [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันได้เขียนโปรแกรมมาหลายเดือนแล้วและคำที่ใช้บ่อยคือ "บริบท" ในชั้นเรียน กดไลค์ServletContext(Java), Activity(Android), Service(Java, Android), NSManagedContext(Objective-C, iOS) เมื่อดูในพจนานุกรมฉันเห็นว่าคำนี้หมายถึง: สถานการณ์สิ่งแวดล้อมสถานการณ์ ฯลฯ อย่างไรก็ตามเนื่องจากฉันไม่ใช่เจ้าของภาษาอังกฤษฉันไม่เข้าใจสิ่งที่ฉันควรแปลโดยตรง ตัวอย่างเช่นถ้าฉันจะเขียนคลาสที่มีชื่อSomeClassContextหรือวิธีการที่มีพารามิเตอร์บริบทฉันจะไม่เข้าใจเมื่อฉันควรตั้งชื่อบริบทเพราะฉันไม่เข้าใจ ฉันค้นหาบริบทใน Stack Overflow แต่ไม่มีคำถาม / คำตอบที่สามารถช่วยฉันได้ ฉันจะมีความสุขมากถ้ามีคนอธิบายให้ฉันได้


11
แสดงทศนิยมสองตำแหน่งใน Python
ฉันมีฟังก์ชันที่รับอาร์กิวเมนต์แบบลอย (โดยทั่วไปจะเป็นจำนวนเต็มหรือทศนิยมที่มีเลขนัยสำคัญหนึ่งหลัก) และฉันจำเป็นต้องส่งออกค่าในสตริงที่มีทศนิยมสองตำแหน่ง (5 -> 5.00, 5.5 -> 5.50 เป็นต้น) ฉันจะทำสิ่งนี้ใน Python ได้อย่างไร

24
ทำไมชื่อตัวแปรเริ่มต้นด้วยตัวเลขไม่ได้?
ฉันทำงานกับนักพัฒนา C ++ รายใหม่เมื่อเขาถามคำถาม: "ทำไมชื่อตัวแปรไม่สามารถขึ้นต้นด้วยตัวเลข" ฉันไม่สามารถหาคำตอบได้ยกเว้นว่าตัวเลขบางตัวสามารถมีข้อความอยู่ในนั้น (123456L, 123456U) และจะเป็นไปไม่ได้หากคอมไพเลอร์คิดทุกอย่างด้วยอักขระอัลฟ่าจำนวนหนึ่งเป็นชื่อตัวแปร นั่นคือคำตอบที่ถูกต้องหรือไม่? มีเหตุผลอะไรอีกไหม? string 2BeOrNot2Be = "that is the question"; // Why won't this compile?

10
อะไรคือความแตกต่างระหว่าง mutex และส่วนวิกฤต?
กรุณาอธิบายจาก Linux, Windows มุมมอง? ฉันกำลังเขียนโปรแกรมในภาษา C # คำศัพท์ทั้งสองนี้จะสร้างความแตกต่างได้หรือไม่ กรุณาโพสต์ให้มากที่สุดพร้อมตัวอย่างและเช่น .... ขอบคุณ

30
ไฟล์ I / O ในทุกภาษาโปรแกรม [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน9 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ นี่เป็นคำถามทั่วไปที่โปรแกรมเมอร์ทุกคนมีเป็นครั้งคราว ฉันจะอ่านบรรทัดจากไฟล์ข้อความได้อย่างไร คำถามต่อไปคือฉันจะเขียนมันกลับมาได้อย่างไร แน่นอนว่าส่วนใหญ่คุณใช้กรอบการทำงานระดับสูงในการเขียนโปรแกรมแบบวันต่อวัน (ซึ่งใช้ได้ดีกับคำตอบ) แต่บางครั้งก็เป็นเรื่องดีที่รู้วิธีการทำในระดับต่ำเช่นกัน ตัวผมเองรู้วิธีที่จะทำมันในC, C++และObjective-Cแต่แน่ใจว่าจะเป็นประโยชน์เพื่อดูว่าวิธีการก็ทำในทุกภาษาที่นิยมถ้าเพียง แต่จะช่วยให้เราตัดสินใจที่ดีขึ้นเกี่ยวกับสิ่งที่ภาษาที่จะทำไฟล์ของเรา io ใน. โดยเฉพาะอย่างยิ่ง ฉันคิดว่ามันจะน่าสนใจเพื่อดูว่ามันทำในภาษาสตริงการจัดการเช่น: python, และแน่นอนrubyperl ดังนั้นฉันคิดว่าที่นี่เราสามารถสร้างแหล่งชุมชนที่เราสามารถติดดาวไปยังโปรไฟล์ของเราและดูว่าเมื่อใดที่เราต้องทำไฟล์ I / Oในภาษาใหม่บางภาษา ไม่พูดถึงการเปิดรับเราทุกคนจะได้รับภาษาที่เราไม่ได้จัดการในแต่ละวัน นี่คือวิธีที่คุณต้องตอบ: สร้างไฟล์ข้อความใหม่ชื่อ " fileio.txt " เขียนบรรทัดแรก "hello" ลงในไฟล์ข้อความ ผนวกบรรทัดที่สอง "โลก" ลงในไฟล์ข้อความ อ่านบรรทัดที่สอง "โลก" ลงในสายป้อน พิมพ์สตริงอินพุตไปที่คอนโซล ชี้แจง: คุณควรแสดงวิธีการทำเช่นนี้ในภาษาการเขียนโปรแกรมเดียวต่อหนึ่งคำตอบเท่านั้น สมมติว่าไฟล์ข้อความไม่มีอยู่ก่อน คุณไม่จำเป็นต้องเปิดไฟล์ข้อความอีกครั้งหลังจากเขียนบรรทัดแรก ไม่ …

7
Scalar กับประเภทข้อมูลดั้งเดิม - เป็นสิ่งเดียวกันหรือไม่?
ในบทความต่างๆที่ฉันได้อ่านบางครั้งมีการอ้างอิงถึงประเภทข้อมูลดั้งเดิมและบางครั้งก็มีการอ้างอิงถึงสเกลาร์ ความเข้าใจของฉันเกี่ยวกับแต่ละข้อคือเป็นประเภทข้อมูลของสิ่งง่ายๆเช่น int, boolean, char เป็นต้น มีบางอย่างที่ฉันขาดหายไปซึ่งหมายความว่าคุณควรใช้คำศัพท์เฉพาะหรือเป็นคำที่ใช้แทนกันได้? หน้า Wikipedia สำหรับแต่ละหน้าไม่ได้แสดงอะไรที่ชัดเจน หากข้อกำหนดสามารถใช้แทนกันได้คำใดที่ต้องการคือ?

4
อะไรคือกรณีการใช้งานที่น่าสนใจสำหรับประเภทวิธีการที่ต้องพึ่งพา
ประเภทวิธีการขึ้นอยู่กับที่เคยเป็นคุณลักษณะทดลองมาก่อนตอนนี้ได้เปิดใช้งานโดยค่าเริ่มต้นในหีบและดูเหมือนว่าสิ่งนี้จะสร้างความตื่นเต้นในชุมชน Scala ดูครั้งแรกยังไม่ชัดเจนในทันทีว่าสิ่งนี้มีประโยชน์สำหรับอะไร Heiko Seeberger โพสต์ตัวอย่างง่าย ๆ ของประเภทวิธีการที่ขึ้นกับที่นี่ซึ่งสามารถเห็นได้ในความคิดเห็นสามารถทำซ้ำได้อย่างง่ายดายด้วยพารามิเตอร์ประเภทในวิธีการ นั่นไม่ใช่ตัวอย่างที่น่าสนใจ (ฉันอาจจะขาดอะไรบางอย่างที่ชัดเจนโปรดแก้ไขฉันหากมี) มีตัวอย่างกรณีการใช้งานที่ใช้งานได้จริงและมีประโยชน์อะไรบ้างสำหรับประเภทวิธีการที่พึ่งพาซึ่งพวกเขาได้เปรียบอย่างชัดเจนมากกว่าทางเลือกอื่น ๆ สิ่งที่น่าสนใจที่เราสามารถทำได้กับสิ่งเหล่านี้ที่ไม่เคยเป็นไปได้ / ง่ายมาก่อน? พวกเขาซื้ออะไรเราจากคุณสมบัติระบบประเภทที่มีอยู่? นอกจากนี้ประเภทวิธีการที่ขึ้นอยู่กับการเปรียบเทียบหรือการวาดแรงบันดาลใจจากคุณสมบัติใด ๆ ที่พบในระบบประเภทของภาษาพิมพ์ขั้นสูงอื่น ๆ เช่น Haskell, OCaml หรือไม่

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