मैं एक मैकेनिकल इंजीनियरिंग छात्र हूँ, जहाँ एयरोस्पेस इंजीनियरिंग के क्षेत्र में दिलचस्पी है, जहाँ मुझे बताया गया है, फोरट्रान अभी भी आमतौर पर उपयोग किया जाता है।
फोरट्रान के किस संस्करण को सीखने के लिए मुझे अपना समय निवेश करना चाहिए?
मैं एक मैकेनिकल इंजीनियरिंग छात्र हूँ, जहाँ एयरोस्पेस इंजीनियरिंग के क्षेत्र में दिलचस्पी है, जहाँ मुझे बताया गया है, फोरट्रान अभी भी आमतौर पर उपयोग किया जाता है।
फोरट्रान के किस संस्करण को सीखने के लिए मुझे अपना समय निवेश करना चाहिए?
जवाबों:
यह एक लोकप्रिय मिथ्या नाम है कि जानने के लिए फोरट्रान का एक "संस्करण" है। दुर्लभ अपवाद के साथ, नवीनतम फोरट्रान मानक (और संकलक) पुराने मानकों के साथ उत्कृष्ट बैकवर्ड संगतता बनाए रखते हैं। यह अच्छे कारण के साथ है: बहुत से लोग आज फोरट्रान का उपयोग नहीं करेंगे यदि यह बड़ी मात्रा में विरासत कोड के लिए अभी भी उपयोग में नहीं थे। यह कहना है, एक मानकों के अनुरूप Fortran77 कोड लगभग हमेशा अभी भी नवीनतम संकलक के साथ काम करेंगे।
आपको उपलब्ध भाषा के सबसे आधुनिक संस्करण का उपयोग करना सीखना चाहिए। F2008 ने शुरुआत के लिए कुछ भी उपयोगी नहीं जोड़ा हो सकता है, लेकिन F2003 की वस्तु-उन्मुख अवधारणाओं का परिचय निश्चित रूप से एक बड़ी बात है। "आधुनिक फोरट्रान समझाया" शुरू करने के लिए एक सभ्य जगह है, और "वैज्ञानिक सॉफ़्टवेयर डिज़ाइन: द ऑब्जेक्ट ओरिएंटेड वे" वास्तव में इसे अभ्यास में लाना सीखने के लिए भी बहुत अच्छा है।
व्यावहारिक रूप से, यदि आप विरासत कोड पर काम करने जा रहे हैं (F77 या पहले कहें), तो कुछ बिंदु पर आपको F90 + सुविधाओं की कमी के कारण कुछ चीजें सीखनी होंगी। उदाहरण के लिए, यदि आप किसी चीज़ के लिए फोरट्रान कोड लिख रहे हैं, तो आपको कभी भी उस चीज़ का उपयोग नहीं करना चाहिए जिसे "COMMON ब्लॉक" कहा जाता है, लेकिन आप हमेशा उन्हें F77 कोड में आते देखेंगे जो आपको उपयोग करना पड़ सकता है।
मैं कभी भी किसी को फोरट्रान में बहुत कम F90 / 95 फीचर सेट के बिना काम शुरू करने की सलाह नहीं दूंगा।
उस ने कहा, यदि आप किसी अन्य भाषा में प्रोग्रामिंग में पारंगत नहीं हैं, तो आप शायद एक आम सहमति पाएंगे कि फोरट्रान आपके पहले के रूप में सीखने के लिए सबसे अच्छी भाषा नहीं है, भले ही आप एयरोस्पेस के बाद जा रहे हों। (और मैं कहता हूं कि एयरोस्पेस में किसी के रूप में जो फोरट्रान का नियमित रूप से उपयोग करता है और यह मेरी पहली भाषा के रूप में है)।
मैं आप दोनों से असहमत हूं। C ++ और Python अभी भी FORTRAN के रूप में अनुकूलित नहीं हैं। मैं निश्चित रूप से सहमत हूं कि फोरट्रान 90/95 न्यूनतम है। हालांकि, अन्य आधुनिक संस्करणों का उपयोग करना हमेशा उपयोगी होता है। फोरट्रान के साथ चुनौती यह है कि यदि आप ऑब्जेक्ट ओरिएंटेड भाषा सीखने से पहले इसे सीखते हैं, तो समझना आसान है। यदि आप वस्तुओं के साथ सोचने के अभ्यस्त हैं, तो सीखना बहुत कठिन है। मैं यहां सुपरकंप्यूटिंग क्लास पढ़ाता हूं और मैं अपने छात्रों को फोरट्रान का इस्तेमाल करने के लिए मजबूर करता हूं। यह उन्हें प्रोग्रामिंग में एक अलग प्रकार के तर्क का उपयोग करने के लिए मजबूर करता है। उन्हें यह पसंद नहीं है क्योंकि यह पायथन या सी ++ की तरह "नहीं" लगता है। यह सब वास्तव में नीचे आता है कि आप क्या करने का इरादा रखते हैं और कितना लंबन और प्रदर्शन मायने रखते हैं।