Багажаар уу, гараар уу?

Могой алахад
Мод нэмэргүй
—Зүйр үг

Програм хангамжыг хийхэд зайлшгүй хийгдэх ёстой ажлын 95 аас дээш хувь нь гараар хийгддэг гэж болно. Програм хангамж гэдэг маань өөрөө ямар нэг ажлыг автоматжуулах, гар ажиллагааг хялбарчлах үүрэгтэй байдаг болохоор ч тэр байж болох юм.

Гэхдээ сүүлийн үед програм зохиох ажлыг илт хөнгөвчилж өгсөн багаж хэрэгсэл зөндөө гарч ирж байна. Ингэлээ гээд програмыг програмаар хийж эхэлж байна гэж ойлгож болохгүй юм. Тухайлбал кодыг гаргаж авахын тулд тухайн багажид ямаршуу зүйл хийхийг нь хэлж, зааж өгөх хэрэгтэй. Иймд код бичигч багажын оролтыг хүн гараараа хийж өгөх нь байна. Үүийг зүгээр л програм бичих хэл солигдож байгаа хэрэг гэж үзэхээс багаж програм биччихэж байна гэхгүй. Өмнө Java , C гэх мэт хэл дээр бичиж байсан бол UML ч юмуу ямар нэг дүрслэл, бичиглэл хэлбэртэй хэл дээр хийдэг боллоо гэсэн үг. Эдгээрийг Дөрөвдэгч үеийн хэлүүд(4th generation languages) ч гэдэг.

Програмчлалын хэл ер нь хүнд ойртоод л байгаа. Энэ маань програм бичих хугацаа, хөдөлмөрийг хэмнэж байгаа ч нөгөө талаар бидний гарыг хүлээд эрхэндээ оруулчих сөрөг тал бас бий. Иймд багажаа сонгохдоо сайн бодож харьцуулалт хийж үзэх хэрэгтэй. Өөрийн тань хүссэн зүйлийг хийхэд багаж хэрэгсэл хэрэг болох ёстой болохоос, тухайн багажаар хийж болох зүйлийг л хийнэ гэх юм бол багажиндаа захирагдаж байгаа хэрэг болно. Та багажыг захирахаас, багаж таныг захирах ёсгүй л гэсэн үг юм. Зүйрлэвээс дандаа алхаар юм хийнэ балбаж тогжиш л чадахаас цоолж нүхлэх хэрэг гарвал гар мухардана шүү дээ. Харин цоолтуур байж байх юм бол цоолтуур алх хоёроо хоёуланг ашиглаад нүх гаргаж дөнгөх юм. Ямар нэгэн багаж хэрэгслийг авч ашиглахын өмнө үүнийг л сайн бодох хэрэгтэй. Сайн багажинд байвал зохих шинж чанарууд гэвэл:

  • Нээлттэй стандарт болон форматыг мөрддөг. Нээлттэй стандартыг мөрдөж байвал таны гарыг хүлж эрхэндээ оруулахгүй байх юм. Хүссэн үедээ өөр багаж сольж хэрэглэж болно гэсэн үг.
  • Бусад багаж хэрэгсэлтэй харилцах боломжтой. Адил төрлийн багаж хэрэгслүүдтэй найзархаг багаж таны боломжыг улам нэмэгдүүлж өгнө.
  • Өргөтгөх боломжтой. Ямар нэг шинэ шинж чанарыг plugin хэлбэрээр ч юмуу нэмж оруулах боломж.
  • Ирээдүйд гарч ирж болох шинэ стандартад нийцэх чадвартай.
  • Хэрэглэхэд хялбар, алдаа мадаггүй.

Гэхдээ сайн програм байлаа гээд түүнийгээ хэрэглэж чадахгүй бол нэмэргүй. Програмынхаа гарын авлагыг ядаж нэг удаа гүйлгээд харчих хэрэгтэй.

Цаашлаад байгаа багажаараа өөрт хэрэгтэй байгаа шинэ багажуудыг хийж ашиглах хэрэгтэй. Давтагдаж хийгдэж байгаа бүхнийг хөнгөвчлөх хэрэгтэй гэсэн уламжлалт юникс практик байдаг. Үүнийг автоматжуулах гэж цагаа үрж байхаар зүгээр гараараа л хийчихье, ямар удах юм биш гэж бодоод байвал буруу бодож байна гэсэн үг. Залхууралгүйгээр хоёр үйлдлээр хийгддэг зүйлийг ч боломжтой бол нэг үйлдлээр хийдэг болгоод байвал ирээдүйд үрэгдэх цагаа хэмнэж байгаа хэрэг.

Саявтархан, нэг програмист маань: манай баг бараг ижилхэн шахуу кодыг маш олон дахин давтаж бичлээ, цаашид иймэрхүү ижилхэн кодыг автоматаар хийчихдэг багаж хийж хэрэглэвэл ямар вэ? гэсэн санал гаргасан юм. Энэ бол маш зөв санал, програмчин хүнд хамгийн түрүүн орж ирэх бодол юм. Үүнийг жишээ нь нэг ерөнхий темплэйт үүсгэж байгаад түүнээс өгөгдсөн параметрийн дагуу код үүсгэдэг жижиг скрипт байдлаар хийж болох л юм.

Бас нэг жишээ дурдая. Би заримдаа өдрийн тайлангаа төслийн удирдлагын сервэр лүү хадгалахаа мартчихаад байдаг байлаа л даа. Орой 6 цагийн үед өдрийн тайлангаа автоматаар сэрвэр лүү хадгалдаг скрипттэй болсноос хойш дажгүй болсон.

Эцэст нь дахин онцлоход багажыг бид хүссэн зүйлээ хийхдээ хэрэглэж чаддаг байх ёстой. Багажныхаа боломжид хязгаарлагдана гэдэг бол онцгүй хэрэг.