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

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

3
“ ประวัติศาสตร์วัฒนธรรมภาษา” มีบทบาทอะไรบ้างในการเล่นกับแท่น?
ฉันเพิ่งพบสิ่งนี้บทความจากไม่กี่ปีที่ผ่านมา มันระบุว่าความแตกต่างอย่างมีนัยสำคัญในวัฒนธรรมโดยรอบ VB และ C # ไม่ใช่ความแตกต่างที่เกิดขึ้นจริงในภาษามีส่วนร่วมในการเขียนโค้ด C # โดยทั่วไปมีความสามารถมากกว่า VB ตัวแปลงสัญญาณ เห็นได้ชัดว่าทำให้เกิดเปลวไฟสงครามมากมายและคำถามว่า C # ers หรือ VBers เป็นคนโง่จะไม่ได้รับคำตอบ ดังที่กล่าวไว้ผู้เขียนอ้างว่าวัฒนธรรมรอบ ๆ แพลตฟอร์มเฉพาะนั้นมีส่วนทำให้คุณภาพของทีมยังคงมีเหตุผล ตัวอย่างเช่นแม้ว่า Java มีประสิทธิภาพมากกว่าในการพัฒนาแอปด้วยในขณะนี้ทีมนักพัฒนาของ Google Go ดูเหมือนจะมีความสามารถโดยเฉลี่ยสูงกว่าทีมนักพัฒนา Java เนื่องจากเรียนรู้ Go นักพัฒนาอาจมี ที่จะเป็นลูกบุญธรรมสุดยอดและหวือชายแดนแฮ็ค ดังนั้นโดยสรุปวัฒนธรรมยอมแพ้อย่างใดอย่างหนึ่งหรืออีกแพลตฟอร์มหนึ่งส่งผลกระทบต่อคุณภาพของนักพัฒนาโดยเฉลี่ยบนแพลตฟอร์มนั้นได้อย่างไร

7
การเขียนโปรแกรมเกม: C # หรือ C ++? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันตัดสินใจว่าสิ่งที่ฉันต้องการจริงๆคือทำโปรแกรมเกม ดังนั้นคำถามคือเมื่ออายุ 18 ปีที่ต้องการเรียนรู้การเขียนโปรแกรมด้วยตัวเองภาษาการเขียนโปรแกรมที่เหมาะสมที่สุดระหว่าง C # และ C ++ คืออะไร (ฉันควรระบุว่าฉันไม่สนใจ Unix เพราะฉันเชื่อว่า windows จะยังคงเป็น OS ที่ใช้มากที่สุด) ฉันรู้พื้นฐานของ C ++ แต่ไม่มีเกี่ยวกับ C # ฉันรู้ว่า C ++ มีคู่มือการสอนเพิ่มเติม, ที่กำลังและสิ่งต่างๆเช่นนั้น, ในขณะที่ C # ไม่ได้, แต่มันง่ายกว่าที่จะเรียนรู้และใช้สำหรับคนคนเดียวในการพัฒนาโปรแกรม, แต่ฉันอ่านแม้ว่าโปรแกรมนั้นจะงงงวย มันง่ายที่จะได้รับแหล่งที่มาของมัน ฉันต้องการที่จะเน้นเรื่องพื้นฐานเป็นอย่างมากก่อนอื่นฉันต้องบอกว่าฉันชอบ C ++ …

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

8
ฉันควรรวม 'แอสเซมบลี' เป็นภาษาโปรแกรมใน CV หรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว assembly is not a language, it's a processในการตอบคำถามสำหรับคนหนึ่งเขียนว่า ฉันมักจะเห็นด้วยเนื่องจากการชุมนุม "ภาษา" ขึ้นอยู่กับสถาปัตยกรรมมันจะทำงานซึ่งอาจแตกต่างกันเล็กน้อยจาก CPU หนึ่งไปยังอีก ดังนั้นถ้าคุณเขียนชุดประกอบสำหรับสถาปัตยกรรมหนึ่งนั่นหมายความว่าคุณสามารถรวมไว้ใน CV ภายใต้assemblyภาษาโปรแกรมอื่นเท่านั้น หรือว่าคุณพูดอย่างชัดเจนว่าคุณได้เขียนชุดประกอบสำหรับสถาปัตยกรรมนั้นหรือไม่? แก้ไข:เปลี่ยน 'dabbled' เป็น 'เขียน' ภาษาอังกฤษไม่ใช่ภาษาพื้นเมืองของฉันและฉันเข้าใจผิดศัพท์คิดว่ามันหมายความว่าคุณใช้มันมากแทนที่จะเป็นเพียงเล็กน้อย

7
สับสนเกี่ยวกับ ASP.NET Ajax, jQuery และ JavaScript [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา เมื่อวานนี้ฉันอ่านสองบทใน ASP.NET Ajax และ jQuery จากหนังสือ ASP.NET 4 ของฉันและฉันพบว่ากรอบงานเหล่านั้นน่าสนใจและตัดสินใจเรียนรู้เพิ่มเติมเกี่ยวกับพวกเขา วันนี้ฉันยืมหนังสือบางเล่มจากห้องสมุดทาง Ajax และ JavaScript ดูเหมือน ASP.NET Ajax จะแตกต่างจาก Ajax และ jQuery ดูเหมือนว่า "ใหม่" JavaScript หมายความว่าฉันสามารถข้าม JavaScript และเรียนรู้ jQuery โดยตรงหรือไม่ ในทางตรงกันข้ามหนังสือ Ajax ที่ไม่ใช่ ASAS.NET ฉันยืมมาดูเหมือนว่าจะนำไปใช้กับการเขียนโปรแกรมเว็บฝั่งไคลเอ็นต์เท่านั้นและดูแตกต่างจากสิ่งที่ฉันเรียนรู้จาก ASP.NET Ajax ถ้าฉันเป็นนักพัฒนา ASP.NET ฉันคิดว่าฉันควรติดกับ ASP.NET …

16
คุณใช้การย้อนกลับสตริงเพื่ออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน6 ปีที่ผ่านมา ใน PHP เป็นของstrrev()Rails .reverseแต่ภาษาส่วนใหญ่ไม่มีฟังก์ชั่นการย้อนกลับสตริง บางคนมีฟังก์ชั่นย้อนกลับอาร์เรย์ที่สามารถใช้กับตัวละคร ฉันคิดว่ามันต้องเป็นการกำกับดูแลที่สำคัญ แต่แล้วมันก็เกิดขึ้นกับฉันคุณจะใช้สายอักขระย้อนกลับเพื่ออะไร ครั้งเดียวที่ฉันคิดได้ว่าฉันได้เห็นมันเป็นการสาธิตและบทเรียนเพื่อเปลี่ยน "Hello World!" เป็น "! dlroW olleH" คำถามของฉันคือ; มีการใช้สำหรับการย้อนกลับสตริงหรือมันไม่มีจุดหมายอย่างสมบูรณ์? . ภาคผนวก มีคำตอบเพิ่มเติมที่ฉันคาดไว้และไม่ใช่ทั้งหมดที่เป็นวิชาการ ฉันจะใส่เงินที่ไม่มีใครสามารถมาด้วยตัวอย่างที่ถูกกฎหมาย ฉันก็ไม่คิดว่าฉันจะได้เรียนรู้อะไรใหม่ ๆ แต่คำแนะนำ regex ของ Mark Canlas นั้นยอดเยี่ยมมากและฉันหวังว่าจะได้มีโอกาสพิสูจน์มัน ขอบคุณทุกคน.

2
รหัส Erlang ที่สวยงาม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว ฉันพยายามเรียนรู้เพิ่มเติมเกี่ยวกับ Erlang มากกว่าโครงการของเล่นที่ฉันเล่นด้วย ด้วยเหตุนี้ผมอ่านผ่านโปรแกรม Erlangและบางส่วนของข้อมูลที่เก็บจากอาร์มสตรองในซอฟท์แว ฉันยังต้องการอ่านตัวอย่างโค้ด (ควรใช้งานจริง) ที่แสดงประเภทของสิ่งต่าง ๆ ที่คุณสามารถสร้างได้ด้วย Erlang ซึ่งอาจจะยากในภาษาอื่น ๆ นอกเหนือจาก (ฉันคิดว่า) Yawsมีตัวอย่างที่เปิดเผยต่อสาธารณชนของรหัส Erlang ที่สวยงามที่ฉันสามารถอ่านเพื่อทำความเข้าใจภาษาได้ดีขึ้นและ / หรือดูการใช้สำนวนสำหรับการสร้างภาษาต่างๆหรือไม่? ฉันไม่ได้มองหารหัสที่ "ทำให้งานสำเร็จ" แต่ใช้วิธีปฏิบัติที่น่าสงสัยหรือตัวอย่างตามบรรทัด "นี่คือวิธีที่คุณเขียนfactorialใน Erlang" ในหลอดเลือดดำเดียวกันทุกคนสามารถแนะนำวรรณคดีที่ดีสำหรับการเรียนรู้ภาษานี้ (นอกเหนือจาก "การเขียนโปรแกรม Erlang" ที่กล่าวถึง)? สำหรับการตั้งค่าสิ่งที่คุณเองเคยเรียนรู้ แต่ถ้ามีหนังสือมาตรฐานชุมชนบางเล่มให้โยนมันเข้าไปด้วย

9
วิธีที่ดีที่สุดในการวัดแนวโน้มความนิยมทางภาษาคืออะไร (มีอะไรดีกว่า TIOBE บ้าง) [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการในวันที่ 11 เดือนที่ผ่านมา วิธีที่ดีที่สุดในการรับข้อมูลเกี่ยวกับความนิยมในภาษาคอมพิวเตอร์ที่ฉันรู้คือดัชนีของ TIOBE แต่ทุกคนรู้ว่า TIOBE นั้นมีข้อบกพร่องอย่างสิ้นหวัง (ถ้ามีคนให้ลิงค์เพื่อสนับสนุนสิ่งนี้ฉันจะเพิ่มที่นี่) ดังนั้นจะมีข้อมูลเกี่ยวกับความนิยมภาษาการเขียนโปรแกรมที่ถือว่าโดยทั่วไปมีความหมาย? อีกตัวเลือกเดียวที่ฉันรู้คือดูแนวโน้มที่ Indeed.com ซึ่งมีข้อบกพร่องโดยเนื้อแท้อยู่บนพื้นฐานของการโพสต์งาน มันไม่ใช่ว่าฉันจะตัดสินใจภาษาในอนาคตโดยใช้ดัชนีเพียงอย่างเดียว แต่มันอาจให้ความสมดุลที่เป็นประโยชน์กับมุมมองที่บิดเบือนโดยการพูดคุยกับเพื่อนและเพื่อนร่วมงาน เพื่อแสดงความลำเอียงฉันจะชี้ให้เห็นว่าจากประสบการณ์ของคนที่ฉันรู้จักส่วนตัวภาษาเดียวที่ใช้อย่างมืออาชีพในวันนี้ (ตามลำดับความนิยม) คือ Java, C #, Groovy, JavaScript, Ruby, Objective C และ Perl (แม้ว่าจะเห็นได้ว่าในอดีตเคยมีการใช้ C, C ++ และ PHP) ดังนั้นคำถามของฉันคือทุกคนทุบตี TIOBE แต่มีอะไรอีกบ้าง? ถ้าเป็นเช่นนั้นทุกคนสามารถอธิบายว่าเรารู้ว่าทางเลือกนั้นมีวิธีการที่ดีกว่าได้อย่างไร ขอบคุณ

3
ภาษาแรกที่รองรับการเขียนโปรแกรมทั่วไป
ซึ่งเป็นภาษาแรกที่มีการสนับสนุนการเขียนโปรแกรมทั่วไปและสิ่งที่เป็นภาษาที่พิมพ์ครั้งแรกที่สำคัญแบบคงที่ (ใช้กันอย่างแพร่หลาย) ด้วยการสนับสนุน generics Generics ใช้แนวคิดของประเภทพารามิเตอร์เพื่อให้หลายประเภท คำทั่วไปหมายถึง "ที่เกี่ยวข้องกับหรือเหมาะสมกับกลุ่มของกลุ่มใหญ่" ฉันได้เห็นการกล่าวถึง "ครั้งแรก" ดังต่อไปนี้: ลำดับความแปรปรวนของตัวแปรอันดับหนึ่งกลายเป็นองค์ประกอบมาตรฐานของภาษาการเขียนโปรแกรมแบบคงที่ เริ่มต้นด้วย System F [20,42] และการเขียนโปรแกรมเชิงหน้าที่การสร้างได้พบวิธีการของพวกเขาเป็นภาษาหลักเช่น Java และ C # ในภาษาเหล่านี้ความแปรปรวนแบบพาราเมตริกเป็นอันดับแรกมักเรียกว่ายาชื่อสามัญ จาก " Generics of a More Kind" , Adriaan Moors, Frank Piessens และ Martin Odersky การเขียนโปรแกรมทั่วไปเป็นรูปแบบของการเขียนโปรแกรมคอมพิวเตอร์ที่อัลกอริทึมที่เขียนในแง่ของประเภทที่จะต้องระบุในภายหลังที่มีอินสแตนซ์แล้วเมื่อจำเป็นสำหรับประเภทเฉพาะที่ให้ไว้เป็นพารามิเตอร์ วิธีนี้เป็นผู้บุกเบิกโดย Ada ในปี 1983 จาก Wikipedia โปรแกรมทั่วไป

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

30
IDEs ที่นิยมมากที่สุดต่อภาษาคืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ สิ่งนี้ไม่เกี่ยวกับการมีโปรแกรมแก้ไขรายการโปรดหรืออะไรทำนองนั้น ฉันแค่สงสัยว่าต่อหนึ่งภาษาสภาพแวดล้อมการพัฒนาแบบบูรณาการที่ได้รับความนิยมมากที่สุดคืออะไร? อาจจะติดอันดับ 2-3 ถ้ามีข้อโต้แย้งบ้าง (การรับรู้ความนิยมก็เพียงพอแล้ว) ป่านนี้: C # - Visual Studio, SharpDevelop Java - Eclipse, NetBeans, IDEA Objective-C - Xcode Delphi - RAD Studio Object Pascal - Delphi, Lazarus C, C ++ - Visual Studio, กลุ่ม PL …

2
ข้อมูลทั่วไปถูกนำไปใช้ในคอมไพเลอร์สมัยใหม่อย่างไร
สิ่งที่ฉันหมายถึงนี่คือเราจะเปลี่ยนจากเทมเพลตบางส่วนT add(T a, T b) ...เป็นรหัสที่สร้างได้อย่างไร ฉันคิดถึงวิธีที่จะบรรลุผลสองสามอย่างนี้เราเก็บฟังก์ชันทั่วไปไว้ใน AST Function_Nodeแล้วทุกครั้งที่เราใช้เราเก็บไว้ในโหนดฟังก์ชั่นดั้งเดิมสำเนาของตัวเองด้วยประเภททั้งหมดที่ถูกTแทนที่ด้วยประเภทที่ กำลังใช้. ยกตัวอย่างเช่นadd<int>(5, 6)จะเก็บสำเนาของฟังก์ชั่นทั่วไปหาaddและทดแทนทุกประเภทT ในการคัดลอกintด้วย ดังนั้นมันจะมีลักษณะดังนี้: struct Function_Node { std::string name; // etc. Type return_type; std::vector<std::pair<Type, std::string>> arguments; std::vector<Function_Node> copies; }; จากนั้นคุณสามารถสร้างรหัสสำหรับสิ่งเหล่านี้และเมื่อคุณเยี่ยมชมFunction_Nodeรายการของสำเนาที่copies.size() > 0คุณเรียกใช้visitFunctionในสำเนาทั้งหมด visitFunction(Function_Node& node) { if (node.copies.size() > 0) { for (auto& node : nodes.copies) { visitFunction(node); } // it's …

2
ข้อแตกต่างระหว่าง Optionals และประเภท Nullable คืออะไร
Optionalsสวิฟท์มี C # มีNullableประเภท เท่าที่ฉันสามารถบอกได้ทั้งวัตถุประสงค์เดียวกันนอกจากค่าของบางประเภทพวกเขาเก็บข้อมูลว่าตัวแปรมีค่าหรือไม่ได้กำหนด (ไม่เตรียม) คำถามเป็นOptionalsเพียงNullableประเภทที่มีชื่อแตกต่างกันหรือมีความแตกต่างทางแนวคิดอื่น ๆ กล่าวอีกนัยหนึ่งคือการพูดคุยเกี่ยวกับแนวคิดของตนเองหรือในบริบทของภาษาที่ไม่มีOptionalsหรือNullablesมันมีความสำคัญต่อการใช้คำศัพท์หรือไม่? เมื่อใช้งานฟังก์ชั่นนั้นในภาษามันไม่สำคัญว่าฉันจะพิมพ์ชื่อOptionals<T>หรือNullable<T>

1
ทำไม LLVM จึงมี IR เหมือนการประกอบมากกว่า IR เหมือนต้นไม้ หรือ: ทำไมโครงการตั้งเป้าหมาย LLVM IR แทนที่จะเป็น AST เสียงดังกราว?
ทำไมแอสเซมบลีแทน LLVM ของกลาง (LLVM IR) จึงเป็นเหมือนต้นไม้มากกว่าต้นไม้ อีกทางหนึ่งทำไมการติดตั้งภาษาจึงตั้งเป้าหมาย LLVM IR มากกว่า AST ของเสียงดังกราว ฉันไม่ได้พยายามถามคำถามสองคำถามที่แตกต่างกันในครั้งเดียวถ้ามันเป็นอย่างนั้น สำหรับฉันดูเหมือนว่าทั้งไคลเอนต์และนักเขียนโปรแกรมไลบรารีได้รับความเห็นพ้องต้องกันว่า API ของ LLVM ไม่มีอะไรมากไปกว่าการออกแบบซอฟต์แวร์ที่ดีและคำถามของฉันก็คือ "ทำไม" เหตุผลที่ฉันถามคือดูเหมือนว่า LLVM สามารถให้ฟังก์ชันการทำงานมากขึ้นเพื่อ frontends หาก IR เป็นเหมือน AST เพราะเครื่องมือ AST ที่ใช้ clang ของ clang สามารถใช้กับส่วนหน้าใดก็ได้ อีกทางหนึ่งภาษาที่กำหนดเป้าหมาย LLVM IR สามารถรับฟังก์ชั่นการใช้งานได้มากกว่าหากพวกเขาตั้งเป้าหมาย AST ของเสียงดังกราว เสียงดังกังวานมีคลาสและฟังก์ชั่นสำหรับการสร้างและทำงานกับ AST และเป็นโครงการส่วนหน้าเดียวที่เชื่อมโยงอย่างยิ่งกับโครงการ LLVM ดังนั้นทำไมฟังก์ชั่น AST ของเสียงดังกราวจึงดังต่อไปยัง LLVM ฉันรู้ว่า Rust …

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

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