Програмиране
From Wikipedia, the free encyclopedia
Програмирането е процесът на създаване на компютърни програми – програмен код или алгоритъм, който може да бъде разчетен и изпълнен от компютър. Програмиране се наричат също академичната дисциплина и компютърната наука – дял от математиката и информатиката – които се занимават с алгоритмите и методите и средствата на програмирането.
Тази статия се нуждае от вниманието на редактор с по-задълбочени познания. Ако смятате, че имате необходимите знания, подобрете тази страница. |
При програмирането се използват различни езици за програмиране, на които се записват изходните кодове на програмата.[1] Тези езици имат различно предназначение, като някои от тях са езици на ниско, други на високо ниво, някои са уеб езици за програмиране, някои са скриптови, други функционални или процедурни, както и такива, които включват работа с обекти – обектно ориентирани езици за програмиране. Алгоритмите се делят най-общо на прости, сложни, и такива които изискват теореми или създаването на нови теореми (в математиката). Алгоритмите са специфична област на изучаване в програмирането и компютърните науки, в математиката, както и за оптимизацията на програмния код и добрата работа на процесора.
Програмирането включва писането на код, тестването му и поддържането на изходния код. Програмата е изпълнима от компютъра, но за да бъде полезна за потребителите, тя трябва да отговаря на поставените изисквания към софтуера. За разлика от системния софтуер, софтуерът за потребителите има други етапи на създаване, като се отделя внимание на функционалните и потребителски изисквания („Какво иска потребителят?“). Потребителят може да е голям клиент или множество по-малки клиенти, или дори фирма, заявила разработка на софтуер, затова във всеки конкретен случай се дефинират софтуерни изисквания (requirements) според нуждите на потребителите. След това се пристъпва към най-общото разграфяване по етапи и дизайн като решение на софтуерно програмния процес: от една страна, самият софтуер се проектира най-общо като потребителски дизайн и интерфейс, от друга страна, се разпределят неговите функционалности на изпълнението за написване като код, в необходимата последователност.
Програмният код, който се пише на даден език за програмиране, се пише на базата на избраните според изискванията и спецификациите алгоритмични параметри, той може да бъде и модификация на съществуващ вече код или да бъде базиран на код на друг език, с цел решаването на даден математически проблем или програмно изискване.[2] Отделно готовият софтуерен продукт подлежи на тестване на потребителския интерфейс. Макар че обикновено се възприема, че софтуерният продукт се тества от тестови екип по осигуряване на качеството, в действителност това е основното тестване на даден софтуер или програмен продукт, това може и да е уебсайт или конкретна онлайн функционалност към уебсайт, а основното тестване се прави от софтуерния мениджърски екип и дори от топ мениджъра, които проверяват дали писаното като код и тествано от тестовия екип е действително работещо. Компании от софтуерната индустрия, които се опитват да прехвърлят основното тестване към тестващия екип в действителност възлагат мениджърска работа и отговорности към тестващите, като отказът от този тип отговорност от страна на софтуерния мениджмънт понякога става причина такива компании да излязат от пазара или се налага да се преструктурират, независимо колко изгодно на пръв поглед изглежда да се прехвърля отговорното тестване, което предхожда пускането на софтуера към клиентите на тестовия екип.
В действителност най-солидните компании като Майкрософт например разчитат на код, писан и от самия основател на компанията, така че може да се каже, че тестването на софтуер за клиенти е мениджърски минимум[поясни], който разбира се не отменя работата на софтуерни или тестови екипи. В този смисъл от значително предимство е основателят или президентът (дори това да е жена) на една софтуерна или програмистка компания да е програмист, да може да програмира на практика, да може да прави софтуер, да има личен опит в създаването на софтуерни продукти, да разбира значението на това един софтуер да е работещ и да е тестван, преди да бъде подаден на потребителите, да е програмист или поне инженер в някоя близка област, която да му дава възможност да разбира значението на термини като „изисквания“ и „спецификации“, а не да ги поставя в полето за неясни софтуерни термини, това са термини от инженерните науки като цяло.
В сферата на софтуерното инженерство, програмирането е основната част от процеса на разработка на софтуер, но създаването на стабилен работещ софтуер изисква много повече от способността да се пише код.
В някои специализирани приложения или специфични ситуации, програма може да бъде написана или модифицирана чрез директно зареждане на нужните инструкции на машинен код и тяхното изпълнение.