زبان برنامه نویسی Fortran

مرور کلی

فورتران، که مخفف "ترجمه فرمول" است، یک زبان برنامه‌نویسی سطح بالا است که به‌ویژه برای برنامه‌های علمی و مهندسی مناسب است. این زبان یکی از اولین زبان‌های برنامه‌نویسی توسعه‌یافته برای کامپیوترهای الکترونیکی بود و از زمان ایجاد آن به‌طور قابل توجهی تکامل یافته است. فورتران امکان دستکاری کارآمد داده‌های آرایه‌ای را فراهم می‌کند و از محاسبات ریاضی پیچیده پشتیبانی می‌کند، که آن را به زبانی محبوب برای پیش‌بینی عددی آب و هوا، فیزیک محاسباتی و بیوانفورماتیک و سایر زمینه‌ها تبدیل کرده است.

جنبه‌های تاریخی

ایجاد

فورتران در دهه 1950 توسط IBM به‌عنوان زبانی برای محاسبات عددی و محاسبات علمی توسعه یافت. اولین نسخه، فورتران I، در سال 1957 منتشر شد. ایده اصلی این بود که زبانی ایجاد شود که به دانشمندان و مهندسان اجازه دهد برنامه‌هایی بنویسند بدون اینکه نیاز به دانستن جزئیات سخت‌افزار زیرین داشته باشند.

تکامل

نسخه‌های بعدی فورتران معرفی شدند که هر کدام ویژگی‌های جدیدی را اضافه کرده و قابلیت استفاده را بهبود بخشیدند. فورتران II به‌زودی پس از آن معرفی شد و ویژگی‌های برنامه‌نویسی ساختاری را اضافه کرد. در سال 1966، فورتران IV معرفی شد که به استاندارد صنعتی تبدیل شد. فورتران 77 (منتشر شده در 1978) ویژگی‌هایی مانند نوع داده‌های کاراکتری و قابلیت‌های بهبود یافته ورودی/خروجی را اضافه کرد.

از سال 1991 به بعد، فورتران 90 برنامه‌نویسی آرایه‌ای، برنامه‌نویسی مدولار، بازگشت و تخصیص حافظه دینامیک را معرفی کرد. فورتران 2003 و فورتران 2008 زبان را با ویژگی‌هایی مانند برنامه‌نویسی شی‌گرا و بهبود تعامل‌پذیری با زبان برنامه‌نویسی C بیشتر تقویت کردند. جدیدترین استاندارد، فورتران 2018، بهبودهای بیشتری را به ارمغان آورد، از جمله بهبود سازگاری و عملکرد برای پردازش موازی.

وضعیت کنونی

فورتران همچنان در بسیاری از رشته‌های علمی و مهندسی به‌طور فعال استفاده می‌شود و توسط کامپایلرهای مدرن مانند GNU Fortran (gfortran) و Intel Fortran Compiler پشتیبانی می‌شود. این زبان دارای یک پایگاه کد بزرگ و بسیاری از کتابخانه‌های علمی به زبان فورتران نوشته شده‌اند که آن را به زبانی حیاتی در برخی حوزه‌ها تبدیل کرده است.

ویژگی‌های نحو

نوع‌دهی قوی

فورتران یک زبان نوع‌دهی قوی است که نیاز به اعلام صریح نوع متغیرها دارد. به عنوان مثال:

INTEGER :: i
REAL :: x
CHARACTER(len=10) :: name

مدیریت آرایه‌ها

فورتران در مدیریت آرایه‌ها عالی است و اجازه می‌دهد عملیات بر روی کل آرایه‌ها با نحو ساده انجام شود.

REAL, DIMENSION(10) :: A
A = 2.0 * A  ! هر عنصر آرایه A را در 2 ضرب می‌کند

ساختارهای کنترلی

فورتران ساختارهای کنترلی متداولی مانند حلقه‌ها و عبارات شرطی را فراهم می‌کند.

DO i = 1, 10
   IF (A(i) > 0) THEN
       PRINT *, 'مثبت'
   END IF
END DO

توابع و زیرروال‌ها

فورتران اجازه تعریف توابع و زیرروال‌ها را برای برنامه‌نویسی مدولار می‌دهد.

FUNCTION square(x)
   REAL :: square
   REAL, INTENT(IN) :: x
   square = x * x
END FUNCTION square

نوع‌دهی ضمنی

به‌طور پیش‌فرض، فورتران قانونی دارد که متغیرهایی با نام‌هایی که با "I"، "J"، "K"، "L"، "M" یا "N" شروع می‌شوند به‌طور ضمنی INTEGER هستند. این می‌تواند برای وضوح نادیده گرفته شود.

IMPLICIT NONE  ! نوع‌دهی ضمنی را غیرفعال می‌کند
INTEGER :: I
REAL :: R

حلقه‌های Do-While

فورتران از حلقه‌های do-while برای اجرای مکرر بر اساس یک شرط پشتیبانی می‌کند.

i = 1
DO WHILE (i <= 10)
   PRINT *, i
   i = i + 1
END DO

نوع‌های مشتق‌شده

فورتران دارای نوع‌های کاربرتعریف‌شده قدرتمندی به نام نوع‌های مشتق‌شده است که اجازه می‌دهد تعاریف داده‌ای شبیه به ساختار داشته باشیم.

TYPE :: Person
   CHARACTER(len=20) :: name
   INTEGER :: age
END TYPE Person

TYPE(Person) :: p1

پشتیبانی از ماژول‌ها

فورتران از ماژول‌ها برای محصور کردن داده‌ها و رویه‌ها پشتیبانی می‌کند و به ترویج استفاده مجدد و سازماندهی کد کمک می‌کند.

MODULE myModule
   CONTAINS
   SUBROUTINE mySubroutine()
       ! پیاده‌سازی
   END SUBROUTINE
END MODULE

استفاده از اشاره‌گرها

فورتران از اشاره‌گرها پشتیبانی می‌کند که مدیریت حافظه دینامیک را تسهیل می‌کند، مشابه زبان‌هایی مانند C.

REAL, POINTER :: pA
ALLOCATE(pA(10))  ! تخصیص دینامیک یک آرایه

تعامل‌پذیری

فورتران دارای ویژگی‌هایی است که تعامل‌پذیری با C را ایجاد می‌کند و اجازه برنامه‌نویسی چندزبانه را می‌دهد.

INTERFACE
   FUNCTION c_function(x) BIND(C, NAME="c_function")
       INTEGER(C_INT) :: c_function(INTEGER)
   END FUNCTION c_function
END INTERFACE

ابزارها و زمان‌های توسعه‌دهنده

کامپایلرها و مفسرها

محبوب‌ترین کامپایلرهای فورتران شامل:

محیط‌های توسعه یکپارچه (IDEs)

در حالی که فورتران به‌طور معمول با IDEهای مدرن مانند برخی زبان‌های دیگر مرتبط نیست، چندین IDE از آن پشتیبانی می‌کنند:

ساخت پروژه‌ها

ساخت یک پروژه فورتران معمولاً شامل ایجاد فایل‌های منبع با پسوند .f، .f90 یا .f95 و کامپایل آن‌ها با استفاده از یک کامپایلر فورتران است. یک دستور معمول ممکن است به شکل زیر باشد:

gfortran -o my_program my_source.f90

کاربردهای فورتران

فورتران به‌طور گسترده‌ای در محاسبات علمی، پیش‌بینی عددی آب و هوا، مدل‌سازی اقلیمی، فیزیک محاسباتی، شیمی محاسباتی و بیوانفورماتیک استفاده می‌شود. این زبان به‌ویژه به‌خاطر عملکردش در محاسبات عددی سنگین و شبیه‌سازی‌ها شناخته شده است.

مقایسه با زبان‌های مشابه

رقبای اصلی فورتران در زمینه برنامه‌نویسی علمی و مهندسی شامل:

نکات ترجمه منبع به منبع

فورتران دارای چندین ابزار ترجمه منبع به منبع است که می‌تواند به توسعه‌دهندگان کمک کند تا کدهای قدیمی را به زبان‌های معاصر‌تر تبدیل کنند یا کدهای موجود را بهینه‌سازی کنند. برخی از ابزارها شامل:

این ابزارها انتقال از نسخه‌های قدیمی‌تر فورتران یا پارادایم‌های برنامه‌نویسی کاملاً متفاوت را آسان می‌کنند و در عین حال به حفظ عملکرد و قابلیت‌ها کمک می‌کنند.