Итак, прежде чем мы начнем говорить о целях наличия большого количества языков программирования, мы должны классифицировать различные языки программирования. Их можно разделить на 3 основных типа: императивные/процедурные, функциональные, декларативные или логические. В первом типе императивные или процедурные языки — это все языки, которые следуют набору заданных шагов (процедур). Мы можем говорить о C, Python, Ruby, C++, Java… и о большинстве языков, которые мы используем сегодня. Для второго типа функциональные языки, такие как Haskell и Lisp, не имеют переменных, все в этих языках является функцией. Итак, это новый взгляд на программирование. Наконец, декларативные или логические языки программирования, такие как Prolog, когда мы объявляем набор правил и платформу, на которой мы можем их применять. Например, мы даем программе правила судоку и доску судоку, и она позаботится о различных решениях, которые она может генерировать. Этот тип языков часто используется в искусственном интеллекте.

Модели организации программ в языках программирования

Этот момент отличается от вычислительных моделей, потому что они заботятся только о том, как решать задачи вычислительным способом. Что касается моделей организации программ, то они больше связаны с тем, как организован ваш код и как они используют память для представления переменных. Первый тип, о котором мы можем говорить, — это модель абстрактных типов данных или ADT, она рассматривает абстрактный тип данных как самостоятельную единицу, подобно языку CLU от MIT. Во-вторых, модульная модель, которая рассматривает модули как основную часть таких программ, как «Модула-2». Каждая программа разделена на набор модулей. Модули могут быть определены как группы типов, переменных, процедур и функций. В-третьих, объектно-ориентированная модель, которая является известной. Его используют многие языки, такие как Java, Python, C++ и Ruby… Он рассматривает все как объект, который имеет атрибуты и поведение. Наконец, универсальная модель, определяющая универсальные модули, которые должны создаваться во время компиляции или выполнения для создания необходимых структур данных, функций и процедур. Он может пересекаться с ООП или функциональными или с несколькими парадигмами.

Различные цели языков программирования

Изучение разных языков программирования — это, конечно, хорошо, но программист должен выбирать языки программирования из разных областей. Например, мы не можем изучать C для разработки мобильного приложения. У нас должно быть четкое представление о том, почему мы программируем или почему мы хотим изучать программирование. Если мы хотим разрабатывать мобильные приложения для iOS, мы должны изучать Java и/или Kotlin, как упоминал Google на своей последней конференции. Если мы хотим разрабатывать веб-приложения, мы должны изучить PHP, Javascript, Ruby, Python и их фреймворки, такие как Laravel, Express (NodeJS Framework), Rails и Django. Если мы хотим разрабатывать настольные приложения, мы можем изучить C#, C++ и Java. Основная идея здесь состоит в том, чтобы выбрать поле и сосредоточиться на нем, пока мы не будем уверены в своем понимании языка программирования.

Использованная литература:

Концепции языков программирования от Sebesta

Кредиты изображений: http://4.bp.blogspot.com/-HHrtTbA5M8Q/U2aeVX_RHsI/AAAAAAAAAJE/MrwzOTJVGoI/s1600/Download+free+81+ebooks+on+c+c+++c%23.png