คำถามติดแท็ก language-agnostic

แท็กนี้มีไว้สำหรับคำถามที่ไม่เฉพาะกับภาษาการเขียนโปรแกรมหรือสภาพแวดล้อม

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

9
การโยกย้ายข้อมูล - เป็นอันตรายหรือจำเป็น?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา ฝ่ายพัฒนาซอฟต์แวร์ของ บริษัท ของฉันประสบปัญหาที่การโยกย้ายข้อมูลถือเป็นอันตรายโดยเฉพาะอย่างยิ่งสำหรับผู้จัดการของฉัน พื้นหลังเป็นว่าลูกค้าของเราจะใช้ข้อมูลจำนวนมากที่มีคุณภาพไม่ดี เหตุผลในการนี้เป็นเพียงบางส่วนที่เกี่ยวข้องกับซอฟต์แวร์ของเราที่มีคุณภาพ แต่เพื่อความเป็นมาของข้อมูล: ส่วนใหญ่ของพวกเขาได้รับการอพยพออกจากระบบบรรพบุรุษข้อบกพร่องบางอย่างที่เกิด (ส่วนใหญ่เป็นธุรกิจ) ไม่สอดคล้องกันในบันทึกข้อมูลหรือmisentriesโดยอุบัติเหตุบน ด้านลูกค้า (ซึ่งซอฟต์แวร์ของเราอนุญาตโดยมีข้อผิดพลาด) ข้อโต้แย้งที่สำคัญที่สุดจากผู้จัดการของฉันคือข้อมูลที่ผิดพลาดอาจกลายเป็นข้อมูลที่แย่กว่านั้นปัญหาข้อมูลอาจทำให้ผู้จัดการบางรายตื่นลูกค้าและกระบวนการบางอย่างในฝั่งลูกค้าอาจไม่ทำงานอีกต่อไปเพราะกระบวนการของพวกเขาปรับให้เข้ากับระบบของเรา โดยส่วนตัวแล้วฉันพิจารณาการโยกย้ายข้อมูลเป็นส่วนหนึ่งของการพัฒนาซอฟต์แวร์และการโยกย้ายข้อมูลนั้นสามารถเห็นได้กับข้อมูลว่าการปรับเปลี่ยนรหัสคืออะไร ผมคิดว่าการโยกย้ายข้อมูลเป็นสิ่งจำเป็นสำหรับการสร้างซอฟต์แวร์ที่วิวัฒนาการ ถ้าไม่มีมันเราจะต้องสร้างซอฟต์แวร์ที่เจ็บปวดซึ่งใช้งานได้กับโครงสร้างข้อมูลที่ไม่ดี ฉันกำลังถามคุณ: คุณคิดอย่างไรกับการย้ายข้อมูลโดยเฉพาะอย่างยิ่งในกรณีของชีวิตจริงและไม่เพียง แต่จากมุมมองของนักพัฒนาเท่านั้น คุณมีข้อโต้แย้งต่อความคิดเห็นของผู้จัดการของฉันหรือไม่? บริษัท ของคุณจัดการกับการย้ายข้อมูลและปัญหาที่เกิดจากพวกเขาอย่างไร ความคิดที่น่าสนใจอื่น ๆ ซึ่งเป็นของหัวข้อนี้?

11
การบำรุงรักษาอย่างชาญฉลาดมีอีกอย่างหนึ่งที่ไม่ต้องใช้เครื่องมือจัดฟันที่ปลอดภัยหรือไม่?
คือelse whileโดยไม่แทรกแซงการพิจารณาการจัดฟัน "ปลอดภัย" การบำรุงรักษาที่ชาญฉลาด? กำลังเขียนif-elseโค้ดโดยไม่มีเครื่องหมายวงเล็บด้านล่าง ... if (blah) foo(); else bar(); ... มีความเสี่ยงเนื่องจากการขาดเครื่องหมายปีกกาทำให้ง่ายต่อการเปลี่ยนความหมายของรหัสโดยไม่ตั้งใจ อย่างไรก็ตามด้านล่างมีความเสี่ยงหรือไม่ if (blah) { ... } else while (!bloop()) { bar(); } หรือelse whileโดยไม่ต้องจัดฟันจัดฟันถือว่า "ปลอดภัย"?

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


7
รูปแบบสำหรับคลาสที่ทำสิ่งเดียวเท่านั้น
สมมติว่าฉันมีขั้นตอนที่ทำสิ่งต่าง ๆ : void doStuff(initalParams) { ... } ตอนนี้ฉันค้นพบแล้วว่า ขั้นตอนที่จะมีขนาดใหญ่ผมแบ่งมันออกเป็นขั้นตอนขนาดเล็กหลาย ๆ และเร็ว ๆ นี้ฉันตระหนักดีว่ามีชนิดของรัฐจะเป็นประโยชน์ในขณะที่ทำสิ่งเพื่อที่ฉันจะต้องผ่านพารามิเตอร์น้อยระหว่างขั้นตอนเล็ก ๆ ดังนั้นฉันแยกมันออกเป็นคลาสของตัวเอง: class StuffDoer { private someInternalState; public Start(initalParams) { ... } // some private helper procedures here ... } แล้วฉันจะเรียกมันว่า: new StuffDoer().Start(initialParams); หรือเช่นนี้ new StuffDoer(initialParams).Start(); และนี่คือสิ่งที่รู้สึกผิด เมื่อใช้. NET หรือ Java API ฉันไม่เคยโทรnew SomeApiClass().Start(...);ซึ่งทำให้ฉันสงสัยว่าฉันทำผิด แน่นอนว่าฉันสามารถทำให้คอนสตรัคเตอร์ของ StuffDoer …

6
อะไรคือข้อโต้แย้งต่อต้านการแยกทางคธูลู?
ฉันได้รับมอบหมายงานให้ใช้ภาษาเฉพาะโดเมนสำหรับเครื่องมือที่อาจมีความสำคัญต่อ บริษัท ภาษาที่เรียบง่าย แต่ไม่น่ารำคาญแล้วมันช่วยให้ลูปซ้อนกันสตริง ฯลฯ และมันเป็นจริงให้แน่ใจว่าโครงสร้างอื่น ๆ จะถูกเพิ่มเป็นความก้าวหน้าโครงการ ฉันรู้โดยประสบการณ์ว่าการเขียน lexer / parser ด้วยมือ - ยกเว้นว่าไวยากรณ์เป็นเรื่องเล็กน้อย - เป็นกระบวนการที่ใช้เวลานานและเกิดข้อผิดพลาดได้ง่าย ดังนั้นฉันจึงเหลือสองตัวเลือก: ตัวแยกวิเคราะห์เครื่องปั่นà la yacc หรือห้องสมุด combinator เช่น Parsec อดีตก็ดีเช่นกัน แต่ฉันเลือกอย่างหลังด้วยเหตุผลต่าง ๆ และนำโซลูชันมาใช้ในภาษาที่ใช้งานได้ ผลลัพธ์ที่ได้นั้นค่อนข้างน่าประทับใจต่อสายตาของฉันรหัสนั้นสั้นกระชับหรูหราและอ่านง่าย / คล่องแคล่ว ฉันยอมรับว่ามันอาจดูแปลก ๆ ถ้าคุณไม่เคยตั้งโปรแกรมในสิ่งอื่นนอกจาก java / c # แต่สิ่งนี้จะเป็นจริงกับสิ่งที่ไม่ได้เขียนใน java / c # ถึงจุดหนึ่งฉันถูกเพื่อนร่วมงานจู่โจมอย่างแท้จริง หลังจากเหลียวดูหน้าจอของฉันอย่างรวดเร็วเขาก็ประกาศว่ารหัสนั้นไม่สามารถเข้าใจได้และฉันไม่ควรบูรณาการแยกวิเคราะห์ แต่ใช้ stack และ String.Split …

5
ตัวดำเนินการอินสแตนซ์ Java ของการพิจารณาการสะท้อนและสิ่งที่กำหนดสะท้อน?
ฉันได้พูดคุยกับเพื่อนร่วมงานในวันนี้ไม่ว่าการใช้งานตัวดำเนินการ Java instanceofนั้นเป็นสิ่งที่สะท้อนออกมาหรือไม่ และการอภิปรายพัฒนาอย่างรวดเร็วในสิ่งที่กำหนดสะท้อน ดังนั้นคำจำกัดความของการสะท้อนคืออะไร? และการใช้งานของการinstanceofพิจารณา "ใช้การสะท้อน" คืออะไร? และนอกจากนี้หากinstanceofพิจารณาว่าเป็นเงาสะท้อนแล้วความหลากหลายนั้นก็ไม่ "ใช้การสะท้อน" เช่นกัน? ถ้าไม่ต่างกันคืออะไร

3
การตั้งชื่อวิธีการ "ทำ X ถ้าจำเป็น"
เป็นวิธีที่ดีในการตั้งชื่อวิธีการที่ตรวจสอบว่า X จะต้องทำคืออะไรและ X มันถ้าจำเป็น? ตัวอย่างเช่นวิธีตั้งชื่อวิธีการที่จะอัพเดทรายชื่อผู้ใช้หากผู้ใช้ใหม่ได้เข้าสู่ระบบ? UpdateListIfNeededดูเหมือนจะนานเกินไปในขณะที่ความเรียบง่ายUpdateListหมายถึงการดำเนินการที่อาจมีราคาแพงและไม่จำเป็นทุกครั้ง EnsureListUpdatedเป็นตัวแปรเช่นกัน C # มีbool TryXXX(args, out result)รูปแบบ (เช่นint.TryParse(str, out num)) เพื่อตรวจสอบว่า X เป็นไปได้และทำมัน แต่นั่นแตกต่างอย่างละเอียด

3
มีการวิจัยอย่างเป็นทางการใน FizzBuzz คำถามประสิทธิผลหรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน4 ปีที่แล้ว หลังจากที่ได้เห็นคำถามนี้ในวันนี้เกี่ยวกับรูปแบบของคำถามสัมภาษณ์ FizzBuzz รวมถึงคำถามอื่น ๆ ที่เกี่ยวข้องกับคำถามฉันต้องถาม: มีงานวิจัยอย่างเป็นทางการว่าเทคนิคนี้มีประสิทธิภาพเพียงใดในการสัมภาษณ์? มีคนมากมายที่บอกว่ามันกรองเปอร์เซ็นต์ผู้สมัครที่บ้าคลั่ง (95% + ในบางกรณี) แต่วิธีที่ดีในการค้นหาโปรแกรมเมอร์ / นักพัฒนาที่ดีคืออะไร? มีการวิจัยบางอย่างที่แสดงให้เห็นว่าทักษะที่อ่อนนุ่มอาจเป็นตัวบ่งชี้ที่ดีกว่าทักษะที่ยากสำหรับการเลือกผู้สมัครที่ดีสำหรับบทบาทงาน อาจมีเหตุผลบางประการที่ทำให้ผู้สมัครจำนวนมากที่ไม่ผ่านการทดสอบนี้ (ความกังวลใจคิดว่า "มันเป็นกลอุบาย" ฯลฯ ) จากความคิดเห็นที่ผ่านมาดูเหมือนว่าความคิดที่อยู่เบื้องหลังคำถาม FizzBuzz คือการพิจารณาว่าบุคคลนั้นมีทักษะการเขียนโปรแกรมที่ดี (เพียงพอ) ที่จะพิจารณาเพิ่มเติมหรือไม่ ฉันไม่เชื่อจริง ๆ ว่า FizzBuzz ทำเช่นนี้ ยังจำได้ว่า FizzBuzz กรองร้อยละมากของผู้สมัครมากในช่วงต้นในกระบวนการจ้างงานซึ่งอาจหมายถึงว่าตัวเลขที่สำคัญของผู้สมัครที่ดีจะถูกลบออกในช่วงต้นเพราะพวกเขาไม่สามารถแก้ปัญหาโง่เร็วพอ นอกจากนี้ฉันจะชี้ให้เห็นว่าการดูประสิทธิผลของ FizzBuzz เป็นสิ่งที่สามารถทำได้อย่างสมบูรณ์แบบในเชิงปริมาณ สิ่งนี้แตกต่างจากการมองที่ "พอดี" หรือ "ความหลงใหล" …

4
รหัสเช่นนี้เป็น "ซากรถไฟ" (เป็นการละเมิด Law of Demeter) หรือไม่
เรียกดูรหัสบางส่วนที่ฉันเขียนฉันเจอโครงสร้างต่อไปนี้ซึ่งทำให้ฉันคิด เพียงแวบแรกดูเหมือนว่าสะอาดเพียงพอ ใช่ในรหัสจริงgetLocation()เมธอดมีชื่อเฉพาะที่มากกว่าเล็กน้อยซึ่งจะอธิบายตำแหน่งที่ได้รับได้ดีกว่า service.setLocation(this.configuration.getLocation().toString()); ในกรณีserviceนี้เป็นตัวแปรอินสแตนซ์ของชนิดที่รู้จักประกาศภายในวิธีการ this.configurationมาจากการถูกส่งผ่านไปในการสร้างคลาสและเป็นตัวอย่างของชั้นเรียนใช้อินเตอร์เฟซที่เฉพาะเจาะจง (ซึ่งเอกสารสาธารณะgetLocation()วิธีการ) ดังนั้นชนิดการคืนค่าของนิพจน์this.configuration.getLocation()จึงเป็นที่รู้จัก โดยเฉพาะในกรณีนี้ก็คือjava.net.URLในขณะที่ต้องการservice.setLocation() Stringเนื่องจากทั้งสองประเภทเป็นสตริงและ URL เข้ากันไม่ได้โดยตรงจึงจำเป็นต้องมีการแปลงบางประเภทเพื่อให้พอดีกับหมุดสี่เหลี่ยมในรูกลม อย่างไรก็ตามตามกฎหมายของ Demeter เป็นที่อ้างถึงในรหัสสะอาด , วิธีฉระดับCเท่านั้นที่ควรจะเรียกวิธีการในCวัตถุที่สร้างขึ้นโดยหรือผ่านอาร์กิวเมนต์ไปที่Fและวัตถุที่จัดขึ้นในตัวแปรเช่นของC อะไรก็ตามที่เกินกว่านั้น (สุดท้ายtoString()ในกรณีเฉพาะของฉันด้านบนเว้นแต่คุณจะพิจารณาวัตถุชั่วคราวที่สร้างขึ้นอันเป็นผลมาจากวิธีการภาวนาตัวเองซึ่งในกรณีนี้กฎหมายทั้งหมดดูเหมือนว่าจะเป็นข้อสงสัย) ไม่ได้รับอนุญาต มีเหตุผลที่ถูกต้องหรือไม่ทำไมการโทรในลักษณะดังกล่าวข้างต้นเนื่องจากมีข้อ จำกัด ในรายการควรจะหมดกำลังใจหรือไม่ได้รับอนุญาต? หรือฉันแค่เป็นคนเก็บไม้จิ้มฟันมากเกินไป? ถ้าผมจะใช้วิธีการURLToString()ซึ่งก็เรียกtoString()บนURLวัตถุ (เช่นที่ส่งกลับโดยgetLocation()) ผ่านไปเป็นพารามิเตอร์และผลตอบแทนผลที่ฉันสามารถห่อgetLocation()โทรในนั้นเพื่อให้บรรลุผลตรงเดียวกัน ได้อย่างมีประสิทธิภาพฉันจะย้ายการแปลงออกไปหนึ่งก้าว มันจะทำให้เป็นที่ยอมรับหรือไม่? ( ดูเหมือนว่าสำหรับฉันอย่างสังหรณ์ใจว่ามันไม่ควรสร้างความแตกต่างในทางใดทางหนึ่งเนื่องจากสิ่งที่ทำคือเคลื่อนย้ายสิ่งต่าง ๆ ไปรอบ ๆ อย่างไรก็ตามตามจดหมายของกฎหมายของ Demeter ตามที่อ้างถึงมันจะเป็นที่ยอมรับตั้งแต่ฉัน จะทำงานโดยตรงบนพารามิเตอร์ของฟังก์ชัน) มันจะสร้างความแตกต่างหรือไม่ถ้าสิ่งนี้เกี่ยวกับสิ่งที่แปลกใหม่กว่าการโทรtoString()แบบมาตรฐาน เมื่อตอบรับโปรดจำไว้ว่าการเปลี่ยนแปลงพฤติกรรมหรือ API ของประเภทที่serviceตัวแปรนั้นไม่สามารถนำไปใช้ได้จริง นอกจากนี้เพื่อเหตุผลของการโต้แย้งสมมติว่าการเปลี่ยนประเภทการส่งคืนของgetLocation()ยังทำไม่ได้

14
ผู้จัดการเลือกภาษาการเขียนโปรแกรมอย่างไร
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา ไม่ใช่ความลับสำหรับทุกคนที่ผู้จัดการสามารถและมักจะกำหนดภาษาการเขียนโปรแกรมที่จะใช้สำหรับโครงการ ในฐานะโปรแกรมเมอร์เองฉันไม่เคยเข้าใจสิ่งนี้เลย แต่ตอนนี้ฉันคิดว่าฉันทำ: ฉันเพิ่งได้รับการเปิดเผยเมื่อ Joel Spolsky พูดในพอดคาสต์ว่าพวกเขาควรใช้ QuickBooks เพราะ "นักบัญชีทุกคนในโลกรู้" สิ่งนี้ทำให้ฉันรู้สึกคล้ายกับ "เลือก Java เพราะโปรแกรมเมอร์ทุกคนในโลกรู้" ตอนนี้ฉันได้เห็นปัญหาเดียวกันจากมุมมองอื่นฉันไม่ทราบมากเกี่ยวกับการบัญชี แต่ฉันรู้อะไรบางอย่างเกี่ยวกับการเขียนโปรแกรมฉันสงสัยว่าโปรแกรมเมอร์สามารถช่วยให้แน่ใจได้อย่างไรว่าภาษาโปรแกรมที่ถูกเลือกถูกเลือกสำหรับโครงการ ?

6
ขั้นตอนทั่วไปที่ใช้เมื่อคอมไพเลอร์คืออะไรพิมพ์แบบตรวจสอบ "ซับซ้อน" นิพจน์?
หมายเหตุ:เมื่อฉันใช้ "ซับซ้อน" ในชื่อเรื่องฉันหมายถึงนิพจน์มีตัวดำเนินการและตัวถูกดำเนินการจำนวนมาก ไม่ใช่ว่าการแสดงออกของตัวเองนั้นซับซ้อน ฉันเพิ่งทำงานกับคอมไพเลอร์เรียบง่ายเพื่อประกอบ x86-64 ฉันได้เสร็จสิ้นการรวบรวมส่วนหน้าหลักของคอมไพเลอร์ - lexer และ parser - และตอนนี้ฉันสามารถสร้างการแสดงบทคัดย่อต้นไม้ไวยากรณ์ของโปรแกรมของฉัน และเนื่องจากภาษาของฉันจะถูกพิมพ์แบบสแตติกฉันกำลังทำขั้นตอนต่อไป: พิมพ์การตรวจสอบซอร์สโค้ด อย่างไรก็ตามฉันมีปัญหาและไม่สามารถแก้ไขด้วยตนเองได้อย่างสมเหตุสมผล ลองพิจารณาตัวอย่างต่อไปนี้: โปรแกรมแยกวิเคราะห์ของคอมไพเลอร์ของฉันได้อ่านบรรทัดของรหัสนี้: int a = 1 + 2 - 3 * 4 - 5 และแปลงเป็น AST ต่อไปนี้: = / \ a(int) \ - / \ - 5 / \ + * / \ / …

9
สามารถอ่านรหัสได้ แต่ต้องดิ้นรนอย่างมากที่จะเขียนมัน [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันมีการสอบการเขียนโปรแกรมครั้งแรกของฉันเมื่อเร็ว ๆ นี้ ... และฉันก็ทำได้ดีมาก ไม่ได้ยอดเยี่ยมเลย ฉันมีโทษตัวเองนอกเวลาเรียนเท่านั้นฉันไม่ได้ทำอะไรเลย ตอนนี้ฉันมีช่วงเวลาฤดูร้อนใกล้เข้ามาแล้วและฉันไม่ยอมให้เรื่องนี้เกิดขึ้นอีก สองสามสัปดาห์ตอนนี้ฉันได้อ่านอ่านและอ่านเพิ่มเติม ฉันจะข้ามสิ่งเก่าที่ฉันพลาดไปและสิ่งใหม่ ๆ ที่เรากำลังทำอยู่ เห็นได้ชัดว่าฉันสามารถสังเกตเห็นความแตกต่างอย่างมากในความเข้าใจภาษาของฉัน อย่างไรก็ตามมันเกี่ยวกับมัน ฉันสามารถอ่านรหัสและตอนนี้ฉันมีความคิดในสิ่งที่เกิดขึ้นในรหัส ... แต่เมื่อมันมาถึงฉันเขียนรหัสตัวเองฉันแค่ clueless มันเหมือนว่าฉันไม่เคยรู้วิธีการที่จะใช้และไม่สามารถเข้าใจคำถามได้อย่างแท้จริง ฉันอ่านหนังสือได้พอสมควรแล้ว (ทำประมาณ 5-6 ชั่วโมงสำหรับเดือนที่ผ่านมา) ในแต่ละวัน ... แต่เมื่อเปิด IDE ของฉันฉันมักจะรู้สึกว่ามันถึงเวลาแล้วที่จะลดระดับลง โดยเฉพาะอย่างยิ่งเพราะฉันมีความรู้เกี่ยวกับโหนด, รายการ, arraylist, อินเตอร์เฟสและอื่น ๆ แต่นอกเหนือจากการอ่านบนหน้าเว็บที่เกี่ยวกับมัน ฉันสามารถชี้ให้เห็นทุกอย่างที่เกิดขึ้นในโปรแกรมเพื่อให้คำอธิบายประกอบโค้ดตัวอย่างฉันคิดว่าดี แต่การเขียนโค้ดของตัวเองเป็นอีกเรื่องหนึ่ง ..

6
ฉันจะบอกได้อย่างไรว่าภาษาโปรแกรมคอมไพล์เป็นภาษาอื่น?
ฉันจะพูดเป็นภาษาอังกฤษได้อย่างไรว่าภาษาโปรแกรมนั้นสามารถคอมไพล์เป็นภาษาโปรแกรมอื่นได้? ตัวอย่างสามารถHaxe บนเว็บไซต์ภาษาถูก decribed เป็น "Multiplatform": หลายแพลตฟอร์ม: Haxe สามารถรวบรวมไปยังแพลตฟอร์มการเขียนโปรแกรมยอดนิยมทั้งหมดได้ด้วยการรวบรวมอย่างรวดเร็ว - JavaScript, Flash, NekoVM, PHP, C ++, C # และ Java (เร็ว ๆ นี้) แต่หลายแพลตฟอร์มสามารถเข้าใจผิดเป็นฮาร์ดแวร์หรือแพลตฟอร์มซอฟต์แวร์ (win, mac, linux) ดังนั้นคำที่เหมาะสมที่สุดที่อธิบายความสามารถนี้คืออะไร?

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