Полиглот програмчлал
polyglot ['pɔliglɔt] : speaking or using many languages, multilingual
Полиглот програмчлал гэдэг нь олон хэлийг нэг дор хэрэглэх юм. Та өөрийн хийсэн нэг төслийг жишээ болгоод хэдэн хэл ашигласнаа хэл дээ. Нэг л хэл ашиглсан байна уу? Би таая л даа, Жава л биз дээ. Биш үү, тэгвэл .NET байх? Бас л биш үү? За яахав PHP юм болов уу? Таагаагүй бол бууж өглөө, коммэнт дээр ямар ямар хэл байсныг бичээрэй. Ганцхан хэл ашиглаад програм бичдэг цаг аль эрт улиран өнгөрсөн гэдэгтэй санал нэг байгаа байх. Дор хаяж л SQL хэл ашиглаж өгөгдлийн сантайгаа харьцаж байгаа биз. Вэб апликэшн хийдэг бол HTML, Javascript, CSS-ийг ашиглаж л таараа. Ингэхээр програм бичигчид өдөр тутамдаа полиглот програмчлал хийдэг байхнээ. Олон янзын юм хэрэглээд тэр бүгдийг сурах, хооронд нь холбох гэж яршиг түвэг гэх хүн байх нь мэдээж. Тэр ч үнэн л дээ, гэхдээ буруу ашиглавал.
Скрипт хэлнүүдийг том төсөл хийхэд тохиромжгүй, удаан ажилладаг гэх шүүмжлэл байдаг. Тухайлбал Python, Ruby гэх мэт. Гэтэл эдгээр динамик хэлнүүдийн уян хатан чанар үнэд орох тохиолдол бишгүй. Ийм ч учраас JRuby, Jython, Haskell.net гэх мэтийг хэрэглэх болсон байдаг. Erlang, Haskell зэрэг functional хэлнүүд дээр concurrency буюу олон үйлдлийг зэрэг хийх, бие биеээс хамааралгүй логик голдрилуудыг загварчлах нь маш амарханаас гадна, сүүлийн үеийн технологи болох multicore -уудын бүрэн үр ашгийг үзэж чаддаг. Гол нь ямар зорилгод аль хэлийг ашиглахаа зөв сонгох нь чухал. Ruby хэл бол уян хатан, хэрэглэхэд амархан байдаг динамик хэл. Erlang бол мэссэж дээр тулгуурласан олон үйлдэл зэрэг хийхэд тохиромжтой хэл гэх мэтээр хэлнүүдийн давуу болон сул талыг тооцох хэрэгтэй. Энд олон өөр хэл хэрэглэхийн хажуугаар өөр өөр хандлагууд(Обект хандлагат, Функционал, Динамик г.м) хэрэглэгдэж байгаа нь ойлгомжтой.
Тухайн тохиолдол болгож асар өндөр хурдтай мэссэж(гүйлгээ ч юмуу, юу ч байж болно) солилцдог вэб апликэшн хийх болжээ гэе. Вэб апликэшнийг хурдан хугацаанд босгохын тулд Rails(Ruby on Rails) фрэймворкыг ашиглаж нүүрэн талаа хийгээд, Erlang дээр ар тал буюу мэссэж боловсруулах болон дамжуулах хөдөлгүүрийг хийж болно.
Дараа Erlang -ийн тухай бичих болно. Одоогоор "Programming Erlang: Software for a Concurrent World" номыг уншиж байна.

12 comments:
Би 3 хэл ашиглаж байсан.
Ямар ямар хэлүүдийг ямар зорилгоор ашиглаж байсан бэ?
PHP + HTML + JAVASCRIPT + CSS + C++ + C# + MYSQL + XML ingej tooluul owoo hed boloh yum baina. :)
Turbo C & Asm;
HTML & Javascript, VB.NET, SQL neex xvmvvsees oor olon xel ashiglaj baigagui yum bn
Саяхан C, Bash, Ruby зэргийг нэг дор ашигласан, веб програмчлалын хувьд HTTP яаж ажилладгийг л мэдэж байвал нь cgi-ийг ер нь ямар ч хэлээр хольж хутгаж хийж болох байх. Зарим тохиолдолд учиргүй фрэймворк хөөж байхаар, basic зүйлсийг ашиглаад цомхон мөртөө часхийсэн killer app. хийж болохоор санагдсан шүү.
More with less. Small is beautiful зэргээр янзан бүрээр хүмүүс бичдэг дэ? Өчигдөр 37 сигналсын Getting Real номыг уншсан, нөл практик зөвлөгөө байдаг шүү.
Эрлангийн талаар бичих тэмдэглэлийг тань хүлээж байна...
Html, XML, CSS хэл гэж тооцоод дэмий байхаа. Script болон зөвхөн client дээр ажилладаг JScrpt гэх мэт нөхдүүдийг.
Struts, Cobol
.Net, Cobol
дээр хийж байсан.
Баттөртэй санал нийлж байна. түүний хэлсний дагуу cgi ашиглан C, HTML ээр вэб хөгжүүлж байсан нэг кохай-г мэднэ.
Баттөр өө,
Жижиг апп маань жаахан хэрэглээд ирэхээр ганц нэг функцууд нэмэх шаардлагатай болох үе бий. Ер нь ихэнх фрэймворкуудыг хийгдчихсэн төслийн кодноос ерөнхий зүйлсийг нь задлаж авснаар эхлэл нь тавигдсан байдаг. Фрэймворк эхлээд жижиг цомхон байгаад сүүлдээ нэмэлт функцууд оруулсаар байгаад хэт нүсэр болох нь ч бий.
Зэлэм ээ,
Struts чинь хэл биш, тэмплэйн сан гэж санаж байна. Харин .NET Cobol хоёрыг хэрэглэсэн чинь сонирхолтой сонсогдлоо. Бодвол Cobol дээр байгаа legacy кодыг .NET ээр сэлбэж сайжруулалт хийсэн юм болов уу?
@Очкод
Санал нэгтэй байна. "Зарим тохиолдолд" гэж бичсэнийг минь анзаарсан гэдэгт итгэж байна ;)
За байз нэг жижиг математикийн лекц бэлддэг вэбийг РНР ээр хандалтаа хийгээд MySQL ээр өгөгдлийн сангаа, JSP(гэхдээ tinymce г сэлбээд), mimetex ээс хэрэггүй зүйлүүдийг нь хасаад
PHP+HTML+CSS+SQL+JSP+CGI нэг эд хийж үзсэн.
Өө таасангүй дээ хө .NET+PHP+JS+MySQL+AS+MXML+CSS+HTML гээ д хольж байна даа.Тэгэхгүй бол хол явахгүй ч гэхиймүү ажил хурдацтай биш байна.Аль амархан амархан юмаар нь орлуулаа л хийжийнэ дөө
Object Pascal, C++, Visual Basic
Post a Comment