6 января 2016 г. 11:10 4477

Марк Андрессен айткандай, келечекте бардык иш эки мүнөзгө бөлүнөт. Бири – компьютер аркылуу эмнени кандай кылыш керек экенин үйрөтөт. Экинчилер болсо, компьютер эмнени буюрса, ошону аткарат

Программа адамдын каалоосун түшүндүрөт

Күндө колдонуп аткан лифт, унаа, учак жана смартфондон баштап, татаал, атайын багыттагы нерселердин баары программалык жабдыктар аркылуу башкарылат. Программалык жабдыктар компьютер жана башка түзмөктөргө тиешелүү эсептөөлөрдү аткарып, тегерегиндеги чөйрө менен алака кылууга мүмкүндүк берет. Эмесе, «программалык жабдык компьютерге кандай жайгаштырылат? Программаны ким жазып берүүсү керек? Программалоо деген эмне?» деген суроолорго жооп издеп көрөлү.

Программалоо же коддоштуруу – адамдын каалоолору менен компьютердин техникалык мүмкүнчүлүктөрүн көпүрө сымал байланыштырып турган жана атайын компьютер үчүн жазылган көрсөтмөлөрдүн жазуу ыкмасы. Жүзгө жакын программалоо тили компьютер аркылуу иштөөсү үчүн түздөн-түз пайдаланылбай турганын жакшы билишибиз керек. «Жогорку деңгээлдеги» деп аталып келген С++, Python, Java ж.б.у.с. тилдеги буйруктар атайын иштелип чыккан жабдык аркылуу компьютер түшүнүп, аткара алган «төмөнкү деңгээлдеги» тилге которулат. Кээде программист адистер программалоочу жабдыктарды түздөн-түз «төмөнкү деңгээлдеги» көрсөтмөлөргө жазганга аракет кылышат. Бирок бул көп убакытты талап кылган өтө майда иш. Адатта, баштапкы программаны жогорку деңгээлдеги программалоо тилинде жазып чыгуу бир топ жеңил. Себеби жогорку деңгээлдеги тилдер татаал, бир эле убакта көп маани камтыган идеялар менен буйруктарды түшүндүрүүнү жеңилдетет. Ошондой эле алар программада иштелүүчү конкреттүү санариптик түзүлүштүн техникалык өзгөчөлүктөрүн программист тарабынан терең изилденишин талап кылбайт. Ошондон улам, жогорку деңгээлдеги тилде жазылган программалар түрдүү компьютерлерде иштетиле берет.

Программа тилинин да улуту бар

Адамдын тили сыяктуу эле программалоо тилдери да түрдүү стилдер менен топторго бөлүнөт. Мисалы С++, Java, PHP тилдери С тилинин негизинде жазылган. Кадимки тилдер сыяктуу эле программалаштыруу тилдери да бирдей маани бериши мүмкүн. Ошондуктан ар бир программаны каалаган тилиңде жазсаң болот. Бирок жаза келгенде кээ бир тилдер максат кылынган нерсени жакшыраак түшүндүрүп берүүсү мүмкүн. Бул жерде англис тили ишкерлердин эл аралык тили болгонун, же француз тили салттуу дипломатияга жакшы жараганын мисал кылсак болот. Кадимки чет тилди өздөштүрүүгө окшоштугунун дагы бир мисалы бир программа тилин үйрөнсөң, ал кийинки тилдерди үйрөнүүгө пайдубал болуп берет. Бир программа тилиндеги окшоштуктарды, кайталанууларды, жалпы усулдарды, дайыма колдонулган сөздөрү сыяктуу жалпы мүнөздөрдү жакшы өздөштүрсөңүз, кийинки тилди үйрөнүү сизге бир топ эле жеңил болот. Эгер жаңысы сиз өздөштүргөн тилдин түрүнө кирген болсо, ого бетер оңойлойт.

Компьютерди башкарасыз же башкарыласыз

Кээ бирлерине компьютердик программаны жазып, ишке киргизүү шумдуктуу керемет катары көрүнүүсү мүмкүн. Талап кылынган натыйжага жетүү үчүн цифралар, тамгалар менен коддук белгилер микроскопикалык схемалар аркылуу компьютердик жоболорго айланат. Анын натыйжасында пикселдер (санариптик бирдик) экрандарга чыгып, лифттер жылып, электрондук каттар жеткирилип, терминалдар акча алып жатышат. Бул иштер жана болуп жаткан натыйжалар сыйкырга окшоп турса да, программалаштыруу жөнөкөй адам үчүн табышмактуу жана аткарууга мүмкүн эмес болгон нерсе эмес. Чындап келгенде компьютердин сыйкырга эч тиешеси жок. Алар эсеп, ирээт жана логикага жараша иштейт.

Адамдардын көбү күнүмдүк ишин аткаруу үчүн чет тилди же алгебраны билүүгө муктаж болбогондой эле, программалаштырууну үйрөнүүгө да муктаж эмес. Бирок ушундай катардагы адамга да программалоонун негизин үйрөнүп коюу пайдалуу болмок. «Санариптик кара кутунун» сырдуу маңызын билүү үчүн гана муну максат кылбоо керек. Netscape интернет браузерин негиздеген Марк Андрессен айткандай, келечекте бардык иш эки мүнөзгө бөлүнөт: бири компьютер аркылуу эмнени кандай кылыш керек экенин үйрөтсө, экинчилер болсо, компьютер эмнени буюрса, ошону аткарат.

Математик болуунун кереги жок

Эгер ишиңиз менен сыймыктансаңыз, бирок ал жакында программа аркылуу автоматташтырылат деп чочусаңыз, анда программалоо ыкмасын өздөштүрүү сиз үчүн өтө пайдалуу болот. Учурда муну интернеттен бекер эле үйрөнсөңүз болот. Жигердүү программалоочу болуш үчүн, сөзсүз математиканын туу чокусуна чыгуунун кереги жок. Буга чейин күчтүү программачы болуу үчүн математиканы жаңгактай чагыш керек деген туура эмес пикир айтылып келген. Албетте математиканы билүү программалаштыруунун кээ бир маселелерин чечүүгө жардам берет. Айрыкча мурун программалар Fortran тилинде жазылган убакта математиканы жакшы билүү зарыл болчу. Бирок, учурда компьютердин негизги максаты түрдүү нерселерди бири-бирине ыңгайлаштыруу моделдерин иштеп чыгуу же согуштук ракетанын учуу траекториясын эсептөө эмес. Азыр компьютерлер менен байланыштыруу каражаттары башкача, көбүнчөсүн катардагы адамга керек болгон коомдук иштерди аткарууга пайдаланылат. Интернеттин кеңири тароосунан улам, компьютерлер адамдар үчүн баарлашууга, дүр-дүйнө сатууга жана түрдүү кызмат көргөзүү үчүн колдонулуп калды. Мындан сырткары программалаштыруу тилдери да жакшы калыптанып, алар жалпы адамзатка ыңгайлаштырылып «инсан» шекилин ала баштады.

Макала “The Economist”эл аралык журналынан алынып которолду

Нурадил Раимбеков