هفتاد سالگی Fortran؛ زبانی که محاسبات علمی را خلق کرد و هنوز بازنشسته نشده است — Celebrating 70 Years of Fortran
خلاصه
زبان Fortran به هفتادمین سالگرد انتشار نخستین راهنمای فنی خود رسید. این زبان که اولین زبان سطحبالای تاریخ نرمافزار محسوب میشود، پس از هفت دهه تکامل هنوز ستون فقرات محاسبات سنگین علمی، شبیهسازیهای اقلیمی و مهندسی پیشرفته در سراسر جهان است.
در اکتبر ۱۹۵۶، نخستین راهنمای کاربری زبانی منتشر شد که قرار بود رابطه انسان و کامپیوتر را برای همیشه دگرگون کند: Fortran (سرنام Formula Translation). اکنون با گذشت هفتاد سال، «مؤسسه محاسبات برای علوم اقلیمی» (ICCS) در دانشگاه کمبریج قصد دارد این نقطه عطف تاریخی را با برگزاری رویدادی در موزه علم و صنعت منچستر جشن بگیرد؛ رویدادی با حمایت شرکتهایی چون AMD و Dell Technologies که نشان میدهد این زبان سالخورده نهتنها نمرده، بلکه هنوز قطب تپنده ابررایانهها است.
انقلابی که مهندسی نرمافزار را پایهگذاری کرد
پیش از معرفی Fortran توسط تیمی در IBM به رهبری John Backus، برنامهنویسی کامپیوترها عمدتاً به معنای نوشتن مستقیم دستورات به زبان اسمبلی یا کدهای ماشین بود؛ فرایندی بهشدت کند، وابسته به سختافزار مشخص و مستعد خطا. تیم Backus ایدهای انقلابی را پیاده کردند: ساخت نخستین کامپایلر تجاری موفق که بتواند فرمولهای ریاضی و منطق محاسباتی انسانفهم را مستقیماً به کد بهینه ماشین ترجمه کند.
با اینکه در ابتدا بسیاری از متخصصان بدبین بودند و گمان میکردند کد تولیدشده توسط کامپایلر هرگز سرعت دستنویس اسمبلی را نخواهد داشت، اما کیفیت بهینهسازی کامپایلر اولیه فرترن همه معادلات را تغییر داد و مسیر تولید نرمافزارهای پیچیده علمی را هموار ساخت.
چرا Fortran هنوز جایگزین قطعی ندارد؟
یکی از تصورات رایج میان توسعهدهندگان امروزی این است که Fortran یادگاری از دوران کارتهای پانچ است که باید در موزه نگهداری شود. اما در حوزههایی مانند فیزیک ذرات، دینامیک سیالات محاسباتی، مهندسی هستهای و پیشبینی آبوهوا و اقلیم، Fortran همچنان ابزار شماره یک توسعه به شمار میرود. دلایل فنی ماندگاری آن عبارتند از:
- عملیات برداری و آرایهها به عنوان شهروند درجه اول: فرترن از پایه برای جبر خطی و عملیات سنگین برداری طراحی شده و قواعد دستوری (Syntax) آن برای کار با ماتریسها و برش آرایهها بسیار تمیزتر و شهودیتر از زبانهایی مثل C یا حتی ++C است.
- بهینهسازی بیرقیب کامپایلرها: به دلیل محدودیتهای عمدی در مفهوم اشارهگرها (Pointers) و عدم وجود امکاناتی مانند Pointer Aliasing بهصورت پیشفرض، کامپایلرهای فرترن (نظیر GCC GFortran یا کامپایلرهای Intel و LLVM) میتوانند کدهایی با سطح بالایی از موازیسازی خودکار (Vectorization) تولید کنند که غالباً از معادلهای C سریعتر اجرا میشوند.
- اکوسیستم عظیم کتابخانههای عددی: هسته بسیاری از ابزارهای مدرن داده و یادگیری ماشین نظیر NumPy در پایتون، در لایههای زیرین همچنان از کدهای فوقبهینهشده BLAS و LAPACK استفاده میکند که به فرترن نوشته شدهاند.
درسهایی از جامعه کاربری و کدبیسهای تاریخی
بحثهای پیرامون هفتاد سالگی Fortran در میان مهندسان نکات جالبی را برجسته کرده است. برخی برنامهنویسان باسابقه از چالشهای نگهداری کدهای قدیمی دهه ۵۰ و ۶۰ میلادی با بیش از ۷۰۰ هزار خط کد سخن میگویند؛ روزگاری که مفهوم String وجود نداشت و مهندسان ناچار بودند با استفاده از کاراکترهای Hollerith دادههای متنی را در قالب مقادیر عددی یا آرایههای نامتعارف دستکاری کنند.
در مقابل، نسل جدیدتری از توسعهدهندگان که در سالهای اخیر روی شبیهسازها و مدلهای فیزیکی کار کردهاند، یادآوری میکنند که فرترن در استانداردهای نوین خود (نظیر Fortran 2008 و 2018 و 2023) بسیار مدرن شده است. ویژگیهایی چون برنامهنویسی ماژولار، ایمنی نوع بهتر و مفاهیمی مانند Coarray برای محاسبات موازی توزیعشده بدون نیاز به درگیری مستقیم با جزئیات MPI، این زبان را به ابزاری قدرتمند و به دور از پیچیدگیهای غیرضروری برای دانشمندان تبدیل کرده است.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل