कोई फोरट्रान मानक पुस्तकालय क्यों नहीं?


10

गणित और वैज्ञानिक कंप्यूटिंग पर केंद्रित भाषा होने के लिए, मुझे हमेशा फोरट्रान मानक पुस्तकालय में उपयोगी गणितीय दिनचर्या की कमी है। एक व्यक्ति यह अपेक्षा करेगा कि मानक विचलन और माध्य की गणना करने के लिए इसे कम से कम एक रूटीन के साथ भेज दिया जाए, लेकिन ऐसा नहीं है। विशेष रूप से फोरट्रान 90 की शुरूआत और मॉड्यूल के अलावा (इस प्रकार नाम स्थान के प्रदूषण को कम करने के लिए), मुझे सेवाओं की इस गंभीर कमी का कोई कारण नहीं दिखता है।

मैं आपका ज्ञान सुनना चाहूंगा कि यह मामला क्यों है।


इसके 20 साल हो गए जब से मैंने फोरट्रान का इस्तेमाल किया और उन दिनों में मैंने इस बात पर उतना ध्यान नहीं दिया कि मानकों ने क्या कहा मैंने मशीनों पर जो कुछ हुआ उसका इस्तेमाल किया। मैंने पाया कि जो गणितीय लाइब्रेरी उपलब्ध थीं, वे मेरे द्वारा उपयोग की जाने वाली मशीनों में बहुत बड़ी और सुसंगत थीं। मैं सोच रहा था कि क्या यह है क्योंकि पुस्तकालयों मानक नहीं हैं वे सर्वव्यापी हैं? (मुझे पता नहीं है कि एक सवाल है)।
मार्टिन यॉर्क

जवाबों:


17

जब फोरट्रान विकसित किया गया था, तो कोड की पोर्टेबिलिटी जैसी कोई चीज नहीं थी। यह एक मशीन पर फोरट्रान कंपाइलर के लिए बिल्कुल अलग रूटीन था कि वह दूसरी मशीन पर कंपाइलर को थोड़ी अलग भाषा में स्वीकार करे। सबसे आम भिन्नता नाम की लंबाई थी। आईबीएम 1130 फोरट्रान ने पांच पात्रों की अनुमति दी, डीईसी -10 ने छह की अनुमति दी, सीडीसी 6600 (मेरी पहली मशीन, मेरी पहली वास्तविक विधानसभा भाषा) ने सात की अनुमति दी। भाषा द्वारा तीन आयामी सरणियों की आवश्यकता थी; कम से कम एक मिनीकंप्यूटर (वेरियन 76?) फोरट्रान ने सात आयामी सरणियों की अनुमति दी।

कंपनियों ने नियमित रूप से अपनी फोरट्रान भाषाओं का विस्तार किया, ताकि उनकी मशीनें ग्राहकों को अधिक आकर्षित कर सकें, और, जबकि एक्सटेंशन समान कार्यक्षमता प्रदान कर सकते हैं, वे कभी भी समान नहीं थे। कंपाइलर्स के बहुत सारे फ़ाइल I / O और ओवरले प्रबंधन करने के लिए एक्सटेंशन प्रदान करते हैं, और वे कभी भी समान नहीं थे। कभी-कभी वे पास भी नहीं होते थे।

फोरट्रान-टू-फोरट्रान रूपांतरण, एक मशीन को दूसरे से एक कार्यक्रम में पोर्ट करना, एक बहुत व्यस्त कुटीर उद्योग था, और जो लोग ऐसा कर सकते थे, वे हमेशा काम पा सकते थे। (मैंने ऐसे दो रूपांतरण काम किए: मैंने CDC 6600 से DEC-10 तक मूल Matuszek-Reynolds-McGehearty-Cohen "Star Trek" गेम को पोर्ट करने में मदद की, और मैंने Varian 76 से TI 990 तक EKK विश्लेषण कार्यक्रम को चित्रित किया। कोई दो नहीं ऐसी परियोजनाएं समान थीं।)

इस तरह की चीज ने इसे "मानक" लाइब्रेरी प्रदान करना बहुत मुश्किल बना दिया, हालांकि कुछ लोगों ने कोशिश की। IMSL पुस्तकालय सबसे बड़ा था, लेकिन इसे स्रोत कोड रूप में भेज दिया गया था, और ग्राहक को इसे अपने सिस्टम पर काम करने के लिए आवश्यक था।

इसके अलावा: FORTRAN प्रोग्रामर को संख्यात्मक विधियों में एक उचित पृष्ठभूमि की उम्मीद थी। बस उन दिनों में ग्रह पर प्रत्येक फोरट्रान प्रोग्रामर के बारे में सीखा कि कैसे करना है और होमवर्क असाइनमेंट के रूप में खुद के लिए मानक विचलन करना है। प्रत्येक फोरट्रान प्रोग्रामर ने स्कूल में बिसनेस और न्यूटन-राफसन पुनरावृत्ति (आजकल "न्यूटन की विधि" कहा जाता है) सीखा। रनगे-कुट्टा तरीके सिखाये जाते थे, आमतौर पर रट द्वारा, और, उस समय, 6-क्रम रनगे-कुट्टा इंटीग्रेटर्स पाठ्यपुस्तक उदाहरण थे। (यह बहुत बाद में था कि लोगों को पता चला कि 4-क्रम रनगे-कुट्टा लागत-प्रभावी वक्र पर "मीठा स्थान" था।)

और: प्रोग्रामर RARELY ने कंप्यूटरों को बिना नौकरी बदले भी बदल दिया। जो प्रोग्रामर इधर-उधर चले गए, उन्हें उम्मीद थी कि नए सिस्टम ने कैसे काम किया, और मतभेदों को उठाते हुए सीखने में बहुत अच्छा होना चाहिए।

उस माहौल में, "मानक" STDDEV कोड के लिए बहुत कम कॉल होने जा रहा है, जब यह कुछ ऐसा था जो किसी भी सक्षम प्रविष्टि-स्तर FORTRAN प्रोग्रामर को अपनी नींद में लिख सकता है।


> इसके अलावा: फोरट्रान प्रोग्रामर से संख्यात्मक तरीकों में एक उचित पृष्ठभूमि की उम्मीद की जाती थी - आज के विपरीत जब यह लगता है कि प्रोग्रामर पहला कौशल यह सीखते हैं कि Google का उपयोग कैसे करना है :-)
एंडर्सके

3
वैसे भी NAG का उपयोग हर कोई करता है
मार्टिन बेकेट

1
@MartinBeckett: यह NAG से बहुत पहले था।
जॉन आर। स्ट्रोक १०'१३

1
@ देखिए, मुझे डर है कि आप बुरी तरह निराश हो गए हैं।
जॉन आर। स्ट्रोहम

1
@ देखें मैं निश्चित रूप से उन्हें कर सकता हूं, लेकिन मुझे नहीं पता कि मैं उन्हें पहले प्रयास में एक कुशल और संख्यात्मक रूप से स्थिर तरीके से करूंगा।
इक्ष्रेक

2

निजी तौर पर मुझे लगता है कि यह तथ्य एमकेएल पुस्तकालय के कारण है । यदि आप एक उच्च-प्रदर्शन गणित पुस्तकालय की तलाश कर रहे हैं, तो एमकेएल वही है जो आपको चाहिए। यह इतना महंगा नहीं है, और एक प्रयोगशाला जो अपनी परियोजनाओं में गणित कंप्यूटिंग करती है वह इसे वहन कर सकती है।


क्या आप इस बारे में और अधिक विस्तार से बताएंगे - यह पूछे गए प्रश्न का उत्तर कैसे और क्यों देता है? स्टैक एक्सचेंज में "लिंक-ओनली जवाब" का बहुत स्वागत नहीं है
gnat


0

BLAS और LAPACK डे-फैक्टो मानक फोरट्रान लाइब्रेरी हैं।


-1

FORmulaTRANslation भाषा को आपके स्वयं के सूत्र लिखने में आसान बनाने के लिए डिज़ाइन किया गया था। जब आप फोरट्रान 90 में लिख सकते हैं, तो फोरट्रान को एक औसत फ़ंक्शन क्यों परिभाषित करना चाहिए

xmean = sum (x) / मैक्स (आकार (x), 1)?


3
आप मान रहे हैं कि सरणी x मानों से भरा है। यह आमतौर पर बनाने के लिए एक बहुत खराब धारणा है।
जॉन आर। स्ट्रोहम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.