# Дээд түвшний програмчлалын хэл

**Дээд түвшний програмчлалын хэл** гэдэг нь компьютерийн дотоод хэлнээс их хэмжээний хийсвэрлэл агуулсан програмчлалын хэл.

Компьютерын техник хөгжихийн хэрээр түүнийг хэрэглэх хүрээ улам л өргөжиж, яваандаа олон ажил мэргэжлийн хүмүүс програм бичих хэрэгтэй болсон. Үүнтэй уялдан, компьютерын дотоод зохион байгуулалт, ажиллах зарчим зэргийг нэгт нэгэнгүй тооцох нүсэр хөдөлмөрөөс програм зохиогчийг чөлөөлөх зорилгоор дээд төвшний програмчлалын хэлнүүд зохиогджээ.

Эдгээр хэлнүүд нь хүний хэл ярианд (ихэвчлэн англи хэлд) илүү ойр, уншиж ойлгоход хялбар, математикийн стандарт тэмдэглэгээнүүдийг өргөн ашигладаг г.м. шалтгаанаар хүн хэрэглэхэд илүү тохиромжтой тул их биш хугацаанд нүсэр хөдөлмөр зарцуулахгүйгээр програм бичихэд тохиромжтой юм. Мөн сурахад хамаагүй хялбар ажээ.

Ийм хэлээр бичсэн програм жирийн л текст байдаг. Тиймээс компьютерийн төрлөөс үл хамааран нэгээс нөгөө рүү амархан зөөгддөг юм. Текстийг мөр мөрөөр (lines) бичигдсэн бүтэцтэй гэж ойлгох хэрэгтэй. Нэг ийм мөрийг илэрхийлэл (expression) эсвэл оператор (statement) хэмээн нэрийднэ. Ямар нэг утга илэрхийлсэн мөрийг илэрхийлэл гэнэ. Харин ямар нэг үйлдлийг илэрхийлсэн мөрийг оператор гэнэ. Операторыг биелэх (executable), үл биелэх (non-executable) гэж ангилдаг. Биелэх оператор нь ямар нэг машины командыг төлөөлнө.

Програмын ийм текстийг машины хэл рүү хувиргаагүй цагт компьютерт ойлгомжгүй хэвээрээ байдаг. Хувиргахын тулд компилятор (compiler) буюу хөрвүүлэгч хэмээх тусгай програмыг ашигладаг. Компилятор нь текстийг нэг удаа бүхэлд нь хөрвүүлнэ. Хэл болгон өөрийн гэсэн компилятортай байна.

Хэл ба хөрвүүлэгч нь салшгүй ойлголтууд юм. Өнөө үед олон төрлийн компьютер, мөн тэдгээрт суух олон янзын үйлдлийн системүүд (платформууд) байгаагаас шалтгаалан нэг програмчлалын хэлний хэд хэдэн ялгаатай хөрвүүлэгч байдаг. Ж.нь UNIX/Linux-т зориулсан хөрвүүлэгч, MS-DOS үйлдлийн системд зориулсан хөрвүүлэгч, Windows-т зориулсан хөрвүүлэгч г.м.

Хөрвүүлэгдээгүй байгаа текстийг эх код (source code), түүнийг хөрвүүлэхэд үүсэх машины кодыг объект код (object code) гэж нэрлэдэг. Програм бичихдээ бид эдгээр нэр томъёог байнга ашиглах болно. Дээрх зургийг харахад, эх код бол нэг платформаас нөгөө рүү хялбар зөөгдөх боломжтой байна. Гэтэл объект кодууд ингэх боломжгүй. Учир нь өөр өөр хөрвүүлэгчээр үүсгэгдсэн байна.

Дээд төвшний хэл болгон өөрийн гэсэн “зөв бичих” дүрэмтэй. Хэрэв хөрвүүлж буй эх кодонд дүрэм зөрчсөн алдаанууд байвал компилятор объект кодыг үүсгэлгүйгээр, тэр тэр мөрөнд тийм тийм алдаа байна, нийт тэдэн алдаа байна гэсэн мэдээлэл гаргадаг. Эдгээр алдааг бүгдийг нь арилгасан тохиолдолд л объект код үүснэ.

Нэгэнт дээд төвшний програмчлалын хэлнүүд нь хүний хэл ярианд ойр бүтэцтэй учраас эсрэгээр компьютерын хэлээс хол ялгаатай болж ирэх нь зүй. Ийм нөхцөлд, түүнийг машины хэлэнд хөрвүүлэх процесс удааширч ирдэг. Үүнээс болоод програмын биелэгдэх хурд доод төвшний хэл дээрх програмыг бодвол харьцангуй удаан, санах ойд эзлэх зай их болно. Гэхдээ үүнийг үл тооцон, өнөөдөр буй ихэнх хэрэглээний програмыг өндөр төвшний хэлнүүдээр зохиодог. Дээд төвшний хэлнүүдийг:

· Процедур хандалдат програмчлалын (ПХП) хэлнүүд

· Объект хандалдат програмчлалын (ОХП) хэлнүүд

г.м.-ээр ангилна. Энэ нь боломжит олон ангиллуудын түгээмэл нэг хэлбэр юм.