Миний харж байгаагаар орчин үеийн програм хангамж хөгжүүлэх нь хуучны математикч хүн бодож байгаад хэдэн тушаал цувуулан бичсэн алгоритм гаргадаг байсан зүйл биш болж УРЛАГ, УРАН САЙХАН болсон байна гэж үзэж байна. Яг л зураач хүн бэх, будаг зэрэг хэрэгслээ барьж байгаад, хийсвэрлэн сэтгэсэн зүйлээ цаасан дээр хүн харж баясдаг, бодит зүйл болгон буулгадаг шиг програм хөгжүүлэгч хүн компьютер, програм, цаас, харандаа зэрэг хэрэгслүүд барьж байгаад толгойдоо орж ирсэн хийсвэр санаа бодлоо програм хангамж гэдэг зүйл болгон хүн бүрийн өдөр бүр шахуу хэрэглэдэг бодит материал болгон буулгаж байгаа нь яг л адилхан. УРАН САЙХНЫГ ҮЗҮҮЛНЭ гэдэг нь 10 мөр кодыг 2 мөр кодоор сольж бичих. Кодыг гоё, цэвэрхэн хэлбэршилтэй бичих. Үг үсгийн алдаагүй, хамгийн оновчтой тайлбар бичих. Хатуу тэмдэгт мөрийг холихгүй байх. Хамгийн хурдтай бөгөөд үр ашигтай функц, процедур, хэрэглүүр ашиглах. Маш оновчтой, дахин ашиглагдах функц, хэрэглүүр бичих. Стандартыг нягт барьж, бүх газар нь дүрмээ мөрдөх зэрэг болно.
Ирээдүйн программистууд бүгд инженер болох бөгөөд тэд зураад л сууж байх болно. Жаахан ядаргаатай зүйл байвал код шигтгэж өгнө. Тохиргоо хийнэ. Сүүлийн үед эх кодыг үүсгэдэг програм хангамжийн хэрэгслүүд нэлээд хөгжиж хүч түрэн орж ирж байна. Ихэнх хөгжүүлэгчдийн хэрэглэдэг Микрософт визуал студио, эмбаркадеро хэрэгслүүдэд ч сайн муу ч бүрэн болон хагас автомат код үүсгэх хэсэг нэлээд агуулагдах болжээ. Аль 5,6 жилийн өмнө хийж байсан миний мастерын ажил ч “Граф хандалтат програмчлалын жава эх кодыг” үүсгэх агуулгатай ажил байсан билээ.

За нэг зүйл хэлэхгүй зүгээр өнгөрч чадахгүй нь. Манай улсын их дээд сургуулиуд програм хангамжийн салбарт чанартай боловсон хүчин огт бэлтгэж чадахгүй байна. Ер нь манай салбарт ч гэлтгүй ихэнх нь л өөрчлөлт шинэчлэлт, халаа сэлгээ, энэ ч газрын туршлага, тэр ч газрын жишиг гэх мэт ганхаж савласаар нэг л сонин өөрийн онцлог, суурь байхгүй хачин болчихсон мэт.
Миний харж байгаагаар: “Дунд сургуулиуд бол сурагчдыг янз бүрийн хуурай онолоор дарах биш, эсвэл шавь төвтэй сургалт гэж зөнгөөр нь хаях биш, тухайн сурагчид СУРАХ АРГА БАРИЛ эзэмшүүлэх нь гол зорилго байдаг баймаар.” Гэтэл энэхүү зорилгын хэр биелж байгааг та бүхэн харж мэдэрч байгаа биз ээ.
Харин их дээд сургуулиуд оюутнуудыг мөн шавь төвтэй сургалт гэж зөнд нь хаях, эсвэл болсон болоогүй хэрэглээний талаар дурдах (дурдаад дуусах ч зүйл биш), эсвэл толгой сэхээгүй цээж бичиг хийж сургах биш “АСУУДЛЫГ ТОДОРХОЙЛОХ, АСУУДЛЫГ ШИНЖЛЭХ БОЛОН ШИЙДЭХ ЧАДВАР, СУДАЛГААНЫ АРГА БАРИЛ ЭЗЭМШҮҮЛЭХ” нь гол зорилго баймаар санагдах юм. Их дээд сургуулиуд ямархуу зорилго тавьсан байдгийг мэдэхгүй юм. Ямар ч гэсэн “Програм хангамжийн инженерчлэлийн үндэс” гэсэн хичээл үзэлгүйгээр “Програм хангамжийн инженер” гэсэн гарчигтай диплом олгоод сууж байгаа нь хэвээрээ л байна.
Асуудлыг тодорхойлох нь бодлогын тавилыг тодорхойлно л гэсэн үг. За байз маш хялбар өдөр тутмын амьдрал дээрээс нэг жишээ авъя.
“5 литрийн савтай усыг 5 алхмын газар зөөгөөд тавь” гэсэн даалгавар өгөхөд 7 настай балчраас 70 настай буурлууд (6 кг зүйл даах чадвартай бүх хүн) дор нь гүйцэтгэх нь тодорхой. Харин манай салбарын хувьд ийм даалгавар өгөхөд дараах байдалтай л байна.
1. Асуудлыг тодорхойлохдоо: За ерөнхийдөө бол савтай зүйлийг хаа нэгтэй газар аваачих юм байна. Асуудлыг тодорхойлно гэдэг ерөнхийг нарийвчлах. Бүрхэг зүйл байвал тодруулах. Гэтэл харин ч эсрэгээрээ “5 л сав нь ямар нэг сав, ус гэдэг нь ямар нэг зүйл, 5 алхмын газар нь нэг тийш” болчихсон байх жишээтэй.
Бодлогын тавил бол ямар ч гэсэн: “5 литрийн савтай усыг 5 алхмын газар зөөгөөд тавь“. Жаахан нарийвчилбал магад “5 литрийн төмөр савтай дүүрэн эсвэл тэдэн л усыг баруун зүгт 5 алхмын газар зөөгөөд тавь” гэж гарч ирж болох юм.
2. Асуудлыг шинжлэхдээ: 5 литрийн сав юм байна, устай эд байх нь, 5 алхмын газар зөөж тавих юм байна. Асуудлыг шинжлэх болон асуудлыг тодорхойлох хоёрыгоо ялгаж ерөөсөө чадахгүй юм.
Уг нь бол: 5 литрийн сав нь төмөр юм уу хуванцар юм уу, бариултай юм уу үгүй юм уу, бариултай бол оосор байна уу, хатуу эд байна уу, тагтай юм уу үгүй юм уу, ус нь дүүрэн юм уу дундхан юм уу, 5 алхмын газар нь хаана ямаршуухан юм байна, бартаа саад нь юу юм бол, аль чиглэлд аваачих юм бол, тавих газар нь тэгшхэн юм уу үгүй юм болов уу гэх зэргийг шинжлэх баймаар.
3. Асуудлыг шийдэхдээ: За даа би ч төмөр сав мэдэхээс хуванцар сав мэдэхгүй юм байна, хэнээс будаа идэх вэ? (Тодруулбал: би Жава хэл л мэдэхээс PHP сураг байхгүй. Яая даа байз?) Эсвэл манайхны сийрэг толгойтой сэргэлэн гээд магтаад байдаг зарим нөхдийн нэг бол: За хө хаанаас яг адилхан хоосон 5-н сав олж ирээд даалгаврыг нь яг хийчихсэн юм шиг харагдуулах вэ??. За арай дээр шинжилсэн нь: Өө юухан байхав, 5-н сав юм чинь үсрээд л 5 хан литр ус шүү дээ. Тэрийг бол чигчий хуруугаараа л өргөнө дөө. Арай даруухан бөгөөд гайгүй нэг нь за байз амсраас нь хоёр гараараа чимхээд өргөхөд яаж ийж байгаад тэр хавь руу нь дөхүүлээд хаячих л байлгүй дээ. Тэгж байгаад зүтгэнэ дээ.
Уг нь бол За хө энийг хаанаас нь барьж авах вэ? Оосортой юм байна. Аль нэг тал руугаа унжсан байж таараа. Тэрийг нь чимхэж бариад өргөөд үзье. Даахааргүй бол жаахан ахиулаад атгаж барихыг бодъё эсвэл шинжилснээ харж байгаад тагтай байвал өнхрүүлж байгаад 5 алхмын газар явуулаад босгоё гэх мэт баймаар.
4. Үр дүн нь: Амархан даалгавар болохоор нь чигчий хуруугаараа өргөөд явж байсан чинь дүүрэн устай байсан болохоор алдчихлаа ш дээ. Гэхдээ тэр хар даа. Савыг нь аваачаад тавьчихсан байгаа биз дээ. Эсвэл За байз яаж сайхан биелүүлчихсэн юм шиг харагдуулах вэ. Батаагийн хоосон савыг л аваачиж тавихаас. Өөрөөр амжихаасаа өнгөрлөө.
Хамгийн гайгүй шийдсэн нь: Амсраас нь хоёр гараараа чимхээд явж байтал яг дунд нь ороод гар чилж алдаад уснаас нь жаахан асгасан. Гэхдээ дажгүй шүү амжилттай зөөлөө. Уг нь жаахан эртхэн эхэлсэн бол дунд нь нэг амраад тавьсан бол ч усыг нь дундруулахгүй л гүйцэтгэчих байлаа. Дараагийн удаа эртнээс эхэлнэ ээ.
Уг нь бол үр дүн нь: 5 литрийн, таггүй, баруун тал руугаа унжсан мяндсан оосортой савтай 4 орчим литр усыг, оосроос нь чангахан барьж байгаад таван алхмын цаана буй довны ёроолд тавьчихлаа. Тагтай байсан бол өнхрүүлье гэж бодсон чинь таг байсангүй. Уг нь би ийм төмөр савыг мэдэхгүй л дээ, хуванцар сав л өргөж үзэж байсан. Ер нь асуудлаа л олж хараад зөв бариад авсан бол адилхан л байдаг юм байна. Гэх зэргээр л боддог баймаар юм.
Манай салбарт иймэрхүү л байдалтай боловсон хүчин бэлтгэгдээд байх шиг байна эсвэл би буруу яриад байна уу?


20 Comments

Галаа · 2011/02/12 at 13:05

Энд гаргасан санаа зөвхөн програм хангамж гэлтгүй шинжлэх ухааны аль ч салбарт хамаатайг нийт уншигчдад сануулмаар байна.
СУРАХ АРГА БАРИЛ эзэмшүүлэх гэдэг санааг чинь 100 хувь дэмжиж байна. Бүхнийг заана гэвэл оюутны 4 жил хаанаа ч хүрэхгүй, Бас тэгээд дан хөлдүү “хэрэглээ” заавал дараа нь түүнээсээ цааш хальж гарч чадахгүй. Харин онолын үндэс суурь буюу угтаа цаашид хөгжиж өсөхөд нь суурь болох мэдлэг чадварыг л эзэмшүүлэх нь зүйтэй мэт санагддаг.

Odkhuu · 2011/02/12 at 15:34

tanii zow

үлмэдэх · 2011/02/13 at 11:55

Би миус мкс-д сурдаг. Манай багш нар таны бичсэнийг уншаасай. Үнэндээ бодит байдал дээр таны бодож байгаагаас ч дор байж магадгүй. (сургалт ба оюутан манай сургуул дээр)

hehe · 2011/02/13 at 20:35

Alexander Stepanov gej C++iin STL hiiltssen hun bdag um lekts deer ni bsan. Ter hun bol yag tanii yarisnaas esregiig yarij bsan. Uuruur helbel orost odoo boltol assembler, C/C++,pascal uzej bgaad bur bayrlaad, baharhaad salahgui bsan. Uchir ni odoogiin programchlaliin hel bolj ugvul machine-g hunees nuuhiig oroldoj bgaad ih durgui bnale, bugd l Labview, Anylogic eneter shig zuraad l urdungee harj boldog–programchdaas busad mergejiltend zoriulsan. Tegeed template-iin talaar bichsen Alexanderscu eneteriin nomiig bol “unshaad hereggui” gej zuvluj bsan, ternii orond Euclid unshih, uursduu algorithm zohioh!!!ter bagsh Knut-g ih uruvduj bsan bas OOP-bol undsendee buruu genelee. Er ni neg lektsiig ni olood uzsen bhad gemgui l bh.
Tegeed har l daa delhiin programchlal, math-n olympiad(IMO, ACM ICPC,topcoder…) deer dandaa oros, hyataduud turuulj bgaa ooroor helbel machine-aa programchdaas nuugaagui, nuuj amjaagui ulsuud. Harin ter aihtar usrenhgui hojiltei ulsuudiin ih surguuliin oyutnuud pag! ted time complexity, hardware complexity deer l duusch bgaa yagaad gevel machine yag yaj ajlaad bgaag medehgui bgam chine!Fundamental knowledge bhgui! Odoo amerikiin progeruudad ordog hicheeliin program jil bolgon soligddog odoo python, ruby maygiin umnuud shuud uzej eheldeg gesen, oyutnuudad ih hetsuu bgaa genelee. Mongol bol yag l uuntei adilhan dandaa amerikaas bolj ugvul huulah gedeg, pascal, C/C++ uzdeg bsan garuud odoo C#, java uzdeg bolj. Bi mongold bas heden jil sursandaa tun bayartai bdag ter assembler, c/c++, descrete math,data structure geed hari orond gants avarch bgaa zuils! Ulmedeh zailuul muu MUIS-aa bitgii muul, uuruu yanz buriin nom unshij bagsh naraasaa iluu bolhiig l hicheE!

badaa · 2011/02/14 at 00:13

@hehe,
Та миний бичсэнийг буруу зөрүү ойлгосон юм шиг байна. Би програм хангамж хөгжүүлэгчдийг буюу манайд бэлтгэгдээд байгаа Програм хангамжийн инженерүүдийн тухай бичсэн. Таны бичсэнээс харж байхад өөрөө онолын информатикч хүн шиг байна. Онолын информатик нэг тусдаа, хэрэглээний програм хангамж мөн тусдаа салбар. Онолын информатикчид алгоритм л зохиогоод, оновчлол хийгээд байхаас өөр яахав. Тэдгээрийг өөрийн тань эсвэл багшийн тань дурдсан арга барилаар, тэрхүү хэлүүд дээр хийхээс яахав. Мөн олимпиадад оролцож амжилт үзүүлэх ёстой хүмүүс мөнөөсөө мөн.
Таны багшийн хувьд бол зөв юмаа буруу газар ярьсан юм шиг санагдлаа. Нэг санал нийлж байгаа зүйл бол Объект хандалтат програмчлал нь тийм сайн загвар байж чадаагүй гэдэгтэй бол 100% санал нийлж байна. Ian Sommerville, Manfred Nagl (Манай профессор байв) нарын ном материалуудаас сайн ухвал ханхалдаг нэгэн санаа байдаг юм. Түүнийг би хувьдаа дэмждэг.
Мөн нэгэн зүйлийг сануулахад Програм хангамжийн хөгжил хямралд ороход НАТО-гийн зөвлөгөөн дээр хямралаас гарах оновчтой арга бол математик загварчлалаар биш инженерийн загварчлалаар хөгжүүлэх юм аа хэмээн тодорхойлсон байдаг. Өнөө цагт маш өндөр сахилга баттай, эмх цэгцтэй, нийлж хөгжүүлж байж л бүтээл гарахаас биш 5 дэлхийн математикийн олимпиадын аваргатай боллоо, 10 програмчлалын олимпиадын аваргатай боллоо гээд мундаг бүтээл гаргахгүй шүү дээ.
Мөн машиныг хүнээс нуулаа гээд дургүйцнэ гэдгийг би огт ойлгохгүй байна. Нэг бол багш тань үгүй бол та өөрөө жаахан буруу ойлгож дээ.
Хөгжил бол яг тэр дургүйцээд байгаа зүгт чинь тун зөв явж байгаа юм шүү дээ. Бид бол үргэлж кодыг олон төвшинд (multi-tier) салгах чиглэлийг барьж, аль болох тусгаарлахыг хичээж байна. Програмчлалын интерфейс код (API), ажиллагааны логик (business logic), үзүүлэнгийн төвшин (presentation) бүр аль болох кодыг салгаж байна. Энэ нь мөн л УРЛАГ!!! Түүнд муу тал бий нь бий. Түүнийг дараа тусдаа бичлэгээр тайлбарлаж болох юм. Гэхдээ л давуу тал нь дийлээд дэлхий нийтээрээ бариад байна даа.
Яг тэр доод төвшний машины кодыг хөгжүүлэх ёстой системийн програмистууд тусгайлан бэлтгэгдэж байна. Програмын инженер, хэрэглээний программист (үүнийг бид дэлхий даяараа программист гэж нэрлээд байгаа), онолын программистууд тусгайлан бэлтгэгдэж байна. Миний хувьд програм хангамжийн инженер хүн. Тиймээс тэр өнцгөөс нь харж бичиж байгаа болно. Та програм хангамжийн салбар маш олон салбар болон хөгжиж байгааг анхаарна уу!
Нэгэн үе буюу манай үеийнхэний (94-97 оны 10 жил төгсөлт) нэгэн том аз бол ассемблерээс эхлүүлээд өнөөг хүртэлх бүх төвшинд нь нухлуулсан нь л юм даа.

hehe · 2011/02/14 at 15:23

@badaa,
Tiimee ehnii muruudtei chine sanal neg bna. Gehdee end buruu zuv oilgoson zuil ali alindaa bhgui gej bodoj bna. Ter bagsh bol mathematik, tiim ch bolood theoritic talruugaa machine-aa sudlaad code-oo hugjuuleed yavdag, olon olon hel zohiodog, sudaldag humuus mani ertei shiruun heruul hiideg tuhai lekts deeree durdaj bsan. End bol yag State University, Technical University-ulsuudiin yalgaa garch irj bgam lda. State-n oyutnuud onoloo bariad, technikiin oyutnuud “belen batalgaa” bariad yavdag. Haa orond ch gesen tiim — ali alind ni uuriin gesen zuv zuils bii, buruutgah argagui.
Bi ch gesen huvidaa programchlaliig Urlag talaas ni oilgohiig ih hicheedeg — Donald Knut-n “The Art of Computer Programming” – tsuvral boti nom ene bol ter chigeeree onolchdod zoriulsan, onolchid l ter goo saihniig medreh bolomjtoi meteer bichsen nom – yag l onoliin mathiinhan mathemtikiin goo saihnii talaar iluu ih yaridag shig. Saihan argaar bodson bodolt, aguu humuusiin hiisen batalgaa zereg ni uzej bui hundee aesthetics medremj bui bolgono uuntei adilaar sain bichsen code, saihan argaar bodson bodolt bas l iimerhuu medremj programchdad ugdug.
End bas neg talaar itgeltsliin asuudal yarigdaad bgaa um — shinjleh uhaand bie biedee itgeh bulguud bdag, uuruur helbel bi taniig sain medeh uchir tanii hiisen batalgaag bi neg burchlen shalgalgui zuv gej uzeed tsaashdiin onoldoo ashiglaad yavah, getel uuniig eserguutsdeg hiisen um bolgoniig shalgah heregtei gej uzsen buleg baina — ene buleg hamgiin heregtei buguud jinhene testeruud. Yag uuniig odoogiin helnii chig handlagad hiigeed yavbal aldaa garah magadlal tun ih — uuruur helbel “code-guigeer” bi tanii hiisen graph held itgeed umaa hiine — gai bolj aldaa garval? Labview deer ch gesen yanz buriin componentiig ni bi duuraij bichij uzsen .dll hiigeed getel ur dun labview deer udaan bsan(modify hiih bolomj ni haalttai).
Eruusuu ene delhii deer neg heseg ni programch mergejliig ireeduid buh huniig programch bolj bolno gesen bhad, nuguu heseg ni unii esreg sain machine, sain onol gargah gedeg zutgedeg. Er ni yavj yavj hiisen um uldej, yarisan um zamharna, technology bolgoniig dagaj guih u esvel uuruu technology-iig zohioh gej oroldoh ni ur duntei yu, esvel tovchilj alhah u…
Ene barag yariad baival duusahgui sedev bh 🙂 tegeed hun bolgon l uursdiinhuuruu zutgeh bizdee. Cicerō(Цицерон) geed romiin uls turch greek-g ezlesnii daraa buh l bodson bodolt, batalgaag shataagaad,erdemtdiig ni alaad zuvhun urdung ni avch uldsen. Uunees bolj mathmetikiin hugjil 1400 jileer hotsorson gej uzdeg um bile… tand bayrlaa!

ulzii · 2011/02/14 at 21:24

Jisheen deer avsan daalgavriin tuhaid bol bodit baidal deer hamgiin yerunhii baidlaar handval iluu ur duntei. Sistemiin shinjilgee ter nariivchilsan todorhoiloltuudiig gadna ni orhiod uzie. Zuvhun 5 litriin savtai usiig tend avaachij tavinaa geed programmaa bichchihlee. Getel uur neg gazraas ene shuudaitai yumiig mashin deer gargaad tavichih gesen daalgavar irvel ahiad l buh zuiliig ehnees n bichih heregtei bolno. Tegehiin orond ene daalgavariig arai uur untsguus haraad yamar neg zuiliig haa neg gazar avaachih gej bolnoo doo. Herev ingeed programmaa bichchih yum bol ergeed ene kodoo yamar neg zuiliig haa negen gazarluu zuuhtei holbootoi daalgavruud deer ashiglah bolomjtoi bolj baigaa yum.

Programmiin hugjliin tuhaid hun burt ulam l iluu oir bolj baigaa gej bodoj bna. Gehdee uuniig hun bolgon programchin boloh n gej oilgoj bolohgui. Harin ch esregeer programchid humuust mash amarhanaar udirdaj boloh togloomiig n beldej ugch baigaa yum. Smartphone bol uunii hamgiin goy jishee yum. Bolovsroliin tuvshin medleg hargalzahguigeer buh hun l uuniig hereglej App tataj udur tutmiin amidraldaa ashiglaj baina. Medeej hereg neghen tiim app-iin tsaana programchin hunii nur ih hudulmur baigaag jiriin hun bol hezee ch olj harahgui. Ter app-iig hurdan ajilluulah gej, goy haragduulah gej her udaan tolgoigoo gashilgaj suusan n engiin hereglegchid bol yamar ch padgui zuil.
Programm bichdeg hunii huvid bi shine zuils garval sonirhoj udur tutmiinhaa ajild ashiglah surahiig husdeg. Duguig udur bolgon shineer zohioh albagui shuu dee. Jishee n heden jiliin umnu javascript bolon ajax bichih gej ih kod bichdeg hundreltei baisan. Getel jquery geh met frameworkuud garch ireed mash ih amar bolgoj ugsun duu.

Odoo ued programchin l gevel programchin yum baina gej oilgoj bolohgui bolson ye. Neg heseg nuguu l mashind oirhon hel deer ymar neg uildveriin mashinii automatjuulalt hiigeed suuj baihad nuguu neg n heden zuun say hun neg zereg ashigladag web huudas hiigeed suuh jisheetei. tiim bolohoor mongold ch yumuu haana ch yum shuud java uzehed bol bi gaihaad baih yum alga. java deer anhlan surch baigaa hun ch gesen l yag l pascal, c-tei adil console deer ajilladag programm bichij, algorithm zohioj, bolno
.

badaa · 2011/02/15 at 02:10

@hehe,
Сэдвээсээ хазайгаад ирсэн тул ингээд цэг тавья. Үндсэн асуудлаас хазайж буй яг тэр цэг дээр нь зогсох мэдрэмжтэй байх нь бас л УРЛАГ! 😉
@ulzii,
Би дээрх бичлэгт бичсэн байхад яг дурдсан алдааг гаргасан байх юм. Жишээний 2 зүйлийн 2-р мөрийг уншина уу! “Sistemiin shinjilgee ter nariivchilsan todorhoiloltuudiig gadna ni orhiod uzie.” боломжгүй зүйл. Эхлээд асуудлыг аль болох нарийсган шинжилж, локалчилж авсны дараа шийдлээ хийнэ. Харин шийдлээ хийхдээ ДАХИН АШИГЛАГДАХ (reusable) байдлаар шийдэж байх хэрэгтэй. Generalization->Design Pattern. Тэр бас нэг УРЛАГ гэж дурдсан байгаа.
Фреймворкуудын хувьд ашиглахад эсэргүүцэх зүйлгүй. Гол нь өөрөө маш сайн ойлгоод гартаа оруулсан, тоглож чаддаг л бол болно. Ашиглахгүйгээр өөрөө бичээд тэр зэргийн үр ашигтай хийж чадаж байвал маш сайн. Мэхийн хүндэтгэе!

hehe · 2011/02/15 at 10:17

@badaa,
bi l lav oyutnuudad orood baigaa helnii talaar, ternii chig handlagiin talaar uuriin bolon Stepanov bagshiin sanaa onoonuudiig helsen(garchigand chine taaruulaad l, ternees ter dundaas doosh hesgiig togtoj unshaagui ;)). Bas ART gej bain bain bicheed bhaar tani uunii utgiig tailbarlah gej bichlee — art gej nerleed bgaa zuileesee yag busad art-uudaas avdag taashaalaa avch chadaj bna u gej bichsen hereg. 10 avargatai bolloo geed sain buteel garahgui gej bsan — uneniig helehed ergelzej l bna, odoogiin olympiaduudad bagaaraa ordog bolson, google, microsoft hamgiin turuund end turuulsen oyutnuudiig ajild uridag — tednii davuu tal ni yamarch problemiin shiidliig hedhen tsag minutiin dotor “oldogt”, math, algorithm programchlaliin gunzgii medlegteid bj boloh um + english… Er ni ajil deer ch gesen olympiadchin garuud ilt yalgardag shude…

Bidnii yariad bgaa zuilst taguud bolon zarim linkuudiig oruuliya sonirhson negend ni tuhum boloh bizee:
OOP vs FOP, OOP critics, software crisis, Teach yourself **** in 24 hours, art of programming, a history of mathematics
http://cm.baylor.edu/ICPCFinalResults2010
http://www.moderncppdesign.com/,
http://www.stepanovpapers.com/, http://www.stlport.org/resources/StepanovUSA.html

aa ternees bish
The Pragmatic Programmer: From Journeyman to Master
Design Patterns: Elements of Reusable Object-Oriented Software
Refactoring: Improving the Design of Existing Code
nomon dahi zuilsiin talaar end yarisangui 🙂 Good luck guys!

ulzii · 2011/02/15 at 10:42

“Sistemiin shinjilgee ter nariivchilsan todorhoiloltuudiig gadna ni orhiod uzie.” gej bi joohon buruu oilguulsan yum shig baina. Zugeer setgegdel deer ene talaar bichihgui gesen utgaar bichsen yum. Ternees bish ter bugdiig programm bichihdee heregsehgui gej heleh geegui l dee. 😉
Gruss

badaa · 2011/02/15 at 19:36

@hehe,
Сэдвээс хазайгаад алга болох нь болсон. Тэр микрософт хамгийн шилдэг залуусыг авдаг гэдэг чинь ёстой үлгэр л дээ. Мундаг л бол майкрософтод ордог, Микрософт л бол хамгийн мундаг нь гэж монголд байдаг зарим оюутнууд л бодоод байх шиг байдаг юм. Үгүй шүү!!!
Өөрийг чинь би хэр туршлагатайг мэдэхгүй, гэхдээ л бичсэн зүйлээс тань харахад миний 10-д жилийн өмнөх сэтгэлгээгээр яриад байна даа.
Би хаа нэгтэйгээс сонссон эсвэл уншсан зүйлээ блогтоо бичдэггүй, харин хийсэн болон мэдэрсэн зүйлээ бичдэг гэдгийг сануулъя. Миний бие нэг мэдэхэд 16 жил өөрөө тооцоолуурын програмчлал, менежмент, архитектуртай ноцолдчихжээ. 20 мөртэй програмаас эхлээд 200 000 мөртэй 20 жилийн турш хөгжүүлсэн томоохон системүүдтэй зууралдаж байж хожуу ч гэсэн програмчлал нь УРЛАГ, УРАН САЙХАН гэдгийг мэдэрснээ дэлгэрэнгүй биш мэдээллийн чанартай мутарласан юм аа.
@ulzii,
Тийм байлгүй дээ. 😉 Та бид 2-н хэн нэг нь хэлээ нэлээн мартаад байгаа юм биш байгаа?

Баярхүү · 2011/02/15 at 20:34

Морин хуур тоголж сураад энд тэндээс УРЛАГ, УРАН САЙХНЫГ олж мэдрээд байна уу? 🙂 Ian Sommerville -н ном чамд байгаа юм уу? цаасан ном уу? германаар уу англиар уу?

Tulgaa · 2011/02/16 at 11:04

Sonirholtoi sedev bh shig bn. Bi informatiker bish bolhoor ehnii heden moriig alasgaad shuud SURAH ARGA BARIL gedegt jaahan hoshuu nemii. Suuliin ued ene talaar ih bodoh bolson uchraas. Hun (mongold jishee ni) 10 jil suraad 4 jil ih surguulid suraad surah yostoi buh umaa bas surch amjdaggui bh. Ajiglaad bhad mgl-d ihenh huuhed zaluuchuud dandaa “daramtluulj” baij surdag um shig. Iim um bodoj chadahgui bol surguulias hoon shuu, hicheeld irehgui bol irziin onoo ogohgui shuu gedeg ch umuu. Iimerhuu baidlaar sursan zaluuchuud end tend cholootoi gazar ochihooroo heseg hugazaand neleen holoo aldaj bh shig( zag hugazaag gol ni helev). Tiim bolhoor bagaas ni SURAH ARGA BARIL gedgiig demjij (hun bur ooriin gesen oortoo taarsan arga bariltai bh) dadlagshuulah heregtei um shig.
Bodlogiin ogogdoliig bi jaahan oorchilmoor bn. 5 litriin savtai usiig 5 alhmiin zaan margaash gehed orgood tavi. Daalgavariig yaj bieluuleh analyse Badral saihan todorhoilson bn.Zag nemeed ogohoor oor shiidel garch irj boloh um. Mongolchuudiin uujuu taivan zangaar za yahav oroi tiishee savaa orgood tavii za ern onoodor bolii ogloo erthen bosood hiiye ogloo ert bosood yaj tavih uchraa olohgui bolhoor ichsen hun hun alna gecheer hyalbarhan muuhan argaar asuudal shiiddeg handlaga ih bh shig. Minii heleh geed bgaa sanaa bol Zag hugazaa. Herev Bat savaa uzej sudlaad neg dor 5 alham gazar zooj chadahgui bol neg neg meter-r zoogood ogloo gehed belen bolson bol hund baidal orohgui bsan bhdaa. Hund ern hiij chadahgui hurehgui um gej bhgui um shig.Hamgiin gol ni her hurdan hureh gazraa hurch bgaa ni odoogiin ued huniig uneldeg neg shalguur umuu daa( genie humuusiig es toozov, mass-r ni yariv). Ene bugdiig ergezuulj bodohoor umiig SURAH ARGA BARIL ehnees ni zov ezemvshmeer.

H.D.NR · 2011/02/23 at 19:37

ХЭХЭ эрхэм уг нь зөв яриад байгаа ч үе бараг өнгөрч байна даа. Бүхнийг анхнаас нь эхлэнэ гэвэл хөөрхий Монгол хэзээ ч гүйцэхгүй. РНР г зохиосон нөхдүүд хувийн жижиг вэб хийх болоод тэгээд үндсэн бүтэцээ зохиогоод тэрийгээ нээлттэйгээр хөгжүүлтэл магадгүй хамгийн олон удаа хэрэглэгдсэн вэб програмчлалын хэл болсон. Одоо хэн нэгэн вэб зохиохын тулд заавал ассемблерээс эхлээд зохиох шаардлага байхгүй биш үү. Бэлэн байгаа аль нэг хэлнүүдээс аваад ашиглачихад болно. Ер нь бол сүүлийн үед Бадаа ах шиг хүмүүсийн хийдэг ажил бол зургийг томоор нь хардаг болсон шиг байгаа юм. Угаасаа хүний хөгжиж ирсэн зам нь тэр. Шинээр тагнуулын ерөнхий газрын систем хийх л гээгүй бол “залхуу” арга нь цаг үетэйгээ хөл нийлүүлсэн хэрэг байхаа. Виндовс 7 дээр хэдэн сарын өмнө 11 жил байсан алдаа илэрч байсан шиг юм бол томоор нь сэтгэхийн алдаа шиг байгаа юм. Угаасаа хүн гэдэг төгс бус болохоор тэр олимпиадын аврагууд хийсэн ч алдаа гарах л байх.

mtsd bi surdag · 2011/03/03 at 05:56

bi mtst surdag umnu bi lav henees huulj boldogoo boddgui bugdiin uuruu mahan garaaraa hiideg. OROLDLGO SAIT OROID GARNAA.

Тулга · 2011/03/11 at 02:19

Сайн байна уу. Саяхнаас нэг ерөнхий хэлбэрийн код генератор хийх санаа төрчихөөд хийх гээд суурийг нь гаргаж чадахгүй мангартаад байна. Зарим хэсгүүдийг нь бол хийсэн байгаа л даа. “Граф хандалтат програмчлалын жава эх кодыг”, энэ сэдэв дээр цөөн хэдэн асуулт таниас асууя.
1. Яагаад заавал “Жава” гэж? Хэрвээ генератор хийж байгаа бол тэр нь темплэйттэй, зөвхөн темплэйт нь хэлнээс хамааралтай болох байх?
2. UML ашиглаад бүх хэлний, бүх төрлийн (HTML, XML, JS, Python, Java…) кодыг хэвлэж чадах уу?
3. Граф дээр бодвол хэд хэдэн төрлийн оройнуудтай байх(HTML node, Model node…). Тэдгээр оройнуудыг нэг нэгнээс удамшуулах боломж оруулсан уу?
Графаа үзүүлэх, засварлахдаа ямар хэрэгсэл ашигласан бэ?

badaa · 2011/03/11 at 20:25

1. Би дур мэдэж биш сургуулиас өгсөн сэдэв учраас жава хэлний код үүсгэжээ. Хэв (template) хувьд санаа нь зөв байна.
2. Чадна. Гэхдээ UML бүрэн загварчилж чаддаггүй. Миний хийж байсан зүйлийн хувьд UML + Story Diagram гээч зүйл нэмж орж байж бүрэн код үүсгэж байсан. Инэтээс хайвал материал олдоно.
3. HTML node, Model node??? Иймэрхүү зүйлстэй огт холбоогүй. Объект хандалтат технологийн өргөтгөл гэж ойлговол илүү ойр юм даа. Гүүглээс graph oriented programming гээд хайж үзнэ үү. Хэрэгслийн хувьд би дээр FUJABA гээд бичсэн байгаа байхаа. Үгүй бол өмнө блогтоо хаа нэгтээ бичсэн. Түүний талаар http://www.fujaba.de/ ороод илүү мэдээлэл авч болно. Төлбөргүй нээлттэй эх бүхий програм байгаа. Миний ажлын хувьд dragos fujaba гээд хайвал гараад ирэх байхаа.

Yamo · 2011/09/13 at 03:27

АМжилт

BB · 2012/05/11 at 13:46

Яригдаад байгаа код бичих арга барил, стандарт, хялбаршуулалт, ахин ашиглагдах боломж зэргийг томоохон хэмжээний төслүүд дээр олон жилийн турш ажиллаж, туршлага хуримтлуулж байж эзэмшинэ. аны хувд бол энэ нь ямар чухал гэдгийг ойлгосон учраас хөндөж тавьсан байна. Яг одоо манай програмистууд том төсөл хөгжүүлж сураагүй болохоор томоохон тендерүүдэд чадна гэж ороод, ямар ч уялдаа холбоогүй, зохион байгуулалтгүй програм хийгээд гадныханд тендерүүдээ алдах гээд байх шиг байна. Гол нь олон жилийн нөр их туршлага, сайн багш хэрэгтэй. Одооноос л тэр боломж нь бүрдэж болох байх /тань шиг хүмүүс багшилж байж :)/ тэгэхгүйгээр зүгээр энд яриад асуудал шийдэгдэхгүй. Бас нилээн олон удаа яригдаж буй сэдэв байна.

Улаанбаатарын утаа « Badral's personal blog · 2011/03/13 at 20:23

[…] асуудлыг хэр шинжилж, яаж шийдэж байгааг жишээлсэн өгүүлэл бичиж байсан. Түүнтэй энэхүү асуудлыг харьцуулаад […]

Leave a Reply

Your email address will not be published. Required fields are marked *