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

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

6
การจัดการโดยไม่ทราบชื่อพารามิเตอร์ของฟังก์ชันเมื่อคุณเรียกใช้
นี่คือปัญหาการเขียนโปรแกรม / ภาษาที่ฉันต้องการจะได้ยินความคิดของคุณ เราได้พัฒนาข้อตกลงที่โปรแกรมเมอร์ส่วนใหญ่ (ควร) ปฏิบัติตามซึ่งไม่ได้เป็นส่วนหนึ่งของไวยากรณ์ภาษา แต่ให้บริการเพื่อทำให้โค้ดอ่านง่ายขึ้น แน่นอนว่าสิ่งเหล่านี้เป็นเรื่องของการถกเถียงอยู่เสมอ แต่อย่างน้อยก็มีแนวคิดหลักบางประการที่โปรแกรมเมอร์ส่วนใหญ่เห็นด้วย การตั้งชื่อตัวแปรของคุณอย่างเหมาะสมตั้งชื่อโดยทั่วไปทำให้บรรทัดของคุณไม่ยาวเกินเหตุหลีกเลี่ยงการใช้งานที่ยาวนานห่อหุ้มสิ่งต่าง ๆ อย่างไรก็ตามมีปัญหาที่ฉันยังไม่พบใครแสดงความคิดเห็นและอาจเป็นหนึ่งในกลุ่มที่ใหญ่ที่สุด มันเป็นปัญหาของการโต้แย้งที่ไม่ระบุตัวตนเมื่อคุณเรียกใช้ฟังก์ชัน ฟังก์ชันมาจากคณิตศาสตร์โดยที่ f (x) มีความหมายชัดเจนเพราะฟังก์ชั่นมีคำจำกัดความที่เข้มงวดมากขึ้นซึ่งมักจะใช้ในการเขียนโปรแกรม ฟังก์ชั่นที่บริสุทธิ์ในคณิตศาสตร์สามารถทำอะไรได้น้อยกว่ามากในการเขียนโปรแกรมและพวกเขาเป็นเครื่องมือที่สง่างามกว่ามากพวกเขามักจะโต้แย้งเพียงครั้งเดียว หากฟังก์ชั่นนั้นมีหลายอาร์กิวเมนต์มันมักจะเป็นเพียงมิติเพิ่มเติมของโดเมนของฟังก์ชัน กล่าวอีกนัยหนึ่งอาร์กิวเมนต์ไม่สำคัญกว่าอีกอาร์กิวเมนต์ พวกเขาได้รับคำสั่งอย่างชัดเจนแน่นอน แต่นอกจากนั้นพวกเขาไม่มีการจัดลำดับความหมาย ในการเขียนโปรแกรมเรามีอิสระในการกำหนดฟังก์ชั่นและในกรณีนี้ฉันจะเถียงว่ามันไม่ได้เป็นสิ่งที่ดี สถานการณ์ทั่วไปคุณมีฟังก์ชั่นที่กำหนดเช่นนี้ func DrawRectangleClipped (rectToDraw, fillColor, clippingRect) {} ดูคำจำกัดความถ้าฟังก์ชั่นเขียนอย่างถูกต้องมันชัดเจนว่ามันคืออะไร เมื่อเรียกใช้ฟังก์ชั่นนี้คุณอาจมีเวทย์มนตร์ intellisense / code ที่เกิดขึ้นใน IDE / โปรแกรมแก้ไขที่จะบอกคุณว่าอาร์กิวเมนต์ต่อไปควรเป็นอย่างไร แต่เดี๋ยวก่อน. หากฉันต้องการสิ่งนั้นเมื่อฉันกำลังเขียนการโทรจริงๆไม่มีสิ่งที่เราขาดหายไปที่นี่หรือไม่ คนที่อ่านรหัสไม่ได้รับประโยชน์จาก IDE และถ้าพวกเขาข้ามไปที่คำจำกัดความพวกเขาไม่มีความคิดที่สี่เหลี่ยมสองอันที่ผ่านมาเป็นอาร์กิวเมนต์ใช้สำหรับอะไร ปัญหายิ่งไปกว่านั้น หากข้อโต้แย้งของเรามาจากตัวแปรท้องถิ่นบางอย่างอาจมีสถานการณ์ที่เราไม่รู้ด้วยซ้ำว่าข้อโต้แย้งที่สองคืออะไรเพราะเราเห็นชื่อตัวแปรเท่านั้น ยกตัวอย่างบรรทัดโค้ดนี้ DrawRectangleClipped(deserializedArray[0], deserializedArray[1], deserializedArray[2]) …

6
sigils ทำให้ซอร์สโค้ดอ่านง่ายขึ้นหรือไม่
ในภาษาการเขียนโปรแกรมส่วนใหญ่ตัวแปรไม่มีการระบุอักขระเหมือนที่ทำใน PHP ใน PHP คุณต้องนำหน้าตัวแปรด้วย$อักขระ ตัวอย่าง; var $foo = "something"; echo $foo; ฉันกำลังพัฒนาภาษาสคริปต์ใหม่สำหรับแอปพลิเคชันธุรกิจและผู้ใช้เป้าหมายของฉันไม่มีพื้นหลังการเขียนโปรแกรม อักขระเหล่านี้ทำให้รหัสอ่านและใช้ง่ายขึ้นหรือไม่ เหตุผลหนึ่งที่ PHP ใช้$คือเพราะไม่มี PHP ไม่สามารถบอกได้ว่าชื่อคือการอ้างอิงฟังก์ชันหรือการอ้างอิงตัวแปร นี่เป็นเพราะภาษาอนุญาตการอ้างอิงที่แปลกไปยังฟังก์ชัน ดังนั้น$สัญลักษณ์จะช่วยให้ parser แยก namespace ฉันไม่มีปัญหานี้ในโปรแกรมแยกวิเคราะห์ ดังนั้นคำถามของฉันคือการอ่านง่ายและใช้งานง่าย ฉันเขียนโค้ดเป็นเวลาหลายปีใน PHP ว่าเมื่อฉันเห็น$fooมันเป็นเรื่องง่ายสำหรับฉันที่จะระบุว่านี่เป็นตัวแปร ฉันแค่ให้การตั้งค่าอคติกับตัวระบุนี้หรือไม่

2
การแยกวิเคราะห์ที่ไม่สแกนเนอร์เกี่ยวข้องกับ“ ปัญหาอื่น ๆ ที่น่าวิตก”
ฉันไม่เข้าใจประโยคนี้จากบทความ Wikipedia เกี่ยวกับปัญหา Dangling Else : [ปัญหา Dangling Else] เป็นปัญหาที่เกิดขึ้นบ่อยครั้งในการสร้างคอมไพเลอร์โดยเฉพาะการแยกวิเคราะห์ที่ไม่มีสแกนเนอร์ บางคนสามารถอธิบายให้ฉันฟังได้ว่าเทคนิคการแยกวิเคราะห์แบบสแกนเนอร์ไร้สาระอาจทำให้ปัญหานี้รุนแรงขึ้นได้อย่างไร สำหรับฉันแล้วดูเหมือนว่าปัญหาเกิดขึ้นกับไวยากรณ์ - เนื่องจากมันคลุมเครือ - ไม่ใช่ด้วยเทคนิคการแยกวิเคราะห์ ฉันกำลังคิดถึงอะไร

4
“ ภาษาที่ จำกัด ” ของ Fernando J. Corbató
สำหรับคำปราศรัยรางวัลทัวริงปี 1990เฟอร์นันโดเจคอร์บัตโตระบุเหตุผลว่าทำไมระบบที่ซับซ้อนจะล้มเหลวอย่างหลีกเลี่ยงไม่ได้ ในบทสรุปของเขาเขาให้คำแนะนำสำหรับการลดความน่าจะเป็นของความล้มเหลว เขาแสดงความคิดเดียวดังนี้: [U] se ของภาษาที่มีข้อ จำกัด สำหรับการออกแบบหรือการสังเคราะห์เป็นวิธีการที่ทรงพลัง การไม่อนุญาตให้โปรแกรมเมอร์หรือผู้ออกแบบแสดงความคิดเห็นที่ไม่เกี่ยวข้องทำให้โดเมนของข้อผิดพลาดที่อาจเกิดขึ้นมี จำกัด มากขึ้น เขาหมายถึงอะไรโดย "ภาษา จำกัด " สำหรับช่วงเวลาที่ผมถือว่าการเขียนโปรแกรม จำกัด อย่างไรก็ตามการเขียนโปรแกรมข้อ จำกัด เกี่ยวกับการ จำกัด พื้นที่โซลูชันของโปรแกรม มันเป็นเครื่องมือที่ช่วยให้โปรแกรมเมอร์ คุณสมบัติCorbatóหมายถึงดูเหมือนว่าจะเป็นสิ่งที่ จำกัด โปรแกรมเมอร์จริงๆหรืออย่างน้อยก็ทำให้เธอมีแนวโน้มที่จะเขียนรหัส terser มากขึ้น ความคิดที่สองของฉันคือการที่เขาจะหมายถึงการเขียนโปรแกรมภาษาอนุรักษ์นิยม Corbatóได้รับรางวัลทัวริงของเขาสำหรับงานที่ทำในปี 1960 และ 1970 เป็นความเข้าใจของฉันที่เขาจัดการกับการ์ดเจาะจำนวนมาก ฉันไม่เคยเห็น punch card ดังนั้นฉันไม่ทราบวิธีการตั้งโปรแกรมอย่างแน่นอน แต่ฉันอาจเดาว่าการเขียนโปรแกรม punch card นั้นมีความเป็นอิสระอย่างมาก ฉันสงสัยว่าการตรวจสอบประเภทการวิเคราะห์แบบคงที่และอื่น ๆ นั้นไม่มีอยู่จริง ดังนั้นอาจเป็นCorbatóอาจหมายถึงความคิดของภาษาที่ จำกัด นักพัฒนาจากการทำผิดพลาดโง่? ดูเหมือนจะไม่เป็นเช่นนั้น …

2
ข้อดีและข้อเสียของการสร้างโค้ดทั้งหมดผ่านคลาสและคอมไพล์ไปยังคลาส (เช่น Java)
แก้ไข: ภาษาของฉันอนุญาตให้มีการสืบทอดหลายครั้งซึ่งแตกต่างจาก Java ฉันเริ่มออกแบบและพัฒนาภาษาโปรแกรมของฉันเองเพื่อวัตถุประสงค์ด้านการศึกษาการพักผ่อนหย่อนใจและอาจเป็นประโยชน์ ตอนแรกฉันตัดสินใจที่จะปิด Java นี่หมายความว่ารหัสทั้งหมดจะถูกเขียนในรูปแบบของคลาสและรหัสนั้นคอมไพล์ลงในคลาสซึ่งโหลดโดย VM อย่างไรก็ตามฉันได้ยกเว้นคุณสมบัติเช่นอินเทอร์เฟซและคลาสนามธรรมเพราะฉันไม่ต้องการมัน ดูเหมือนว่าพวกเขาจะบังคับกระบวนทัศน์และฉันต้องการให้ภาษาของฉันไม่ทำเช่นนั้น ฉันต้องการให้ชั้นเรียนเป็นหน่วยการรวบรวมเพราะดูเหมือนว่าจะสะดวกในการติดตั้งคุ้นเคยและฉันชอบความคิด จากนั้นฉันสังเกตเห็นว่าโดยทั่วไปแล้วฉันจะเหลืออยู่กับระบบโมดูลซึ่งสามารถใช้คลาสเป็น "เนมสเปซ" ได้โดยให้ค่าคงที่และฟังก์ชันโดยใช้staticคำสั่งหรือเป็นเทมเพลตสำหรับวัตถุที่ต้องมีอินสแตนซ์ ในภาษาอื่น ๆ ) ตอนนี้ฉันก็ยังสงสัยว่าอะไรคือ Upside และ Downside ของการมีคลาสเป็นหน่วยการคอมไพล์ นอกจากนี้ความเห็นทั่วไปเกี่ยวกับการออกแบบของฉันก็จะได้รับการชื่นชมมาก โพสต์ข้อมูลเกี่ยวกับภาษาของฉันสามารถพบได้ที่นี่: http://www.yannbane.com/2012/12/kava.html

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

5
ประโยชน์ของ OOP แบบคลาสสิกในภาษา Go-like
ฉันคิดถึงการออกแบบภาษาเป็นอย่างมากและองค์ประกอบใดบ้างที่จำเป็นสำหรับภาษาการเขียนโปรแกรม "อุดมคติ" และการศึกษา Go's ของ Google ทำให้ฉันตั้งคำถามกับความรู้ทั่วไปหลายอย่าง ดูเหมือนว่า Go จะได้รับประโยชน์ที่น่าสนใจทั้งหมดจากการเขียนโปรแกรมเชิงวัตถุโดยไม่มีโครงสร้างของภาษาเชิงวัตถุ ไม่มีคลาส, โครงสร้างเท่านั้น; ไม่มีการสืบทอดคลาส / โครงสร้าง - การฝังโครงสร้างเท่านั้น ไม่มีลำดับชั้นไม่มีคลาสพาเรนต์ไม่มีการปรับใช้อินเตอร์เฟสที่ชัดเจน กฎการคัดเลือกนักแสดงประเภทนั้นขึ้นอยู่กับระบบที่หลวมคล้ายกับการพิมพ์เป็ดเช่นหาก struct ดำเนินองค์ประกอบที่จำเป็นของ "Reader" หรือ "Request" หรือ "Encoding" คุณจะสามารถใช้และใช้มันได้ หนึ่งเดียว. มีบางอย่างเกี่ยวกับ OOP ที่ถูกนำมาใช้ใน C ++ และ Java และ C # ที่มีความสามารถมากขึ้นโดยทั่วไปมีความสามารถในการบำรุงรักษามากขึ้นและมีประสิทธิภาพมากกว่าที่คุณต้องยอมแพ้เมื่อย้ายไปใช้ภาษาอย่าง Go? คุณมีประโยชน์อะไรที่ต้องยอมแพ้เพื่อให้ได้ความเรียบง่ายที่กระบวนทัศน์ใหม่นี้แสดงให้เห็น? EDIT ลบคำถาม "ล้าสมัย" ที่ผู้อ่านดูเหมือนจะถูกวางสายเกินไปและทำให้โกรธโดย คำถามคืออะไรกระบวนทัศน์เชิงวัตถุแบบดั้งเดิม (ที่มีลำดับชั้นและเช่นนั้น) ที่เห็นบ่อยในการใช้ภาษาทั่วไปต้องเสนอที่ไม่สามารถทำได้อย่างง่ายดายในแบบจำลองที่ง่ายกว่านี้? หรืออีกนัยหนึ่งถ้าคุณต้องออกแบบภาษาวันนี้มีเหตุผลที่คุณต้องการรวมแนวคิดของลำดับชั้นของชั้นเรียนหรือไม่?

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

9
ความรู้เกี่ยวกับการเขียนโปรแกรมของคุณลดลงหรือไม่ถ้าคุณไม่ฝึก? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเป็นโปรแกรมเมอร์มือใหม่ ฉันเรียนภาษาเช่น C, C ++, Python และ Java (เน้นที่ C ++ เป็นหลัก) ฉันเป็นสิ่งที่คุณเรียกว่า "เด็กและไม่มีประสบการณ์" และฉันยอมรับว่าเพราะฉันไม่สามารถเรียกร้องเป็นอย่างอื่น ในฐานะนักเรียนฉันมีปัญหาอื่น ๆ อีกมากมายนอกเหนือจากการเขียนโปรแกรม ฉันฝึกเขียนโปรแกรมบ่อยเท่าที่จะทำได้และโดยเฉพาะอย่างยิ่งเพราะครูของฉันให้แบบฝึกหัดมากกว่าชั้นเรียนอื่น ๆ (มันอยู่ในระดับต่ำมาก) ดังนั้นบ่อยครั้งฉันจึงใช้เวลาหลายสัปดาห์ในการทำสิ่งอื่นเช่นโครงการโรงเรียนหรือกีฬา การเดินทางอะไรนอกเหนือจากการเขียนโปรแกรม อย่าเข้าใจฉันผิดฉันรักการเขียนโปรแกรม ฉันชอบที่จะสร้างโค้ดที่ใช้งานได้เพื่อดูว่าโปรแกรมมีชีวิตขึ้นมาเพียงแค่กดปุ่มและเรียนรู้ให้มากที่สุดเท่าที่จะทำได้ สิ่งคือฉันไม่ได้มีเวลามากสำหรับมัน ตรงไปที่คำถามตอนนี้: ความรู้การเขียนโปรแกรมของคุณลดลงเมื่อเวลาผ่านไปและคุณไม่ได้ฝึกหรือไม่? คุณอาจถามว่า "คุณหมายถึงเวลาเท่าไหร่" ฉันไม่ได้หมายถึงจำนวนเวลาที่เฉพาะเจาะจง แต่สำหรับการอ้างอิงคุณสามารถใช้ตัวอย่างเป็นเดือนสองหรือปี ตามความรู้ฉันหมายถึงทุกอย่างจากไวยากรณ์ไปจนถึงการใช้ภาษา

4
Ruby ทำอะไรได้ถูกต้อง (หรือเป็น Rails) [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ภาษาโปรแกรมส่วนใหญ่มีการตัดสินใจออกแบบที่มีผลต่อการใช้งานและการบังคับใช้ ตัวอย่างเช่น: Python มุ่งเน้นไปที่การบำรุงรักษา / ความสามารถในการอ่านของรหัสและมีการเยื้องเป็นส่วนหนึ่งของภาษาเอง ความตั้งใจของ Java คือการข้ามแพลตฟอร์ม OOP 'ง่ายขึ้น' และ 'เป็นมิตร' กว่า C ++ Objective-C ถูกสร้างขึ้นเพื่อเป็นตัวคลุม OO รอบ C ซึ่งไม่รู้อนาคตของ C ++ ในเวลานั้น Erlang ได้รับการออกแบบสำหรับระบบที่ทนต่อความผิดพลาดสูงและเกิดขึ้นพร้อมกัน PHP ออกแบบมาเพื่อจัดการการสร้างเว็บเพจแบบไดนามิก CoffeeScript ออกแบบมาเพื่อให้เห็นส่วนที่ดีของ Javascript และเพิ่ม OOP syntactical sugar และซ่อนความแตกต่าง (กลม ฯลฯ ) ของ JS 'เบื้องหลัง' …

8
หลักการความรับผิดชอบเดี่ยว - ฉันใช้มากเกินไปหรือไม่
สำหรับการอ้างอิง - http://en.wikipedia.org/wiki/Single_responsibility_principle ฉันมีสถานการณ์จำลองการทดสอบซึ่งในโมดูลของแอปพลิเคชันหนึ่งรับผิดชอบในการสร้างรายการบัญชีแยกประเภท มีงานพื้นฐานสามประการที่สามารถดำเนินการได้ - ดูรายการบัญชีแยกประเภทที่มีอยู่ในรูปแบบตาราง สร้างรายการบัญชีแยกประเภทใหม่โดยใช้ปุ่มสร้าง คลิกที่รายการบัญชีแยกประเภทในตาราง (กล่าวถึงในตัวชี้แรก) และดูรายละเอียดในหน้าถัดไป คุณสามารถลบรายการบัญชีแยกประเภทในหน้านี้ (มีการดำเนินการ / การตรวจสอบเพิ่มเติมอีกสองสามครั้งในแต่ละหน้า แต่เพื่อความกระชับฉันจะ จำกัด เฉพาะสิ่งนี้ ดังนั้นฉันตัดสินใจที่จะสร้างสามชั้นที่แตกต่างกัน - LedgerLandingPage CreateNewLedgerEntryPage ViewLedgerEntryPage คลาสเหล่านี้มีบริการที่สามารถทำได้ในหน้าเหล่านั้นและการทดสอบซีลีเนียมใช้คลาสเหล่านี้เพื่อนำแอปพลิเคชันไปสู่สถานะที่ฉันสามารถยืนยันได้ เมื่อฉันได้รับการตรวจสอบกับเพื่อนร่วมงานของฉันแล้วเขาก็ whelmed มากกว่าและขอให้ฉันทำหนึ่งชั้นเดียวสำหรับทุกคน แม้ว่าฉันจะรู้สึกว่าการออกแบบของฉันสะอาดมาก แต่ฉันก็ยังสงสัยว่าถ้าฉันใช้หลักการความรับผิดชอบเดี่ยวมากเกินไป

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

7
อะไรคือการใช้เธรดในการเขียนโปรแกรมอย่างเหมาะสม?
ฉันเบื่อที่จะได้ยินคนแนะนำว่าคุณควรใช้เพียงหนึ่งเธรดต่อโปรเซสเซอร์ในขณะที่หลาย ๆ โปรแกรมใช้มากถึง 100 ต่อกระบวนการ! ยกตัวอย่างบางโปรแกรมทั่วไป vb.net ide uses about 25 thread when not debugging System uses about 100 chrome uses about 19 Avira uses more than about 50 ทุกครั้งที่ฉันโพสต์คำถามที่เกี่ยวข้องกับเธรดฉันได้รับการเตือนเกือบทุกครั้งที่ฉันไม่ควรใช้มากกว่าหนึ่งเธรดต่อตัวประมวลผลและโปรแกรมทั้งหมดที่ฉันพูดถึงข้างต้นจะทำลายระบบของฉันด้วยโปรเซสเซอร์เดียว

4
เหตุใดผู้คนจึงเขียนห้องสมุดบางแห่งเป็นภาษาโปรแกรมหลายภาษา
มีบางไลบรารีที่มีในเวอร์ชันที่เขียนในภาษาการเขียนโปรแกรมที่แตกต่างกันมากมายเช่นLuceneซึ่งเขียนด้วยภาษาจาวา , Ruby, Lisp และภาษาอื่น ๆ และฉันกำลังพูดถึงการใช้งานในภาษาเหล่านี้ไม่เพียง แต่อินเทอร์เฟซFFI ทำไมผู้คนถึงทำเช่นนั้น? ฉันเห็นเหตุผลที่ชัดเจนประการหนึ่ง: การปรับใช้และการกระจาย (และอาจเป็นการพัฒนาด้วย) ง่ายขึ้นเมื่อโครงการมีการพึ่งพาน้อยลง แต่มีอะไรอีกบ้าง? ในสถานการณ์ใดที่คุ้มค่า


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