Программирование - это в первую очередь незаменимая вещь в нашей информационной эпохе. На момент создания данной статьи около десятки тысяч курсов сейчас зарегистрировано в России, не говоря уже о "забугорном" мире. Если подводить какие-то параллели, то можно заметить очевидную вещь - сейчас программирование, это ни что иное, как написание грамотно сформулированного и архитектурно описанных программ. Мы давно ушли от нулей и единиц - это факт, и вот почему.
ASM
Начнём с эпохи Assembler`a. Она известна тем, что зародился первый "осмысленный" и "читабельный" набор команд, и по сей день присутствует в некоторых узких областях нашего бытия. Практически вся бытовая техника написана на ассемблере, либо скомпилирована в код ассемблера. В следствии чего, создавая по тем меркам программы, приходилось писать чуть ли не в десятки тысяч строк кода. Версий ассемблеров появлялось достаточно много, так как язык привязан к архитектуре, операционной системе и синтаксисе языка. А о том, что он является низкоуровневым языком программирования... Говорить не приходится.
Но да ладно, в то время люди впервые задумывались о "читабельности" - это было нормой.
Fortran, что же ещё...
После Assembler`a вышел первый язык программирования - Fortran, который был жёстко стандартизирован и из-за этого он мог с лёгкостью переноситься на различные платформы и архитектуры. В нём было огромное количество "меток" - неких зарезервированных осмысленных слов, которые давали "понимание" написанного кода. Он используется и по сей день в сложных математических вычислениях.
Вслед за Fortran`ом появлялось ещё множество различных языков программирования, которые добавляли новые инструменты для работы с данными, но лишь малая часть дошла до наших дней и едва ли используется хоть где-то. В данной статье я буду рассматривать только самые "ходовые" языки программирования.
Декомпозируем с Си
Далее на очереди Си. В большинстве своём он обрёл популярность благодаря появлению UNIX-систем, написанные на нём. Он был примерно в три раза меньше по объёму кода, чем Assembler или Fortran. В то время многие впервые узнали о том, что такое компилятор, а благодаря появлению процедур - неких функций, которые внутри себя содержали написанный фрагмент кода. Он мог выполняться множество раз в программе. Такой подход позволял уменьшать количества кода в разы и структурировать его.
Компилятор - это некая программа, позволяющая переводить код написанный на определённом языке программирования в набор машинных кодов.
Многие разработчики вздохнули с облегчением, потому что тогда появились различные библиотеки - файлы, с готовым кодом, которые позволяли ускорять процесс разработки программного обеспечения, а также вносить вклад в IT-сообщество.
Но на этом не остановились. Люди - существа, которые понимают на примере чего-либо, им будет понятней представлять некий объект, взаимодействие между объектами. Тогда начали задумываться о некой объектной модели программирования - код, который представлен неким объектом, содержащий свойства и различные действия - методы.
Первые известные объекты
В итоге, первым объектно-ориентированным языком программирования стал SmallTalk, но популярности на мировом рынке он особого не сыскал. Эстафету быстро подхватил создатель языка программирования С++ - Бьёрн Страуструп. Он добавил в Си объекты, а именно классы. В следствии, С++ сыскал огромную популярность и множество различных реализациях в embedded-системах, играх, web-программирования, в разработке новых языков программирования, мобильных решений. Бьёрн Страуструп внёс огромный вклад в IT-сообщество. Благодаря популярности ООП большинству людей было проще понять программирование как таковое, они могли представлять себе уже готовый объект и конкретизировать задачу, структурировать и создавать понятный многим код. По сей день объектно-ориентированное программирование является лидирующим среди других методологий.
Класс - это шаблон, по которому создаётся объект
И вот после создания С++, практически все языки программирования, вышедшие после него, стали поддерживать объектно-ориентированную парадигму, а некоторые даже основаны на ней.
Вот некоторые из них:
- Java - первый язык, в основу которого легла ООП составляющая. Является "ходовым" языком программирования в финансовой сфере.
- CSharp - Был разработан в ответ на успех Java, аналогичен во многом. Язык более современный и развивающийся.
- JavaScript (JS) - является по-настоящему мультипарадигменный языком программирования. Является динамически типизированным, а также зачастую используется во Frontend`е.
- Python - Отличительная особенность в том, что он не имеет Си-подобный синтаксис, из-за этого могут возникнуть небольшие трудности в переходе с Си-подобных языков на Python. Он ориентирован на быструю разработку, также имеет динамическую типизацию.
Я перечислил основные, по моему мнению, языки программирования, которые стоит упомянуть. Они являются одними из лидеров на мировом IT-рынке на момент 2022 года. Также сюда могли войти Go, Kotlin, PHP и другие.