Първоначално имаше много езици за програмиране. Оцелено "право". Но не можем да кажем, че Fortran, Algol, C /C ++ и Pascal се различават качествено от Lisp или Prolog или други езици: различни идеи са изложени, получени са еквивалентни резултати. По същество няма значение как се нарича програмиране, функционално или процедурно. Задачата на програмата, която може да създаде или поне да прочете за себе си, не е толкова интересна. Но в далечните 80-те години всичко беше оживено, уместно и много важно.
Съотношението между началото и настоящия момент
Същността на езика и методите на работа
Всичко беше разбъркано и следователно систематизирано. Всъщност няма разлика между C # компилатора и HTML кода, написан в същия C #. И в двата случая става въпрос за обработка на информация. Основното е качествен алгоритъм, а не как е направен. Характерна особеност на процеса на развитие на програмирането: всички синтактични конструкции, идентифицирани на спонтанния етап на развитие, останаха в съвременните езици за програмиране. Функционално програмиранетрябва да бъде благодарен на Лисп и Пролог за техните идеи и зашеметяващи синтактични дизайни. Но днес идеята за функциите като обектни методи е по-важна.
От една страна, всичко, което се използва, е удобно. Всички съвременни езици за програмиране предлагат еквивалентни синтактични дизайни, но философията на всеки език е различна. Това е точно случаят, когато използването на методологията за програмиране е от решаващо значение. Блестящ пример: javascript е езикът на браузъра. Това е неразделна част от страницата DOM (обектно дърво), заредена в браузъра. Търсенето от сходството на PHP е безсмислено. Това е езикът на сървъра. Неговата грижа е да работи с страницата, за да я създаде. javascript оживява страницата, изпълвайки я с истинска функционалност в браузъра, под влиянието на действията на конкретен посетител. Всеки програмист може да създаде своя собствена методология за програмиране. Комбинирайки качеството на javascript и PHP, можете да се обърнете с помощта на JSON и AJAX, но можете да направите обмен на страници със сървъра по свой собствен начин. Това е друга философия, която няма нищо общо с идеите на разработчиците на тези инструменти.
На най-ниското логическо ниво може да се избере императивното програмиране. Когато тази парадигма беше формулирана, беше важно да се разбере какво е такова програмиране. Текст:изходен код - инструкции; инструкциите се изпълняват последователно; Данните могат да се записват /четат в /от паметта. Основните характеристики на императивните езици могат да бъдат открити във всеки съвременен език за програмиране. В този контекст идеимного методологии за програмиране се разсеяха в изобилието от нови идеи.
Да си припомним как се развива програмирането - почит към паметта, всеки курс по специалност започва с уважително изброяване:спонтанно; императив; Структурни; процедурни; функционални; обектно-ориентирани; CASE-технологии и др. Всеки автор по свой начин разбира пътя на развитие и времето на появата на различни методи и методи, но в това, че същността на методологията на програмиране на основните понятия и определения радикално се е променила. , никой не се съмнява. Както и преди, това е сбор от методи, философия и етапи от живота на софтуерен продукт. Но днес понятието за софтуерен продукт - това е далеч от просто програма.
Работи с интелигентни и експертни системи утихнаха, всички се съгласиха, че програмистите просто работят, създават програми, алгоритми, обработват информация, наричат от време на време нещо познание. Въпросът не е в това. Важен синтаксис и семантика на езика, който позволява на програмиста да създаде своята методология за програмиране. Това е значително, защото програмистът и особено екипът от програмисти с времето акумулират арсенал от модули, библиотеки, алгоритми. Обменът на знания, умения и опит ни позволява да формулираме собствената си философия и динамично да адаптираме развитието си към поток от общи тенденции на развитие.
Софтуерен продукт, програмен пакет или просто програма - тези концепции изиграха своята роля.роля, но се използват и днес. Приложението е модерна концепция. Облакът или виртуалната среда е знак за характеристиките на софтуерен продукт. Работата на физическия компютър или в контейнер на виртуална машина се различава, но тук има специална философия на методологията на програмиране. Видовете програми (услуги) са придобили специфичен статус. В миналото просто си купихте програмата, инсталирахте и използвате. Лицензионният достъп, закупуването на абонамент за определен срок или броят на употребите на програмата е неизвестен къде и както е установен, което в миналото дори не е било очаквано. По същество, програмирането остава в първоначалната си форма, но в съвременното изпълнение. Програмирането придоби различен статус благодарение на облачните и виртуалните технологии. Въпросите, свързани с безопасността, осигуряващи работата на големите компании, доведоха до формирането на реална нужда от методология на програмиране от страна на служителите (потребители и клиенти). Социалният фактор и опитът в борбата с кибератаките е признат набор от необходими методи и технологии. Това обаче не е програмиране в класическия смисъл на понятието.
Характерна особеност на някои езици (като Пролог) е опитът за създаване на програми за логическо програмиране. Доколкото тази идея е жива, показва динамиката на философията на проектирането и програмирането на инфраструктурата на големите компании. Приемането на отговорни решения, манипулирането на огромни количества информация се превърна в актуално управление чрез достъпни услуги на трети страни. По същество, програмиране катоняма такова нещо, но без програмист задачата не е решена. Използването на логически езици не се рекламира, следователно логическата парадигма, дискретната математика и методологията на програмиране в ограниченията не се проявяват на най-добрата страна. Всеки метод има своя собствена сфера на приложение.
Тук логиката и философията на методологията на програмирането - концептуални представяния на конкретна компания за това какво и как да се справя. Знанията за наличните услуги и тяхната функционалност са обобщени в алгоритъма за манипулиране на последователността на тяхното използване, в зависимост от сложната информационна картина. Това не са експертни системи и бази от знания, а са истински знания, функции и алгоритми, които ви позволяват да вземате обективни решения. Знанието на голям брой квалифицирани специалисти стана по същество предмет на формиране на методологии за програмиране на бизнес ниво.
Разработване на методологии за програмиране, всеки опитен програмист разбира по свой собствен начин. Класическото програмиране е значително различно, например от:програмиране на виртуалната среда; контрол на достъпа до външно приложение; от действията на администратора по сигурността. Във всеки случай, неговата философия, нейните методи, технологии, методи на работа. Ако подходим към историята на развитието на „огледалото на интелигентността“ от гледна точка на здравия разум, тогава това не е същността, отколкото да се напише нещо, важно е, колко е удобно да се прави. Тъжно е, че модерното програмиране многократно принуждава програмистите да пренапишат стария код.
Характеристика:характеристиките на "старите" езици за програмиране - съвместимостта отдолу нагоре (понякога отгоре надолу) влезе в историята. Показаха идеята си за оцеляване на нетипизираните данни. Всъщност, защо на едно място алгоритъмът трябва да каже, че "X" е число, а "Y" е низ, и след това да запази тази идея в целия алгоритъм. Методологията на програмирането стигна до необходимостта от коренно ново решение: програмата трябва да бъде независима от автора и да е проектирана по такъв начин, че авторът да може да го развие като набор от съответни знания.
Съвременното програмиране е статичен, динамичен метод и технологии, разработени от програмистите. Преди това всички са свикнали и не се обсъждат. Но колко удобно е да има такава програмна методология, при която всеки нов продукт, без значение как да го наричаме (програма, библиотека, модул, компонент, услуга, контрол на достъпа), разработва и допълва и не го пренаписва за стотен път при смяна на компютър , конфигурация на мрежата, инструмент или друго събитие.
Синтаксис на език за програмиране
Етапи на разработване на програмиране
Основни понятия в областта
Експертни системи и бази от знания
Някои философски проблеми
Статика и динамика
Динамиката е следващият етап в разработването на методологии за програмиране, но не и динамиката на мислите в главата на програмиста и динамиката на написания от него код.