Наверняка, многие знают, что любое программное обеспечение обладает не только графической оболочкой (интерфейсом), которую видит пользователь в конце концов, но и программной составляющей – функционалом. Вся эта информация записывается посредством кодов, составляющихся языками программирования. Языки программирования появились уже очень давно, со временем еще самых первых компьютеров. Первые, самые известные языки, которые даже сегодня используются для введения школьников в программирование – Фортран, QBasic, Pascal. Эти языки являются разновидностями структурных языков программирования. Конечно, такие языки для написания современного программного обеспечения совсем не используются – они являются устаревшими, которые можно использовать только для знакомства с языками программирования. Три самые большие разновидности языков программирования, это: процедурные, функциональные и объектно-ориентированные. Знакомство с этими языками, как правило, начинается в высших учебных заведениях. Среди наиболее известных процедурных ЯП можно выделить следующие: Би, Си – которые работают между собой. Объектно-ориентированные языки – самая большая «каста», где имеется огромное количество самых разных языков. В список таковых входят: Delphi, Java, JavaScript, C#, Python, Swift, Visual Basic и др. В список функциональных языков программирования входят: F#, Лисп, Clean и др. Стоит отметить, что некоторые из представленных языков входят в группу мультипарадигмальных: C#, Delphi, Python. Теперь очень важно разобраться с названиями перечисленных «классов», а именно – с тем, что они означают и для чего используются. Процедурное программирование представляет собой способ написания кода, при котором последовательности выполняемых операторов представляются полноценными процедурами, то есть любая написанная программа на таком языке программирования – набор специальных процедур. Функциональное программирование, как можно догадаться из названия, представляет собой процесс вычисления какой-либо информации посредством вычисления значений функций. Соответственно, программы, описанные на подобных языках, будут обладать набором последовательно выполняемых функций. Объектно-ориентированное программирование среди всех перечисленных выше разновидностей программирования считается одним из наиболее простых. Тем не менее, именно на таких языках программирования основаны и исправно работают подавляющее большинство программ. ООП представляет программу в виде совокупности разнообразных объектов, набор которых и составляет в результате программу.