Какво е програмирането? Езици за програмиране. Компютърно програмиране

24.02.2019

През периода, в който се появиха първите компютърни системи, имаше остър въпрос как да “научим” машината да възприема задачите, посочени от човека. Тук се появи терминът "компютърно програмиране". Днес много потребители, които не са запознати с основите и тънкостите на тези процеси, смятат, че това е нещо от сферата на фантазията, недостъпни за обикновения човек на улицата. Въпреки това, ако желаете, можете да овладеете програмирането и повечето. Но нека не изпреварим себе си и да сложим всичко, както се казва, на рафтовете.

Какво е програмирането в общ смисъл?

Ако погледнете основните интерпретации на този термин, не е трудно да направите най-простия извод. Какво е програмирането? Това е писане на програми.

какво е програмиране

Веднага въпросът какво е програмата. Програмата или приложението е, грубо казано, набор от специализирани команди, инструкции, директиви или изпълними скриптове, които трябва да се изпълняват от машината, и на нивото на „железни“ устройства, както и други участващи средства.

За да стане ясно какво е програмирането, можете да дадете най-простия пример. Инсталираното потребителско приложение, насочено към изпълнение на конкретна задача, адресира не само RAM и процесора, но и използва други физически устройства чрез техните инструменти за управление, наречени драйвери, които също са програми.

Малко история

Говорейки за това какво е програмирането в съвременната интерпретация, трябва да обърнете внимание на историята на нейното появяване. Всъщност, автоматизираното изпълнение на някои действия, например в областта на математическите изчисления, е известно на човечеството за дълго време.

Спомнете си най-малко Древна Гърция, в която беше използвано устройство с различни размери, което ни позволи да извършваме прости аритметични операции. Той беше истински прототип на модерен калкулатор.

През 1206 г. се появява уникален апарат за проследяване на т.нар. Метанов цикъл, построен от Al-Jazari, който използва сложни по това време механизми, базирани на скоби и гърбици.

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

Но истинският пробив беше програмируемото аналитично устройство, разработено от Чарлз Бабидж, което, за съжаление, никога не е било построено през живота му.

езици за програмиране

Но през 1846 г. дъщерята на Байрон създава първата в света програма за аналитична машина, която разрешава уравнението на Бернули. Разбира се, алгоритмите за програмиране, използвани от графиня Ада Аугуста Лавлейс, бяха много примитивни, но те поставиха самото зърно, използвано за създаване на модерни компютърни програми. И тя се смята за прародителка на програмирането по целия свят.

Как компютърът възприема командите?

Всяка компютърна програма трябва да бъде изпълнена от машината по някакъв начин. Не е достатъчно тя да пише, казват те, да правят това и онова. За целта бяха създадени езици за програмиране.

Но да се напише поредица от команди в някой език, на който днес има много, не е достатъчно. Машината все още няма да приема текстови фрази или математически формули.

курсове за програмиране

Използването на двоичен (двоичен) код, състоящ се от последователности от нули и такива, които се възприемат от всяко компютърно устройство, се превърна в универсален инструмент. Но как да преведем семантичните фрази и формули в тази форма? За тази цел се използват компилатори, които преобразуват списъка с команди в двоичен код, разбираем за машината. Можете да намерите троен и шестнадесетичен код, но те рядко се използват.

Мнемонични кодове

Ясно е, че е изключително трудно да се въведат бинарни команди дори на примитивни устройства, защото човек по природа просто не може да си спомни такива последователности.

алгоритми за програмиране

Следователно, за да се обединят тези процеси, са измислени така наречените мнемонични кодове, които под формата на текстови команди са пълни аналози на двоични комбинации. Командата за текст, както вече е ясно, е много по-лесна за запомняне от дълга последователност, състояща се от нули и единици.

Понятие за променливи

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

Същността на нейното използване във всеки програмен език е да се определи определена област от паметта, в която се съхранява стойност, обозначението на буквата. За да се преведат мнемоничните кодове в инструкции и променливи в областта на паметта, бяха използвани инструменти, наречени преводачи. И всички езици, които са използвали тази техника, са наричани монтажници.

Езици за програмиране

Същите самите езикови инструменти на които компютърните програми са написани (или са написани навреме) могат да бъдат разделени на ниско и високо ниво.

Java програмиране

Ако едно от по-възрастното поколение си спомня, дори в съветско време, основният език се преподава в училищата по часове по компютърни науки. С него, тогавашните машини на Yamaha KUVT могат да създадат примитивни програми на математически изчисления, да програмират прости снимки или музика, която звучи от динамиката на системата. За математиката е възможно да се използват логически оператори като „if“, „then“, „else“. Но проблемът на всички онези, които напълно са научили този език, е, че не могат да овладеят новите инструменти.

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

програмиране за манекени

Безопасно е да се свърже езикът C + / ++ с ООП въз основа на командите, от които са създадени същите операционни системи на Windows. Програмирането на "С" е доста сложно, но ако желаете, можете да го овладеете. Както се казва, ще има желание. Можете да отидете на същите курсове за програмиране или да използвате съответната литература за обучение. Въпреки това, както смятат повечето експерти, все още е възможно да проникнете в основите на езика, но е изключително трудно да развиете знанията си на практика. Тук няма помощни работи като книги “Програмиране за манекени”.

Но обратно към езиците. Сравнително наскоро се появиха езици, базирани на преводачи (.NET Framework, Python, Java, Perl и др.). Вместо машинен код, те генерират специален байт-код, който е двоичен код на виртуалната машина.

компютърно програмиране

Между другото, програмирането в Java може да се овладее най-много без много усилия. Например, за мобилни устройства, базирани на системи Android, можете да използвате Android Studio и Java SDK паралелно и да инсталирате Genymotion като тестер. Можете да направите още по-лесно, като се свържете с онлайн дизайнера App Inventor, в който създаването на поредица от команди се прави като сгъваеми пъзели.

Понятие за парадигми

Концепцията за парадигми не произлиза от нулата. В най-общото разбиране на парадигмата, те представляват определен поглед върху света около нас и действия, които могат да бъдат предприети във връзка с него. В компютърния свят този термин се разбира като вид обобщение по отношение на работата на програмата.

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

Съвременното програмиране и неговите характеристики

На настоящия етап от развитието на компютърните технологии приоритет за много програмисти са ООП и Java програмиране. Имайте предвид, че Java платформените пакети се поддържат от някоя от познатите в момента операционни системи, да не говорим за мобилни устройства.

И въпреки че, както се смята, C + / ++ езикът е доминиращ, не трябва да пренебрегвате Асемблера. Изненадващо, повечето вируси са написани върху него. И ако вземем под внимание уеб програмирането, да речем, въз основа на Delphi, обикновено се отварят такива широки възможности и перспективи, че много начинаещи програмисти дори не знаят за това.

Възможно ли е да научите програмирането сами?

Въпросите, свързани с самообучението, зависят пряко от това какво точно искате да научите. Литературата под формата на книги „Програмиране за манекени“ предоставя само частични отговори, без да се уточняват основните аспекти по отношение на използването на даден език. Това, така да се каже, за общо разбиране. Курсовете за програмиране също са спорен въпрос, защото в този случай всичко зависи не само от възприятието на ученика, но и от това какво познава учителят, как дава материала и т.н. Но ако стана необходимо да се изучава определен език или метод на програмиране, това не е проблем в тази епоха на Интернет. Можете дори да намерите онлайн курсове или подробно описание на уроците на същата платформа на Java, които програмират устройства с Android или iOS.

Кратко резюме

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