Kotlin

языки

Низкий уровень: Assembler -
1 команда соотв-ет 1 операции

Высокий уровень:
1 команда соотв-ет ≥1 операции

Структурные языки: C, Pascal

Основаны на процедурных.
Позволяют выделять внутри процедуры более мелкие блоки.
Запрещено исп операторов безусловного перехода типо goto
Рассматривают последовательность действий, алгоритм

Процедурные языки: Fortran, Basic

Появление условных операторов, циклов, подпрограмм!(процедур)
Рассматривают последовательность действий, алгоритм

ООП: Java, C++, Kotlin

Рассматривают структуру самой задачи
Функции/данные объединяются в общие элементы — объекты
Каждый объект самостоятелен

Объекты

Классы
(объектные типы)

Данные
(свойства объекта)

Функции, для работы с этими данными
(методы объекта)

Принципы ОПП

Полиформизм

Название одной функции может использоваться в разных случаях
(Math.abs берет модуль как для целых, так и для вещественных числе)

Наследование

Позволяет создать родительские и дочерние классы
(Свойства родительского класса присваиваются дочернему)

Инкапсуляция

Связанные по смыслу функции и данные собираются в один объект
(Возможность делать закрытыми (недоступными для других пол-ей) свойства и методы)

main

setx(Int x1) {
x=x1
}
getX () {
return x
}

private/public

Конструктор
public Имя-Класса {
}
//Не содержит Void//

finalize

Локальные переменные

создаются внутри функции
создаются заново при запуске функции