Ngon ngu lap trinh (tieng Anh: programming language) la ngon ngu hinh thuc bao gom mot tap hop cac lenh tao ra nhieu loai đau ra khac nhau. Ngon ngu lap trinh đuoc su dung trong lap trinh may tinh đe thuc hien cac thuat toan.
Hau het cac ngon ngu lap trinh bao gom cac lenh cho may tinh. Co nhung may lap trinh su dung mot tap hop cac lenh cu the, thay vi cac ngon ngu lap trinh chung chung. Ke tu đau nhung nam 1800, cac chuong trinh đa đuoc su dung đe đinh huong hoat đong cua may moc nhu khung det Jacquard, hop nhac va đan piano co. Cac chuong trinh cho nhung may nay (chang han nhu cuon giay cua đan piano) khong tao ra cac hanh vi khac nhau đe đap ung voi cac đau vao hoac đieu kien khac nhau.
Hang nghin ngon ngu lap trinh khac nhau đa đuoc tao ra va nhieu ngon ngu lap trinh khac đang đuoc tao ra hang nam. Nhieu ngon ngu lap trinh đuoc viet duoi dang menh lenh (tuc la mot chuoi cac thao tac phai thuc hien) trong khi cac ngon ngu khac su dung dang khai bao (tuc la ket qua mong muon đuoc chi đinh chu khong phai cach thuc lam ra no).
Mo ta cua mot ngon ngu lap trinh thuong đuoc chia thanh hai thanh phan cu phap (hinh thuc) va ngu nghia (y nghia). Mot so ngon ngu đuoc xac đinh boi tai lieu đac ta (vi du: ngon ngu lap trinh C đuoc chi đinh boi Tieu chuan ISO) trong khi cac ngon ngu khac (chang han nhu Perl) co cach trien khai chi phoi đuoc coi la tham chieu. Mot so ngon ngu co ca hai, voi ngon ngu co ban đuoc xac đinh boi mot tieu chuan va cac phan mo rong đuoc lay tu viec trien khai chi phoi la pho bien.
Ly thuyet ngon ngu lap trinh la mot linh vuc con cua khoa hoc may tinh nghien cuu ve thiet ke, su thuc hien, phan tich, đac điem va phan loai cua cac ngon ngu lap trinh.


Đinh nghia Ngon ngu lap trinh la mot ky hieu đe viet chuong trinh, la cac đac ta cua mot phep tinh hoac thuat toan. Mot so tac gia han che thuat ngu "ngon ngu lap trinh" đoi voi nhung ngon ngu co the the hien tat ca cac thuat toan co the. Cac đac điem thuong đuoc coi la quan trong đoi voi nhung gi cau thanh mot ngon ngu lap trinh bao gom:

Chuc nang va muc tieu
Ngon ngu lap trinh may tinh la ngon ngu đuoc su dung đe viet cac chuong trinh may tinh, lien quan đen viec mot may tinh thuc hien mot so loai tinh toan hoac thuat toan va co the đieu khien cac thiet bi ben ngoai nhu may in, o đia, robot,... Vi du, cac chuong trinh PostScript thuong đuoc tao boi mot chuong trinh khac đe đieu khien may in hoac man hinh may tinh. Tong quat hon, mot ngon ngu lap trinh co the mo ta tinh toan tren mot so may, co the la truu tuong. Nguoi ta thuong chap nhan rang mot đac ta hoan chinh cho mot ngon ngu lap trinh bao gom mot mo ta, co the đuoc ly tuong hoa, ve mot may hoac bo xu ly cho ngon ngu đo. Trong hau het cac ngu canh thuc te, mot ngon ngu lap trinh lien quan đen may tinh; do đo, cac ngon ngu lap trinh thuong đuoc đinh nghia va nghien cuu theo cach nay. Ngon ngu lap trinh khac voi ngon ngu tu nhien o cho ngon ngu tu nhien chi đuoc su dung đe tuong tac giua con nguoi voi nhau, trong khi ngon ngu lap trinh cung cho phep con nguoi truyen đat cac huong dan cho may moc.
Tom tat
Ngon ngu lap trinh thuong chua cac truu tuong đe xac đinh va thao tac voi cau truc du lieu hoac kiem soat luong thuc thi. Su can thiet thuc te ma mot ngon ngu lap trinh ho tro đay đu truu tuong đuoc the hien bang nguyen tac truu tuong. Nguyen tac nay đoi khi đuoc xay dung nhu mot khuyen nghi cho lap trinh vien đe su dung hop ly nhung đieu truu tuong đo.
Suc manh bieu đat
Ly thuyet tinh toan phan loai ngon ngu theo cac tinh toan ma chung co kha nang dien đat. Tat ca cac ngon ngu hoan chinh cua Turing co the trien khai cung mot bo thuat toan. ANSI/ISO SQL-92 va Charity la nhung vi du ve ngon ngu chua hoan chinh Turing, nhung thuong đuoc goi la ngon ngu lap trinh.
Cac ngon ngu đanh dau nhu XML, HTML hoac troff, xac đinh du lieu co cau truc, thuong khong đuoc coi la ngon ngu lap trinh. Tuy nhien, ngon ngu lap trinh co the chia se cu phap voi cac ngon ngu đanh dau neu ngu nghia tinh toan đuoc xac đinh. Vi du, XSLT la mot ngon ngu hoan chinh Turing hoan toan su dung cu phap XML. Hon nua, LaTeX, phan lon đuoc su dung đe cau truc tai lieu, cung chua mot tap con hoan chinh Turing.
Thuat ngu ngon ngu may tinh đoi khi đuoc su dung thay the cho ngon ngu lap trinh. Tuy nhien, cach su dung cua ca hai thuat ngu khac nhau giua cac tac gia, bao gom ca pham vi chinh xac cua moi thuat ngu. Mot cach su dung mo ta cac ngon ngu lap trinh nhu mot tap hop con cua cac ngon ngu may tinh. Tuong tu nhu vay, cac ngon ngu đuoc su dung trong may tinh co muc tieu khac voi muc đich the hien cac chuong trinh may tinh la cac ngon ngu may tinh đuoc chi đinh chung. Vi du, cac ngon ngu đanh dau đoi khi đuoc goi la ngon ngu may tinh đe nhan manh rang chung khong đuoc su dung đe lap trinh.
Mot cach su dung khac coi ngon ngu lap trinh la cau truc ly thuyet đe lap trinh may truu tuong va ngon ngu may tinh la tap hop con cua chung chay tren may tinh vat ly co tai nguyen phan cung huu han. John C. Reynolds nhan manh rang cac ngon ngu đac ta hinh thuc cung giong nhu cac ngon ngu lap trinh giong nhu cac ngon ngu dung đe thuc thi. Ong cung lap luan rang cac đinh dang đau vao van ban va tham chi đo hoa anh huong đen hoat đong cua may tinh la ngon ngu lap trinh, mac du thuc te la chung thuong khong hoan chinh va nhan xet rang su thieu hieu biet ve cac khai niem ngon ngu lap trinh la ly do dan đen nhieu sai sot trong cac đinh dang đau vao.


Lich su = Phat trien ban đau =
Cac may tinh rat so khai, chang han nhu Colossus, đuoc lap trinh ma khong can su tro giup cua chuong trinh đuoc luu tru, bang cach sua đoi mach đien cua chung hoac thiet lap cac kho cac ro le đieu khien vat ly.
Sau đo mot chut, cac chuong trinh co the đuoc viet bang ngon ngu may, trong đo lap trinh vien viet tung lenh duoi dang so ma phan cung co the thuc thi truc tiep. Vi du: lenh them gia tri vao hai vi tri bo nho co the bao gom 3 so: mot "ma opcode" chon thao tac "cong" va hai vi tri bo nho. Cac chuong trinh, o dang thap phan hoac nhi phan, đuoc đoc tu the đuc lo, bang giay, bang tu hoac đuoc chuyen vao tren cac cong tac tren bang đieu khien phia truoc cua may tinh. Ngon ngu may sau nay đuoc goi la ngon ngu lap trinh the he thu nhat (1GL).
Buoc tiep theo la su phat trien cua cai goi la ngon ngu lap trinh the he thu hai (2GL) hoac hop ngu, nhung ngon ngu nay van đuoc gan chat voi kien truc tap lenh cua may tinh cu the. Nhung đieu nay phuc vu cho viec lam cho chuong trinh de đoc hon nhieu va giup nguoi lap trinh giam bot cac tinh toan đia chi te nhat va de xay ra loi.
Cac ngon ngu lap trinh cap cao đau tien, hoac ngon ngu lap trinh the he thu ba (3GL), đuoc viet vao nhung nam 1950. Mot ngon ngu lap trinh cap cao ban đau đuoc thiet ke cho may tinh la Plankalkul, đuoc phat trien cho Z3 cua Đuc boi Konrad Zuse tu nam 1943 đen nam 1945. Tuy nhien, no đa khong đuoc thuc hien cho đen nam 1998 va 2000.
Ma ngan cua John Mauchly, đuoc đe xuat vao nam 1949, la mot trong nhung ngon ngu cap cao đau tien tung đuoc phat trien cho may tinh đien tu. Khong giong nhu ma may, cac cau lenh ma ngan bieu dien cac bieu thuc toan hoc o dang de hieu. Tuy nhien, chuong trinh phai đuoc dich sang ma may moi khi no chay, lam cho qua trinh chay cham hon nhieu so voi chay ma may tuong đuong.
Tai Đai hoc Manchester, Alick Glennie đa phat trien Autocode vao đau nhung nam 1950. La mot ngon ngu lap trinh, no su dung mot trinh bien dich đe tu đong chuyen đoi ngon ngu thanh ma may. Ma va trinh bien dich đau tien đuoc phat trien vao nam 1952 cho may tinh Mark 1 tai Đai hoc Manchester va đuoc coi la ngon ngu lap trinh cap cao đuoc bien dich đau tien.
Ma tu đong thu hai đuoc RA Brooker phat trien cho Mark 1 vao nam 1954 va đuoc goi la "Ma tu đong Mark 1". Brooker cung đa phat trien mot ma tu đong cho Ferranti Mercury vao nhung nam 1950 cung voi Đai hoc Manchester. Phien ban cho EDSAC 2 đuoc phat minh boi DF Hartley cua Phong thi nghiem Toan hoc Đai hoc Cambridge vao nam 1961. Đuoc goi la Ma tu đong EDSAC 2, no la su phat trien truc tiep tu Ma tu đong cua Mercury đuoc đieu chinh cho phu hop voi hoan canh đia phuong va đuoc chu y vi kha nang toi uu hoa ma đoi tuong va chan đoan ngon ngu nguon đa đuoc cai tien vao thoi điem đo. La mot chuoi phat trien hien đai nhung rieng biet, Atlas Autocode đuoc phat trien cho may Atlas 1 cua Đai hoc Manchester.
Nam 1954, FORTRAN đuoc John Backus phat minh ra tai IBM. No la ngon ngu lap trinh muc đich chung cap cao đau tien đuoc su dung rong rai đe co mot trien khai chuc nang, thay vi chi la mot thiet ke tren giay. No van la mot ngon ngu pho bien cho tinh toan hieu suat cao va đuoc su dung cho cac chuong trinh đanh gia va xep hang cac sieu may tinh nhanh nhat the gioi.
Mot ngon ngu lap trinh ban đau khac đuoc phat minh boi Grace Hopper o My, đuoc goi la FLOW-MATIC. No đuoc phat trien cho UNIVAC I tai Remington Rand trong thoi gian tu nam 1955 đen nam 1959. Hopper nhan thay rang khach hang xu ly du lieu kinh doanh khong thoai mai voi ky hieu toan hoc, va vao đau nam 1955, ba va nhom cua minh đa viet mot đac ta cho mot ngon ngu lap trinh tieng Anh va thuc hien mot nguyen mau. Trinh bien dich FLOW-MATIC đuoc cong bo rong rai vao đau nam 1958 va ve co ban hoan thanh vao nam 1959. FLOW-MATIC co anh huong lon trong viec thiet ke COBOL, vi chi co no va hau due truc tiep cua no la AIMACO đuoc su dung thuc te vao thoi điem đo.


Đac điem chung cua ngon ngu lap trinh Moi ngon ngu lap trinh co the đuoc xem nhu la mot tap hop cua cac chi tiet ky thuat chu trong đen cu phap, tu vung, va y nghia cua ngon ngu.
Nhung chi tiet ky thuat nay thuong bao gom:

Du lieu va cau truc du lieu
Cau lenh va dong đieu khien
Cac ten va cac tham so
Cac co che tham khao va su tai su dung
Đoi voi cac ngon ngu pho bien hoac co lich su lau dai, nguoi ta thuong to chuc cac hoi thao chuan hoa nham tao ra va cong bo cac tieu chuan chinh thuc cho ngon ngu đo, cung nhu thao luan ve viec mo rong, bo sung cho cac tieu chuan truoc đo.
Vi du: Voi ngon ngu C++, hoi đong tieu chuan ANSI C++ va ISO C++ đa to chuc đen 13 cuoc hoi thao đe đieu chinh va nang cap ngon ngu nay. (Xem them Comeau.Computing. Đoi voi cac ngon ngu lap trinh web nhu JavaScript, ta co chuan ECMA, W3C.


= Cac kieu du lieu =
Mot he thong đac thu ma theo đo cac du lieu đuoc to chuc sap xep trong mot chuong trinh goi la he thong kieu cua ngon ngu lap trinh. Viec thiet ke va nghien cuu cac he thong kieu đuoc biet nhu la ly thuyet kieu.
Nhieu ngon ngu đinh nghia san cac kieu du lieu thong dung nhu:

integer: rat thong dung, đuoc dung đe bieu dien cac so nguyen.
char: bieu dien cac ky tu đon le.
string: bieu dien chuoi cac ky tu, hay con goi la chuoi, đe tao thanh cau hay cum tu.
Vi du: trong C/C++, kieu so nguyen thong dung co ten la int va chiem 4 byte trong hau het trinh dich 32-bit; kieu chuoi la mot day cac char, voi ky tu NULL (hay '\0') o vi tri chuoi ket thuc – day co the dai hon chuoi no luu tru.

Vi du: trong C, ta khong the dung phep tinh + tren kieu du lieu string (tuc la char * hay char []). 
Hau het cac ngon ngu co kieu tinh thong dung nhu C, C++, Java, D, Delphi, va C# đeu đoi hoi nguoi lap trinh ke khai ro rang kieu cua du lieu. Nhung nguoi ung ho viec nay cho rang no se giup ngon ngu ro rang hon.
Cac ngon ngu co kieu tinh lai đuoc chia ra thanh hai loai:

Ngon ngu kieu khai bao, tuc la su thong bao cua bien va ham đeu đuoc khai bao rieng ve kieu cua no.Vi du đien hinh cua loai nay la Pascal, Java, C, hay C++.
Con lai la ngon ngu loai suy đoan kieu. Trong đo cac bien va ham co the khong can đuoc khai bao tu truoc.Linux BASH va PHP la hai vi du trong nhung kieu nay.Suy đoan kieu la mot co che ma o đo cac đac ta ve kieu thuong co the bi loai bo hoan toan neu co the đuoc, nham giup cho trinh dich de dang tu đoan cac kieu cua cac gia tri tu ngu canh ma cac gia tri đo đuoc su dung. Vi du mot bien đuoc gan gia tri 1 thi trinh dich loai suy đoan kieu khong can khai bao rieng rang đo la mot kieu integer. Cac ngon ngu suy đoan kieu linh hoat hon trong su dung, đac biet khi chung lap đat su đa dang hoa cac tham so. Vi du cua ngon ngu loai nay la Haskell, MUMPS va ML.

Luu y:

Cac khai niem ve kieu manh hay yeu co tinh tuong đoi. Java la ngon ngu co kieu manh đoi voi C nhung yeu đoi voi ML. Tuy theo cach nhin ma cac khai niem đo đuoc dung, no tuong tu nhu viec xem ngon ngu ASM la o cap thap hon ngon ngu C; trong khi Java lai la ngon ngu o muc cao hon C.
Hai khai niem tinh va manh cung khong đoi lap nhau. Java la ngon ngu co kieu manh va tinh. C la ngon ngu co kieu yeu va tinh. Trong khi đo, Python la ngon ngu co kieu manh va đong. Tcl lai la ngon ngu co kieu yeu va đong. Cung nen biet truoc rang co nhieu nguoi đa dung sai cac khai niem tren va cho rang kieu manh la kieu tinh cong voi manh. Lam lan hon, ho con cho rang ngon ngu C co kieu manh mac du rang C khong he bat nhieu loai loi ve viec dung sai kieu.


= Cau truc cua du lieu =
Hau het cac ngon ngu đeu cung cap cac cach thuc đe lap rap cac cau truc du lieu phuc tap tu cac kieu san co va đe lien ket cac ten voi cac kieu moi ket hop (dung cac kieu mang, danh sach, hang đoi, ngan xep hay tap tin).
Cac ngon ngu huong đoi tuong cho phep lap trinh vien đinh nghia cac kieu du lieu moi goi la đoi tuong. trong noi bo cac đoi tuong đo co rieng cac ham va cac bien (va thuong đuoc goi theo thu tu la cac phuong thuc va cac thuoc tinh). Mot chuong trinh co đinh nghia cac đoi tuong se cho phep cac đoi tuong đo thuc thi nhu la cac chuong trinh con đoc lap nhung lai tuong tac nhau. Cac tuong tac nay co the đuoc thiet ke trong luc viet ma đe mo hinh hoa va mo phong theo đoi song that cua cac đoi tuong. Noi mot cach đon gian, cac ngon ngu huong đoi tuong đa đuoc cho them suc song đe co rieng nhung tinh nang hoat đong va tuong tac voi the gioi ben ngoai. Ngoai ra, cac đoi tuong con co them cac đac tinh nhu la thua ke va đa hinh. Đieu nay la mot uu the trong viec dung ngon ngu loai nay đe mo ta cac đoi tuong cua the gioi thuc.


= Cac menh lenh va dong đieu khien =
Khi du lieu đa đuoc đinh ro, may tinh phai đuoc chi thi lam the nao đe tien hanh cac phep toan tren du lieu đo. Nhung menh đe co ban co the đuoc cau truc thong qua viec su dung cac tu khoa (đa đuoc đinh nghia boi ngon ngu lap trinh) hoac la co the tao thanh tu viec dung va ket hop cac cau truc ngu phap hay cu phap đa đuoc đinh nghia. Nhung menh đe co ban nay goi la cac cau lenh.
Tuy theo ngon ngu, cac cau lenh co the đuoc ket hop voi nhau theo trat tu nao đo. Đieu nay cho phep thiet lap đuoc cac chuong trinh thuc hien đuoc nhieu chuc nang. Xa hon, ngoai cac cau lenh đe thay đoi va đieu chinh du lieu, con co nhung kieu cau lenh dung đe đieu khien dong xu ly cua may tinh nhu la phan nhanh, đinh nghia boi nhieu truong hop, vong lap, hay ket hop cac chuc nang. Đay la cac thanh to khong the thieu cua mot ngon ngu lap trinh.


= Cac ten va cac tham so =
Muon cho chuong trinh thi hanh đuoc thi phai co phuong phap xac đinh đuoc cac vung trong cua bo nho đe lam kho chua du lieu. Phuong phap đuoc biet nhieu nhat la thong qua ten cua cac bien. Tuy theo ngon ngu, cac vung trong gian tiep co the bao gom cac tham chieu, ma that ra, chung la cac con tro (pointer) chi đen nhung vung chua khac cua bo nho, đuoc cai đat trong cac bien hay nhom cac bien. Phuong phap nay goi la đat ten kho nho.
Tuong tu voi phuong phap đat ten kho nho, la phuong phap đat ten nhung nhom cua cac chi thi. Trong hau het cac ngon ngu lap trinh, đeu co cho phep goi đen cac macro hay cac chuong trinh con nhu la cac cau lenh đe thi hanh noi dung mo ta trong cac macro hay chuong trinh con nay thong qua ten. Viec dung ten nhu the nay cho phep cac chuong trinh đat toi mot su linh hoat cao va co gia tri lon trong viec tai su dung ma nguon (vi nguoi viet ma khong can phai lap lai nhung đoan ma giong nhau ma chi viec đinh nghia cac macro hay cac chuong trinh con.)
Cac tham chieu gian tiep đen cac chuong trinh kha dung hay cac bo phan du lieu đa đuoc xac đinh tu truoc cho phep nhieu ngon ngu đinh huong ung dung tich hop đuoc cac thao tac khac nhau.


= Co che tham khao va viec tai su dung ma nguon =
Moi ngon ngu lap trinh đeu co mot bo cac cu phap quy đinh viec lap trinh sao cho ma nguon đuoc thuc thi. Theo đo, moi nha san xuat ngon ngu lap trinh se cung cap mot bo cac cau truc ngu phap cho cac cau lenh, mot khoi luong lon cac tu vung quy uoc đuoc đinh nghia tu truoc, va mot so luong cac thu tuc hay ham co ban. Ngoai ra, đe giup lap trinh vien de dang su dung, nha san xuat con phai cung cap cac tai lieu tra cuu ve đac tinh cua ngon ngu ma ho phat hanh. Nhung tai lieu tra cuu nay bao gom hau het cac đac ta, tinh chat, cac ten (hay tu khoa) mac đinh, phuong phap su dung, va nhieu khi la cac ma nguon đe lam vi du. Do su khong thong nhat trong cac y kien ve viec thiet ke va su dung tung ngon ngu nen co the xay ra truong hop ma nguon cua cung mot ngon ngu chay đuoc cho phan mem dich nay nhung khong tuong thich đuoc voi phan mem dich khac. Vi du la cac ma nguon C viet cho Microsoft C (phien ban 6.0) co the khong chay đuoc khi dung trinh dich Borland (phien ban 4.5) neu khong biet cach thuc đieu chinh. Đay cung la nguyen do cua cac ky hoi nghi chuan hoa ngon ngu lap trinh. Ngoai cong viec chinh la phat trien ngon ngu đac thu, hoi nghi con tim cach thong nhat hoa ngon ngu bang cach đua ra cac tieu chuan, cac khuyen cao thay đoi ve ngon ngu trong tuong lai hay cac đoi moi ve cu phap cua ngon ngu.
Nhung đoi moi ve tieu chuan cua mot ngon ngu mat khac lai co the gay ra cac hieu ung phu. Đo la viec ma nguon cua mot ngon ngu dung trong phien ban cu khong tuong thich đuoc voi phan mem dich dung tieu chuan moi hon. Đay cung la mot viec can luu tam cho nhung nguoi lap trinh. Truong hop đien hinh nhat la viec thay đoi phien ban ve ngon ngu Visual Basic cua Microsoft. Cac ma nguon cua phien ban 6.0 co the se khong dich đuoc neu dung phien ban moi hon. Ly do la nha thiet ke đa thay đoi kien truc cua VisualBasic đe nang cao va cung cap them cac chuc nang moi ve lap trinh theo đinh huong đoi tuong cho ngon ngu nay.
Thay vao viec tai su dung ma nguon thi cung co cac huong phat trien khac nham tiet kiem cong suc cho nguoi lap trinh ma hai huong chinh la:

Viec ra đoi cua cac bytecode ma đien hinh la ngon ngu Java. Voi Java thi ma nguon se đuoc dich thanh mot ngon ngu trung gian khac goi la bytecode. Ma cua bytecode mot lan nua se đuoc phan mem thong dich thuc thi, phan mem nay goi la may ao. Cac may ao đuoc cai đat san tren cac may tinh va đuoc cung cap mien phi. Tuy theo he đieu hanh ma co the cai đat may ao thich hop. Do đo, cung mot nguon Java bytecode co the chay trong bat cu he đieu hanh nao mien la he đieu hanh đo co cai đat san may ao Java. Viec nay tiet kiem rat nhieu cong suc cho lap trinh vien vi ho khong phai viet ma Java khac nhau cho moi he đieu hanh.
Tan dung tinh chat thua ke cua cac lop (class) trong cac ngon ngu huong đoi tuong. Theo kieu thiet ke nay, mot đoi tuong co the thu huong cac đac tinh ma cac the he truoc cua chung đa co. Do đo, khi phat trien phan mem moi theo cau truc cua cac lop, nguoi ta chi can tao them cac lop con (subclass) co nhieu tinh nang moi hon. Đieu nay giup giam bot cong suc vi khong phai phat trien lai tu đau. (Luu y: Java cung la mot loai ngon ngu huong đoi tuong nen no co luon uu the nay.)


= Triet ly cua cac thiet ke =
Tuy theo muc đich cua ngon ngu ma chung đuoc thiet ke đe tao đieu kien giai quyet nhung van đe ma ngon ngu đo huong toi. Nhung chuc nang nay lam cho mot ngon ngu co the tien loi đe dung phat trien loai phan mem nay nhung co the kho đe phat trien loai phan mem khac.
Hau het cac ngon ngu đoi hoi su chinh xac cao ve mat cu phap. Cac ngon ngu khong cho phep co loi. Mac du vay, mot so it ngon ngu cung cho phep tu đieu chinh trong mot muc đo kha cao, khi đo chuong trinh tu viet lai đe xu ly nhung truong hop moi. Cac ngon ngu nhu Prolog, PostScript va cac thanh vien trong ho ngon ngu Lisp co kha nang nay. Trong ngon ngu MUMPS, ky thuat nay goi la tai bien dich đong. Cac phan mem mo phong va nhieu may ao (virtual machine) khai thac ky thuat nay đe co hieu suat cao.
Mot yeu to lien quan đen triet ly thiet ke la co mot so ngon ngu vi muon tao su de dang cho nguoi moi dung, đa khong phan biet viec viet chu hoa hay khong. Pascal va Basic la hai ngon ngu khong phan biet viec mot ky tu co viet hoa hay khong, trai lai trong C/C++, Java, PHP, Perl, BASH đeu bat buoc phai bao đam viec viet đung y het nhu luc khai bao cho cac ten.


Cac thanh to can ban cua mot ngon ngu = Cac dang cau lenh =
Cau lenh la mot thanh to quan trong nhat cua moi ngon ngu lap trinh. Tuy theo ngon ngu cac cau lenh đeu phai tuan theo cac trat tu sap xep cua cac tu khoa, tham so, bien va cac đinh danh khac nhu cac macro, ham, thu tuc cung nhu cac quy uoc khac. Tap hop trat tu va quy tac đo tao thanh cu phap cua ngon ngu lap trinh. Cac dang cau lenh bao gom

Vi du: Trong C hay C++, cau lenh #define PI 3.1415927 se cho phep đinh nghia ten (macro) PI voi gia tri khong đoi la 3,1415927.

Vi du:
Trong Java hay C/C++, cau lenh int line_number = 0;  thuoc loai khai bao
Trong Perl hay PHP, cau lenh $my_var;  thuoc loai khai bao

Vi du:
Trong ASM, cau lenh mov AX, 21h se gan gia tri 21h len thanh AX
Trong Java hay C/C++, cau lenh i = j; se gan gia tri đang co cua bien j cho bien i

Vi du:Trong van lenh BASH hai cau lenh xoa cac tep co đuoi txt rm -f *.txt va cau lenh mkdir newfolder tao mot thu muc trong co ten 'newfolder' co the đuoc ghep nhau thanh day cau co dang rm -f *.txt; mkdir newfolder. Thu tu thuc hien cac cau lenh thanh phan se đi tu trai sang phai.

Vi du: Trong Java hay C/C++, cau lenh
 if (x==1) { y = x; }
 else { y = x + 3; }
la loai cau lenh đieu kien

Vi du: Trong Java hay C/C++, cau lenh
for (int n=1; n!=5; ++n) { value *= n }
se lan luot tinh gia tri value = value * n lam 4 lan voi cac gia tri cua bien n lan luot la 1,2,3,4. Gia tri sau cung nhan ve cua value se la (value * 4!).

Vi du: Trong C/C++, cau lenh printf("Hello, world!\n");
goi ham cho san nham hien thi dong chu
"Hello, world!<dau xuong hang>"

Vi du: Trong C/C++ cac cau lenh
#ifndef MY_LIB
#include "my_code.h"
#endif
se kiem tra neu ten MY_LIB chua đuoc đinh nghia truoc đay trong chuong trinh thi se tiep tuc đoc tep my_code.h (đe nhan vao cac đinh nghia, hay cac khai bao co trong tep my_code.h roi tiep tuc dich ma.)

Thi du: Trong Java, C/C++, PHP cac cau chu giai co the bat đau boi dau "//"
//ham "SUM(n,r,m)" dung đe tinh tong so tien co đuoc khi gui ngan hang
// n=so thang, r = lai suat trong nam, m = von gui ban đau
se la hai cau lenh chu giai.
Luu y: đe hieu ro hon va su dung thuan thuc cac dang cau lenh thi nguoi lap trinh nen tham khao cac tai lieu giang giai rieng ve tung ngon ngu.


= Chuong trinh con va macro =

Trong mot so ngon ngu, nguoi ta lai phan biet thanh 2 kieu chuong trinh con:

Tuy nhien, trong nhieu ngon ngu khac nhu C chang han thi khong co su phan biet nay va chi co mot khai niem ham. Đe mo ta cac ham khong tra ve gia tri (tuong đuong voi khai niem thu tuc) thi nguoi ta co the gan cho kieu du lieu cua ham đo la void.
Luu y: trong cac ngon ngu huong đoi tuong, moi mot đoi tuong hay mot thuc the (instance), tuy theo quan điem, co the đuoc xem la mot chuong trinh con hay mot bien vi ban than noi tai cua thuc the đo co chua cac phuong thuc va ca cac du lieu co the tra loi cho cac lenh goi tu ben ngoai.

Cac điem khac nhau quan trong giua mot chuong trinh con va mot macro bao gom:

Ma cua chuong trinh con van đuoc dich va đe rieng ra. Cho toi khi mot chuong trinh con đuoc goi o thoi điem thi hanh, thi cac ma đa dich san cua chuong trinh con nay moi đuoc lap vao dong chay cua chuong trinh.Trong khi đo, sau khi dich, cac macro se khong con ton tai. Trong chuong trinh đa đuoc dich, tai cac vi tri co ten cua macro thi cac ten nay đuoc thay the bang khoi ma (đa dich) ma no đai dien.
Cach viet ma dung chuong trinh con sau khi dich xong se tao thanh cac tap tin ngan hon so voi cach viet dung macro.
Nguoc lai khi may tinh tai len thi mot phan mem co cach dung macro it ton tinh toan cua CPU hon la phan mem đo phat trien bang phuong phap goi cac chuong trinh con.


= Bien, hang, tham so, va đoi so =

Cac tham so giong bien o cho chung thuong co kieu xac đinh. Ben trong chuong trinh con, hay macro, cac tham so thuong đong vai tro cua hang nhung trong nhieu truong hop khac chung van co the hoat đong nhu cac bien va đieu nay cung phu thuoc vao cac đac tinh cua moi ngon ngu.
Neu nhin toan bo chuong trinh nhu mot ham lon thi tham so cua ham nay goi la tham so cua chuong trinh va cac tham so cua chuong trinh nay co the tuong tac voi cac chuong trinh khac va nguoc lai. Mot cach đon gian thi tham so la cac du lieu truyen đi giua cac chuong trinh hay cac ham, thu tuc hay macro.


= Tu vung quy uoc =
Tu vung quy uoc la nhung day cac ky tu hay ky hieu (thuong tao thanh cac chu co y nghia) noi nhau va đuoc mot ngon ngu cho su dung nhu la ten, gia tri hay mot luat nao đo. Nguoi viet ma nen tranh su dung cac tu quy uoc nay vao viec đat ten (cho cac bien, ham, hay cac đoi tuong khac) đe tranh khong gay ra cac loi dang ambiguity (nghia la tu dung co nhieu nghia khien cho phan mem dich khong biet phai chon cach nao). Tuy nhien, tuy theo tung truong hop ma mot ten moi đat ra trung voi cac ten đa quy đinh co đuoc chap nhan hay khong va viec chap nhan nay se co hieu ung phu gi.
Thi du

Trong C thi viec viet #define MYVALUE 10; thi day ky tu "#define" se la mot tu vung quy uoc (thuoc ve cau lenh dang đinh nghia)
Trong C/C++ neu dung tu int đe khai bao nhu la ten cua mot bien chang han nhu unsigned int; thi lap tuc khai bao nay se bi trinh dich bat loi.


 Tu khoa  Tu khoa trong ngon ngu lap trinh la cac tu hay ky hieu ma đa đuoc ngon ngu đo gan cho mot y nghia xac đinh. Nguoi lap trinh se khong đuoc phep dung lai cac tu khoa nay duoi mot y nghia khac. Thuong cac tu khoa nay đuoc ngon ngu xac đinh dung trong cac kieu du lieu co ban hay trong cac dong đieu khien. Vi du mot so tu khoa trong C va C++: auto, float, return, char, if else, static, void...


 Cac ten chuan hay ten cho truoc  Ngoai cac tu khoa, mot ngon ngu lap trinh con co khoi luong kha lon cac ten đa đuoc đinh nghia hay đuoc gan cho cac y nghia chuyen biet goi la cac ten chuan. Cac ten nay co the đuoc dung lai cho mot y nghia khac tuy theo nguoi viet ma. Trong nhieu truong hop se phai co mot co che goi đe phan biet la nguoi lap trinh muon am chi cac ten đa bi tai dung nay duoi y nghia nguyen thuy hay duoi y nghia moi. Thuong cac ten đuoc phep đinh nghia lai nam trong hai loai chinh la:

Cac ham hay thu tuc chuan.
Cac bien toan cuc (global)
Vi du 

Trong C thi sin la ten cua mot ham tinh gia tri sin (trong thu vien math.h) nhung nguoi lap trinh hoan toan co the đinh nghia lai ham nay đe cho no co chuc nang khac.
Trong van lenh BASH thi bien toan cuc $PATH co the đuoc đinh nghia lai đe dung nhu la mot bien đia phuong.


 Cac ky hieu  Trong moi ngon ngu đeu cung cap mot he thong ky hieu hay ky tu co y nghia rieng. Tuy theo ngon ngu ma cac ky hieu nay đuoc phep đinh nghia lai hay khong. Nhung ky hieu đuoc dung trong hai truong hop thuong thay nhat la

Dung đe chi cac phep toan.
Dung trong cu phap. Truong hop nay thi cac ky hieu nay giu vai tro tuong tu nhu cac dau cham cau trong cac ngon ngu tu nhien.
Vi du:

Trong C/C++/Java/PHP thi cac dau ky hieu '+', '-', '*', '/', '=' đuoc dung trong cac phep toan theo thu tu la cong, tru, nhan, chia va phep toan gan gia tri.
Trong C thi cac dau '+', '-', '*', '/',... la khong the dung lai cho y nghia khac. Trong khi đo neu dung C++ thi nguoi lap trinh hoan toan co kha nang đinh nghia chung lai thanh nhung phep toan moi theo y rieng va ap dung cho cac đoi tuong ma nguoi lap trinh mong muon (chang han nhu dung phuong phap "qua tai toan tu").
Trong C, C++, PHP, Perl, Java va Pascal thi ket thuc cac cau lenh đon gian thuong bat buoc phai dung dau ';'. Va đieu nay thi khong nhat thiet neu dung van lenh BASH. Dau ';' nay giu vai tro tuong tu nhu dau '.' trong Viet ngu hay Anh ngu. (Co đieu la đai đa so cac ngon ngu lap trinh se tuyet đoi khong cho phep viec viet sai cu phap.)


= Cac luat cam va ngoai le =
Moi ngon ngu, do han che cua moi truong va ban than ngon ngu cung nhu do muc tieu su dung, co the co mot so luat cam ma nguoi lap trinh khong the vi pham. Nhung luat cam nay co the co nhung cach xu ly khac nhau nhu la:

Nhieu ngon ngu cho phep dung cac cau lenh đac biet đe lap trinh vien co toan quyen xu ly loi va thuong đuoc goi la ngoai le (hay exception). Nhung ngoai le nay neu khong xu ly đung muc se co the gay ra nhung sai sot trong thoi gian thi hanh hay ngay ca trong thoi gian dich. Di nhien, nguoi viet ma co the tuy theo tinh huong ma viet cac cau lenh re nhanh tranh khong đe cho ma vi pham cac loi. Hay la dung cac cau lenh xu ly cac ngoai le nay.
Mot so ngon ngu khong cung cap kha nang xu ly ngoai le thi nguoi viet ma buoc phai tu minh phan đoan het cac tinh huong co the vi pham loi va dung cau lenh đieu kien đe loai tru.
Cac loai loi ve ngon ngu khi lap trinh thuong xay ra la


 Loi cu phap  Vi pham khi đat hay goi ten bien va ham: Loi loai nay thuong rat de tim ra trong luc phat trien ma. Thuong nguoi ta co the đoc lai cac bang tham chieu ve ngon ngu đe tranh sai cu phap mau (prototype) cua ham hay tranh dung cac ky tu đac biet bi cam khong cho dung trong khi đat ten. Trong khong it truong hop nguoi lap trinh co the đa đinh nghia cung mot ten cho nhieu hon mot đoi tuong khac nhau va lai co gia tri toan cuc. Trong nhieu truong hop chung tao thanh loi y nghia.
Loi chinh ta: nguoi viet ma co the viet hay goi sai ten ham, ten bien. Trong nhieu ngon ngu co kieu tinh thi cac loi nay se rat de bi phat hien. Con đoi voi ngon ngu co kieu đong hay co kieu yeu thi no co the dan đen sai sot nghiem trong vi ban than phan mem dich khong he phat hien ra.
Vuot qua kha nang tinh toan: Ban than may tinh va he đieu hanh cung co rat nhieu gioi han ve phan cung, phan mem va cac đac điem chuyen biet. Khi nguoi lap trinh yeu cau may lam qua kha nang se gay ra cac loi ma đoi khi khong xac đinh đuoc nhu
Loi thoi gian (timing error) thuong thay trong cac he thong đa luong hay đa nhiem.
Loi chia cho 0: Ban than phan cung may tinh se o trang thai bat đinh khi thuc hien phep chia cho 0; trong nhieu truong hop, ma sau khi dich moi phat hien ra trong luc thi hanh va đuoc đat ten la loi division by 0.
Dung hay goi toi cac đia chi hay cac thiet bi ma ban than may hay he đieu hanh đang thuc thi lai khong co hay khong the đat toi. Đay la truong hop rat kho luong. Boi vi thuong nguoi lap trinh co the viet ma tren mot may nhung lai cho thi hanh trong cac may khac va cac may nay lai khong thoa man cac yeu cau. Đe giam tru cac loi loai nay thuong nguoi lap trinh nen xac đinh truoc cac đieu kien ma phan mem lam ra se ho tro.
Vi du: trong nhieu phan mem ngay nay o trong vo hop đeu đuoc ghi ro cac yeu cau ve van toc, bo nho toi thieu, va quan trong la he đieu hanh nao ma phan mem đo ho tro.
Gan sai du lieu: Tuc la dung mot du lieu co kieu khac voi kieu cua bien đe gan cho bien đo mot cach khong chu y. Đoi voi cac ngon ngu tinh hay co kieu manh thi loi nay de tim thay hon. Con nhung ngon ngu đong hay ngon ngu co kieu yeu thi loi tao ra se co the kho phat hien va thuong xay ra luc thi hanh.
Cac loi bien: Loi bien thuong xay ra khi nguoi viet ma khong chu y đen cac gia tri o bien cua cac bien, cac ham. Nhung loi đe thay co the la:
Gan gia tri cua mot so (hay mot chuoi) len mot bien ma no vuot ngoai su cho phep cua đinh nghia.Vi du: Gan mot gia tri lon hon 255 cho mot bien co kieu la short trong ngon ngu C
Tao nen cac loi khi bien chay trong vong lap đat gia tri o bien.Vi du: đoan ma C/C++ sau đay se gay ra loi bien—Chia cho 0
 for (m=10; m >= 0, m--) {
 x= 8+ 2/m; }


 Loi y nghia  Loi ve quan ly bo nho. Trong nhieu loai ngon ngu nguoi lap trinh co the xin đang ky mot luong nao đo cua bo nho đe dung lam cho chua gia tri cho mot bien (mot ham hay mot đoi tuong). Thuong thi sau khi dung xong nguoi viet ma phai co phan lenh tra ve cac phan bo nho ma no đa đang ky dung. Neu khong, su tra ve nay chi xay ra o giai đoan ket thuc viec thi hanh. Trong nhieu truong hop, so luong bo nho xin đang ky qua nhieu va khong đuoc dung đung cho co the lam cho may kiet que ve mat tai nguyen bo nho va gay ra treo may. Đien hinh nhat la viec xin đang ky cac phan cua bo nho trong cac vong lap lon đe gan cho cac đoi tuong ben trong vong lap nhung khong tra ve sau khi su dung. Nguoi ta thuong goi loi kieu nay la loi ro ri bo nho (memory leaking).
Sai sot trong thuat toan: Truoc khi viet mot chuong trinh, đe giam thieu sai sot ve mat lap luan thi nguoi ta co nhieu bien phap đe lam giam loi trong đo co cac phuong phap ve luu đo, ve so đo khoi, hay viet ma gia. Nhung bien phap nay nham tao nen cac thuat toan đe giai quyet van đe. Tuy nhien, mot thuat toan khong chat che, xu ly khong rot rao moi truong hop co the xay ra, khong du đoan đuoc su thay đoi trong luc thi hanh thi co the tao nen cac loi va cac loi nay thuong kho thay boi vi no chi xay ra o nhung cho, nhung thoi điem ma nguoi lap trinh khong ngo truoc. Mot trong nhung phuong phap đon gian lam giam thieu loi thuat toan la phai chu y xu ly moi tinh huong khi dung cau lenh đieu kien (hay che nhanh) mac du co the co cac truong hop tuong nhu hien nhien.
Loi ve lap luan: Đay co the xem la truong hop đac biet cua sai sot trong thuat toan. Trong cac bieu thuc tinh gia tri, đoi khi khong quen dung đai so Bool (nhat la khi dung luat De Morgan đe phu đinh mot bieu thuc phuc tap) nen nguoi lap trinh co the tinh toan sai, hay đinh nghia sai cac phep toan. Do đo, gia tri tra ve cua cac bieu thuc logic hay bieu thuc nhi phan se bi sai trong mot vai truong hop hay toan bo bieu thuc. Trong nhung tinh huong nhu vay phan mem dich se khong the nao phat hien ra cho đen khi chuong trinh đuoc thi hanh va lot vao tinh huong tinh sai cua nguoi lap trinh.


Cac thanh to đac trung cua ngon ngu OOP OOP la chu viet tat cua Object Oriented Programming co nghia la Lap trinh huong đoi tuong đuoc phat minh nam 1965 boi Ole-Johan Dahl va Kristen Nygaard trong ngon ngu Simula. So voi phuong phap lap trinh co đien, thi triet ly chinh ben trong loai ngon ngu loai nay la đe tai dung cac khoi ma nguon va cung ung cho cac khoi nay mot kha nang moi: chung co the co cac ham (goi la cac phuong thuc) va cac du lieu (goi la thuoc tinh) noi tai. Khoi ma nhu vay đuoc goi la đoi tuong. Cac đoi tuong thi đoc lap voi moi truong va co kha nang tra loi voi yeu cau ben ngoai tuy theo thiet ke cua nguoi lap trinh. Voi cach xay dung nay, moi đoi tuong se tuong đuong voi mot chuong trinh rieng co nhieu đac tinh moi ma quan trong nhat la tinh đa hinh, tinh đong, tinh truu tuong va tinh thua ke.


= Thua ke =
Đay la đac tinh cho phep tao cac đoi tuong moi tu đoi tuong ban đau va lai co the co them nhung đac tinh rieng ma đoi tuong ban đau khong co. Co che nay cho phep nguoi lap trinh co the tai su dung ma nguon cu va phat trien ma nguon moi bang cach tao ra cac đoi tuong moi thua ke đoi tuong ban đau.


= Đa hinh =
Tinh đa hinh đuoc the hien trong lap trinh huong đoi tuong rat đac biet. Nguoi lap trinh co the đinh nghia mot thuoc tinh (chang han thong qua ten cua cac phuong thuc) cho mot loat cac đoi tuong gan nhau nhung khi thi hanh thi dung cung mot ten goi ma su thi hanh cua moi đoi tuong se tu đong xay ra tuong ung theo tung đoi tuong khong bi nham lan.

Vi du: khi đinh nghia hai đoi tuong "hinh_vuong" va "hinh_tron" thi co mot phuong thuc chung la "chu_vi". Khi goi phuong thuc nay thi neu đoi tuong la "hinh_vuong" no se tinh theo cong thuc khac voi khi đoi tuong la "hinh_tron".


= Truu tuong =
Đac tinh nay cho phep xac đinh mot đoi tuong truu tuong, nghia la đoi tuong đo co the co mot so đac điem chung cho nhieu đoi tuong nhung ban than đoi tuong nay co the khong co cac bien phap thi hanh.

Vi du: nguoi lap trinh co the đinh nghia đoi tuong "hinh" hoan toan truu tuong khong co đac tinh ma chi co cac phuong thuc đuoc đat ten chang han nhu "chu_vi", "dien_tich". Đe thuc thi thi nguoi lap trinh buoc phai đinh nghia them cac đoi tuong cu the chang han đinh nghia "hinh_tron" va "hinh_vuon


= Đong goi =
Tinh đong goi o đay duoc hieu la cac du lieu (thuoc tinh) va cac ham (phuong thuc) ben trong cua moi đoi tuong se khong cho phep nguoi goi dung hay thay đoi mot cach tu do ma chi co the tuong tac voi đoi tuong đo qua cac phuong thuc đuoc nguoi lap trinh cho phep. Tinh đong goi o đay co the so sanh voi khai niem "hop đen", nghia la nguoi ta co the thay cac hanh vi cua đoi tuong tuy theo yeu cau cua moi truong nhung lai khong the biet đuoc bo may ben trong thi hanh ra sao.


Mot so thanh to thuong thay khac cua mot ngon ngu lap trinh hien đai Nhieu ngon ngu lap trinh hien đai, nhat la cac ngon ngu viet cho Windows, thuong co cung cap them mot so luong rat lon cac thu vien bao gom nhieu ham đe ho tro giao dien nguoi dung va cac thiet bi đau cuoi.


= Giao dien đo hoa =
Cac ngon ngu chuan thuong khong đe cap toi su cung cap thu vien giup cho viec thiet lap giao dien đo hoa (graphic interface). Nhung hau het trong cac ngon ngu hien đai ma nha san xuat cung cap cho cac he đieu hanh đeu co them thu vien cac ham va cac bien toan cuc co the dung đe nhanh chong viet ma co giao dien phu hop.

Vi du nhu GDK (cho Linux), Java (cho moi he), Visual C/C++/C# (cho Windows),... Va cac thu vien nay ngay nay đa tro thanh cac thanh to khong the thieu cho nguoi lap trinh.


= Đieu khien theo su kien =
Tuong tu tren, triet ly đang sau cua viec đieu khien theo su kien la đe ho tro cho viec đong bo su dung cung luc nhieu thiet bi đau cuoi nhu la chuot, ban phim, may in,... Viec nhan mot menh lenh tu chuot hay tu ban phim phai đuoc lap tuc đong bo va thay đoi giao dien tuc thoi đe cap nhat hoa.


= Thoi gian thuc =
Ban than mot ngon ngu se khong noi ro la co ho tro cho tinh nang nay hay khong. Phan ung va cap nhat du lieu theo thoi gian thuc la mot huong phat trien nham đap ung cac nhu cau đong bo hoa nhanh du lieu ma chung co the chia se cho nhieu noi hay la đe thoa man nhu cau can thiet đong bo hoa du lieu cua cac dich vu (ngan hang, hang khong va quan su chang han).


= Ho tro he đieu hanh =
Ngoai cac ho tro cho cac giao dien thi ngay nay hau het cac he đieu hanh (Linux/UNIX, Netware va Windows) đeu co kha nang đa luong (multithreading) hay đa nhiem (multitasking). Nhung kha nang nay nang cao hieu qua cua may tinh. Cac ngon ngu, do đo thuong co them cac ham, thu tuc hay cac bien cho phep nguoi lap trinh tan dung chung. Viec viet ma cho kien truc đa luong va đa nhiem khong đon gian nhu viet ma cho cac he thong thong thuong. Nguoi lap trinh ngoai ky nang viet ma, con phai luyen tap cach xu ly va đong bo nhieu thao tac đuoc thi hanh đong thoi trong mot chuong trinh ma khong gay ra ach tac hay vi pham cac nguyen tac quan ly bo nho hay cac quy tac lap trinh theo đa luong hay đa nhiem.
Luu y: Hau het cac he đieu hanh ho tro kien truc đa luong hay đa nhiem đeu co kha nang thuc thi nhung chuong trinh đuoc tao ra tu ma viet theo kieu thong thuong ma khong đa đong toi cac chuc nang đa luong hay đa nhiem. Điem khac nhau la khi khong dung toi cac uu điem đa luong hay đa nhiem thi chuong trinh đo se khong tan dung đuoc uu the phan cung va phan mem ho tro (thuong thi chuong trinh đo chay cham hon).


Phuong ngu va trien khai Mot phuong ngu (tieng Anh: dialect) cua mot ngon ngu lap trinh hay ngon ngu trao đoi du lieu la mot bien the (tuong đoi nho) hay phan mo rong cua ngon ngu đo ma khong lam thay đoi ban chat ben trong cua no.


Lich su Xem them Danh sach cac ngon ngu lap trinh


Chi dan Tham khao Nguon tham khao PC Assembly Language—Paul Morneau—West—ISBN 0-314-01003-3
Mastering Borland C++ -- Tom Swan—SAMS—ISBN 0-672-30274-8
Java Programer's Library—Suleiman "Sam" Lalani & Kris Jamsa—JP—ISBN 1-884133-26-6]
New C Primer Plus—The Waite Group's -- SAms Publishing—ISBN 0-672-30319-1
C++ How To Program—H.M. Deitel & P.J. Deitel—Prentice Hall—ISBN 0-13-117334-0


Đoc them Lien ket ngoai