Ядаж ганц програм...

Дээхнэ Си хэлийг заавал сурах хэрэгтэй юу гээд нэг юм бичсэн, тэрний дараахад хэлмэрчтэй хэлүүд гээд бас бичсэн чинь өөрөө ч сүүлд нь ойлгохооргүй юм болцорсон байсан. Энэ удаа бас л програмчлалын хэлний тухай юм.

Сүүлийн үед Ruby, Python, Java гэх мэт dynamically typed хэлнүүд нилээд яригдаж байна. Эсрэг нь болох statically typed хэлүүд гэхээрээ Си гэх мэт төрлийн хэмжээ нь статик байдаг хэлийг хэлдэг. Ruby, Python, Java нарын давуу тал нь уян хатан, санах ой энэ тэртэй зууралдаж цагаа авахгүй програм бичих боломж олгодог гэх мэтчилэн олон юм бий. Цаашилбал эдгээр нь хоорондоо бичиглэл болоод асуудлыг авч үзэх байдлаараа эрс ялгаатай.

Ruby-г вэб програмчлал тал дээр ихээр хэрэглэгддэг болно гэсэн хандлага байдаг. Програм бичигчийн хөдөлмөрийг туйлаас хөнгөвчилж өгсөн, хэрэглэхэд хялбар хэл гэнэ, нээрээ тийм ч юм шиг. Ruby дээр бүх юм обьект, тухайлбал Javaтай харьцуулахад :

Java Ruby
102 * 1024 * 1024 + 24 * 1024 + 10 102.megabytes + 24.kbytes + 10.bytes
new Date(new Date().getTime() - 20 * 60 * 1000) 20.minutes.ago

гэх мэтээр Java дээр хийхээс хэд дахин хурдан, жижигхэн програм болдог юм байна. Энэ хэл дээр Rails гээд вэб хөгжүүлэлтийн фрэймворк байдгийг өмнөх бичлэг дээр дурдсан билээ. AJAX вэб апликэшнийг маш хурдан босгодог фрэймворк юм. AJAX гэдгийн J үсэг нь Javascript гэсэн үг: клиент талдаа Javascript ашиглаад интэрактив ажиллагаатай вэб хуудас хийдэг учраас тэр.

За тэгэхээр Java хөгжүүлэгч хүн өөр ямар хэлүүдийгийг мэдэж байвал зохих бол?

Учир нь:

  • Javascript бол түрүүн дурдсанаар шалтгаанаар. Одоо цагт вэб л бол 2.0, AJAX болчихоод байхад Javascript мэдэхгүй бол хол явахгүй нь тодорхой. Гэхдээ Javascript-ийг автоматаар үүсгэчихдэг багаж зөндөө байхад сурж цаг үрж яах юм бэ? гэж бодож байвал, эндээс үгүй юм гэдгийг олж үзээрэй.
  • Jython гэдэг нь хэрэглэхэд хялбархан Python хэлийг жавачилж эрлийзжүүлэн үүлдэр угсааг сайжруулсан хэл. Java дээр Python-ийг имплэмэнт хийчихсэн болохоор аль аль хэлнийхээ давуутай талуудыг шингээхээс гадна аль аль хэл дээрээ бичигдсэн бэлэн багц модулиудыг Jython дотроос шууд дуудаж ашиглаж болно.
  • Java байткод бол Java Virtual Machine-ий хэл. Виртуаль биш бодит машины хэл бол машинаасаа хамаараад янз бүр байдаг шүү дээ. Тиймээс сурна судлана гэдэг хүндрэлтэй хэрэг. Харин жава виртуал машин бол ганцхан, тэгээд ч бодит машины хэлээс хялбархан. Exe файлаас гэдэргээ хөрвүүлээд ассемблер код гаргаж болдог бол, байт кодоос жава соорс код гаргадаг багажууд бас зөндөө бий. Жаахан хальчихлаа, буцаад үндсэн сэдэв рүүгээ орьё.

Jython, Python, Ruby гэхээр Lisp гэдэг нэртэй зайлшгүй тааралдана. Програмчлагддаг програмчлалын хэл гэж байгаа. Энэ хэл дээр програмчин хүн ямар нэг хэлний боломжид хязгаарлагдалгүй чөлөөтэй сэтгэх боломжтой байдаг гэж нэг номонд бичсэн байна лээ. Java дээр үсээ зулгааж байж хийсэн юмыг ер түвдэлгүй хэд дахин богинохон хугацаанд хийчиж болдог гэнэ. Гэхдээ энэ хэлийг хэрэглэх гэхээр гол тулгардаг асуудал нь энэ хэл маань дотроо нилээд хэдэн урсгал чиглэлтэй яг C юмуу, Java шиг тогтсон нэг стандартад орж чадаагүй учраас одоог болтол нийтэд түгсэнгүй нэгт, хоёрт гэвэл компютерийн шинжлэх ухааны мэргэжлийнхэний хүрээнд ихэвчлэн хэрэглэгддэг юм байна. Өөрөөр хэлбэл жава шиг сурахад тийм амархан эд биш бололтой.

Саяханаас Practical Common Lisp гээд нэг ном уншиж эхэлсэн, энэ хэл дээр ядаж нэг програм бичээд үзчихвэл зүгээрсэн гэж санасан юм.

Дараа нь Ruby сурнаа.

Санал болгх ном: