Език за програмиране | вид писмен език, който казва на компютрите какво да правят

Езикът за програмиране е вид писмен език, който указва на компютрите какво да правят. Примери за това са: Python, Ruby, Java, JavaScript, C, C++ и C#. Езиците за програмиране се използват за писане на всички компютърни програми и компютърен софтуер. Езикът за програмиране е като набор от инструкции, които компютърът следва, за да направи нещо.

Програмистът пише текст в изходния код на даден език за програмиране, за да създава програми. Обикновено езикът за програмиране използва реални думи за някои от командите (напр. "if... then... else...", "and", "or"), така че езикът да бъде по-лесен за разбиране от човек. Както всеки нормален език, много езици за програмиране използват препинателни знаци. Много програми след това се компилират, което означава, че компютърът променя или превежда изходния код на друг език (например асемблер или машинен език), който компютърът може да прочете, но който е много по-труден за четене от човек.

Компютърните програми трябва да се пишат много внимателно. Ако програмистът допусне грешки или програмата се опита да направи нещо, което не е замислил, тя може да спре да работи, което се нарича "срив". Когато програмата има проблем поради начина, по който е написан кодът, това се нарича "грешка". Една много малка грешка може да доведе до много голям проблем.


 

Видове езици за програмиране

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

Високо ниво срещу ниско ниво

[icon]

Този раздел се нуждае от повече информация. (август 2018 г.)

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

Декларативно срещу императивно програмиране

Декларативните езици за програмиране описват "проблем", но обикновено не казват как трябва да се реши проблемът. Описанието на проблема използва логика и "решаването" на проблема често изглежда като автоматично доказване на система от логически аксиоми. Примери за такива езици за програмиране са Prolog, XSLT, LISP и SQL.

Императивните езици за програмиране описват система от промени в състоянието. В началото програмата е в определено състояние и на компютъра са дадени стъпки, които да следва, за да извърши дадено действие. Следването на стъпките кара програмата да "промени състоянието си".

Като цяло декларативните езици за програмиране са по-безопасни и по-кратки. Императивните езици за програмиране са по-разпространени, тъй като са по-лесни за използване.

Функционални срещу процедурни

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

Процедурните програми определят или описват набори от стъпки или промени в състоянието.

Базиран на стекове

Езиците, базирани на стекове, разглеждат част от паметта на програмата като купчина карти. Съществуват много малко неща, които могат да се правят със стека. На върха на стека може да се постави елемент от данни. Тази операция обикновено се нарича "push" (избутване). Елемент от данни може да бъде премахнат от върха на стека. Тази операция се нарича "pop". Можете да разгледате елемента в горната част на стека, без да го премахвате. Тази операция се нарича "peek".

Ако една програма е написана като "push 5; push 3; add; pop;", тя ще постави 5 на върха на стека, ще постави 3 на върха на 5, ще събере горните две стойности (3 + 5 = 8), ще замени 3 и 5 с 8 и ще отпечата горната стойност (8). Примери за езици за програмиране, които са базирани на стека, са езиците Postscript и Forth.

Обектно-ориентиран

Обектно-ориентираните езици за програмиране поставят данните и функциите, които ги променят, в една единица. Тази единица се нарича "обект". Обектите могат да взаимодействат помежду си и да променят данните на друг обект. Това обикновено се нарича капсулиране или скриване на информацията. Повечето съвременни езици за програмиране са обектно-ориентирани или поне позволяват този стил на програмиране. Примери за това са Java, Python, Ruby, C++, C# и други езици.

Ориентиран към потока

Програмирането, ориентирано към потока, разглежда програмирането като свързване на различни компоненти. Тези компоненти изпращат съобщения напред и назад. Един компонент може да бъде част от различни "програми", без да е необходимо да бъде променян вътрешно.

Научни изчисления

Някои от горепосочените езици могат да се използват за научни изчисления. Например C++ и Python също се използват по този начин. От друга страна, има някои езици, чиято основна цел са научните изчисления. По-долу са дадени някои примери:

  • MATLAB - произведен от MathWorks
    • GNU Octave, Scilab - версии на MATLAB с отворен код
  • R (език за програмиране) - широко използван в областта на статистиката
  • Wolfram Mathematica - създадена от Wolfram Research

Създаване на документи

LaTeX и SATySFi са езици за програмиране, които помагат за създаването на документи.



 

Правила

Всеки език за програмиране има правила за това какво може и какво не може да прави. Те включват:

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

Повечето езици имат официални стандарти, които определят правилата за писане на изходния код. Някои езици за програмиране имат два или повече стандарта. Това може да се случи, когато нов стандарт замени стар. Например стандартът Perl 5 замени Perl 4 през 1993 г. Това може да се случи, защото двама души са създали два стандарта по едно и също време. Например, има няколко стандарта за APL.



 

Обектно-ориентирано програмиране

Обектно-ориентираното програмиране (понякога съкращавано като ООП) е форма на програмиране, при която всички части на програмата са обекти. Обектите са части от паметта с една и съща структура, които могат да се използват отново и отново. Банкова сметка, битова карта или герой от видеоигра - всички те могат да бъдат обекти в рамките на една програма. Обектите се състоят от свойства (части от информацията, която обектът съхранява) и методи, които са нещата, които обектът може да прави. Обектът Dog може да има свойства като height (височина) и hairColor (цвят на косата). Методите му могат да включват bark() и wagTail().

Всички обекти се създават от шаблони, наречени класове. Можете да си представите класа като калъп, от който се правят обекти. Класът дефинира всички свойства и методи, които обектите му ще имат. Обектите, създадени от даден клас, се наричат екземпляри на класа. Класът може да разширява друг клас, което означава, че приема всички свойства и методи на класа, но може да добавя свои собствени.

Ето един пример за това как може да изглежда един клас в език за програмиране:

class Dog extends Mammal{ //Това са свойства: String breed = "Collie" String type = "Herding Dog" //Това са методи void wagTail(){ //Do some wagging } void bark(){ //Do the barking here } }

Забележете, че класът Dog разширява класа Mammal, така че всички кучета ще имат свойствата на бозайници, като например hairLength (дължина на косъма), и методи, като eat() (ядене) или sleep() (сън).

Обектно-ориентираното програмиране се използва в много от най-популярните днес езици за програмиране, като Java, C#, Objective-C, C++, Python, Ruby, Javascript и ActionScript.



 

Примери

Пример за Visual Basic

Ето една проста програма, написана на Visual Basic (език на Microsoft):

Dim Input Input = InputBox("На колко години сте?? - Код") If Not IsNumeric(Input) Then MsgBox & Input & "Това не е число!" ElseIf Input < 0 Then MsgBox "Не може да сте на по-малко от нула години!" ElseIf Input > 100 Then MsgBox "Това е възраст!" В противен случай MsgBox "Вие сте на " & Input & " години." End If

Тази програма пита потребителя за възрастта му и отговаря въз основа на това, което потребителят е въвел. Ако потребителят напише нещо, което не е число, програмата казва това. Ако потребителят е въвел число, по-малко от нула, програмата казва това. Ако потребителят каже, че е по-възрастен от 100 години, програмата казва "Това е стар човек!". Ако потребителят е въвел правилна възраст, програмата казва обратно на потребителя на колко години е той или тя.

Пример за Python

Ето една програма, която прави същото като горната програма, но на езика Python:

try: age = int(raw_input("На колко години сте? ")) except ValueError: print ("Това не е число!") else: if age < 0: print ("Не може да сте на по-малко от нула години!") elif age > 100: print ("Това е старо!") else: print("Вие сте на %s години." % age)

Пример за C#

Същото като в горната програма, но на езика C#:

using System; public class Hello { public static void Main() { Console.WriteLine("Каква е вашата възраст?"); int age; if (!int.TryParse(Console.ReadLine(), out age)) Console.WriteLine("Това не е число!"); else if (age < 0) Console.WriteLine("Не може да сте на по-малко от нула години!"); else if (age > 100) Console.WriteLine("Това е старо!"); else Console.WriteLine("Вие сте на {0} години.", age); } }

Пример за Haskell

Отново същото нещо, но на езика Haskell:

import Text.Read main = do putStrLn "Каква е вашата възраст?" input <- fmap readMaybe getLine putStrLn $ case input of Just age | age < 0 -> "Не може да сте на по-малко от нула години!" | age > 100 -> "Това е възраст!" | otherwise -> "Вие сте на " ++ show age ++ " години." Нищо -> "Това не е число!"



 

Свързани страници

 

Въпроси и отговори

В: Какво представлява езикът за програмиране?


О: Езикът за програмиране е вид писмен език, който казва на компютрите какво да правят. Той е като набор от инструкции, които компютърът следва, за да направи нещо, и обикновено използва реални думи за някои от командите, така че да е по-лесно разбираем за хората.

Въпрос: Какви са примерите за езици за програмиране?


О: Примери за езици за програмиране са Python, Ruby, Java, JavaScript, C, C++ и C#.

В: Как се пишат програмите на даден език за програмиране?


О: Програмите се пишат чрез записване на текст в изходния код на даден език за програмиране. Обикновено се използват и препинателни знаци.

В: Какво се случва, след като програмите са написани на език за програмиране?


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

Въпрос: Какво може да се случи, ако при писането на програми има грешки?


О: Ако при писането на програмите се допуснат грешки или ако програмата се опита да направи нещо, което не е предвидено да направи, тя може да спре да работи, което се нарича "срив". Когато това се случи поради начина, по който е написан кодът, то се нарича "грешка". Дори малки грешки могат да причинят големи проблеми.

Въпрос: Защо компютърните програми трябва да се пишат внимателно?


О: Компютърните програми трябва да се пишат внимателно, защото дори малки грешки могат да причинят големи проблеми и да доведат до срив или бъгове.

AlegsaOnline.com - 2020 / 2023 - License CC3