fbpx

Python, JavaScript эсвэл C++ зэрэг программчлалын хэл хэрхэн үүссэн талаар та бодож байсан уу?

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

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

Яагаад шинэ программчлалын хэл бүтээдэг вэ?

Өмнө нь олон хэл байсаар байтал яагаад шинээр зохиодог вэ?

Шалтгаанууд:
  • Тодорхой асуудлыг шийдэхийн тулд: Жишээ нь, SQL нь өгөгдлийн сангийн асуулт, удирдлагад зориулагдсан.

  • Программ бичихийг хялбар болгох: Python нь уншигдах байдал, ойлгомжтой байдалд анхаарсан.

  • Гүйцэтгэлийг сайжруулах: C болон C++ нь хурд, санах ой дээрх хяналтыг чухалчилдаг.

  • Шинэ санаа турших: Haskell, Lisp гэх мэт хэлүүд нь функциональ программчлал гэх мэт өөр парадигмуудыг судалдаг.

Шинэ хэл бүтээх нь компьютерт өөр шинэ хэлээр ярихыг заахтай адил юм.

Программчлалын хэл бүтээх үндсэн алхмууд юу байдаг вэ?
1. Зорилго ба онцлогийг тодорхойлох
  • Ямар зорилгоор, хэнд зориулж, ямар боломжуудтай байх вэ гэх мэт

Жишээ: Та CalcLanguage нэртэй хялбар математикийн хэл бүтээхээр шийдсэн гэж бодъё. Таны зорилго:

  • Үндсэн дөрвөн үйлдлийг дэмжих: +, -, *, /

  • Хувьсагч ба функц дэмжих

    2. Синтакс(syntax)  ба дүрмийг загварчлах

    Синтакс гэдэг нь тухайн хэлний өгүүлбэр хэрхэн бичигдэхийг заадаг дүрэм юм.

    Жишээ CalcLanguage синтакс:

     
    let x = 5
    let y = 10
    print(x + y)

    Энд:

    • let хувьсагч зарлана

    • print() үр дүн хэвлэнэ

    • Цэг таслал эсвэл хоосон зайг ашиглах эсэхийг тухайн хүн шийдэх боломжтой.

    Эдгээр дүрмийг BNF (Backus-Naur Form) гэх системээр бичиж болдог.

3. Лексер ба Парсер бүтээх (Lexer & Parser)
Лексер (Lexical Analyzer):

Кодыг хамгийн жижиг утгатай хэсгүүд буюу токен(token) болгон хуваана.

Оролт: let x = 5

Токенууд:

  • LET

  • IDENTIFIER(x)

  • EQUALS

  • NUMBER(5)

Парсер:

Токенуудыг дүрэмтэй нийцэж байгаа эсэхийг шалгана. Хэрвээ тохирвол parse tree буюу AST үүсгэнэ.

4. Абстракт синтакс мод (AST) үүсгэх
5.Компайл эсвэл Интерпрет хийх

AST-г ашиглан:

  • Шууд тайлбарлаж гүйцэтгэж болно (Interpreter)

  • Өөр хэл рүү хөрвүүлж болно (Compiler)

Интерпретатор:

Кодыг мөр мөрөөр уншиж гүйцэтгэдэг. (жишээ: Python)

Компайлер:

Кодыг бүхэлд нь хөрвүүлдэг. (жишээ: C, Rust)

6. Runtime орчин нэмэх

Зарим хэлүүд runtime буюу гүйцэтгэх үеийн орчныг шаарддаг.

Жишээ:

  • Java нь JVM ашигладаг.

  • Python өөрийн runtime, garbage collector-той.

7. Турших ба Дебаг хийх

Жижиг санаанаас дэлхийд хүрсэн  программчлалын хэлнүүд:

Python

1980-аад онд Guido van Rossum хялбар, уншигдахуйц хэл бүтээх зорилготойгоор эхэлсэн. Өнөөдөр олон сая хэрэглэгчтэй.

Go

Google дээр бүтээгдэж, системийн программчлалд зориулагдсан.

Rust

Mozilla-н бүтээл. Хурд, аюулгүй байдалд төвлөрсөн хэл.

 

PYTHON , GO , RUST - Программчлалын хэл

Эх сувалж:

https://en.wikipedia.org/wiki/Programming_language_implementationWikipedia дээрх албан ёсны тайлбар.

https://dev.to/vaibhavkhulbe/how-programming-languages-are-created-3f2bDev.to дээр бичигдсэн товч, ойлгомжтой нийтлэл.

Leave a Reply