Кіріспе

Бағдарламалық жасақтама әзірлеушілері басқа бағдарламалар мен қолданбаларды қолдау үшін пайдаланатын компьютерлік бағдарлама. Бағдарламалық жасақтама құралы немесе бағдарламалық жасақтаманы әзірлеу құралы – бағдарламалық жасақтама әзірлеушілері басқа бағдарламалар мен қолданбаларды құру, түзету, күтіп ұстау немесе басқаша қолдау үшін пайдаланатын компьютерлік бағдарлама. Бұл термин әдетте салыстырмалы түрде қарапайым бағдарламаларды білдіреді, олар бір тапсырманы орындау үшін біріктірілуі мүмкін, физикалық нысанды түзету үшін бірнеше қолды пайдалану сияқты. Ең негізгі құралдар – бастапқы код редакторы және компилятор немесе интерпретатор, олар кеңінен және үнемі қолданылады. Басқа құралдар тілге, даму әдістемесіне және жеке инженерге байланысты аз немесе көп қолданылады, көбінесе жөндеуші немесе профильдеуші сияқты нақты тапсырма үшін қолданылады. Құралдар жеке бағдарламалар болуы мүмкін, олар көбінесе командалық жолдан орындалады, немесе біріктірілген даму ортасы (IDE) деп аталатын бір үлкен бағдарламаның бөлігі болуы мүмкін. Көп жағдайда, әсіресе қарапайым қолдану үшін, құралдың орнына қарапайым, уақытша әдістер қолданылады, мысалы, жөндеушінің орнына басып шығару арқылы түзету, профильдеушінің орнына (бағдарламаның немесе кодтың бөлігінің) уақытын қолмен өлшеу немесе қателерді қадағалау жүйесінің орнына мәтіндік файлда немесе электрондық кестеде қателерді тіркеу. Құралдар мен қолданбалар арасындағы шекара шашыранды. Мысалы, әзірлеушілер құрал ретінде қарапайым деректер базасын (мысалы, маңызды мәндердің тізімін қамтитын файлды) үнемі пайдаланады. Дегенмен, толыққанды деректер базасы әдетте өз алдына қолданба немесе бағдарламалық жасақтама ретінде қарастырылады. Көп жылдар бойы компьютерлік көмекпен бағдарламалық жасақтаманы жасау (CASE) құралдары іздестірілді. Бірақ табысты құралдарды табу қиын болды. Бір жағынан, CASE құралдары дизайн мен архитектураны қолдауға, мысалы, UML сияқты, баса назар аударды. Бірақ ең табыстылары – IDE.

Адам тілінен компьютер тіліне аудару

Қазіргі заманғы компьютерлер өте күрделі, сондықтан оларды тиімді бағдарламалау үшін әртүрлі абстракциялар қажет. Мысалы, бағдарламаның екілік көрінісін жазудың орнына, бағдарламашы C, Java немесе Python сияқты бағдарламалау тілінде бағдарлама жазады. Ассемблерлер, компиляторлар және линкерлер сияқты бағдарламалау құралдары бағдарламаны адам жаза алатын және түсіне алатын бастапқы тілден компьютер орындай алатын биттер мен байттарға аударады. Түсіндіргіштер (интерпретаторлар) бағдарламаны жұмыс істеп тұрғанда, қажетті нәтижені алу үшін түсіндіреді. Бұл бағдарламалар көптеген анықталған және қайталанатын тапсырмаларды орындайды, олар адам орындағанда уақытты көп алады және қателерге әкелуі мүмкін, мысалы, бағдарлама бөліктерін жадқа орналастыру және линкер сияқты бағдарлама бөліктері арасындағы сілтемелерді түзету. Ал оптимизациялайтын компиляторлар бастапқы кодқа күрделі өзгерістер енгізе отырып, бағдарламаның орындалу жылдамдығын немесе басқа да сипаттамаларын жақсарта алады. Бұл бағдарламашыға машинаның егжей-тегжейімен айналыспай, бағдарламаның жоғары деңгейдегі, түсіндірмелік аспектілеріне көбірек назар аударуға мүмкіндік береді.

Бағдарлама туралы ақпаратты адамдарға жеткізу

Бағдарламалық жасақтаманың жоғары күрделілігіне байланысты, тіпті ең тәжірибелі бағдарламашы үшін де көптеген бағдарламаларды бірден түсіну мүмкін емес. Жоғары деңгейдегі бағдарламалау тілдері ұсынатын абстракциялар бағдарламашы жазған бастапқы код пен бағдарламаның нақты мінез-құлқы арасындағы байланысты түсінуді одан да қиындатады. Бағдарламадағы қателерді табу және бағдарламаны кеңейту кезінде жаңа қателердің пайда болуын болдырмау үшін бағдарламашы бағдарлама туралы түрлі ақпаратты көруге мүмкіндік беретін бағдарламалау құралдарын пайдаланады. Мысалы, жөндеу құралы (debugger) бағдарламашыға іске қосылып жатқан бағдарлама туралы ақпаратты, оны бағдарламалау үшін қолданылған бастапқы тіл арқылы алуға мүмкіндік береді. Жөндеу құралы компилятор сақтаған ақпаратты пайдаланып, нақты машинаның күйінен бастапқы бағдарламадағы айнымалының мәнін анықтай алады. Жадты жөндеу құралдары (memory debuggers) іске қосылып жатқан бағдарламалардың жадқа қатысты күмәнді немесе мүлдем дұрыс емес кірулерін тікелей көрсете алады, бұл қателер әдетте анықталмай қалады және бағдарламалардың істен шығуының жиі кездесетін себебі болып табылады.

IDE

Интегралды даму ортасы көптеген құралдардың мүмкіндіктерін бір пакетке біріктіреді. Олар, мысалы, нақты міндеттерді орындауды жеңілдетеді, сияқты белгілі бір жобадағы файлдардағы мазмұнды іздеу. IDE-лерді, мысалы, кәсіпорын деңгейіндегі қосымшаларды жасау үшін қолдануға болады. Әртүрлі бағдарламалау тілдері үшін IDE-лердің әр түрлі аспектілерін интеграцияланған даму орталарының салыстыруынан табуға болады.