06-13-2011، 12:37 PM
آدا یک زبان برنامهنویسی شیء گرای سطح بالا است که در سال ۱۹۸۳ میلادی توسط وزارت دفاع آمریکا ایجاد شد. برای ایجاد این زبان برنامه نویسی بیش از هر زبان دیگری هزینه صرف شده است
تاريخچه ادا
اِدا 95 در آغاز با سه دغدغه مهم طراحي شد: • قابليت اعتماد و نگهداري برنامه، • برنامهنويسي به عنوان يک فعاليت انساني، • و کارآيي. اين بازبيني زبان براي تأمين انعطافپذيري و توسعهپذيري بيشتر ، کنترل بيشتر بر مديريت ذخيرهسازي و همزماني، و پکيجگرايي استاندارد شده براي پشتيباني از نواحي کاربرد مهم، و در عين حال حفظ تأکيد اوليه بر قابليت اعتماد، نگهداري و کارآيي.
خلاصة زبان اِدا 95
يک برنامة اِدا از يک يا بيش از يک واحد تشکيل شده است. واحدهاي برنامه ممکن است زيربرنامهها (که الگوريتمهاي قابل اجرا را تعريف ميکنند)، پکيجها (که مجموعهاي از موجوديتها را تعريف ميکنند)، واحدهاي وظيفه (که محاسبات همزمان را تعريف ميکنند)، واحدهاي حفاظت شده (که عملياتي براي اشتراک هماهنگ دادهها بين وظيفهها را تعريف ميکنند)، يا واحدهاي عمومي (که فرمهاي پارامتردار پکيجها و زيربرنامهها را تعريف ميکنند) باشند. هر واحد برنامه معمولاً شامل دوبخش است: يکي بخش ذکر خصوصيات، شامل اطلاعاتي که بايد براي واحدهاي ديگر آشکار باشند؛ و ديگري بخش بدنة برنامه، شامل پيادهسازي جزئياتي که لازم نيست براي واحدهاي ديگر قابل رؤيت باشد. بيشتر واحدهاي برنامه ميتوانند به طور جداگانه کامپايل شوند.
ويژگيهاي ادا
اِدا چيست؟ اِدا يک زبان برنامهنويسي استاندارد شده و همهمنظوره است که در گسترة وسيعي از کاربردها استفاده ميشود – از کنترل موشکها گرفته تا تحويل صورتپرداخت به سيستم کنترل ترافيک هوايي.
اِدا داراي ويژگيهايي است که معمولاً در زبانهاي برنامهنويسي ديگر يافت ميشود و افزون بر آن از شيوة جديد برنامهنويسي نيز براي کنترل سختافزار مورد نظر تا زمان دقيق سررسيد، و براي ايجاد و بهبود برنامههاي طولاني و پيچيده توسط گروههاي برنامهنويس در دورههاي بلندمدت پشتيباني ميکند.
اِدا شيوة صحيح برنامهنويسي را به وسيلة اصول مهندسي نرمافزار يکپارچه با امکان تايپ کد قوي، پيمانهاي بودن، قابليت حمل، قابليت استفادة مجدد و قابليت خواندن (يا خوانايي) تقويت ميکند. اين خصوصيات هزينهها را در توليد و توسعه، بررسي، اشکالزدايي و نگهداري نرمافزار، کاهش ميدهد.
قابليت حمل: اِدا براي يک سيستم ساخته شد در حالي که ميتواند به آساني کامپايل مجدد شده و به سيستم ديگري منتقل شود، چون تمام کامپايلرهاي اِدا معتبر هستند و اِدا يک زبان طراحي نرمافزاري است که از لحاظ بينالمللي استاندارد شده توسط MIL-STD-1815A، ANSI و ISO ميباشد.
پيمانهاي بودن: اِدا کد را به صورت واحدهاي جامعي که ميتوانند جداگانه طراحي، نوشته، کامپايل و تست شوند سازماندهي ميکند؛ اين خصوصيت به برنامه اجازه ميدهد که برنامهها به بخشهايي تقسيم شوند و اين بخشها جداگانه توسط تيمهايي که به طور همزمان کار ميکنند، نوشته شوند و سپس با يکديگر مجتمع شوند تا محصول نهايي شکل گيرد.
قابليت استفادة مجدد: مفهوم پکيج در اِدا اجازه ميدهد که کاربران اجزايي از نرمافزار را که ميتوانند بازيابي، استفاده و/يا تغيير داده شوند بدون اينکه بر بقية اجزاي برنامه اثر بگذارند، توسعه دهند. واحدهاي برنامههاي عام اِدا همچنين اجازه ميدهد که يک تابع منطقي روي بيشتر از يک نوع داده اجرا شود. پکيجها و برنامههاي عام همچنين تجرد دادهها و طراحي مبتني بر شيء را پشتيباني ميکنند.
قابليت اعتماد: امکان تايپ کد قوي در اِدا خطاها را هم در کامپايل اوليه و هم در کامپايل مجزا، بسيار سادهتر پيدا ميکند. مکانيسم دستکاري و پردازش استثناء در اِدا، برنامههاي کاربردي مقاوم در برابر خطا را با ارائة يک روش کامل و قابل حمل خطايابي و واکنش موقرانه به شرايط خطا، پشتيباني ميکند. خصوصيات سازماندهي عمليات در اِدا، استفادة همزمان از الگوهاي سطح بالا را به جاي تککاره بودن و در معرض خطا بودن، پشتيباني ميکند.
نگهداري: پيمانهاي بودن ساختار و قابليت خواندن بالاي برنامههاي اِدا، اصلاح و بهبود نرمافزار نوشته شده را، براي يک برنامهنويس ديگر، آسانتر ميکند. پيمانهاي بودن همچنين اصلاح پکيج را بدون تأثير بر ماژولهاي ديگر برنامه، امکانپذير ميسازد
زمينههاي برنامههاي کاربردي ادا
موفقيتهاي مستند سراسري اِدا، استفاده آن را در دامنة وسيعي از کاربردها برميشمرند. امروزه اِدا سيستمهاي زير را طراحي ميکند : • سيستمهاي صورت پرداخت، سيستم بانکداري تجاري، سيستم معاملة سهميهبندي کالا، سيستم تراکنش زبان و RDMS ها. • اکتشافات ژئوفيزيک و سيستم پردازش دادهها، و سيستم تجزية شيميايي. • مرکز تجاري مخابرات تلفن همراه و برنامههاي تجاري ارتباطات راه دور مانند PABXها. • FAA در جتهاي تجاري، سيستمهاي کنترل ترافيک هوايي، سيستمهاي رديابي و هدايت زمان پرواز، شبيهسازهاي آموزش پرواز و سيستمهاي کنترل/نمايشگر پرواز. • سفينههاي فضايي ناسا و محيطهاي ايستگاههاي فضايي. • سيستمهاي توليد خودکار، سيستمهاي خودکار جابهجايي مواد، سيستمهاي جوشکاري رباتيک و سيستمهاي مديريت موجودي. • سيستمهاي نظارت بيدرنگ و پيوسته بهداشتي و کنترل تعبيه شدة بيدرنگ دستگاههاي کپي و نسخه برداري. • سيستمهاي تعبيه شدة نظامي استراتژيک، و اکثر برنامههايي که در برنامههاي کاربردي و سيستمهاي بيدرنگ، استفاده ميشوند.
برنامه نمونه
کد:
with Ada.Text_IO;
procedure Hello is begin
Ada.Text_IO.Put_Line("Hello, world")!;
end Hello;