ІТ-дің әліппесі – бағдарламалау тілі
Бағдарламалау тілі – компьютерде бағдарлама жазуға арналған ресми ережелер жиынтығы. Адамдар сөйлесу арқылы қарым-қатынас құрады, ал компьютермен байланыс орнату үшін бағдарламалау тілі қажет. Бағдарламалау тілінде де лексика, яғни функциялар мен операторлар болады. Олардан синтаксис ережелері бойынша сөйлем, яғни бағдарлама құралады. Бағдарлама – құрылғының қандай да бір пайдалы әрекет жасауы үшін жазылатын тапсырма. Компьютер тілін түсінетін қолданушы код жазу арқылы тапсырма береді. Құрылғы соны алгоритм бойынша орындайды. Адам мен компьютер арасындағы қарапайым байланыс осылай орнайды.
Кез келген маман түйіндеме жазғанда қандай шет тілдерін меңгергенін көрсетеді. Ал ІТ-маман қандай бағдарламалау тілінде жұмыс істейтінін жазады. Мысалы, Әліби Өмірзақ ана тілімен қоса, орыс, ағылшын және түрік тілдерін біледі, ал бағдарламаушы ретінде С/С++, С#, Pascal, Python, Java/Java Script тілдерін меңгерген.
ІТ-технология дамыған сайын жаңа тілдер пайда бола береді. Сондықтан әлемде нақты қанша бағдарламалау тілі тіркелгенін дөп басып айту қиын. Мамандардың айтуынша, 9 мыңға жуық бағдарламалау тілі бар, оның 700-ге жуығы қолданылып жүр. Ең танымал әрі жиі қолданылатыны 15-20-сы ғана. Барлық бағдарламалау тілінің негізі бір, ІТ-мамандар қажетіне қарай өңдеп, жаңа тіл жасай алады.
ТМД елдерінде бухгалтерияда жиі қолданылатын 1C платформасы бар. Бұл платформаны жасау үшін бағдарламалаушы арнайы 1C тілін ойлап тапты. Сол сияқты техникалық тапсырманы орындауға ыңғайлы тіл жасай беруге болады. Сондықтан уақыт өткен сайын түрлі тіл пайда бола береді, бірақ кейбірінің қолдану аясы тар болуы мүмкін, — дейді Әліби Өмірзақ.
Бағдарламалау тілдері үстіңгі қабаттағы (upper) және астыңғы қабаттағы (lower) тілдер деп бөлінеді. Алғаш пайда болған тілдер lower level-ге, ал 2006 жылдан бастап пайда болған салыстырмалы түрде жаңа тілдер upper level-ге жатады. Upper level-дегі тілдер ІТ-маманның жұмысын жеңілдетеді. Lower деңгейдегі тілде бір ақпаратты шығару үшін кемінде 20 жол код жазу керек, ал upper level-дегі тілде сол ақпаратты бір сөз арқылы шығаруға болады.
Әдетте шет тілін В1 деңгейінде меңгеру жақсы нәтиже боп есептелсе, бағдарламалау ісінде тілдің логикасын түсіну оны меңгерудің алғышарты саналады.
Негізі бағдарламалауда тілдердің іргетасы ұқсас, бастапқы ақпарат бәрінде бірдей. Тек upper level-дегі тілдердің ерекше синтаксистік сөздері болуы мүмкін. Маңыздысы — ассемблерге (ассемблер — мәтіндегі ақпаратты машина тілі аударады) схема қалай құрылатынын түсіну, — дейді Әліби.
ІТ-ға апарар жол
Әлібидің ІТ-ға қызығушылығы бастауышта оқып жүргенде басталған. Отбасы Тараздан Астанаға көшкенде Әлібиге компьютер сатып әпереді. 3-класс оқитын ол алғашында түрлі видео қарап, ойын ойнап, кейін компьютерді табыс көзіне айналдырыпты.
Достарымның көбінің компьютері болмады. Ол кезде компьютердің көп функциясын мен де білмеймін, тек кино көру үшін қолданатынмын. Бірде фильмдерді дискке көшіріп, балаларға сатып, табыс тапқаным есімде, — дейді ол.
Әліби мектеп бітірген соң Қожа Ахмет Ясауи атындағы Халықаралық қазақ-түрік университетіне ақпараттық жүйелер мамандығына оқуға түседі. ІТ әліппесін университет қабырғасында меңгеріп, кейін достарымен түрлі жоба жасауға қатысқан.
3-курста оқып жүргенде жоғары курстағы достарыммен Түркістан, Шымкент, Кентау қалаларындағы шағын компаниялар мен өндіріс орындарынан тапсырыс алдық. Университетте алған білімді практикада қолданып, тәжірибе жинадық, — дейді ол.
Қазір Әліби әл-Фараби атындағы ҚазҰУ-дың ақпараттық технологиялар факультетінде магистратурада оқиды және бірнеше компанияда жұмыс істейді. Оның айтуынша, ІТ – кең ауқымды сала, бір тілді меңгеріп, бірнеше бағытта жұмыс істеуге болады. Әзірлеуші (разработчик) ғана емес, монтаж, аналитика, киберқауіпсіздік, тіпті шығармашылық бағытта да жұмыс істейтіндіктен ІТ-ден жалығу мүмкін емес.
ІТ әлемінің арғы және бергі беті
Атқаратын функциясына қарай бағдарламаушылар frontend және backend деп бөлінеді. Мұны айдың немесе сахнаның көрінетін (frontend) және көрінбейтін беті (backend) деп елестетуге болады. Әліби екі бағытта да жұмыс істеп жүргендіктен өзі құрастырған логиканы өзі толықтырады. Кейде frontend пен backend екі түрлі адамның қолынан шыққанда түсінбестік болуы мүмкін. Қарапайым тілмен айтсақ, бэкенд сайттың логикасы мен қызметін ұйымдастырса, фронтенд ІТ-өнімнің қолданушыға көрінетін интерфейсімен айналысады.
Кез келген сайт, платформа, мобайл қолданбаға кіргенде frontend әзірлеушінің жұмысын бірден көре аламыз. Frontend әзірлеуші көбіне Java Script, HTML, CSS тілдерін және басқа framework қолданады. Ал сайттың ішкі логикасына backend жауап береді. Қолданушылардың дерегін жинау, базаға енгізу, кері байланыс орнату — соның қызметі, — дейді ІТ-маман.
Қазір Әліби күрделі backend бойынша қаржы компаниясында жұмыс істейді. Мұнда қолданушылар өзі туралы деректерді енгізген соң өңдеуші оны банкке жібереді, банк сұранысты зерттейді. Сұраныс мақұлданса, ақпаратты жүйеге жібереді.
Деректер базасын цифрландырудың пайдасы
ІТ көптеген саланы цифрландырып, физикалық, экономикалық шығынды азайтуға көмектеседі. Әліби ІТ-маман ретінде биоинформатика саласында деректер базасын цифрландыруға қатысқан. Бұл процесте Python тілін қолданып, жақсы нәтижеге жетіпті.
Жобада үлкен аумақтағы деректер базасын цифрландырып, қол жеткізуге болатындай ету тапсырмасы болды. Ауруханаға туберкулезбен ауырған түрлі науқас тіркеледі, сәйкесінше дәрігер оларға түрлі дәрі-дәрмек тағайындап, науқастың жағдайын бақылап, нәтижесін жазып отырады. ТМД бойынша осы ақпарат жинақталған сервер бар. Ондағы ақпаратты базаға енгізу арқылы ұқсас ауру белгілері бар науқастарға тиімді ем белгілеу процесін жеңілдетіп, жеделдеттік, — дейді Әліби.
Әліби бұл жобада Python тілін қолданғанымен, кез келген бағдарламалау тілі әмбебап екенін айтады. Оның айтуынша, Python тілін тек деректер базасын жинақтағанда емес, түрлі бағытта қолдануға болады.
Барлық тілдің негізі бір болғандықтан C++ тілімен cайт жасай беруге болады немесе ойын жасауға арналған Python, PHP тілімен backend жасай аласың. Қысқасы, кез келген тілдегі өзіңе қажет функцияны алып еркін қолдануға болады. Неғұрлым көп тіл меңгерсең, соғұрлым жан-жақты маман боласың, — дейді ол.
Әліби бағдарламау тілдерін үйрене бастағанда «Java Script не себепті тек frontend-те қолданылады» деген сұрақ болыпты. Алғашқы браузер Internet Explorer қолданысқа енгенде бағдарламаушылар оны Java Script арқылы жасаған. Одан кейін қанша браузер пайда болса да ІТ-мамандар тек осы тілді қолданған. Басқа тілде браузер жасап көру уақыт пен тәжірибені, жаңа алгоритм құруды қажет ететіндіктен, ешкім оған бас ауыртқысы келмеген.
Негізі басқа тілде де жақсы браузер жасауға болар еді. Сол сияқты кез келген тілді түрлі ІТ-өнім жасау үшін қолдануға болады. Тек ол үшін біраз ізденіс, еңбек, тәжірибе керек, — дейді маман.
Кодты «таза» жазудың маңызы
ІТ-мамандардың арасында «кодты таза жазу» деген термин бар. Қарапайым тілмен айтсақ, сөздерді, сөйлемдерді (бағдарламаны) қатесіз, әдемі жазу қабілеті. Бала мектепке алғаш барғанда әдемі жазғаны емес, әріп танығаны маңызды. ІТ-де де сол сияқты, алғашында тілді үйренгенде таза жазуға онша көңіл бөлінбейді, басты мақсат – бағдарламалау тілінің логикасын түсіну.
ІТ-маманға техникалық тапсырма беріледі, оның міндеті – тапсырманы орындап, нәтижеге жету. Алдыңда үлкен тапсырма, қаншама есеп, алгоритм құрастыру тұрғанда кодтың таза жазылғанына мән бермейсің. Тапсырыс берушіге де кодтың қаншалық таза жазылғаны маңызды емес, бірақ уақыт өте келе маман кодты барынша таза, әдемі жазуға өзі-ақ дағдыланып кетеді, — дейді Әліби.
Перфекционист адамға техникалық тапсырманы орындау қиынға соғуы мүмкін. ІТ-мамандардың кеңесі мынау: алғашқы талпыныстан мінсіз код жазуға ұмтылып, уақыт жоғалтпаңыз. «Таза» код жазу уақытпен, тәжірибемен келеді. Бағдарламалау тілін толық меңгерген соң маманға басқа ІТ-мамандарға түсінікті, ретпен орналасқан код жазу қалыпты нәрсеге айналады.
ІТ-мамандар бір-бірінің тілін қалай түсінеді?
ІТ-маманның басқа біреу жазған кодты түсінуі оның қанша тіл меңгергеніне емес, білік деңгейіне де байланысты. IT- мамандар junior, middle, senior деген үш деңгейге бөлінеді. Деңгей маманның меңгерген дағдылары мен тәжірибесіне байланысты анықталады.
Бағдарламалаушылар middle деңгейіне жеткенде ғана басқаға түсінікті код жаза алады. Қазір халықаралық нарықтағы компанияларға жұмысқа орналасып, әртүрлі ІТ-маманмен, бағдарламамен «тіл табысып» жүрген достарым бар, бұл деңгейге жету үшін көп жаттығып, машықтану керек, — дейді Әліби.
ІТ-мамандардың бір-бірін түсінуі жұмыс істейтін, қызмет ететін саласына да байланысты. Әліби қазір банктермен ақпарат алмасу бағытында жұмыс істеп жатқандықтан JavaScript, Golang, Lua, PostgreSQL бағдарламалау тілдерін қолданады. Дәл осындай бағытта жұмыс істейтін шетел компаниясында осы кейс арқылы жұмыс істей алады.
Код жазбай ІТ-маман бола ала ма?
Кейінгі уақытта ІТ-нарықта NoCode яғни, кодсыз бағдарламалау тәсілі танымал бола бастады. Адамдар код жазбай-ақ дайын шаблондарды қолдану арқылы ІТ-өнім жасай алады. Осылайша, бағдарламалау тілін меңгермей-ақ, код жазуды үйренбестен ІТ-маман атануға болады деген пікір қалыптасты.
Әлібидің айтуынша, қазір автоматтандыру жүйесі арқылы кез келген нәрсеге оңай қол жеткізуге болады, бірақ бұл ІТ-мамандардың ізденісін азайтады.
NoCode тәсілі ІТ-дегі ізденіс пен шығармашылықтың тоқырауына әкелуі мүмкін. Бұл тәсілдің де негізі бағдарламалау тілінен, логикадан бастау алады. Сондықтан бағдарламалау тілін меңгеру, код жаза білу бәрібір ІТ-маманға ауадай қажет, — деп қорытындылады Әліби Өмірзақ.
***
Тағы оқыңыз: