ฉันเป็นนักเรียนวิศวกรรมเครื่องกลที่สนใจในสาขาวิศวกรรมการบินและอวกาศที่ฉันบอกว่า Fortran ยังคงใช้กันทั่วไป
Fortran รุ่นใดที่ฉันควรใช้เวลาในการเรียนรู้
ฉันเป็นนักเรียนวิศวกรรมเครื่องกลที่สนใจในสาขาวิศวกรรมการบินและอวกาศที่ฉันบอกว่า Fortran ยังคงใช้กันทั่วไป
Fortran รุ่นใดที่ฉันควรใช้เวลาในการเรียนรู้
คำตอบ:
เป็นชื่อเรียกผิดที่นิยมว่ามี "รุ่น" ของ Fortran ที่ต้องรู้ ด้วยข้อยกเว้นที่หาได้ยากมาตรฐาน Fortran ล่าสุด (และคอมไพเลอร์) จะรักษาความเข้ากันได้ย้อนหลังได้อย่างยอดเยี่ยมกับมาตรฐานเก่า นี่คือเหตุผลที่ดี: มีไม่กี่คนที่จะใช้ Fortran ในวันนี้ถ้าไม่ใช่เพราะรหัสดั้งเดิมขนาดใหญ่ที่ยังใช้งานอยู่ กล่าวคือรหัส Fortran77 ที่เป็นไปตามมาตรฐานเกือบจะยังคงใช้งานได้กับคอมไพเลอร์ล่าสุด
คุณควรเรียนรู้การใช้ภาษาที่ทันสมัยที่สุดที่มีให้ F2008 อาจไม่ได้เพิ่มสิ่งที่น่ากลัวสำหรับผู้เริ่มต้น แต่การแนะนำแนวคิดเชิงวัตถุของ F2003 เป็นเรื่องใหญ่แน่นอน "Modern Fortran Explained" เป็นจุดเริ่มต้นที่ดีและ "การออกแบบซอฟต์แวร์ทางวิทยาศาสตร์: The Object Oriented Way" ก็ค่อนข้างดีสำหรับการเรียนรู้ที่จะนำมันไปใช้จริง
ในทางปฏิบัติหากคุณกำลังจะใช้รหัสดั้งเดิม (พูดว่า F77 หรือก่อนหน้านี้) ในบางจุดคุณจะต้องเรียนรู้บางสิ่งที่พวกเขาทำเพราะขาดคุณสมบัติ F90 + ตัวอย่างเช่นหากคุณกำลังเขียนโค้ด Fortran สำหรับบางสิ่งคุณไม่ควรใช้สิ่งที่เรียกว่า "บล็อกทั่วไป" แต่คุณจะเห็นรหัสเหล่านี้ปรากฏเป็นรหัส F77 อย่างสม่ำเสมอซึ่งคุณอาจต้องใช้
ฉันจะไม่แนะนำให้ใครบางคนเริ่มทำงานใน Fortran โดยที่ฟีเจอร์ชุด F90 / 95 เป็นอย่างน้อย
ที่กล่าวว่าหากคุณไม่มีความเชี่ยวชาญในการเขียนโปรแกรมในภาษาอื่น ๆ คุณอาจพบว่าฉันทามติที่ Fortran ไม่ใช่ภาษาที่ดีที่สุดในการเรียนรู้เป็นคนแรกของคุณแม้ว่าคุณจะไปตามอวกาศ (และฉันบอกว่าเป็นคนในวงการอากาศยานที่ใช้ Fortran เป็นประจำและใช้เป็นภาษาแรกของฉัน)
ฉันไม่เห็นด้วยกับคุณทั้งคู่ C ++ และ Python ยังไม่ได้รับการปรับให้เหมาะกับ FORTRAN ฉันเห็นด้วยอย่างแน่นอนว่า FORTRAN 90/95 นั้นน้อยที่สุด อย่างไรก็ตามมันจะมีประโยชน์เสมอในการใช้เวอร์ชั่นที่ทันสมัยกว่านี้ ความท้าทายของ FORTRAN คือถ้าคุณเรียนรู้มาก่อนที่คุณจะเรียนรู้ภาษาเชิงวัตถุมันง่ายที่จะเข้าใจ มันยากมากที่จะเรียนรู้ถ้าคุณคุ้นเคยกับการคิดสิ่งของ ฉันสอนชั้นเรียนการคำนวณความเร็วสูงที่นี่และฉันบังคับให้นักเรียนใช้ FORTRAN มันบังคับให้พวกเขาใช้ตรรกะประเภทต่าง ๆ ในการเขียนโปรแกรม พวกเขาไม่ชอบเพราะไม่ได้ "คิด" เหมือน Python หรือ C ++ ทุกอย่างลงมากับสิ่งที่คุณตั้งใจจะทำและความสำคัญและประสิทธิภาพที่สำคัญ