Pull to refresh
-1
0
Максим Клыга @Nekuromento

User

Send message
>Такое говорят невежды, которые и сами толком не разобрались ни в самом языке ни в библиотеках
Такой толстый вброс, что заслонил собой небо.

Вы вот все напираете что библиотеки предоставляют синтаксический сахар для модели предусмотренной в языке, но прототипы и классы – разные вещи. Делегирование и наследование – разные вещи.
Нет, если внимательно читать доки, то можно узнать что главное предназначение в исключении конфликтов имен, а не сокрытии. Да и скрытые таким образом методы/атрибуты не составит труда выковырять через словарь.
Я знаю что такое карринг.

я имел ввиду это:
let add (a, b) = a + b;;
add 1;; (* ошибка: передали int, ожидали int * int *)
а каррирующие языки в принципе не поддерживают функций более одного аргумента.
Передача много аргументов за раз = передача кортежа, что поддерживается без проблем
D:
int number;
byte mByte=*((cast(byte*) &number) + 3);

Problems, officer?
А вообще задолбали уже оправдываться. Обидели C++ и теперь всю неделю будем читать толстые вбросы и наезды.
Стоило бы упомянуть что __closure – расширение языка в реализации C++ Builder, подобное лихачество непереносимо и небезопасно.
Очевидно же, что одно другому никак не мешает
может не стоит писать ПОЛУЖИРНЫМ КАПСОМ
Промазал веткой с ответом
Алан Кей о наследовании:
I didn't like the way Simula I or Simula 67 did inheritance (though I thought Nygaard and Dahl were just tremendous thinkers and designers). So I decided to leave out inheritance as a built-in feature until I understood it better.
C++ – эксперимент по тому, сколько абстракций можно протащить в язык C, не сломав ничего и оставаясь производительным. В целом получилось не очень, хотя протащили много разного.

Про erlang я в целом согласен. Дело в том что обмен сообщениями естественно вытекает из идеи позднего связывания.
ООП — это одно, АТД — это другое. ООП — инкапсуляция и полиморфизм. Наследование затесалось туда случайно и, вопреки всеобщим заблуждениям, не является обязательным атрибутом.

ООП появилось из идеи моделирования сущностей реального мира. К сожалению пока что ничего более адекватного для данных целей не придумано.
В большинстве случаев в головах у людей каша от того что языки не предоставляют никаких других механизмов абстракции кроме классов, отсюда и смешение понятия класса и абстрактной структуры данных, анонимные классы или функторы (которые объект + оператор вызова) вместо замыканий и т.п.

Программы – суть конвейер по обработке данных, но парадигма Data Flow не очень распространена, вот и городим.
Ваша статья пока похожа на поток сознания нежели на какое-то объяснение или руководство к действию.
Возможно следовало бы сначала немного структурировать все?

Немного оффтоп: Что заставило покинуть разработку игр?
Простите, но причем здесь это «lisp»?
Всегда поражали подобные энтузиасты. Отличная работа!
Мышь — меньшее из того, что сделал Энгелбарт для развития компьютеров. Настоящий визионер.
Какой смысл сейчас использовать APL, если есть J или K?
Спасибо за перевод! Больше функциональщины разной в массы!
метод печати у принтера это ооп, но не принтер печатает строку на себе, а строка себя на принтере. Он про строку ничего знать не может, как он из нее символы достанет, к ним не у кого доступа нет. А строка знает публичный интерфейс принтера, и что надо подергает.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Registered
Activity