सबसे पहले, मैं असामान्य बयान करना चाहता हूं कि संख्यात्मक अभिकलन के लिए, उच्च-स्तरीय भाषाएं निम्न-स्तरीय भाषाओं की तुलना में लंबे समय में बहुत अधिक उपयोगी हैं। मुझे मौसम के पूर्वानुमान में उपयोग किए जाने वाले संख्यात्मक सिमुलेशन में काम करने वाले फ्रुनहोफर इंस्टीट्यूट के एक शोधकर्ता के बारे में बताएं।
पिछले दशक में, सीपीयू 1000 गुना तेज हो गया जबकि एल्गोरिदम 1000 * 1000 तेज हो गया। इसका मतलब है, कि आज के कल के सीपीयू पर चलने वाले एल्गोरिदम कल के एल्गोरिदम को आज के सीपीयू पर 1000 के कारक से हरा देंगे।
जाहिर है, सीपीयू की गति और एल्गोरिदम, जैसे डिस्क या रैम को ध्यान में रखने के लिए बहुत अधिक पैरामीटर हैं, लेकिन यह कथन हमें यह बताने में मदद करता है कि, यदि आप एक निम्न-स्तरीय भाषा चुनते हैं, तो आप गलत कारक (1000 के बजाय 1000) पर ध्यान केंद्रित करते हैं। 1000 * 1000)।
बेशक, किसी भी विशिष्ट संख्यात्मक एल्गोरिथ्म को देखते हुए, सी या फोरट्रान को ओम्क्ल या कॉमन लिस्प को हरा देने की उम्मीद कर सकते हैं (वास्तव में ऐसा नहीं है) बड़े कारक। लेकिन अगर आप वास्तव में संख्यात्मक समस्याओं में रुचि रखते हैं और एल्गोरिदम में सुधार करने के इच्छुक हैं, तो आपको एक उच्च-स्तरीय भाषा चुननी चाहिए जो आपको अपने विचारों को उच्च स्तर पर व्यक्त करने और एल्गोरिदम को आसानी से सुधारने की अनुमति देगा।
एक साइड नोट के रूप में, यदि आप OCaml में संख्यात्मक कोड लिखने पर विचार करते हैं, तो आपको निश्चित रूप से पता होना चाहिए कि OCaml कैसे मापदंडों को फ़ंक्शन, इनलाइन फ़ंक्शंस और अनबॉक्स फ़्लोट को पास करता है। यह सब जेवियर लेरॉय के नोट्स में विस्तृत है ।