Методология на програмиране: основни понятия и дефиниции

Първоначално имаше много езици за програмиране. Оцелено "право". Но не можем да кажем, че Fortran, Algol, C /C ++ и Pascal се различават качествено от Lisp или Prolog или други езици: различни идеи са изложени, получени са еквивалентни резултати. По същество няма значение как се нарича програмиране, функционално или процедурно. Задачата на програмата, която може да създаде или поне да прочете за себе си, не е толкова интересна. Но в далечните 80-те години всичко беше оживено, уместно и много важно.

Съотношението между началото и настоящия момент

Създаване на компилатор в миналия век - работата на доста голям екип от програмисти в определени техники, математически алгоритми, отчитащи натрупания опит за доста дълго време. По време на работата екипът нараства в брой, постоянно се актуализира и работата е всичко. Методологията на програмиране във всяка компания е различна, тъй като манталитетът на всеки програмист в старите добри времена се различава радикално.


Съвременният свят на програмиране не се е променил по същество, но общественото съзнание в тази област се е превърнало в основа за разбиране на това какво да се прави, как да се прави, как да се съпътства, актуализира и къде да отиде. Днес направи свой собствен компилатор - няколко дни работа. Се справи дори и начинаещ програмист. По същество нищо не се е променило, но интелектуалните способности на програмистите са станали по-продуктивни, компетентни и са станали "еднакво" мислещи. По принцип няма нищо ново в това. всекиновото поколение (деца) надминава умствените способности на предишните (родители). При програмирането знанията, съдържащи се в програмите, са изключително важни.

Същността на езика и методите на работа

Методологията на програмиране еволюира динамично, агресивно един спрямо друг и ефективно за натрупаните знания. Технологии за разработване на инструментален софтуер - компилатори, интерпретатори, черупки за развитие.


Технологиите за приложно програмиране се различават значително и са отговорни за следните понятия:
  • софтуерен пакет;
  • библиотека от математически функции;
  • модул;
  • компонент и други.
  • Системата и Applied се опитват да не се пресичат, всяка посока има своя собствена философия, обхват и методология на програмиране. Въпреки това, терминът "модул" е еднакво удобен за използване в компилатори и графични редактори. Библиотеката на математическите функции няма нищо общо с функционалното програмиране. Софтуерният пакет със същия успех може да бъде приложен към разработката под android, макар и по-популярния термин "add-on".
    Всичко беше разбъркано и следователно систематизирано. Всъщност няма разлика между C # компилатора и HTML кода, написан в същия C #. И в двата случая става въпрос за обработка на информация. Основното е качествен алгоритъм, а не как е направен. Характерна особеност на процеса на развитие на програмирането: всички синтактични конструкции, идентифицирани на спонтанния етап на развитие, останаха в съвременните езици за програмиране. Функционално програмиранетрябва да бъде благодарен на Лисп и Пролог за техните идеи и зашеметяващи синтактични дизайни. Но днес идеята за функциите като обектни методи е по-важна.

    Синтаксис на език за програмиране

    От една страна, всичко, което се използва, е удобно. Всички съвременни езици за програмиране предлагат еквивалентни синтактични дизайни, но философията на всеки език е различна. Това е точно случаят, когато използването на методологията за програмиране е от решаващо значение. Блестящ пример: javascript е езикът на браузъра. Това е неразделна част от страницата DOM (обектно дърво), заредена в браузъра. Търсенето от сходството на PHP е безсмислено. Това е езикът на сървъра. Неговата грижа е да работи с страницата, за да я създаде. javascript оживява страницата, изпълвайки я с истинска функционалност в браузъра, под влиянието на действията на конкретен посетител. Всеки програмист може да създаде своя собствена методология за програмиране. Комбинирайки качеството на javascript и PHP, можете да се обърнете с помощта на JSON и AJAX, но можете да направите обмен на страници със сървъра по свой собствен начин. Това е друга философия, която няма нищо общо с идеите на разработчиците на тези инструменти.
    На най-ниското логическо ниво може да се избере императивното програмиране. Когато тази парадигма беше формулирана, беше важно да се разбере какво е такова програмиране. Текст:
  • изходен код - инструкции;
  • инструкциите се изпълняват последователно;
  • Данните могат да се записват /четат в /от паметта.
  • Основните характеристики на императивните езици могат да бъдат открити във всеки съвременен език за програмиране. В този контекст идеимного методологии за програмиране се разсеяха в изобилието от нови идеи.

    Етапи на разработване на програмиране

    Да си припомним как се развива програмирането - почит към паметта, всеки курс по специалност започва с уважително изброяване:
  • спонтанно;
  • императив;
  • Структурни;
  • процедурни;
  • функционални;
  • обектно-ориентирани;
  • CASE-технологии и др.
  • Всеки автор по свой начин разбира пътя на развитие и времето на появата на различни методи и методи, но в това, че същността на методологията на програмиране на основните понятия и определения радикално се е променила. , никой не се съмнява. Както и преди, това е сбор от методи, философия и етапи от живота на софтуерен продукт. Но днес понятието за софтуерен продукт - това е далеч от просто програма.
    Работи с интелигентни и експертни системи утихнаха, всички се съгласиха, че програмистите просто работят, създават програми, алгоритми, обработват информация, наричат ​​от време на време нещо познание. Въпросът не е в това. Важен синтаксис и семантика на езика, който позволява на програмиста да създаде своята методология за програмиране. Това е значително, защото програмистът и особено екипът от програмисти с времето акумулират арсенал от модули, библиотеки, алгоритми. Обменът на знания, умения и опит ни позволява да формулираме собствената си философия и динамично да адаптираме развитието си към поток от общи тенденции на развитие.

    Основни понятия в областта

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

    Експертни системи и бази от знания

    Характерна особеност на някои езици (като Пролог) е опитът за създаване на програми за логическо програмиране. Доколкото тази идея е жива, показва динамиката на философията на проектирането и програмирането на инфраструктурата на големите компании. Приемането на отговорни решения, манипулирането на огромни количества информация се превърна в актуално управление чрез достъпни услуги на трети страни. По същество, програмиране катоняма такова нещо, но без програмист задачата не е решена. Използването на логически езици не се рекламира, следователно логическата парадигма, дискретната математика и методологията на програмиране в ограниченията не се проявяват на най-добрата страна. Всеки метод има своя собствена сфера на приложение.
    Тук логиката и философията на методологията на програмирането - концептуални представяния на конкретна компания за това какво и как да се справя. Знанията за наличните услуги и тяхната функционалност са обобщени в алгоритъма за манипулиране на последователността на тяхното използване, в зависимост от сложната информационна картина. Това не са експертни системи и бази от знания, а са истински знания, функции и алгоритми, които ви позволяват да вземате обективни решения. Знанието на голям брой квалифицирани специалисти стана по същество предмет на формиране на методологии за програмиране на бизнес ниво.

    Някои философски проблеми

    Разработване на методологии за програмиране, всеки опитен програмист разбира по свой собствен начин. Класическото програмиране е значително различно, например от:
  • програмиране на виртуалната среда;
  • контрол на достъпа до външно приложение;
  • от действията на администратора по сигурността.
  • ​​Във всеки случай, неговата философия, нейните методи, технологии, методи на работа. Ако подходим към историята на развитието на „огледалото на интелигентността“ от гледна точка на здравия разум, тогава това не е същността, отколкото да се напише нещо, важно е, колко е удобно да се прави. Тъжно е, че модерното програмиране многократно принуждава програмистите да пренапишат стария код.
    Характеристика:характеристиките на "старите" езици за програмиране - съвместимостта отдолу нагоре (понякога отгоре надолу) влезе в историята. Показаха идеята си за оцеляване на нетипизираните данни. Всъщност, защо на едно място алгоритъмът трябва да каже, че "X" е число, а "Y" е низ, и след това да запази тази идея в целия алгоритъм. Методологията на програмирането стигна до необходимостта от коренно ново решение: програмата трябва да бъде независима от автора и да е проектирана по такъв начин, че авторът да може да го развие като набор от съответни знания.

    Статика и динамика

    Съвременното програмиране е статичен, динамичен метод и технологии, разработени от програмистите. Преди това всички са свикнали и не се обсъждат. Но колко удобно е да има такава програмна методология, при която всеки нов продукт, без значение как да го наричаме (програма, библиотека, модул, компонент, услуга, контрол на достъпа), разработва и допълва и не го пренаписва за стотен път при смяна на компютър , конфигурация на мрежата, инструмент или друго събитие.
    Динамиката е следващият етап в разработването на методологии за програмиране, но не и динамиката на мислите в главата на програмиста и динамиката на написания от него код.

    Свързани публикации