Lecture12. Програмчлалын үндэс
Програмчлал
гэж юу вэ?
Хүмүүс програм хангамжийг бүтээхийн
тулд компьютерийн кодыг бичдэг.
–
Энэ програм хангамж нь хүснэгт боловсруулах
хэрэглээний, вэбийн, үйлдлийн систем,
байгууллагын мэдээллийн сан боловсруулагч
байж болно.
3. Програмчлалын үндэс
Програм хангамж гэдэг нь үнэндээ заавруудын
дараалал юм. Тодорхой үр дүн гаргаж авах
зорилгоор зааврыг ашиглан компьютерийн
төхөөрөмжийг удирддаг.
Програмчлалын хэл нь дээрх заавруудыг
хэрхэн ашиглах дүрмүүдийн олонлог юм.
–
–
Түүнийг ашиглан компьютер болон хүн ойлгодог програм
хангамжийг бүтээж болдгоороо бусад бодит хэлтэй төстэй.
Гэвч түүнийг ашиглахад тогтсон маш хатуу дүрэмтэй.
Үүгээрээ ярианы хэлнээс эрс ялгардаг.
4. Програмчлалын үндэс
Машин
нь ямар нэгэн утга санааг хүн
шиг ойлгож чадахгүй. Тиймээс програм
зохиогч нь бодит ертөнцийн явдал, утга
санааг програмчлалын хэл рүү
хийсвэрлэн буулгадаг юм.
Програмчлал гэдэг нь тодорхой
зорилгод хүрэхийн тулд хийгддэг логик
дарааллуудын хэлхээс юм.
5. Програмчлалын үндэс
Бид програмыг хэрхэн бичдэг вэ?
Компьютер ухаалаг биш бөгөөд ямар нэгэн
асуудлыг шинжлэн зөв шийдлийг олох
чадваргүй.
Бид програм бичихдээ компьютерт
үйлдлүүдийг ямар дарааллаар биелүүлэхийг
зааж өгдөг.
Програм бичих үйл ажиллагааг ерөнхийд нь 2
шатанд хувааж үздэг: бодлогын-шийдэл ба
хэрэгжүүлэлт.
6. Програмчлалын үндэс
Бодлого-шийдлийн
1.
2.
3.
шат
Шинжилгээ ба Тодорхойлолт гаргах. Асуудлыг
ойлгож ямар зүйл хийхээ тодорхойлох.
Ерөнхий шийдэл (Алгоритм). Шаардлагатай
өгөгдлийн төрөл болон тухайн бодлогыг бодох
логик дарааллуудыг тодорхойлох.
Нягтлах. Тодорхойлсон алхмуудын дагуу
тухайн бодлого үнэхээр бодогдож байгааг
шалгах.
7. Програмчлалын үндэс
Хэрэгжүүлэлтийн
1.
2.
шат
Тодорхой шийдэл (Програм).
Алгоритм(ерөнхий шийдэл) програмчлалын
хэл рүү хөрвүүлэх.
Тестчилэл. Зааврын дагуу компьютерийг
ажиллуулж үр дүн зөв эсэхийг шалгана. Хэрэв
ямар нэгэн алдаа илэрвэл, алгоритм
програмыг шинжлэн алдааны эх үүсвэрийг
олж, түүнийг засах.
8. Програмчлалын үндэс
Бид програмыг хэрхэн бичдэг вэ?
Програм бүрэн бичигдсэний дараагаар 3р үе шат руу шилждэг: засвар үйлчилгээ.
Засвар үйлчилгээний шат
1.
2.
Ашигла. Програмыг ашиглана.
Засвар үйлчилгээг хий. Ашиглаж байх явцад
илэрсэн алдааг засах ба мөн шаардлага
өөрчлөгдсөний улмаас програмд өөрчлөлт
хийдэг.
9. Програмчлалын үндэс
Дээрх үе шатуудыг зургаар дүрслэн үзүүлбэл:
Програмчлал
ерөнхийдөө програм
хангамж хөгжүүлэлтийн
код бичих хэсэг юм.
Сайн програм хангамж
хөгжүүлэлт нь
кодчлолоос гадна хэд
хэдэн хэсгээс тогтдог.
10. Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч
тодорхойлолт
Програм хангамжийг хөгжүүлэхийн
тулд, хөгжүүлэгч(програм зохиогч) нь
дараах алхмуудын дагуу ажилладаг:
–
–
–
–
Хэрэгцээ шаардлагын шинжилгээ
Зохиомж гаргах
Код бичих
Тестлэх
11. Програмчлалын үндэс
Хэрэгцээ
шаардлагын шинжилгээний үе
шатанд хэрэглэгчийн хүсэж буй хэрэгцээ,
шаардлагыг шинжилдэг. Зарим хүмүүс
үүнийг програм хангамж хөгжүүлэлтийн
хамгийн чухал үе шат гэж үздэг.
–
–
Амжилттай програм хангамжийг бий болгоход
хэрэгцээ шаардлага маш тодорхой,
нарийвчлалтайгаар дүрслэгдсэн байх хэрэгтэй.
Хэрэгцээ шаардлагын шинжилгээг зөв хийх нь
цаашид хийгдэх үр дүнгүй ажиллагаанаас
сэргийлдэг.
12. Програмчлалын үндэс
Зохиомжийн
–
–
хэсэг
Энэ шатанд програмын ерөнхий бүтцийг
тодорхойлж түүнийг ямар дэд хэсгүүдэд хуваах,
тэдгээр нь хоорондоо хэрхэн харилцан ажиллаж
хэрэгцээ шаардлагыг биелүүлэхийг
зохиомжилдог .
Програм хангамжийг хөгжүүлэхэд хэд хэдэн
ялгаатай загварчлалын аргууд ашиглагдаж
болдог. Эдгээр аргууд нь системийн ялгаатай
түвшинг дүрслэхийн тулд төрөл бүрийн визуаль
хэрэгслүүдийг (програм) ашигладаг.
13. Програмчлалын үндэс
Кодчилол зохиомжийн үр дүнд бий болсон загварыг
програмчлалын хэл дээрх дэс дараалсан зааврууд
руу хөрвүүлэх үйл ажиллагаа.
–
–
Өмнөх үеийн ихэнх програмчлалын хэлнүүд нь
математикийн функц шиг байсан.
Орчин үеийн ихэнх програмчлалын хэлнүүд нь илүү хүний
хэлтэй төстэй болж ирсэн. (Англи хэлтэй). Ийм хэл дээр
бичигдсэн програм нь уншиж ойлгоход хялбар
байдаг(засвар үйлчилгээ хийхэд) ба, мөн илүү утга
төгөлдөр болдог байна(илүү хүчирхэг). Тэдгээрийг дээд
түвшний програмчлалын хэл гэж нэрлэдэг.
Жишээ нь: C++, Java, Delphi, C+, PHP, Python, Ruby гэх мэт.
14. Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл)
– Кодчилол: Програм зохиогч нь програм хангамжийг
Кодчилол
үүсгэхийн тулд доорх алхмуудыг дэс дараалан давтан
гүйцэтгэдэг:
Код(эх код) бичих – програм зохиогч тухайн програмчлалын
хэлний дүрмийн дагуу програмын шаардлагын логикийг
дүрслэн буулгана..
Кодыг хөрвүүлэх – Компьютерийн ойлгодог заавруудын
дараалал руу хөрвүүлнэ. Энэ шатанд хөрвүүлэгч(compiler)
гэж нэрлэгддэг тусгай програмыг ашигладаг. Хөрвүүлэгч эх
кодыг хөрвүүлэхийн өмнө түүний зөв бичлэгийн алдааг
илрүүлж тэдгээрийг бүрэн зассаны дараа хөрвүүлдэг.
Кодыг холбох – Зарим програмчлалын хэлнүүдэд 2 програмыг
нийлүүлэн 1 програм болгох нэмэлт боломж байдаг. Холбогч
хэмээх тусгай програм хангамж дээрх үүргийг гүйцэтгэдэг.
15. Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл)
Кодыг ажиллуулан шалгах – эх кодыг хөрвүүлж холболт
хийсний(хэрэв шаардлагатай бол) дараа програм зохиогч
хөрвөсөн машины кодыг(заавруудын дарааллыг) ажиллуулан
түүний зөв ажиллагааг шалгадаг. Програм зохиогч кодын хэсэг
бүрийг шалгаснаар түүний бүрэн найдвартай ажиллагааг шалгаж
болдог. Кодын жижиг хэсгүүдийг дангаар нь тестлэх ажиллагааг
нэгж хэсгийн тест(unit testing) гэдэг.
Кодыг зүгшрүүлэх – Заримдаа програм зохиогч түүний кодын
дотоод ажиллагааг харах шаардлагатай байдаг. Зүгшрүүлэгч
хэмээх програмыг ашиглан програмын кодын нэг мөрийг
ажиллуулах, ажиллагааг түр саатуулж болдог.
Кодыг багцлах – програм бэлэн болсны дараа түүнийг(бусад
хамааралтай програм хангамжуудын хамт) багцалж эцсийн
хэрэглэгч болон өөр хүн рүү тестлэхийн тулд илгээдэг. Тухайн
багц нь суулгах заавар болон бичиг баримтыг агуулж болно.
16. Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч тодорхойлолт
(үргэлжлэл)
–
Тестчилэл нь програмыг хэрэгцээ шаардлагын дагуу
эсэхийг шалган, зарим өгөгдлийн хувьд гарч буй үр
дүнг тулгаж, хэрэглэгч програмыг үр ашигтай үнэн
зөвөөр ашиглаж болох уу гэдгийг нягтлан үздэг.
Кодыг ашиглахын өмнө түүний алдааг илрүүлж
засах зорилгоор тестлэсэн байх ёстой.
Хэрэв програмд хэвийн бус ажиллагаа илэрвэл
түүнийг засаж, тестчилэлийг дахин хийх хэрэгтэй.
17. Програмчлалын үндэс
Програм
хангамж болон Техник хангамжийн
зарчмын ялгаа
–
–
–
Програм хангамж гэдэг нь машины заавруудын
дараалал юм.
Техник хангамж нь компьютерийн хувьд
амархан өөрчлөгдөх боломжгүй.
Компьютерийн гол төхөөрөмж болох CPU нь үйл
ажиллагааг ерөнхийд нь удирддаг. CPU нь
өөртөө суурилагдсан програм хангамж болон
техникийн шийдэлдээ захирагддаг.
18. Програмчлалын үндэс
Хөгжүүлэгч болон Хэрэглэгчийн зарчмын ялгаа
–
–
–
Програмыг ажиллуулан ашиглаж буй хүнийг эцсийн
хэрэглэгч гэнэ.
Програмыг зохиодог хүнийг хөгжүүлэгч гэдэг.
Зарим хөгжүүлэгч нар програмын хэрэгцээ
шаардлагын шинжилгээгээр мэргэжиж
туршлагажсан байдаг.
Мөн програмын код бичигч, тестлэгч нар нэлээдгүй
хувийг эзэлдэг.
Мөн төрөл бүрийн програм хангамжууд байдгаас
тэдгээрийг хөгжүүлэхэд төрөл бүрийн мэргэшлүүд
хэрэгтэй байдаг
19. Програмчлалын үндэс
Синтакс(зөв бичих дүрэм зүй), Семантикийн(утга
зүй) ялгаа
–
–
Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг
Синтакс
хэрхэн бичихийг тодорхойлсон дүрэм байдаг.
Програм хэлний дүрмээс гажууд бичигдсэн байвал
хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон
алдааны мэдээлэл үүсгэдэг.
Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах
боломжтой
Хэдийгээр ажиллах боловч бид нарын санасны дагуу
ажиллахгүй байх нь их
20. Програмчлалын үндэс
Синтакс(зөв
бичих дүрэм зүй),
Семантикийн(утга зүй) ялгаа
–
–
Програм зөв үр дүн гаргахын тулд зөв
командуудыг зөв дарааллаар байрлуулсан байх
хэрэгтэй – семантикийн хувьд зөв програм.
Зааврын утга санаа буюу юу хийдгийг семантик
гэнэ.
Үүнийг
ойлгох нь програмчлалын хэлийг сайтар сурахын
үндэс юм.
Яагаад дээд түвшний програмчлалын хэл амархан
байдгийн шалтгаан нь бас энэ юм. Илүү хүний сэтгэлгээ
рүү ойртсон.
21. Програмчлалын үндэс
Програмчлалын төрлүүд
–
Хэд хэдэн төрлийн програмчлалын төрлүүд байдаг. Зарим
үндсэн төрлүүд:
Ажиллах орчин
Console-based – Командын мөрнөөс текст горимд
ажилладаг
– Windows-based – Цонх буюу график горимд
– Web-based – Вэбийн буюу интернэтийн орчны
–
Програм
бичих зарчим
Procedural – Процедур хандлагат
– Object-oriented – Объект хандлагат
– Event-driven – Үзэгдлээр удирдагддаг
–
22. Програмчлалын үндэс
Console-Based, Windows-Based Програмын ялгаа
–
Console based програм нь хэрэглэгчтэйгээ харьцахдаа
терминал ашиглан тэмдэгтээр дамжуулан оролтын
командыг авч үр дүнг гаргадаг.
–
Windows-Based нь график дүрслэл ашиглан програмын
оролт гаралтын өргөн боломжийг бий болгодог.
–
–
Иймэрхүү програм нь график дүрсэлдэггүй зөвхөн тэмдэгт
дүрсэлдэг.
Цонхон програмчлал нь хөгжүүлэгчид Graphical User Interface
(GUI) ашиглан хэрэглэгчээс өгөгдөл авах хэрэглэгчид үр дүн
үзүүлэх боломжийг олгодог.
Цонхон програмчлалыг сурахад арай хэцүү бөгөөд
системийн нөөц илүү шаарддаг.
Console-based програмчлал нь windows програмчлалаас
амархан бөгөөд системийн нөөц бага шаарддаг.
23. Програмчлалын үндэс
Процедур
–
–
хандлагат програмчлал
Процедур хандлагат програмчлал бараг бүх
програмчлалын хэлэнд хэрэглэгддэг.
Ямар нэгэн ажлыг гүйцэтгэхийн тулд заавруудын
алхам алхам бүхий дараалалд гол анхаарал
хандуулдаг.
Компьютер
нь зөв үйлдлийн дарааллыг сонгох чадваргүй
учир үйлдлийн дарааллыг зааж өгөх хэрэгцээ гардаг.
–
Хамгийн өргөн ашиглагддаг процедур хэлнүүд C,
C++, Java,FORTRAN.
24. Програмчлалын үндэс
Объект Хандлагат Програмчлал (ОХП)
– ОХП нь програм зохиогчийн програмчлах, асуудал
шийдэх арга замыг өөрчилсөн.
ОХП-д, бодит ертөнцийн юмсийг төлөөлөх
объектийн үйл ажиллагаагаар илэрхийлэгдэнэ.
– Бодит ертөнцийн юмс нь шинж чанар, тэдгээртэй
холбоотой үйлдлүүдтэй байдаг. ОХП-д объект нь
шинж чанар(properties), үйлдэл(methods),
үзэгдэл(events)-тэй байна гэж үздэг.
– Үйлдэл гэдэг нь объектийн гүйцэтгэж чадах
үйлдэл юм.
– Үзэгдэл нь тодорхой нөхцөлд ажиллах үйлдэл
юм.
25. Програмчлалын үндэс
Объект
–
–
Хандлагат Програмчлал (ОХП)
ОХП -ын хэл нь Классын(Бүлэг) зарчмыг дэмждэг.
Класс гэдэг нь тодорхой объектын ерөнхийлчлөл
юм.
бол класс, харин Дорж бол
Үйлчлүүлэгч классын объект (тохиолдол) юм.
Үйлчлүүлэгч
–
C++ , Java нь ОХП-ын хэл. (мөн процедур
хандлагат).
Үйлдэл
болон үзэгдлийн кодыг процедур хандлагат
аргаар бичдэг.
26. Програмчлалын үндэс
–
ОХП нь хэд хэдэн үр ашигтай талыг бий
болгодог
Объектууд
байдлаар дүрсэлсэн системийг
зохиох хэрэгжүүлэх, засварлахад амархан
ойлгомжтой байдаг.
Мөн кодын дахин ашиглалтыг бий болгодог.
Нэг удаа класс хөгжүүл, түүнийгээ дахин
дахин ашигла.
Удамшил хэмээх хүчирхэг аргын
тусламжтайгаар эх классаас хүү классыг
удамшуулан шинэ класс хялбар үүсгэдэг.
27. Програмчлалын үндэс
C/C++/Java хэлний бүлэг
–
C системийн програмчлалд зориулагдан зохиогдсон.
Доод түвшний боломжийг агуулсан дээд түвшний хэл
Хэтэрхий нарийн, өргөн боломжтой болохоор сурахад
ашиглахад хүнд
–
C++ нь C хэлийг өргөтгөн ОХ боломжийг оруулсан хэл.
–
C хэл дээр бичигдсэн програм C++ хэл дээр бичигдсэн байж
болно.
Java хэлийг C/C++ бүлгийн гуравдагч үе гэж үзэж болно
C/C++ дээрх програм Java дээр бичигдсэн байж болохгүй
боловч хоорондоо маш төстэй
Java хэлийг зохиосон хүмүүс C/C++ хэлний зарим төвөгтэй
ойлголтуудыг хассан.
Энэ хэл дээр бичигдсэн програм ямар ч компьютер дээр
ажилладаг.
28. Програмчлалын үндэс
Зарим
програмчлалын ойлголтууд
ихэнх програмчлалын хэлэнд байдаг
–
–
Comments, Identifiers, Data Types,
Expressions, Functions, Condition Control
statements, Input and Output
Тайлбар, Хувьсагч, Өгөгдлийн төрөл,
Илэрхийлэл, Функц, Нөхцөлт командөгүүлбэр, Оролт ба Гаралт
30. Зорилт
Жава хэлний түлхүүр онцлогуудыг тодорхойлох
Жава виртуаль машины функцуудыг тодорхойлох
Garbage collection хэрхэн ажилладагийг
тодорхойлох
Жава платформын кодын нууцлалыг хангадаг
гурван аргыг нэрлэх
31. Зорилт
Class,
package, applets, applications гэсэн
үгнүүдийн утгыг тайлбарлах
Энгийн Жава програмуудыг бичих,
хөрвүүлэх, ажиллуулах
Жава хөтөлбөр програмчлах онлайн
авлагыг ашиглан java.lang багцийн
аргуудыг тайлбарла
32. Лавламж
Жава програмчлалын хэл нь бүхэл бие даасан
хэл үү эсхүл зөвхөн Веб програм бичихэд
ашиглагддаг хэл үү?
Яагаад өөр програмчлалын хэл хэрэгтэй вэ?
Жава технологийн платформ өөр ямар хэлний
платформ дээр суурилж хөгжсөн бэ?
33. Жава Програмчлалын Хэл гэж ЮУ
вэ?
Жава хэл нь:
–
–
–
–
Програмчлалын хэл
Хөгжүүлэлтийн орчин
Application орчин
Deployment орчин
Синтакс нь С++, семантик нь SmallTalk-тай төстэй
Aплет болон Аппликэшн хөгжүүлэхэд
ашиглагддаг
34. Жава Програмчлалын Хэлний Vндсэн
Зорилт
Дараахь
онцлогууд нь уг хэлийг үлэмж уян
хатан болгодог:
–
–
–
Бусад хэлний нийтлэг дутагдлаас зайлсхийсэн
Обьект хандалтат
Хэрэглэгчдэд ойлгомжтой, цэгцтэй код бичих
бололцоо олгодог
35. Жава Програмчлалын Хэлний Vндсэн
Зорилт
Хөрвүүлсэн орчинг:
–
–
Хөгжүүлэлтийн хурдац
Кодын ашиглалт
Хэрэглэгчдэд нэг зэрэг олон процесс удирдах
бололцоо олгодог
Ажиллах явцад програм динамикаар өөрчлөгдөх
бололцоотой
Нууцлалын ахисан зэрэг
36. Жава Програмчлалын Хэлний Vндсэн
Зорилт
Дараахь
онцлогууд дээр дурьдсан бүх
зүйлсийг хангах юм:
–
–
–
Жава Виртуаль Машин (JVM)
Garbage Collection
Кодын нууцлал
37. Жава Виртуаль Машин (JVM)
Хатуумжийн платформ тодорхойлолтуудыг
хангана
Платформоос үл хамаарах хөрвөсөн байт
кодуудыг уншина
Уямж эсхүл хатуумж байдлаар хэрэглэгдэнэ
Жава хөгжүүлэлтийн багаж эсхүл веб браузер
байдлаар хэрэглэгдэнэ
38. Жава Виртуаль Машин (JVM)
JVM нь дараахь тодорхойлолтуудыг барина:
Instrcution set (CPU)
Register set
Class file format
Stack
Garbage collected-heap
Memory area
39. Жава Виртуаль Машин (JVM)
Байткод
нь кодоос бий болсон хамгийн
эвтэйхэн хэлбэр
Кодыг хөрвүүлэх явцад ихэнхи төрөл
шалгалтууд явагддаг
SUN-аас хүлээн зөвшөөрөгдсөн JVM-ууд
бүх класс файлыг ажиллах чадвартай
40. Garbage Collection
Байршсан санамж хэрэгцээгүй болсон бол цэвэрлэгдэж
байх хэрэгтэй
Зарим хэлнүүдэд цэвэрлэх үйлдэл нь програмчын хийх
ёстой үйлдэл байдаг
Жава хэлэнд санах ойг цэвэрлэх системийн
трийдүүд(зүтгүүр) байдаг
Garbage Collection:
- Хэрэгцээгүй санамж байгаа эсэхийг шалгаж, тийм бол
цэвэрлэдэг
-Автоматаар
-JVM-ийн онцлогоос шалтгаалан олон янзын хэлбэрээр
хэрэгжих бололцоотой.
42. Жава Runtime Орчин
Гурван
–
–
–
үндсэн үйлдлийг гүйцэтгэнэ:
Кодыг ачаална
Кодыг нягтлана
Кодыг гүйцэтгэнэ
44. БайтКод Хянагч
Дараахь нөхцлүүдийг нягтлана:
–
–
–
–
–
JVM-ы шаардлагад нийцэж байгаа эсэх
Системийн нэгдэлд харшлахгүй байгааг
Код нь стектэй холбоотой ямар нэгэн хэтрэлт, дуталт
үүсгээгүйг
Ажиллах кодны параметр төрлүүд зөв эсэх
Дүрмийн бус өгөгдөл хувиргалт хийгдээгүйг
47. Хөрвvvлэлтийн vеийн алдаанууд
javac: Command not found
HelloWorldApp.java:6: Method
printl(java.lang.String) not found in class
java.io.PrintStream.System.out.printl^(“HelloWo
rld”);
In class HelloWorldApp: main must be public and
static
49. Соорс Файлын Хэлбэр
“Дээд түвшний” гурван элементийг
агуулна:
–
–
–
Багцийн тодорхойлолт (заавал биш)
Тодорхой тооны импорт мэдэгдлүүд
Класс болон интерфэйсийн зарлалтууд
50. Класс болон Багцууд - Танилцуулга
Классууд
–
болон багцууд:
Жава класс сангийн чухал багцууд:
java.lang
java.awt
java.applet
java.net
java.io
java.util
51. Жава API Баримтыг Хэрэглэх нь
HTML хуудсуудад API-ийн тухай мэдээллийг
багтаасан байдаг
Нэг багц нь өөртөө орших бүх классын линкийг
агуулдаг
Классын баримт нь тухайн классын үе шат,
тодорхойлолт, гишүүн хувьсагчид,
байгуулагчуудын мэтчилэнгийн мэдээллийг
багтаадаг
52. Дасгал: Жавагийн vндсэн даалгавруудыг
гvйцэтгэх нь
Дасгалын зорилт:
–
–
–
API баримтаас метод, класс,багцийг зааж үзүүлэх
Стандарт оролт/гаралтын методуудыг зааж үзүүлэх
Дээрх аргуудыг хэрэглэсэн хоёр програмыг бичиж,
хөрвүүл, ажиллуул
Даалгавар:
–
–
–
Баримтыг унш
Жава програм зохио
Стандарт оролт/гаралтыг ашигла
53. Өөрийн явцыг шалга
Жава хэлний гол онцлогуудыг тайлбарла
JVM-ы функцуудыг тайлбарла
Garbage Collection хэрхэн ажилладагийг тайлбарла
Жава платформын кодын нууцлалыг хангах гурван
аргыг нэрлэ
Class, packages, applets, applications гэсэн нэршлийг
тайлбарла
Жава програмыг бич, хөрвүүл, ажиллуул
Жава хөтөлбөр програмчлах онлайн авлагыг ашиглан
java.lang багцийн аргуудыг тайлбарлах
Editor's Notes (1991) Sun компанийн төсөл болох “Green” нь электрон төхөөрөмжийн хөгжүүлэх зорилготой байсан.
“Green” төсөлд сууриас хамааралгүй програмчлалын хэлний шаардлага гарсан.
James Gosling шинэ програмчлалын хэл зохиосон нь Oak байлаа. Энэ хэл нь цахилгаан хэрэгслийг удирдахад зориулагджээ. Тэр хожим “Java-гийн эцэг” хэмээн нэрлэгдсэн.
(1993) “Green” төсөл бизнесийн янз бүрийн шалтгаанаас болж зогссон.
Вэб илүү нийтийг хамарч Sun компани Oak-ийг интернэт програмчлалд ашиглахаар шийдсэн.
Sun, HotJava нэртэй байт-кодыг ажиллуулдаг вэб зууч програмыг бүтээсэн.
Oak –ийн нэр Java болж өөрчлөгдсөн.
(1995) Sun, Java-г интернэтийн ертөнцөд чиглүүлснээр өргөн хэрэгцээний вэб зууч програмууд болох Internet Explorer, Netscape Navigator Java –гийн апплет технологийг дэмжиж эхэлсэн.
Шинэчлэгдэн сайжирсан Java-г танилцуулсан (v1.0 - v1.5)
Тодорхой чиглэлээр Java-гийн тодорхойлолтууд гарч ирсэн:
Сервэр талын: J2EE
Хөдөлгөөнт төхөөрөмжүүдэд: J2ME
Ширээний компьютерийн: Java Swing
Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг хэрхэн бичихийг тодорхойлсон дүрэм байдаг.
Тэдгээр дүрэм нь англи хэлний зөв бичих дүрэм шиг ба түүний дагуу програмыг бичдэг.
Програм хэлний дүрмээс гажууд бичигдсэн байвал хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон алдааны мэдээлэл үүсгэдэг.
Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах боломжтой
Хэдийгээр ажиллах боловч бид нарын санасны дагуу ажиллахгүй байх нь их
Програм зөв үр дүн гаргахын тулд зөв командуудыг зөв дарааллаар байрлуулсан байх хэрэгтэй – семантикийн хувьд зөв програм.
Зааврын утга санаа буюу юу хийдгийг семантик гэнэ.
Үүнийг ойлгох нь програмчлалын хэлийг сайтар сурахын үндэс юм.
Яагаад дээд түвшний програмчлалын хэл амархан байдгийн шалтгаан нь бас энэ юм. Илүү хүний сэтгэлгээ рүү ойртсон.
Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг хэрхэн бичихийг тодорхойлсон дүрэм байдаг.
Програм хэлний дүрмээс гажууд бичигдсэн байвал хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон алдааны мэдээлэл үүсгэдэг.
Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах боломжтой
Хэдийгээр ажиллах боловч бид нарын санасны дагуу ажиллахгүй байх нь их
Програм зөв үр дүн гаргахын тулд зөв командуудыг зөв дарааллаар байрлуулсан байх хэрэгтэй – семантикийн хувьд зөв програм.
Зааврын утга санаа буюу юу хийдгийг семантик гэнэ.