زبان برنامه‌نویسی سطح بالا: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز ربات: تصحیح پیوند به پروژه‌های خواهر و تبدیل کردن پیوندها به خنثی در برابر پروتکل
خط ۱:
'''زبان برنامه‌نویسی سطح بالا''' یا '''زبان برنامه‌نویسی بلندتراز''' (High-level programming language) زبانی است که نسبت به [[زبان برنامه‌نویسی]] سطح پایین راحت‌تر قابل استفاده و [[قابل حمل]] بین سیستم‌های متفاوت و دارای انتزاع بیشتری هستند. چنین زبان‌هایی عموماً از عملیات CPU مانند مدل‌های دسترسی به حافظه و مدیریت [[حوزه]] دور هستند.
 
== مشخصات زبان‌های سطح بالا ==
عبارت زبان‌های سطح بالا بدین معنی نیست که این زبان نسبت به زبان‌های سطح پایین برتر هستند بلکه اگر شما میزان اطلاع از نحوه عملکرد رایانه‌ها را به عنوان ملاک در نظر بگیرید برعکس این مطلب درست است. عبارت زبان سطح بالا در حقیقت به معنای دوری این زبان‌ها از [[زبان ماشین]] است. به جای کار کردن با ثبات‌ها، آدرس‌های حافظه، و [[فراخوانی پشته]] زبان برنامه‌نویسی سطح بالا از متغیرها، آرایه‌ها، و عبارات پیچیده ریاضی و منطقی استفاده می‌نماید. این زبان‌ها مستقیماً مانند زبان [[اسمبلی]] به زبان ماشین ترجمه نمی‌گردند. ویژگی‌های دیگر همانند توابع کار با رشته‌ها، مفاهیم شی‌گرایی، و کار با ورودی و خروجی در فایل‌ها در آنها وجود دارد.
 
به بیان دیگر در حالی که زبان برنامه‌نویسی سطح بالا برنامه‌نویسی را آسان‌تر می‌نماید اما زبان برنامه‌نویسی سطح پایین برنامه‌های بهینه‌تری تولید می‌کند. در یک زبان سطح بالا این امکان را فراهم می‌سازد تا اجزای پیچیده را به اجزای ساده‌تر اما هنوز پیچیده تقسیم نموده تا برنامه‌نویس را از انجام کارهای پیچیده بازدارد. به این دلیل برنامه‌هایی که نیاز به کار با سرعت بالا و بهینه‌تر دارند باید با زبان سطح پایین نوشته شود حتی اگر زبان سطح بالا این کار را ساده‌تر سازد.
 
زبانهای سطح بالا پر کاربردترین ودر عین حال جذابترین و کاربردی‌ترین محیط‌های [[برنامه نویسی]] را شامل می‌شوند، چرا که محیط آن کاربر پسند(User Friendly) بوده و یادگیری اصطلاحات و مفاهیم آن در محیط و قالبی گرافیکی به کاربر ارائه می‌شود، برنامه نویسان به راحتی به یادگیری دستورات و قواعد آن به دلیل اینکه به زبان محاوره ایی و انگلیسی نزدیک است می‌پردازند، اینگونه زبانها از سرعت کمتری نسبت به زبانهای سطح میانی و پایین برخوردار می‌باشد، به دلیل اینکه دستورات بایستی به زبان قابل فهم برای ماشین تبدیل گردند که این خود زمان بر می‌باشد، ولی در عین حال فضای کمتری اشغال می‌کنند که نمونه ایی از این زبانها، [[زبانهای برنامه نویسی]] پاسکال، C، ویژوال، دلفی، فرترن و جاوا می‌باشند.
 
امروزه با توجه به ساختار پیچیده ریزپردازنده‌ها کامپایلرهای پیشرفته با استفاده از تکنیک‌های بهینه‌سازی برنامه‌های بهتری از برنامه‌های نوشته شده با دست فراهم می‌نمایند.
 
== معنای نسبی ==
توجه به این نکته ضروری است که عبارت سطح بالا و سطح پایین نسبی هستند. در ابتدا [[زبان اسمبلی]] سطح پایین و زبان کوبول و سی و غیره بدلیل استفاده از متغیر و توابع و عبارات سطح بالا محسوب می‌شدند. با این وجود برنامه‌نویسان ممکن است سی را یک زبان سطح پایین محسوب نمایند چرا که امکان دسترسی به حافظه به صورت مستقیم و امکان دسترسی به کد اسمبلی را نیز فراهم می‌سازد. برای اطلاع بیشتر در این مورد وبسایت [http://c2.com/cgi/wiki?HighLevelLanguage C۲'s page about high-level languages] را ببینید
 
== مدل‌های اجرا ==
خط ۱۹:
:زبان‌های ترجمه شده ابتدا به فایل قابل اجرا تبدیل می‌شوند سپس اجرا می‌گردند دو نوع از این زبان‌ها وجود دارد:
:: '''نمایش میانی'''
::: در این زبان‌ها برنامه به یک نمایش میانی تبدیل شده و در ادامه می‌توان آن را [[بهینه سازی]] نمود یا ذخیره گردد بدون نیاز به خواندن مجدد فایل مبدا. نمایش میانی معمولاً به صورت بایتکد است.
:: '''تولید کد ماشین'''
::: بعضی زبان‌ها مستقیماً به زبان ماشین تبدیل می‌گردند. ماشین‌های مجازی که نمایش میانی را دریافت کرده و آن را اجرا می‌نمایند مرز میان زبان‌های ترجمه شونده و نمایش میانی را که سابقاً مشخص بوده‌اند مبهم نموده‌است.
خط ۳۷:
[[رده:رده‌بندی زبان‌های برنامه‌نویسی]]
[[رده:طبقه‌بندی زبان‌های برنامه‌نویسی]]
[[رده:ویکی‌سازی رباتیک]]