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-н бүтээл. Хурд, аюулгүй байдалд төвлөрсөн хэл.

Эх сувалж:
https://en.wikipedia.org/wiki/Programming_language_implementation — Wikipedia дээрх албан ёсны тайлбар.
https://dev.to/vaibhavkhulbe/how-programming-languages-are-created-3f2b — Dev.to дээр бичигдсэн товч, ойлгомжтой нийтлэл.
Хайлт
Категори
Категори
- 1 минутын уншлага (355)
- 2 минутын уншлага (197)
- AI (5)
- Algorithm (2)
- CodeX (1)
- Competitive programming (13)
- computer science (2)
- Machine Learning (1)
- Богино прожектууд (15)
- боловсрол (117)
- Зөвлөгөө (58)
- Зөвлөгөө (71)
- Код (60)
- Крипто (11)
- Математик (1)
- Тархи ба Код (5)
- Хөндлөнгийн (23)
Шинэ бичвэрүүд

Deepfake аудио технологи 2025-04-30

Компьютер дах хиймэл � 2025-04-29

Жаалууд ч ойлгох “К 2025-04-28
Хуанли
M | T | W | T | F | S | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |