در مقابل زبانهای برنامهنویسی Low Level (سطح پایین) همچون اسمبلی، زبانهای برنامهنویسی High Level (سطح بالا) از دستوارتی همچون کلمات انگلیسی -که برای دولوپرها قابلفهمتر هستند- استفاده میکنند.
زمانی که برنامهنویسی دستورات مدنظرش را در یکی از این زبانهای سطح بالا -همچون زبانهای پایتون، جاوا، جاوااسکرپیت، پیاچپی، روبی و غیره- مینویسد، یک نرمافزار واسطهای میآید که آن کدها را به زبان ماشین -یا همان صفر و یک- ترجمه کرده و در اختیار سیستم قرار میدهد چراکه سیستمها فقطوفقط معنی زبان ماشین یا همان صفر و یک را متوجه میشوند. نمونهٔ کد نوشته شده با یک زبان سطح بالا همچون Java بهصورت زیر است:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
3GL یا Third Generation Language (زبان برنامهنویسی نسل سوم) به همین زبانهای برنامهنویسی سطح بالا گفته میشود. هدف اصلی طراحی زبانهای High-level (سطح بالا) این بوده است تا فرایند برنامهنویسی راحتتر گردد؛ بنابراین بهجای اینکه به سیستم دستور دهیم تا مثلاً عدد 2 را در رجیستر ذخیره ساخته سپس عدد 3 را به آن اضافه کند و درنهایت خروجی آنرا بگیرد، زبانهای برنامهنویسی سطح بالا این امکان را در اختیار برنامهنویس قرار میدهند تا به سیستم هر دستوری که میخواهند داده و اصلاً کاری به این که سیستم قرار است به چه شکل آن دستور یا دستورات را عملی سازد نداشته باشند.