ฉันรู้ว่าคุณสามารถใช้ C # และ F # ร่วมกันในโครงการเดียวกันได้ แต่ฉันไม่แน่ใจว่ามันเป็นความคิดที่ดีหรือไม่
สำหรับฉันแล้วการผสมสองรูปแบบการเข้ารหัสที่แตกต่างกันมาก (functional vs OOP) อาจทำให้เกิดการขาดการเชื่อมโยงในการออกแบบ ถูกต้องหรือไม่
ฉันรู้ว่าคุณสามารถใช้ C # และ F # ร่วมกันในโครงการเดียวกันได้ แต่ฉันไม่แน่ใจว่ามันเป็นความคิดที่ดีหรือไม่
สำหรับฉันแล้วการผสมสองรูปแบบการเข้ารหัสที่แตกต่างกันมาก (functional vs OOP) อาจทำให้เกิดการขาดการเชื่อมโยงในการออกแบบ ถูกต้องหรือไม่
คำตอบ:
ไม่มีอะไรผิดปกติกับภาษาผสมในผลิตภัณฑ์ตราบใดที่คุณใช้แต่ละภาษาอย่างเหมาะสมและพวกเขา "เล่นดี" ด้วยกัน
หากมีส่วนหนึ่งของโครงการของคุณที่จะได้รับการเข้ารหัสที่ดีที่สุดโดยใช้ภาษาที่ใช้งานได้ก็ควรทำการเขียนโค้ดใน F # ในทำนองเดียวกันสำหรับ C #
สิ่งที่จะไม่มีจุดหมาย (ที่ดีที่สุด) จะเป็นการผสมผสานภาษาเพื่อประโยชน์ของมัน
สำหรับฉันแล้วการผสมสไตล์การเขียนโค้ดสองแบบ (functional vs OO) อาจทำให้เกิดการขาดการทำงานร่วมกันในการออกแบบ ถูกต้องหรือไม่
ฉันไม่คิดว่าคุณจะได้รับ "ขาดการทำงานร่วมกัน" แต่ละภาษามีจุดแข็งและจุดอ่อน การรวมเข้ากับเวลาใช้งานทั่วไปช่วยให้คุณเข้าใกล้สิ่งที่ดีที่สุดของโลกทั้งสอง ด้วย C # และ F # คุณเพียงแค่ต้องการให้แน่ใจว่าคุณใช้จุดตัดของสองภาษาที่อินเตอร์เฟสระหว่างสองภาษาในโซลูชันของคุณ
ใช่ผมเห็นด้วยกับChrisF ในปัจจุบัน C # ได้รวมหลักการ F # ไว้แล้วเช่นประเภทที่ไม่ระบุชื่อ:
var unitanon = new[]
{
new { Field1="new car", Field2 = 1},
new { Field1="old car", Field2 = 20}
};
ที่กล่าวว่าฉันเองคิดว่ามันเป็นขั้นตอนย้อนกลับในการอ่านรหัสแม้ว่าจะสะดวกมาก