इस तरह की समस्याओं के लिए आपने जिन मांगों को वास्तव में फोरट्रान को सूची में सबसे ऊपर रखा है:
a) संख्या crunching
b) paralellable
c) यह सी थी और अभी भी डीईओएस अध्ययनों के बाहर सिखाई जाने वाली वास्तविक भाषा है (उन इंजीनियरों के लिए जो पेशेवर प्रोग्रामर नहीं हैं)।
d) का एक अविश्वसनीय (!) उद्योग समर्थन है, नंबर-ऑफ-इंडस्ट्री-ग्रेड-कंपाइलर-वार, जिसमें से कोई भी विक्रेता उस शाखा को छोड़ने के कम से कम संकेत नहीं दिखाता है। इंटेल के प्रतिनिधियों में से एक ने बहुत पहले पता नहीं लगाया था कि उनके फोरट्रान उत्पादों की बिक्री अधिक है, फिर उनके विकास के साधनों में कोई अन्य।
यह एक ऐसी भाषा भी है जिसे उठाना बहुत आसान है। मैं इस बात से सहमत नहीं हूं कि अनुसंधान सहायकों को गति लाने में समय लगता है। उस पर मेरी पहली पाठ्यपुस्तक, ओह, मुझे नहीं पता, 30 (?) विरल मुद्रित पाठ के पृष्ठ थे। यह एक भाषा है जिसमें 10 कीवर्ड सीखने के बाद, कोई भी मध्यम आकार के कार्यक्रम लिख सकता है। मैं यह कहने का साहस करूंगा कि डिफ़ॉल्ट वर्ड टेक्स्ट में लिखे गए वे 30 पृष्ठ अधिकांश उपयोगकर्ताओं के लिए अधिक व्यापक "फोरट्रान मैनुअल" बनाएंगे।
यदि आप CUDA में रुचि रखते हैं, तो आप पोर्टलैंड ग्रुप के कंपाइलर की जांच कर सकते हैं , जो इसका समर्थन करता है । मैं बारीक विवरण से परिचित नहीं हूं, लेकिन लोग आम तौर पर प्रशंसा के साथ इसके बारे में बात करते हैं।
इसके अलावा, पैरेल्लिंग कार्यक्रमों के लिए आपके पास ओपनएमपी, एमपीआई और अब आगामी (और लंबे समय से प्रतीक्षित) सह-सरणियां उपलब्ध हैं, जिसे इंटेल के कंपाइलर ने हाल ही में लागू किया है। शब्दों को व्यर्थ न करने के लिए, फोरट्रान में कार्यक्रमों को समानांतर करने के लिए "पुस्तकालयों" का एक बहुत अच्छा गामा है।
उद्योग मानक संख्यात्मक पुस्तकालयों को इसके लिए विकसित किया जाता है, अन्य भाषाओं जो फ़ंक्शन / रूटीन पोर्टफोलियो में कम या ज्यादा होती हैं।
यह सब कहा जा रहा है, मैं फिर भी (निर्भर करता है कि यह मूल रूप से कब लिखा गया था) यह अनुशंसा करते हैं कि क्या यह कहना है, F77 कोड या पुराने, इसे आंशिक रूप से नई बोलियों के लिए समय के माध्यम से फिर से लिखना - F90 कम से कम, यदि संभव हो तो F2003 सुविधाओं के साथ। उस विषय पर एक पेपर / थीसिस हाल ही में प्रकाशित किया गया था (मध्यम आकार की पीडीएफ फाइल आगे)। इतना ही नहीं, अगर ठीक से किया जाता है, तो कई प्लेटफार्मों में पोर्टेबिलिटी सुनिश्चित करें, लेकिन यह भविष्य के रखरखाव के लिए और भी आसान बना देगा।
ps जहाँ तक "भविष्य के रख-रखाव" की बात की जाए, तो सिर्फ एक उपहास है जिसका मैं कभी-कभी उल्लेख करना चाहता हूँ। अपनी थीसिस लिखते समय, मैंने अपने संरक्षक से कुछ कोड का पुन: उपयोग किया, जो 35 साल पहले लिखे जाने के समय से लिखा गया था। यह केवल एक त्रुटि के साथ संकलित किया गया; कॉपी पेस्ट की गलती के कारण आखिर में गायब हुआ एक बयान :)
@DaveMateer (टिप्पणी का जवाब) - मैं निम्नलिखित में एक टिप्पणी करने जा रहा हूं, जो कि थोड़ा अड़ियल हो सकता है, लेकिन कृपया इसे गलत तरीके से न लें, क्योंकि यह निष्पक्ष इरादों में है।
ऐसा लगता है कि आप इस "समस्या" से गलत तरीके से निपट रहे हैं। कुछ छोटे बिंदुओं में मेरा क्या अर्थ है (क्योंकि इसमें बहुत देर हो चुकी है, और मेरी पढ़ने योग्य बनाने की क्षमता (अकेले समझने योग्य) वाक्य मुझे 10p.m के बाद छोड़ देते हैं)
क) आपने उल्लेख किया है कि आप अतिरिक्त कोडिंग समय को कम करने की कोशिश कर रहे हैं, फिर भी आप संख्यात्मक अभिकलन के लिए विशेष रूप से भाषाओं के एक रंगीन विकल्प से किसी एक भाषा को फिर से लिखने पर विचार कर रहे हैं , यदि आप मेरी अभिव्यक्ति को क्षमा करेंगे।
- जिनमें से कुछ के पास अन्य चीजों के अलावा बहुआयामी सरणियों के लिए समर्थन नहीं है
- उनमें से अधिकांश भारी संख्यात्मक कार्यों के लिए अनुपयुक्त हैं (हास्केल और हडोप की मैं समानांतर प्रसंस्करण क्षमताओं के बारे में स्वीकार करता हूं, मुझे इसके बारे में कुछ नहीं पता है ... लेकिन उन हलकों में भी कभी नहीं सुना है)
- संभवतः इसकी कोशिश की गई है, लेकिन मैंने फोरट्रान से एक फिर से लिखना नहीं सुना है, एक विवेकशील समस्याओं के लिए भाषा, एक कार्यात्मक भाषा के लिए
- "क्लाउड" में वैज्ञानिक कंप्यूटिंग के पहलुओं पर हाल ही में comp.lang.fortran (Google समूहों के माध्यम से खोज करने का प्रयास करें) पर चर्चा हुई है (
आप को प्रेरित नहीं करना चाहते, लेकिन निष्पक्ष होना, कोई भी वास्तव में नहीं था। यकीन है कि यह शब्द भी प्रतिनिधित्व करता है, कम अकेले एक सफल आवेदन का एक उदाहरण था। ज्यादातर लोग सहमत थे कि क्षमता मौजूद है, लेकिन अब तक वे खुश हैं जिस तरह से चीजें अब काम करती हैं।) कई तरह की समस्याएं न तो उस तरह की समानता के लिए उपयुक्त हैं और न ही।
ख) इस तरह के पुनर्लेखन की लागत क्या होगी? लोग / घंटे।
ग) पुस्तकालयों के संकलित संस्करणों को संकलित करने के लिए ... - किसी भी भाषा में एक समस्या है, जिसे टाला नहीं जा सकता है, हालांकि आप इसे देखते हैं।
डी) मैंने पायथन के बारे में सुना है (एक अच्छी भाषा वास्तव में) कुछ अनुप्रयोगों पर समानांतर अनुप्रयोगों में उपयोग किया जाता है, लेकिन उस बाजार में इसकी पैठ अभी भी बढ़ती नहीं दिख रही है, और इसकी कभी बदलती प्रकृति इसे बहुत खराब विकल्प बनाती है एक लंबी अवधि की परियोजना (पिछड़े संगतता समझें)। कुछ लोग इसे "गोंद" भाषा के रूप में बहुत पसंद करते हैं।
उह, अगर मैं कुछ और सोचता हूं, तो इसे कल जोड़ूंगा। कुछ नींद आ जाएगी ...