موضوع مقاله: ایدا (زبان برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ایدا (زبان برنامه‌نویسی) | مقدمه: اِیدا یک زبان برنامه‌نویسی شیءگرا و سطح بالا است که در سال ۱۹۸۳ میلادی توسط وزارت دفاع آمریکا ایجاد شد. | ## بخش 1: ایدا (زبان برنامه‌نویسی) | نام زبان ایدا برای گرامی‌داشت ایدا لاولیس، ریاضی‌دان و نخستین برنامه‌نویس رایانه، انتخاب شده‌است. تاریخچه ایدا ایدا ۸۳ بسیار از پاسکال تأثیر گرفت و امکان تعریف پکیج را فراهم آورد که داده و عملکرد را با هم بسته‌بندی می‌کرد. اِیدا ۹۵ در آغاز با سه دغدغه مهم طراحی شد: قابلیت اعتماد و نگهداری برنامه، برنامه‌نویسی به عنوان یک فعالیت انسانی، و کارآیی. این بازبینی زبان برای تأمین انعطاف‌پذیری و توسعه‌پذیری بیشتر، کنترل بیشتر بر مدیریت ذخیره‌سازی و هم‌زمانی، و پکیج‌گرایی استاندارد شده برای پشتیبانی از نواحی کاربرد مهم، و در عین حال حفظ تأکید اولیه بر قابلیت اعتماد، نگهداری و کارآیی. واحدهای برنامه ممکن است زیربرنامه‌ها (که الگوریتم‌های قابل اجرا را تعریف می‌کنند)، پکیج‌ها (که مجموعه‌ای از موجودیت‌ها را تعریف می‌کنند)، واحدهای وظیفه (که محاسبات هم‌زمان را تعریف می‌کنند)، واحدهای حفاظت شده (که عملیاتی برای اشتراک هماهنگ داده‌ها بین وظیفه‌ها را تعریف می‌کنند)، یا واحدهای عمومی (که فرم‌های پارامتردار پکیج‌ها و زیربرنامه‌ها را تعریف می‌کنند) باشند. هر واحد برنامه معمولاً شامل دوبخش است: یکی بخش ذکر خصوصیات، شامل اطلاعاتی که باید برای واحدهای دیگر آشکار باشند؛ و دیگری بخش بدنهٔ برنامه، شامل پیاده‌سازی جزئیاتی که لازم نیست برای واحدهای دیگر قابل رؤیت باشد. ویژگی‌های ایدا ایدا یک زبان برنامه‌نویسی استاندارد شده و همه‌منظوره‌است که در گسترهٔ وسیعی از کاربردها استفاده می‌شود – از کنترل موشک‌ها گرفته تا تحویل صورت‌پرداخت به سیستم کنترل ترافیک هوایی. ایدا دارای ویژگی‌هایی است که معمولاً در زبان‌های برنامه‌نویسی دیگر یافت می‌شود و افزون بر آن از شیوهٔ جدید برنامه‌نویسی نیز برای کنترل سخت‌افزار مورد نظر تا زمان دقیق سررسید، و برای ایجاد و بهبود برنامه‌های طولانی و پیچیده توسط گروه‌های برنامه‌نویس در دوره‌های بلندمدت پشتیبانی می‌کند. ایدا شیوهٔ صحیح برنامه‌نویسی را به وسیلهٔ اصول مهندسی نرم‌افزار یکپارچه با امکان تایپ کد قوی، پیمانه‌ای بودن، قابلیت حمل، قابلیت استفادهٔ مجدد و قابلیت خواندن (یا خوانایی) تقویت می‌کند. | ## بخش 2: ایدا (زبان برنامه‌نویسی) | این خصوصیات هزینه‌ها را در تولید و توسعه، بررسی، اشکال‌زدایی و نگهداری نرم‌افزار، کاهش می‌دهد. قابلیت حمل ADAبرای یک سیستم ساخته شد در حالی که می‌تواند به آسانی کامپایل مجدد شده و به سیستم دیگری منتقل شود، چون تمام کامپایلرهای ایدا معتبر هستند و ایدا یک زبان طراحی نرم‌افزاری است که از لحاظ بین‌المللی استاندارد شده توسط MIL-STD-۱۸۱۵A، ANSI و ISO می‌باشد. پیمانه‌ای بودن ADA کد را به صورت واحدهای جامعی که می‌توانند جداگانه طراحی، نوشته، کامپایل و تست شوند سازماندهی می‌کند؛ این خصوصیت به برنامه اجازه می‌دهد که برنامه‌ها به بخش‌هایی تقسیم شوند و این بخش‌ها جداگانه توسط تیم‌هایی که به‌طور هم‌زمان کار می‌کنند، نوشته شوند و سپس با یکدیگر مجتمع شوند تا محصول نهایی شکل گیرد. قابلیت استفادهٔ مجدد مفهوم پکیج در ADA اجازه می‌دهد که کاربران اجزایی از نرم‌افزار را که می‌توانند بازیابی، استفاده و/یا تغییر داده شوند بدون اینکه بر بقیهٔ اجزای برنامه اثر بگذارند، توسعه دهند. واحدهای برنامه‌های عام ایدا همچنین اجازه می‌دهد که یک تابع منطقی روی بیشتر از یک نوع داده اجرا شود. پکیج‌ها و برنامه‌های عام همچنین تجرد داده‌ها و طراحی مبتنی بر شیء را پشتیبانی می‌کنند. قابلیت اعتماد امکان نوع قوی در ADA خطاها را هم در کامپایل اولیه و هم در کامپایل مجزا، بسیار ساده‌تر پیدا می‌کند. مکانیسم دستکاری و پردازش استثناء در ایدا، برنامه‌های کاربردی مقاوم در برابر خطا را با ارائهٔ یک روش کامل و قابل حمل خطایابی و واکنش موقرانه به شرایط خطا، پشتیبانی می‌کند. خصوصیات سازماندهی عملیات در ایدا، استفادهٔ هم‌زمان از الگوهای سطح بالا را به جای تک‌کاره بودن و در معرض خطا بودن، پشتیبانی می‌کند. | ## بخش 3: ایدا (زبان برنامه‌نویسی) | نگهداری پیمانه‌ای بودن ساختار و قابلیت خواندن بالای برنامه‌های ADA، اصلاح و بهبود نرم‌افزار نوشته شده را، برای یک برنامه‌نویس دیگر، آسان‌تر می‌کند. پیمانه‌ای بودن همچنین اصلاح پکیج را بدون تأثیر بر ماژول‌های دیگر برنامه، امکان‌پذیر می‌سازد. زمینه‌های برنامه‌های کاربردی ایدا موفقیت‌های مستند سراسری ایدا، استفاده آن را در دامنهٔ وسیعی از کاربردها برمی‌شمرند. امروزه ایدا سیستم‌های زیر را طراحی می‌کند: سیستم‌های صورت پرداخت، سیستم بانکداری تجاری، سیستم معاملهٔ سهمیه‌بندی کالا، سیستم تراکنش زبان و RDMSها. FAA در جت‌های تجاری، سیستم‌های کنترل ترافیک هوایی، سیستم‌های ردیابی و هدایت زمان پرواز، شبیه‌سازهای آموزش پرواز و سیستم‌های کنترل/نمایشگر پرواز. سیستم‌های تولید خودکار، سیستم‌های خودکار جابه‌جایی مواد، سیستم‌های جوشکاری رباتیک و سیستم‌های مدیریت موجودی. سیستم‌های نظارت بی‌درنگ و پیوسته بهداشتی و کنترل تعبیه شدهٔ بی‌درنگ دستگاه‌های کپی و نسخه برداری. | ## جمع‌بندی | سیستم‌های تعبیه شدهٔ نظامی استراتژیک، و اکثر برنامه‌هایی که در برنامه‌های کاربردی و سیستم‌های بی‌درنگ، استفاده می‌شوند.