ความต้องการที่คุณใส่ไว้นั้นทำให้ Fortran อยู่ด้านบนสุดของรายการสำหรับปัญหาเช่นนี้:
a) crunching ตัวเลข
b) paralellable
c) มันยังคงเป็นภาษาde พฤตินัยที่สอนนอกการเรียน cs (สำหรับวิศวกรที่ไม่ใช่โปรแกรมเมอร์มืออาชีพ)
d) มีการสนับสนุนอุตสาหกรรม (!) อย่างไม่น่าเชื่อจำนวนผู้รวบรวมคอมไพเลอร์ระดับอุตสาหกรรมโดยไม่มีผู้ขายรายใดแสดงสัญญาณน้อยที่สุดในการละทิ้งสาขานั้น ตัวแทนคนหนึ่งของ Intel เมื่อไม่นานมานี้เปิดเผยว่ายอดขายผลิตภัณฑ์ Fortran ของพวกเขานั้นสูงกว่ายอดขายอื่น ๆ ในเครื่องมือการพัฒนาของพวกเขา
นอกจากนี้ยังเป็นภาษาที่ง่ายต่อการหยิบ ฉันไม่เห็นด้วยที่จะต้องใช้เวลาในการทำให้ผู้ช่วยวิจัยเร็วขึ้น หนังสือเรียนเล่มแรกของฉันไม่มีอีกแล้วโอ้ฉันไม่รู้หน้า 30 (?) ของข้อความที่พิมพ์กระจัดกระจาย เป็นภาษาที่เรียนรู้คำสำคัญ 10 คำสามารถเขียนโปรแกรมขนาดกลางได้ ฉันกล้าพูดว่า 30 หน้าที่เขียนด้วยข้อความ Word เริ่มต้นจะทำให้ "Fortran manual" ที่ครอบคลุมมากขึ้นสำหรับผู้ใช้ส่วนใหญ่
หากคุณกำลังสนใจใน CUDA คุณอาจต้องการตรวจสอบคอมไพเลอร์ของพอร์ตแลนด์กรุ๊ป , ที่สนับสนุนมัน ฉันไม่คุ้นเคยกับรายละเอียดปลีกย่อย แต่คนทั่วไปมักพูดถึงมันด้วยการสรรเสริญ
นอกเหนือจากนั้นสำหรับโปรแกรมแบบขนานคุณมี OpenMP, MPI และตอนนี้จะมีอาร์เรย์ร่วม (และที่รอคอยมานาน) ซึ่งคอมไพเลอร์ของ Intel เพิ่งนำมาใช้ เพื่อไม่ให้เสียคำฟอร์แทรนมีแกมม่าที่ยอดเยี่ยมของ "ไลบรารี่" สำหรับการขนานโปรแกรม
ไลบรารีตัวเลขมาตรฐานอุตสาหกรรมได้รับการพัฒนาให้เป็นภาษาที่สำคัญที่สุดภาษาอื่น ๆ ที่ตามมามากหรือน้อยลงในแฟ้มสะสมผลงาน / กิจวัตร
ทั้งหมดที่กล่าวมาฉันจะ (ขึ้นอยู่กับตอนที่มันถูกเขียนขึ้นในตอนแรก) แนะนำว่าถ้าเป็นอย่างนั้นรหัส F77 หรือเก่ากว่าเขียนใหม่บางส่วนตามเวลาในภาษาถิ่นใหม่ - F90 อย่างน้อยถ้าเป็นไปได้ด้วยคุณสมบัติ F2003 กระดาษ / วิทยานิพนธ์ในหัวข้อที่ได้รับการตีพิมพ์เมื่อเร็ว ๆ นี้ (ขนาดกลางขนาดไฟล์ PDF ไปข้างหน้า) ไม่เพียงเท่านั้นหากทำอย่างถูกต้องให้แน่ใจว่าสามารถพกพาข้ามแพลตฟอร์มที่หลากหลายได้ แต่จะทำให้การบำรุงรักษาในอนาคตง่ายขึ้น
ป.ล. เท่าที่ "การบำรุงรักษาในอนาคต" ดำเนินไปเพียงแค่คำแนะนำซึ่งบางครั้งฉันอยากจะพูดถึง ในขณะที่เขียนวิทยานิพนธ์ของฉันฉันใช้รหัสบางส่วนจากที่ปรึกษาของฉันเขียนเมื่อ 35 ปีก่อนจากเวลาที่เขียน มันรวบรวมด้วยข้อผิดพลาดเดียวเท่านั้น คำสั่งหายไปในตอนท้ายเนื่องจากการคัดลอกผิดวาง :)
@DaveMateer (ตอบกลับความคิดเห็น) - ฉันจะแสดงความคิดเห็นในสิ่งต่อไปนี้ซึ่งอาจไม่สุภาพเล็กน้อย แต่โปรดอย่าใช้วิธีที่ผิดเพราะมันอยู่ในความตั้งใจที่เป็นธรรม
ดูเหมือนว่าสำหรับฉันคุณกำลังแก้ปัญหา "ปัญหา" ในทางที่ผิด สิ่งที่ฉันหมายถึงในจุดสั้น ๆ ไม่กี่ (เพราะมันสายมากในที่นี่และความสามารถของฉันในการอ่านประโยค (เข้าใจได้คนเดียว) ทำให้ฉันออกหลังจาก 22:00 น.)
a)คุณพูดถึงว่าคุณกำลังพยายามลดเวลาในการเขียนโปรแกรมให้น้อยที่สุด แต่คุณกำลังพิจารณาการเขียนใหม่จากภาษาเฉพาะสำหรับการคำนวณเชิงตัวเลขเป็นหนึ่งในตัวเลือกภาษาที่มีสีสันถ้าคุณจะให้อภัยการแสดงออกของฉัน
- บางตัวไม่รองรับอาเรย์หลายมิติท่ามกลางสิ่งอื่น ๆ
- ส่วนใหญ่ไม่เหมาะสมสำหรับงานที่มีตัวเลขมาก (ของความสามารถในการประมวลผลแบบขนานของ Haskell และ Hadoop ฉันยอมรับฉันไม่รู้อะไรเลยเกี่ยวกับ ... แต่ไม่เคยได้ยินพวกเขาพูดถึงแม้แต่ในวงกลมเหล่านั้น)
- อาจเป็นไปได้ที่จะลองใช้ แต่ฉันไม่เคยได้ยินเกี่ยวกับการเขียนใหม่จาก Fortran ภาษาสำหรับปัญหาที่แยกกันไม่ออกไปเป็นภาษาที่ใช้งานได้
- เพิ่งมีการอภิปรายเกี่ยวกับ comp.lang.fortran (ลองค้นหาผ่านกลุ่ม Google) ในแง่มุมของการคำนวณทางวิทยาศาสตร์ "ในคลาวด์"
(ไม่ต้องการที่จะยกเลิกการกระตุ้นให้คุณ แต่จะยุติธรรมไม่มีใครจริงๆ แน่นอนว่าคำนั้นหมายถึง แต่น้อยกว่านั้นมีตัวอย่างของแอปพลิเคชั่นที่ประสบความสำเร็จคนส่วนใหญ่เห็นด้วยว่าศักยภาพนั้นมีอยู่ ปัญหามากมายไม่เหมาะสำหรับการขนานแบบนั้น
b)ค่าใช้จ่ายของการเขียนซ้ำนั้นเป็นอย่างไร? คน / ชั่วโมง
c)เวอร์ชันที่ถูกต้องของไลบรารีที่จะคอมไพล์ ...- เป็นปัญหาในภาษาใด ๆ ที่ไม่สามารถหลีกเลี่ยงได้ แต่คุณมองไปที่มัน
d)ฉันเคยได้ยิน Python (ภาษาที่ดีจริงๆ) ที่ใช้ในแอปพลิเคชันแบบขนานในบางครั้ง แต่การเจาะตลาดนั้นยังไม่เพิ่มขึ้นและลักษณะที่เปลี่ยนแปลงตลอดเวลาทำให้เป็นตัวเลือกที่แย่มากสำหรับ โครงการระยะยาว (คิดว่าเข้ากันได้ย้อนหลัง) บางคนชอบมันมากเป็นภาษา "กาว"
ฮึถ้าฉันคิดอย่างอื่นจะเพิ่มในวันพรุ่งนี้ ต้องนอนหลับ ...