برنامه نویسی سطح بالا
زبان برنامهنویسی زبان سطح بالا زبانی است که نسبت به زبان برنامهنویسی سطح پایین راحتتر قابل استفاده و قابل حمل بین سیستمهای متفاوت و دارای انتزاع بیشتری هستند. چنین زبانهایی عموما از عملیات CPU مانند مدلهای دسترسی به حافظه و مدیریت حوزه دور هستند.
مشخصات زبانهای سطح بالا
عبارت زبانهای سطح بالا بدین معنی نیست که این زبان نسبت به زبانهای سطح پایین برتر هستند بلکه اگر شما میزان اطلاع از نحوه عملکرد رایانهها را به عنوان ملاک در نظر بگیرید برعکس این مطلب درست است. عبارت زبان سطح بالا در حقیقت به معنای دوری این زبانها از زبان ماشین است. به جای کار کردن با ثباتها، آدرسهای حافظه، و فراخوانی پشته زبان برنامهنویسی سطح بالا از متغیرها، آرایهها، و عبارات پیچیده ریاضی و منطقی استفاده مینماید. این زبانها مستقیما مانند زبان اسمبلی به زبان ماشین ترجمه نمیگردند. ویژگیهای دیگر همانند توابع کار با رشتهها، مفاهیم شیگرایی، و کار با ورودی و خروجی در فایلها در آنها وجود دارد.
به بیان دیگر در حالی که زبان برنامهنویسی سطح بالا برنامهنویسی را آسانتر مینماید اما زبان برنامهنویسی سطح پایین برنامههای بهینهتری تولید میکند. در یک زبان سطح بالا این امکان را فراهم میسازد تا اجزای پیچیده را به اجزای سادهتر اما هنوز پیچیده تقسیم نموده تا برنامهنویس را از انجام کارهای پیچیده بازدارد. به این دلیل برنامههایی که نیاز به کار با سرعت بالا و بهینهتر دارند باید با زبان سطح پایین نوشته شود حتی اگر زبان سطح بالا این کار را سادهتر سازد.
امروزه با توجه به ساختار پیچیده ریزپردازندهها کامپایلرهای پیشرفته با استفاده از تکنیکهای بهینهسازی برنامههای بهتری از برنامههای نوشته شده با دست فراهم مینمایند.
معنای نسبی
توجه به این نکته ضروری است که عبارت سطح بالا و سطح پایین نسبی هستند. در ابتدا زبان اسمبلی سطح پایین و زبان کوبول و سی و غیره بدلیل استفاده از متغیر و توابع و عبارات سطح بالا محسوب میشدند. با این وجود برنامهنویسان ممکن است سی را یک زبان سطح پایین محسوب نمایند چرا که امکان دسترسی به حافظه به صورت مستقیم و امکان دسترسی به کد اسمبلی را نیز فراهم میسازد. برای اطلاع بیشتر در این مورد وبسایت C2's page about high-level languages را ببینید
[ویرایش] مدلهای اجرا
تفسیر
زبانهای تفسیر شده مستقیماً خوانده و اجرا میگردند بدون مرحله ترجمه.
کامپایل شونده
زبانهای ترجمه شده ابتدا به فیل قابل اجرا تبدیل میشوند سپس اجرا میگردند دو نوع از این زبانها وجود دارد:
نمایش میانی
در این زبانها برنامه به یک نمایش میانی تبدیل شده و در ادامه میتوان آن را بهینه سازی نمود یا ذخیره گردد بدون نیاز به خواندن مجدد فایل مبدا. نمایش میانی معمولا به صورت بایتکد است.
تولید کد ماشین
بعضی زبانها مستقیما به زبان ماشین تبدیل میگردند. ماشینهای مجازی که نمایش میانی را دریافت کرده و آن را اجرا مینمایند مرز میان زبانهای ترجمه شونده و نمایش میانی را که سابقا مشخص بودهاند مبهم نموده است.
دوشنبه 12 مرداد 1388 8:38 PM
تشکرات از این پست