Задать вопрос
  • Где можно прочитать про всю суть ЯПов под капотом?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    5d66774c767f2234030678.png
    Ответ написан
    Комментировать
  • Неполцноенное ООП в javascript и значение этого?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут нужно копнуть в историю и почитать для чего JavaScript созадавался. Какие цели и задачи перед ним ставились. Почитайте это интересно. И в части Lisp в браузерах - тоже.

    Что такое вообще ООП применительно к теории и к конкретному языку? На сегодняшний день не существует канонической реализации ООП. Грубо говоря ни один язык не может претендовать на трушное ООП. Хотя другие ООП (класса строго типизированных) просто вводят больше ограничений на компилляцию
    и рантайм запрещая на ходу менять тип объекта или внедрять в него новые методы и перегружать существующие.

    JavaScript является таким себе податливым пластилином который разрешает очень многое делать
    с объектами и именно это является объектом критики. Прототипирование вместо наследования и прочее.
    JavaScript насколько я знаю расширяет спецификацию и все таки вводит понятие класса. Ключевое
    слово есть. Это хорошо. Это его приближает к ООП и дает возможность больше проводить параллели с back-end например.

    Есть языковые надстройки (транспилляторы) типа type-script которые вводят некий повышенный уровень
    строгости по отношению к типам. Но Runtime насколько я понимаю по прежнему остается либеральным.

    Вообще тема чистоты ООП - это достаточно трольная тема особенно на собеседованиях. Теоретики до сих
    пор не могут посчитать сколько же свойств нужно для описания ООП. Там вроде как 3 свойства было или 4.
    До сих пор нед единого трактования термина инкапсуляция.

    Поэтому всех религоизных фанатиков ООП надо слать к чорту. А на собеседовании отвечать очень обтекаемо
    и с отсылкой на всяких Кентов Беков и Фаулеров и Дядек Бобов. Пускай они там друг с другом договоряться
    о терминологии а потом уж мы подтянемся.
    Ответ написан
    Комментировать