موضوع مقاله: ایفل (زبان برنامه‌نویسی) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # ایفل (زبان برنامه‌نویسی) | مقدمه: استاندارد، زبان برنامه‌نویسی شی گرا طراحی شده توسط برتراند میر (طرفداران شی گرا و نویسنده از ساخت نرم‌افزار شیء گرا) و نرم‌افزار ایفل طراحی شده‌است. | ## بخش 1: ایفل (زبان برنامه‌نویسی) | طراحی در این زبان است که به دقت با استفاده از روش برنامه‌نویسی ایفل متصل شده‌است. هر دو بر اساس مجموعه‌ای از اصول طراحی شده، از جمله توسط قرارداد،جداسازی به دستور پرس و جو، دسترسی یکنواخت به اصل، اصل انتخاب، اصل باز و بسته، و گزینه عملوند جدایی بسیاری از مفاهیم در ابتدا معرفی شده توسط ایفل بعد راه خود را به جاوا، C # و زبان‌های دیگر را، دربرداشت. ویژگی ویژگی‌های کلیدی از زبان ایفل عبارتند از: ساختار شی گرا، برنامه‌ای است که در آن یک کلاس به عنوان واحد اصلی تجزیه می‌باشد. توارث، از جمله ارث بری چندگانه، تغییر نام، تعریف، ""، عدم انطباق ارث، و مکانیزم‌های دیگر در نظر گرفته شده را به ارث امن را انتخاب کنید. برنامه‌نویسی عمومی محدود و غیراجباری یک سیستم نوع یکسان از دست زدن به هر دو ارزش و معانی مرجع که در آن همه نوع شامل انواع پایه مانند INTEGER، مبتنی بر کلاس. نوع دهی استاتیک از درجه اعتبار ساقط ایمنی، یا استاتیک حفاظت در برابر تماس در مراجع تهی، از طریق مکانیسم‌های پیوست شده نوع در Effel می‌باشد. عوامل، یا اشیاء است که محاسبات بسته‌بندی کردن، از نزدیک حساب دیفرانسیل و انتگرال لامبدا متصل است. هنگامی که روال: روال ارزیابی تنها یک بار، برای به اشتراک گذاری شی و مقدار دهی اولیه غیر متمرکز است. کلید واژه مبتنی بر نحو در زبان الگول / پاسکال سنت اما جدا، تا آنجا که سمی کالن اختیاری هستند، با نحو اپراتور در دسترس برای روال. کوردلی مورد ساده و همزمان برنامه‌نویسی شی گرا (حرکت شبیه چمچه زنی) را تسهیل ایجاد چندگانه، وسایل نقلیه اعدام همزمان فعال در یک سطح انتزاع بالاتر از جزئیات خاص از این وسایل نقلیه (به عنوان مثال چندین موضوعات بدون مدیریت mutexهای خاص). اهداف طرح ایفل بر اظهارات اخباری در مورد کد رویه و تلاش برای از بین بردن نیاز به دستورالعمل‌های حسابداری. هدف این است که نه تنها به کد قابل خواندن است، اما همچنین به برنامه نویسان اجازه می‌دهد تا بر روی جنبه‌های مهم یک برنامه بدون نیاز به تمرکز در جزئیات پیاده‌سازی پرداخت. سادگی ایفل در نظر گرفته شده‌است برای ترویج پاسخ ساده، توسعه، قابل استفاده مجدد و قابل اعتماد است به مشکلات محاسبات پرداخت. کامپایلرها برای برنامه‌های کامپیوتری نوشته شده در ایفل ارائه تکنیک‌های بهینه‌سازی گسترده مانند خودکار در پوشش، که به از بین بردن برنامه‌نویس بخشی از بار بهینه‌سازی در حالی که تولید کد که کارایی قابل مقایسه است. | ## بخش 2: ایفل (زبان برنامه‌نویسی) | کد زمینه ایفل نوشته شده توسط ایفل نرم‌افزار، یک شرکت تأسیس شده توسط برتراند مایر شد. ساخت نرم‌افزار شیء گرا شامل یک درمان دقیق از مفاهیم و تئوری تکنولوژی شی که منجر به طراحی ایفل است. ساخت نرم‌افزار شیء گرا شامل یک درمان دقیق از مفاهیم و تئوری تکنولوژی شی که منجر به طراحی Eiffel هدف طراحی پشت زبان ایفل، کتابخانه‌ها، و روش‌های برنامه‌نویسی است که برای فعال کردن برنامه نویسان برای ایجاد ماژول‌های نرم‌افزار قابل اعتماد، قابل استفاده مجدد. مهم‌ترین ایفل سهم به مهندسی نرم‌افزار طراحی شده توسط قرارداد (DbC)، که در آن اظهارات، پیش شرط، شرایط ارسال، و ویژگی‌های کلاس برای کمک به اطمینان از صحت برنامه بدون فدا کردن بهره‌وری است. طراحی ایفل در نظریه‌های برنامه‌نویسی شی گرا، با نفوذ تنها جزئی از پارادایم دیگر یا نگرانی برای حمایت از میراث کد. بر اساس طراحی ایفل، یک متن نرم‌افزار باید قادر به تکثیر مستندات طراحی خود را از متن خود را، با استفاده از یک پیاده‌سازی رسمی از «نوع مقاله داده» است.. بسیاری از زبان‌های برنامه‌نویسی دیگر ترکیب عناصر برای اولین بار در ایفل معرفی شده‌است. Sather، به عنوان مثال، در اصل بر روی ایفل بر اساس، اما از آن زمان تاکنون انشعاب، و در حال حاضر شامل چندین ویژگی برنامه‌نویسی تابعی است. طراحی ایفل در نظریه‌های برنامه‌نویسی شی گرا، با نفوذ تنها جزئی از پارادایم دیگر یا نگرانی برای حمایت از میراث کد. بر اساس طراحی ایفل، یک متن نرم‌افزار باید قادر به تکثیر مستندات طراحی خود را از متن خود را، با استفاده از یک پیاده‌سازی رسمی از «نوع مقاله داده» است. تحلیل، طراحی و برنامه‌نویسی زبان: این استاندارد توسط ECMA بین‌المللی، که برای اولین بار استاندارد در ۲۱ ژوئن سال ۲۰۰۵ به عنوان استاندارد تأیید شد و ECMA-367، ایفل توسعه داده شد. در نوامبر ۲۰۰۶، ISO برای اولین بار منتشر شده که نسخه این استاندارد را می‌توان یافت. ابزارهای شی گرا که اعلام نشده، آیا نسخه‌های آینده از کامپایلر ایفل خود را منطبق با آن استاندارد ساخته‌اند. مشخصات ایفل زبان این استاندارد به نقل از سلف به شرح زیر است: برتراند مایر: Eiffel: زبان، شاگردی هال، چاپ دوم، ۱۹۹۲ (چاپ اول: ۱۹۹۱) برتراند مایر: استاندارد ایفل (ویرایش‌های قبل از ورود)، در حال انجام، در حال حاضر ۱۹۹۷-در صفحه ETL3 برتراند مایر، و برتراند مایر: ساخت نرم‌افزار شیء گرا، شاگردی هال: چاپ اول، ۱۹۸۸، چاپ دوم، ۱۹۹۷. | ## بخش 3: ایفل (زبان برنامه‌نویسی) | کمیته ECMA هنوز رتبهدهی نشده‌است اعلام کرد هر گونه جدول زمانی و جهت در مورد چگونه به حل و فصل تناقضات است. به‌طور معمول یک برنامه ایفل با هر کلاس را در یک فایل جداگانه، و هر خوشه در یک دایرکتوری که شامل فایل‌های کلاس سازمان یافته‌است. به عنوان مثال، تحت کنوانسیون‌های سازمانی استاندارد و پوشش، XE ممکن است نام یک فایل است که تعریف یک کلاس fh نام X فراخوانی شود. کلاس شامل ویژگی‌ها، که شبیه به «روال»، «کاربران»، «ویژگی» یا «روش» در دیگر زبان‌های برنامه‌نویسی شی گرا است. کلاس نیز تعریف ویژگی‌های خود را دارد، و حاوی خواص دیگر، از قبیل «یادداشت» بخش اسناد و ابرداده است. ایفل انواع داده استاندارد، از جمله به عنوان عدد صحیح، رشته و آرایه، خود کلاس هستند. هر سیستم باید یک کلاس تعیین شده به عنوان «ریشه»، با یکی از روش‌های ایجاد آن به عنوان «روش ریشه» تعیین کند. به‌طور کلی، انجام این کار ایجاد اشیاء جدید، ویژگی‌های جدید را فرا می‌خواند، و به همین ترتیب. ایفل دارای پنج دستورالعمل اجرایی پایه: تخصیص، ایجاد شی، تماس معمول، شرایط، و تکرار می‌کند. ایفل ساختارهای کنترل دقیق در اجرای برنامه‌نویسی ساخت یافته: هر بلوک دقیقاً یک ورود و دقیقاً یک خروجی دارد. هدف گذاری بر خلاف بسیاری از زبان‌های شی گرا، اما مانند اسمالتاک، ایفل اجازه نمی‌دهد هیچ انتساب به زمینه از اشیاء، جز در ویژگی‌های یک شی است که کاربرد عملی اصل پنهان کردن اطلاعات یا انتزاع داده، که نیاز به رابط‌های رسمی برای داده‌ها جهش. نتیجه این است که "setters" می‌تواند است، و به‌طور معمول انجام دهید، پیاده‌سازی ویژگی‌های که برای ایفل فراهم نحو. علاوه بر این، منطق صادرات استفاده می‌شود می‌تواند به‌طور ایستا توسط کامپایلر، که اجازه می‌دهد تا تشخیص قبل از دامنه نقض تماس در زمان کامپایل به جای زمان اجرا بررسی می‌شود. در محدوده اعمال این راه به "مجموعه‌ای از ویژگی های" (به عنوان مثال همه چیز را زیر `ویژگی" کلمه کلیدی برای دو بعدی یا مجموعه‌ای از ویژگی‌های کلید واژه پایان کلاس) را می‌توان در کلاس نسل با استفاده از کلید واژه "صادرات" تغییر کرد. | ## جمع‌بندی | متناوباً، عدماعلامیه صادرات {X} به معنی {هر} و شبیه به " public" هدف گذاری از زبان‌های دیگر است.