Езици за програмиране
и тяхното предназначение
Предизвикателство: В час по английски език в училище ви гостува забележителен човек, който говори свободно двадесет и един индоевропейски и четири азиатски езика (без да броим диалектите). Вашият преподавател го нарича „полиглот“, а на вас ви прилича на жива машина. Вашата задача е да откриете приликите и разликите между полиглота и компютъра и връзката с езиците, които „говорят“.
Машинен език
Изглежда, че съвременните компютри разбират всички известни езици на света. С помощта на програма преводач може лесно да се разбере значението на текст на английски, френски, немски и дори японски език. И изглежда, че компютърът също е полиглот. Това впечатление обаче е заблуждаващо, защото компютрите умеят да разбират и изпълняват команди на един-единствен език, наречен машинен език. В него всичко се изразява като комбинация от единици и нули, наречена двоичен код.
Първите програмисти са записвали програмите като дълги поредици от нули и единици. И днес машинните инструкции не са еднакви за всички процесори и една и съща програма трябва да се пренаписва отново, за да се изпълни от друго устройство.
Работата с машинни инструкции в двоичен код е трудна и много неефективна.
● Задача 1: Стартирайте файл 31_1.sb3 и открийте поредицата от нули и единици, която отговаря на числото 6. Какво е представянето в машинен код на числата 9, 12, и 15?
31_1.sb3
● Разпечатката на кода на Аполо 11 – първата пилотирана мисия до Луната, е по-висока от създателката си – Маргарет Хамилтън.
● През последните 20 години са написани повече от 2,8 трилиона реда код. Това е пет пъти повече от всички звезди в нашата галактика.
● Какво е ASCII таблица и как компютърът превръща буквите в поредици от нули и единици.
● Как се превръщат десетичните числа в двоична в режим Programmer на вградения Calculator в Windows
● Проверете дали драйверът на вашата видео карта има нужда от актуализация според производителя му. Свалете и инсталирайте новата версия, ако е необходимо.
Езици за програмиране
За разлика от компютрите, хората комуникират с думи, изречени на глас или записани в текст. Първият език за програмиране заменя поредиците от нули и единици с кратки команди, които са съкращения от думите на английски език за желаното действие: ADD (събиране), SUB (изваждане), MOV (преместване). Той се нарича Асемблер (Assembler) и се използва и досега при създаване на програмите, които управляват вътрешните и външните хардуерни устройства. Тези програми се наричат драйвери.
● Задача 2: Като използвате знанията си по математика, запишете, че неизвестното x е равно са сбора на 12 и 14.
Работата със съкратени имена, вместо с двоичните кодове на машинните инструкции, е важна стъпка към по-лесно и по-ефективно управление на компютъра, но още по-удобно би било, ако може да се записват командите с думи, както бихме дали задача на свой приятел.
Кой код е по-лесен за разбиране?
Защо?
Една и съща задача може да бъде възложена по много различни начини – с използване на заповедни думи, с молба или формално – в уважителна форма, или дори с жестове. Въпреки различните думи нашият приятел най-вероятно ще ни разбере. За съжаление компютрите нямат тази възможност. Езиците, с които комуникираме с тях, са много опростена комбинация от английски език и математика и следват строги синтактични и семантични правила. Синтаксисът определя точния начин на изписване, а семантиката – правилата за тълкуване на написаното.
Език за програмиране (програмен език) се нарича система от синтактични и семантични правила. Текстови инструкции, записани на конкретен език за програмиране, се наричат текстов програмен код.
Кодът е текст и не може да бъде изпълнен от компютъра, преди да бъде превърнат в машинни команди от нули и единици. За всеки програмен език има разработен „преводач“ (наречен транслатор), който може да разчита програмния код и да го подготвя за изпълнение. При Fortran, C++, Rust преводът е предварителен и се създава, когато кодът е готов. Този процес се нарича компилация. При други езици като Java, C# и JavaScript – процесът е аналогичен на жив превод и се прави, когато потребителят поиска да използва програмата. Този вид транслатор се нарича интерпретатор.
● Задача 3: Открийте на какви езици са написани програмите, които използвате най-често в училище. Запишете ги в таблица от две колони – програма и език за програмиране. Отбележете езика, който се среща при най-много приложения.
Видове езици за програмиране и тяхното предназначение
Езиците за програмиране се различават по възможностите, които предоставят. Част от езиците са специализирани за изчислителни задачи и обработка на големи обеми информация, за което е необходим достъп до файловата система и до системите с бази данни.
Тези езици се наричат backend езици (на пример: C/C++, Java, PHP, SQL). За разлика от тях, frontend езиците предоставят удобни инструменти за създаване на прозорци, бутони, менюта, вграждане на текст, изображения, видео и аудио файлове (HTML, CSS, JavaScript, C#). Те са предназначени за разработка на приложения, които активно взаимодействат с потребителите.
1. Изберете три изпълними файла от папка Program Files на вашия компютър. Потърсете информация какъв програмен език е използван за създаването им.
2. Потърсете информация кои са най-често използваните програмни езици при създаването на видео игри. Има ли промяна през последните 5 години?