فرترن: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Esi Gonzalez (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
MaryamMoradi2 (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
برچسب: جمع عربی واژگان فارسی
خط ۳۲:
|وب‌گاه =
}}
'''فورترن'''{{جعبه (FORTRAN مخفف FORmula TRANslation)اطلاعات زبان برنامه‌نویسی مفسری است (ایستای [[کامپایل]] شده).
|نام = فورتن
زبان برنامه‌نویسی فورترن زبانی ساده و محاسباتی است و پروژه‌های بسیاری از رشته‌های فنی مهندسی به کمک این زبان نوشته و اجرا شده‌است.
|نشان =
|اندازه نشان =
|تصویر = Fortran acs cover.jpeg
|اندازه تصویر = 150px
|توضیح تصویر = سیستم‌های اندازه‌گیری فورترن برای [[آی‌بی‌ام|آی‌بی‌ام ۷۰۴]]{{سخ}}([[۱۵ اکتبر]] [[۱۹۵۶ (میلادی)|۱۹۵۶]]){{سخ}}اولین کتابچه مرجع و راهنمای برنامه‌نویسی فورترن
|گونه =
* [[برنامه‌نویسی ساخت‌یافته]]
* [[برنامه‌نویسی دستوری]]
* [[برنامه‌نویسی رویه‌ای]]
* [[برنامه‌نویسی جنریک]]
|منتشر شده در = [[۱۹۵۷ (میلادی)|۱۹۵۷]]- ۶۳ سال پیش
|طراح = [[جان بکوس]]
|توسعه‌دهنده = [[جان بکوس]]،[[آی‌بی‌ام]]
|شرکت سازنده =
|اولین نسخه =
|آخرین نسخه پایدار = فورتن ۲۰۰۸{{سخ}}([[ایزو]]-[[کمیسیون الکتروتکنیکی بین‌المللی|آی‌ایی‌سی]]۱۵۳۹-۱:۲۰۱۰)
|تاریخ انتشار آخرین نسخه پایدار = [[۲۰۱۰ (میلادی)|۲۰۱۰]]
|آخرین نسخه آزمایشی =
|تاریخ انتشار آخرین نسخه آزمایشی =
|پیاده‌سازی = [[اِی‌بی سافت]]، [[آی‌بی‌ام]]، [[اینتل]]، [[کری]]، [[جی۹۵]]، [[جی‌فرتن]]، [[اوراکل]]، [[ویژوال فرترن]]، [[پی‌جی‌آی]] و...
|گویش =
|زبان برنامه‌نویسی =
|سیستم‌عامل =
|سکو =
|تاثیر گرفته از = [[سرعت کدگذاری]]
|تاثیر گذاشته بر = [[الگول|الگول ۵۸]]، [[بیسیک]]، [[سی (زبان برنامه‌نویسی)]]، [[پکت (کامپایلر)]]، [[رت‌فور]]، [[پی‌ال/1]] و [[گوشك (زبان برنامه‌نویسی)]]
|وضعیت توسعه =
|استفاده =
|پروانه =
|وب‌گاه =
}}
=فورترن=
'''فورترن''' (FORTRAN مخفف FORmula TRANslation) زبان برنامه‌نویسی مفسری برای محاسبات علمی و عددی است.
این زبان درابتدا برای برنامه های مهندسی و علمی در دهه [[۱۹۵۰]] توسط شرکت [[آی‌بی‌ام]] ایجاد شد و بیش از شش دهه است که در مسائل محاسباتی پیچیده همانند پیش بینی آب و هوا، تجزیه و تحلیل عناصر محدود، دینامیک سیالات محاسباتی، فیزیک محاسباتی، کریستالوگرافی و شیمی محاسباتی مورداستفاده قرار گرفته‌است. این زبان در محاسبات با کارایی بالا و محک ورتبه‌بندی سریعترین ابررایانه‌ها رایج است.
یکی از ویژگی‌های مهم فورترن سرعت بالا در کامپایل کردن کدهای محاسباتی است و دلیل آن بهینه بودن دستورات این زبان نسبت به زبان های دیگر است و با توجه به کمینه بودن تعداد کاراکتر های مورد نیاز برای ایجاد یک دستور و امکانات ترجیحی و اختیاری فراوان، کدهای نوشته‌شده با این زبان از حجم کمی برخورداراند و در زمان کوتاه اجرا شده و نتیجه خواهد داد. این امر به خصوص برای محاسبات عددی سنگین از اهمیت دوچندانی برخوردار است.
 
==نامگذاری==
این زبان در دهه[[۱۹۵۰]] در شرکت [[آی‌بی‌ام]] توسط ۲۵ نفر از دانشمندان برجستهٔ رایانه به سرپرستی [[جان بکوس]] (John Backus) طراحی شد. فورترن اولین [[زبان برنامه‌نویسی سطح بالا]] است. در نسخه‌های اخیر فورترن قابلیت برنامه‌نویسی [[شی‌گرایی|شی‌گرا]] به این زبان افزوده شده‌است. فورترن دومین زبانی بود که از سوی انسی (ANSI) استاندارد شد تکامل آن را می‌توان در نسخه‌های پرشمار بعدی آن دید (فورترن ۶۶، فورترن۷۷، فورترن ۹۰، فورترن۹۵ و فورترن ۲۰۰۳). در فورترن سازگاری میان هر نسخه با نسخه پیشین هم‌چنان حفظ شد.
نام نسخه های قبلی این زبان با حروف بزرگ بیان می‌شد و FORTRAN 77 آخرین نسخه ای بود که درآن استفاده از حروف کوچک در کلمات اصلی غیراستادندارد بشمار می‌رفت. در نسخه های جدیدتر از fortran90 این استاندارد حذف شد.
از نسخه‌های جدید آن می‌توان به [[ویژوال فرترن]] اشاره کرد.
 
==تاریخچه==
فورترن نخستین زبان برنامه‌نویسی سطح بالا است. این زبان دهه‌هایی چند پرکاربردترین زبان رایانه‌ای در زمینه فیزیک و [[اقتصادسنجی]] بود. فورترن اکنون نیز به‌صورت گسترده در محاسبات علمی و محاسبات عددی بکار برده می‌شود.
دراواخر سال 1953، [[جان بکوس]] (John Backus) پیشنهادی جهت جایگزینی یک برنامه عملی‌تر برای زبان اسمبلی برنامه نویسی IBM 704 ارائه کرد. تیم برنامه‌نویسان گذشته فورترن شامل ریچارد گلدبرگ، شلدون بهترین، هارلان هریك، پیتر شریدان، روی نوت، رابرت نلسون، ایروینگ زیلر، هارولد استرن، لوییزهایت و دیوید سیر بود. هدف اصلی ورود آسان‌تر معادلات به رایانه بود که ایده آن توسط J. Halcombe Laning توسعه یافت.
پیشنویس مشخصات سیستم ترجمه فرمول ریاضی در نوامبر سال ۱۹۵۲ تکمیل شد و اولین کتابچه راهنمای‌آن، در اکتبر ۱۹۵۶ آماده‌شد و با اولین کامپایلر فورترن در آوریل ارائه شد. این اولین [[کامپایلر بهینه‌ساز]] بود. مشتریان زمانی تمایل به استفاده از زبان سطح بالا دارند که عملکرد کد تولید شده توسط کامپایلر مشابه عملکرد کداسمبلی دست‌‌‌نویس باشد.
درحالی‌که برنامه نویسان در عملکرد بهتر این نوع برنامه‌نویسی نسبت به کداسمبلی دست‌نویس تردید داشتند، کاهش بالای تعداد عبارات برنامه نویسی توجه برنامه‌نویسان را جلب کرد. [[جان بکوس]] در طی مصاحبه ای در سال ،گفت: "بخش عمده‌ای از کار من از تنبلی ناشی شده‌است. من نوشتن برنامه‌ها را دوست نداشتم، بنابراین هنگامی که در IBM 701 کار میکردم، برنامه هایی برای محاسبات می‌نوشتم. پس شروع به کار بر روی یک سیستم برنامه نویسی کردم تا نوشتن برنامه‌ها آسان‌تر شود. "
دانشمندان این زبان را بسیار مناسب برای برنامه های‌فشرده عددی دانستند و نویسندگان کامپایلر را، برای نوشتن کامپایلر با سرعت و کارامدی بیشتر ترغیب کردند. گنجایش این زبان برای داده‌های عددی بسیار پیچیده، آن را برای برنامه های فنی بخصوص در مهندسی برق مناسب نموده‌است.
تا سال ۱۹۶۰ نسخه‌های فورترن برای رایانه‌های 1620 IBM 109، IBM 650 ، IBM و 7090 IBM در دسترس بود. محبوبیت روزافزون این زبان، سازندگان آن را تشویق‌کرد بطوری‌که تا سال ۱۹۶۳، بیش از ۴۰ کامپایلر فورترن دردسترس بود.
 
توسعه فورترن به موازات سیرتکاملی کامپایلر بود و به همین‌ دلیل بسیاری از پیشرفت های تئوری و طراحی کامپایلر در جهت رفع نیازهای فورترن برای ایجاد کد کارامدتر ایجادشد.
 
==علم و مهندسی==
اگرچه نویسندگان [[BASIC]] فورترن را قدیمی توصیف کرده‌بودند، اکنون چندین دهه است که این زبان مورداستفاده قرار گرفته است. جی پاساکوف در سال ۱۹۸۴ نوشت: "دانشجویان فیزیک و نجوم باید فورترن را بیاموزند و بعید به نظر می رسد دانشمندان به دیگر زبان های پاسکال، مدولا یا هر چیز دیگری روی‌آورند." در سال ۱۹۹۳، سیسیل لیث، فورترن را "زبان مادری محاسبات علمی" خواند و افزود: "جایگزینی آن با هر زبان دیگر ممکن است یک امید فراموش شده باقی بماند."
فورترن یک زبان اولیه برای برخی کارهای حجیم در ابرکامپیوترها مانند نجوم، مدل سازی آب و هوا، شیمی محاسباتی، اقتصاد محاسباتی، دینامیک سیالات محاسباتی، فیزیک محاسباتی، تجزیه و تحلیل داده‌ها، مدل سازی هیدرولوژیکی، جبرخطی عددی و کتابخانه های عددی ( LAPACK، IMSL و NAG)، بهینه سازی، شبیه سازی ماهواره، مهندسی سازه و پیش بینی وضعیت هوا است.
کدهای مدرن تر در علوم محاسباتی از کتابخانه‌ها استفاده می‌کنند، از جمله METIS برای تقسیم بندی نمودار ، PETSc یا Trilinos برای جبر خطی و غیره که در [[c]] نیز استفاده‌می‌شد. از اوایل سال ۲۰۰۰ بسیاری از کتابخانه‌های پشتیبان مورداستفاده قرارگرفتند و ازطرفی زبان های‌دیگر مانند MATLAB ، Python و [[R]] دربرخی حوزه‌های علوم محاسباتی رایج شدند. به همین دلیل، امکاناتی برای ارتباط [[C]] با Fortran ۲۰۰۳ فراهم شد.
 
==ویژگی های زبان==
===قابلیت حمل===
قابلیت حمل درابتدا بامشکلاتی همراه بود زیرا هیچ استانداردی مورد توافق قرار نمی گرفت. استانداردها قابلیت حمل را بهبود بخشیده‌اند. استاندارد ۱۹۹۶یک اصطلاح مرجع و معناشناسی را ارائه می‌داد، اما مجدد به ناسازگاری ادامه دادند. برنامه‌نویسان متوجه بودند، استفاده از ناسازگاری‌ها سبب بروز مشکلات در حمل می‌شود، پس از برنامه‌هایی مانند The PFORT Verifier استفاده می کردند ، بعد ازاستاندارد ۱۹۷۷، دفتر ملی استاندارد FIPS PUB 69 را منتشر کرn که پردازنده های خریداری شده توسط دولت ایالات متحده ملزم به تشخیص استاندارد بودند.
ناسازگاری و عدم رعایت استاندارد تنها مشکل قابلیت حمل نبودند. برای محاسبات عددی، درنظر گرفتن ویژگی‌های حساب مهم است. اتخاذ (در حال حاضر تقریبا جهانی) استاندارد IEEE 754 برای حساب ممیزشناور باینری ، این مشکل را حل‌کرد.
دسترسی به محیط محاسبات برای مثال خط فرمان برنامه ، متغیرهای محیط و غیره همچنان مشکل ایجاد می‌کرد که در سال ۲۰۰۳ برطرف شد.
درحال حاضر نوشتن یک برنامه قابل حمل در فورترن امکان‌پذیر است.
 
==انواع==
===Fortran 5===
دراواخر دهه ۱۹۷۰و اوایل دهه ۱۹۸۰، برای رایانه‌های Eclipse, MV و Nova عرضه‌شد که کامپایلر بهینه ساز خوبی برای کامپیوترهای زمان خود بشمار می‌رفت.
===FORTRAN V===
درسال ۱۹۶۸در سریال 6600 CDC عرضه شد و مبتنی بر FORTRAN IV بود.
===Fortran 6===
فورترن۶ یا Visual Fortran 2001 توسط [[ماکروسافت]] مجاز شد و رابط محیط Visual Studio 5 را برای Compaq v6 ارائه‌داد.
 
از مزیت‌های فورترن «تعریف متغیر در این زبان» است.
در فرترن مانندسایر زبان‌های سطح بالا مثل [[پاسکال (زبان برنامه‌نویسی)|پاسکال]] یا [[سی (زبان برنامه‌نویسی)|سی]]، صحیح یا اعشاری بودن متغیر باید تعریف شود. البته در این زبان به‌طور قراردادی متغیرهایی که با یکی از حروف زیر آغاز میشوند صحیح فرض می‌شوند و سایر متغیرها اعشاری در نظر گرفته می‌شوند.
 
===گونه‌های مختلف:===