Програмиране

от Уикипедия, свободната енциклопедия
(пренасочване от Разработване на софтуер)
Направо към навигацията Направо към търсенето
Компютърна програма, която използва изкуствен интелект

Програмирането е наука, която се занимава с методите и средствата за създаване на компютърни програми. Компютърната програма представлява алгоритъм, който може да бъде „разбран“ и изпълнен от компютъра. Процесът по създаването на програма включва писането, тестването и поддържането на нейния сорс код (изходен код). Кодът, който се изписва чрез език за програмиране, може да бъде модификация на съществуващ вече код или да бъде нов, с цел решаването на зададен проблем.[1]

В сферата на софтуерното инженерство, програмирането е част от процеса на разработка на софтуер.

В някои специализирани приложения или специфични ситуации, програма може да бъде написана или модифицирана чрез директно зареждане на нужните инструкции на машинен код и тяхното изпълнение.

Софтуерен инженер[редактиране | редактиране на кода]

Софтуерният инженер (програмист) е човек, който пише компютърни програми. Работа на програмиста обикновено включва:

История на програмирането[редактиране | редактиране на кода]

Табулаторът на Холерит от 1890

Най-старата машина за програмиране (това е машина, чието поведение може да се контролира от промените на програма) е програмният хуманоиден робот на Ал Джазари през 1206 г. Външният вид на робота на Ал Джазари е механизирана лодка с четирима автоматични музиканти, която се носи по езерото и забавлява гостите по време на кралските балове. Неговият механизъм включва програмируеми барабани с ключе, захванати на малка ръчка, които отмерват ритъма. Барабанистът е можел да изпълнява различни ритми в зависимост от положението на ключето.

Често за образец на ранното изкуство е считан станът за жакардови тъкани, създаден през 1801 г. В тази машина се използвали картонени карти с дупки по тях, като дупките показват извивките на дрехата. Така в зависимост от картите, които му се поставят, станът можел да произвежда напълно различни дрехи. Такива карти е използвал и Чарлз Бабидж през 1830 г., за да управлява своята сметачна машина. Тук отворите се използват за контрол на машината.

Перфокарта на Холерит

Това нововъведение по-късно е подобрено от Херман Холерит, който прилага перфорацията по определена схема за въвеждане на данни. Холерит изобретява специална перфорираща машина за въвеждане на големи масиви от данни, наречена табулатор. Тя се основава на релета и работи с перфокарти, които получават неговото име. Освен тях изобретява и четец за тези карти. Първото приложение на машината е при обработката на резултатите от преброяване на населението в САЩ през 1890 г. когато резултатите са обработени много по-евтино от очакваното и преди определения срок (при предишното преброяване обработката отнела години)[2]. Следват усъвършенствувания на машината и през 1906 г. моделът Type I Tabulator вече е снабден с комутационен панел и позволява бързо и автоматизирано да се изпълняват различни задачи в счетоводството и складовото стопанство (първата крачка към програмирането).

През 1896 г. Холерит основава компанията Tabulating Machine Company (днес IBM). До края на 40-те години имало различни видове машини за програмиране с комутационен панел (на английски: unit record equipment), които да изпълняват четенето на картите. Ранните компютри също са били програмирани чрез комутационни панели.

Комутационен панел с проводници за сметачна машина IBM 402.

Изобретението на Джон фон Нойман позволява програмите да бъдат запаметени в компютърна памет. Ранните програми трябвало стриктно да задават инструкциите на отделната машина, обикновено в бинарен вид. Всеки модел компютър се нуждаел от различни команди за изпълняването на една и съща задача. По-късно са създадени езиците за програмиране, които позволяват на програмистите да представят всяка инструкция в текстов формат, като въвеждат абревиатури за всички операции, вместо да ползват числа и специфични адреси в символен формат. През 1954 г. е създаден FORTRAN – първият език на високо ниво. Това позволило на програмистите да извършват изчисленията директно чрез задаване на нужната формула. Изходният текстов код на програмата се превежда до машинни инструкции чрез специална програма, наречена компилатор. След това са създадени още много езици за програмиране (някои от тях с комерсиална цел) – като например COBOL. Програмите обаче все още се въвеждат с перфокарти или перфолента.

Кутия с перфокарти за няколко различни програмни пакета

Към края на 60-те години устройствата за съхранение на данни и компютърните терминали се развиват достатъчно, за да стане възможно програмите да бъдат писани директно на клавиатурата. Създадени са текстови редактори, които позволяват на програмистите да въвеждат, редактират и обработват кода си много по-лесно, отколкото с перфокартите.

Езици за програмиране[редактиране | редактиране на кода]

Различните езици за програмиране поддържат различни стилове на програмиране (парадигма на програмиране). Според стила основните сред тях са: обектно-ориентирано, императивно, функционално и декларативно [3]. Според друг източник обектно-ориентираното програмиране спада към императивния стил, а функционалното програмиране спада към декларативния:[4]

  • Императивни
    • Процедурни
    • Обектно ориентирани
  • Декларативни
    • Функционални
    • Логически
    • Функционални + Логически
    • Генетични

Според предназначението си езиците за програмиране биват с общо предназначение и специализирани. Популярни съвременни езици за програмиране с общо предназначение са Java, C#, Object Pascal, C, C++, PHP, Perl. Специализирани езици за програмиране са например SQL (за заявки към системи за управление на бази от данни), JavaScript (за реализиране на динамично поведение в уеб сайтове от страна на клиента) и т.н.

Избирането на език за програмиране е свързано с много съображения като например фирмена политика, съвместимост, наличност на библиотеки или лични предпочитания.

Източници[редактиране | редактиране на кода]

  1. Крушков, Христо. Програмиране на C#. Пловдив, Коала Прес, септември 2017. ISBN 978-619-7134-44-5. с. 5.
  2. U.S. Census Bureau: Tabulation and Processing
  3. ((en)) Nørmark, Kurt. Overview of the four main programming paradigms. Aalborg University, 9 май 2011. Линк ат 22 септември 2012.
  4. Принципи на Функционалното програмиране. Увод в Scheme. // Посетен на 29.12.2014.

Вижте също[редактиране | редактиране на кода]

     Портал „Информатика“         Портал „Информатика