ایدا (زبان برنامه‌نویسی)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

اِیدا ((به انگلیسی: Ada)، در منابع فارسی آدا نیز نوشته می‌شود) یک زبان برنامه‌نویسی شیءگرا و سطح بالا است که در سال ۱۹۸۳ میلادی توسط وزارت دفاع آمریکا ایجاد شد. ایدا گسترش یافته زبان برنامه‌نویسی پاسکال است. برای ایجاد این زبان برنامه نویسی بیش از هر زبان دیگری هزینه صرف شده‌است.[۱]

نام زبان ایدا برای گرامی‌داشت ایدا لاولیس، ریاضی‌دان و نخستین برنامه‌نویس رایانه، انتخاب شده است.[۲]

تاریخچه ایدا[ویرایش]

ایدا ۸۳ بسیار از پاسکال تأثیر گرفت و امکان تعریف پکیج را فراهم آورد که داده و عملکرد را با هم بسته‌بندی می‌کرد. اِیدا ۹۵ ویژگی شیءگرایی را اضافه کرد که وراثت نوع را شامل می‌شود. اِیدا ۹۵ در آغاز با سه دغدغه مهم طراحی شد:

  • قابلیت اعتماد و نگهداری برنامه،
  • برنامه‌نویسی به عنوان یک فعالیت انسانی،
  • و کارآیی.

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

خلاصهٔ زبان اِیدا ۹۵[ویرایش]

یک برنامهٔ ایدا از یک یا بیش از یک واحد تشکیل شده‌است. واحدهای برنامه ممکن است زیربرنامه‌ها (که الگوریتم‌های قابل اجرا را تعریف می‌کنند)، پکیج‌ها (که مجموعه‌ای از موجودیت‌ها را تعریف می‌کنند)، واحدهای وظیفه (که محاسبات هم‌زمان را تعریف می‌کنند)، واحدهای حفاظت شده (که عملیاتی برای اشتراک هماهنگ داده‌ها بین وظیفه‌ها را تعریف می‌کنند)، یا واحدهای عمومی (که فرم‌های پارامتردار پکیج‌ها و زیربرنامه‌ها را تعریف می‌کنند) باشند. هر واحد برنامه معمولاً شامل دوبخش است: یکی بخش ذکر خصوصیات، شامل اطلاعاتی که باید برای واحدهای دیگر آشکار باشند؛ و دیگری بخش بدنهٔ برنامه، شامل پیاده‌سازی جزئیاتی که لازم نیست برای واحدهای دیگر قابل رؤیت باشد. بیشتر واحدهای برنامه می‌توانند به طور جداگانه کامپایل شوند.

ویژگیهای ایدا[ویرایش]

ایدا یک زبان برنامه‌نویسی استاندارد شده و همه‌منظوره‌است که در گسترهٔ وسیعی از کاربردها استفاده می‌شود – از کنترل موشک‌ها گرفته تا تحویل صورت‌پرداخت به سیستم کنترل ترافیک هوایی.

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

ایدا شیوهٔ صحیح برنامه‌نویسی را به وسیلهٔ اصول مهندسی نرم‌افزار یکپارچه با امکان تایپ کد قوی، پیمانه‌ای بودن، قابلیت حمل، قابلیت استفادهٔ مجدد و قابلیت خواندن (یا خوانایی) تقویت می‌کند. این خصوصیات هزینه‌ها را در تولید و توسعه، بررسی، اشکال‌زدایی و نگهداری نرم‌افزار، کاهش می‌دهد.

قابلیت حمل[ویرایش]

ایدا برای یک سیستم ساخته شد در حالی که می‌تواند به آسانی کامپایل مجدد شده و به سیستم دیگری منتقل شود، چون تمام کامپایلرهای ایدا معتبر هستند و ایدا یک زبان طراحی نرم‌افزاری است که از لحاظ بین‌المللی استاندارد شده توسط MIL-STD-۱۸۱۵A، ANSI و ISO می‌باشد.

پیمانه‌ای بودن[ویرایش]

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

قابلیت استفادهٔ مجدد[ویرایش]

مفهوم پکیج در ایدا اجازه می‌دهد که کاربران اجزایی از نرم‌افزار را که می‌توانند بازیابی، استفاده و/یا تغییر داده شوند بدون اینکه بر بقیهٔ اجزای برنامه اثر بگذارند، توسعه دهند. واحدهای برنامه‌های عام ایدا همچنین اجازه می‌دهد که یک تابع منطقی روی بیشتر از یک نوع داده اجرا شود. پکیج‌ها و برنامه‌های عام همچنین تجرد داده‌ها و طراحی مبتنی بر شیء را پشتیبانی می‌کنند.

قابلیت اعتماد[ویرایش]

امکان نوع قوی در ایدا خطاها را هم در کامپایل اولیه و هم در کامپایل مجزا، بسیار ساده‌تر پیدا می‌کند. مکانیسم دستکاری و پردازش استثناء در ایدا، برنامه‌های کاربردی مقاوم در برابر خطا را با ارائهٔ یک روش کامل و قابل حمل خطایابی و واکنش موقرانه به شرایط خطا، پشتیبانی می‌کند. خصوصیات سازماندهی عملیات در ایدا، استفادهٔ هم‌زمان از الگوهای سطح بالا را به جای تک‌کاره بودن و در معرض خطا بودن، پشتیبانی می‌کند.

نگهداری[ویرایش]

پیمانه‌ای بودن ساختار و قابلیت خواندن بالای برنامه‌های ایدا، اصلاح و بهبود نرم‌افزار نوشته شده را، برای یک برنامه‌نویس دیگر، آسان‌تر می‌کند. پیمانه‌ای بودن همچنین اصلاح پکیج را بدون تأثیر بر ماژول‌های دیگر برنامه، امکان‌پذیر می‌سازد.

زمینه‌های برنامه‌های کاربردی ایدا[ویرایش]

موفقیت‌های مستند سراسری ایدا، استفاده آن را در دامنهٔ وسیعی از کاربردها برمی‌شمرند. امروزه ایدا سیستم‌های زیر را طراحی می‌کند :

  • سیستم‌های صورت پرداخت، سیستم بانکداری تجاری، سیستم معاملهٔ سهمیه‌بندی کالا، سیستم تراکنش زبان و RDMSها.
  • اکتشافات ژئوفیزیک و سیستم پردازش داده‌ها، و سیستم تجزیهٔ شیمیایی.
  • مرکز تجاری مخابرات تلفن همراه و برنامه‌های تجاری ارتباطات راه دور مانند PABXها.
  • FAA در جت‌های تجاری، سیستم‌های کنترل ترافیک هوایی، سیستم‌های ردیابی و هدایت زمان پرواز، شبیه‌سازهای آموزش پرواز و سیستم‌های کنترل/نمایشگر پرواز.
  • سفینه‌های فضایی ناسا و محیط‌های ایستگاه‌های فضایی.
  • سیستم‌های تولید خودکار، سیستم‌های خودکار جابه‌جایی مواد، سیستم‌های جوشکاری رباتیک و سیستم‌های مدیریت موجودی.
  • سیستم‌های نظارت بی‌درنگ و پیوسته بهداشتی و کنترل تعبیه شدهٔ بی‌درنگ دستگاه‌های کپی و نسخه برداری.
  • سیستم‌های تعبیه شدهٔ نظامی استراتژیک، و اکثر برنامه‌هایی که در برنامه‌های کاربردی و سیستم‌های بی‌درنگ، استفاده می‌شوند.

برنامهٔ نمونه[ویرایش]

یکی از برنامه‌های معمول برای نمایش نحو نگارش در یک زبان برنامه نویسی برنامه Hello World است. برنامه زیر نحوه نوشتن این برنامه را در ایدا نشان می‌دهد:

with Ada.Text_IO; 
 
procedure Hello is
begin
  Ada.Text_IO.Put_Line(«Hello, world!»);
end Hello;

پانویس[ویرایش]

منابع[ویرایش]