Программирование

Ответить в тред Ответить в тред
Для чего нужно ООП? Какие проблемы и задачи оно Аноним 19/02/20 Срд 15:24:57 16079251
image.png 92Кб, 800x600
800x600
Для чего нужно ООП?
Какие проблемы и задачи оно решает?

Почему пользоваться классами и объектами, а не допустим списками? Ведь суть одна и та же.
В ООП объект со своими параметрами.
В списке просто именованный список со своими членами.

Я нуб-студент
Аноним 19/02/20 Срд 16:22:38 16079792
>>1607925 (OP)
>Какие проблемы и задачи оно решает?
Проблему утилизации обширных быдло-масс в ИТ. цитата
19/02/20 Срд 17:44:24 16080593
>>1607925 (OP)
мало писал в процедурном стиле раз не понял зачем ООП
Аноним 19/02/20 Срд 18:39:52 16080944
>>1607925 (OP)
>Какие проблемы и задачи оно решает?
Тут целую простыню текста можно расписать по этому поводу, неохота, вдруг ты даже читать не станешь. Поэтому ты расскажи как бы ты в процедурном стиле описал новый тип данных? У тебя есть стандартные типы - целое, число с плавающей точкой, символ, булеан. А тебе нужен, например такой тип как время в формате hh:mm:ss.

>Почему пользоваться классами и объектами, а не допустим списками?
Это всего лишь особенности реализации. В некоторых скриптовых языках объект реализован как ассоциативный массив.

Аноним 19/02/20 Срд 19:59:41 16081435
>>1607925 (OP)
Сейчас набегут
Это не просто список. Его элементы могут быть разных типов, в том числе представлять собой вложенные списки, из чего следует, что такая интерпретация ООП плохо ложится на статическую типизацию.
Технически, ООП не даёт ничего такого, что нельзя было бы сделать без него. Вся разница в удобстве. Запись:
alice.friends.bob
куда понятнее, чем:
> aline[17][4]
19/02/20 Срд 20:30:45 16081946
Аноним 20/02/20 Чтв 14:18:57 16090637
>>1608143
Но в этих записях не раскрывается ни наследование, ни инкапсуляция, ни полиморфизм, которые и составляют ООП.

Просто структуры данных - ещё не ООП.

Реализовать на голом Си виртуальные функции, конечно, возможно, но заебёшься это делать.
Аноним 20/02/20 Чтв 21:29:20 16095288
>>1607979
>быдло-масс
Разве быдло-массы пишут на Smalltalk? Или ты от скудоумия приплетаешь недо-ООП из Python/Java/C# к настоящему ООП?
Аноним 20/02/20 Чтв 21:35:53 16095399
>>1609528
О, адепт "настоящего ООП" в треде. Давай, расскажи, как это здорово - падать в рантайме из-за того, что объект "не понял сообщение".
Аноним 20/02/20 Чтв 21:42:52 160955110
>>1607925 (OP)
Изи пример. Я разрабатываю ЭБУ, а ты- фару. Мне нужно знать контракт, как управлять тобой: вкл/выкл/коррекция пучка света по вертикали. На остальное мне поебать, как оно там внутри тебя будет реализовано.

Это и есть инкапсуляция.

Далее. У тебя есть моделька самолета и ты просчитываешь, какой мощности должны быть двигатели. На остальное поебать: цвет самолета, количество мест, наличие биотуалетов.

Это и есть абстракция.

Далее. У тебя есть кошечка. Она родила котят. Все котята имеют хаост, усы, по два уха.
Это наследование.

Один котенок - бойкий альфач, а другой- омежка, как ты.
Это полиморфизм.

Аноним 20/02/20 Чтв 21:45:58 160955911
>>1609551
>Далее. У тебя есть кошечка. Она родила котят. Все котята имеют хаост, усы, по два уха.
>Это наследование.
>Один котенок - бойкий альфач, а другой- омежка, как ты.
>Это полиморфизм.
Пчел, ты...
Аноним 20/02/20 Чтв 21:48:56 160956612
>>1609528
Не. Быдломассам лестно думать, будто-бы они решают дофига важную задачу в духе объективизЪма. Язык любой.
Аноним 20/02/20 Чтв 21:54:56 160957113
>>1609539
Это настолько здорово, что адепты псевдо-ООП в любом серьезном проекте внедряют Пружину.
Аноним 20/02/20 Чтв 22:01:21 160957814
>>1609571
Какое отношение "пружина" имеет к тому, что ты называешь
> псевдо-ООП
?
Ёбу дал, троллолоша?
Аноним 20/02/20 Чтв 22:08:18 160958715
>>1609539
>падать в рантайме из-за того, что объект "не понял сообщение".
Полный бред. В рантайме падают только статические языки. Smalltalk по дефолту тебе просто покажет окошко что объект-name не может принять сообщение-name. Pharo, Ruby и Objective-C кидают исключения, которые можно поймать.
Аноним 20/02/20 Чтв 22:11:59 160959416
>>1609587
И много конечный пользователь должен таких окошек поймать за программиста, который исправил бы это на этапе компиляции?
Аноним 20/02/20 Чтв 22:25:54 160960317
>>1609594
Почему нерабочий софт должен попасть к конечному пользователю?

Проблемы макак, которые не читают документацию и не пишут тесты для своего софта.
Аноним 20/02/20 Чтв 22:26:49 160960518
>>1609528
ЯВА С СИСЯРПОМ НЕНАСТОЯЩЕЕ ООП
@
ЖС С КЛОЖЕЙ НАНСТОЯЩЕЕ ФП
@
ПОПИСЯТЬ С ПОКАКОЙТО НЕНАСТОЯЩАЯ ЖИЗНЬ
Аноним 20/02/20 Чтв 22:33:27 160961019
>>1609603
> Почему нерабочий софт должен попасть к конечному пользователю?
Запросто попадает. Много раз видел, как программы/либы, написанные на динамической дрисне и позволяющие вызывать несуществующие методы ("посылать сообщения объектам, которые не могут их принять", как вы это называете), срут в консоли, что такого-то метода нет. Спасибо хоть, что не все они аварийно завершаются после этого.

> Проблемы макак, которые не читают документацию и не пишут тесты для своего софта.
Проблема макак в том, что они выбирают языки, на которых прходится писать во много раз больше тестов. Но они этого не делают. На то они и макаки.
Аноним 20/02/20 Чтв 22:44:07 160962520
>>1609610
Проблема в рукожопых макаках, а не языках. На любом языке можно написать программу или либу где будут глюки и вылеты.
Аноним 20/02/20 Чтв 22:52:40 160963921
>>1609625
Именно что в языках. Одна и та же макака напишет на статическом языке более качественный продукт, чем на динамическом просто потому, что компилятор статического языка чаще будет бить макаку по пальцам, когда интерпретатор динамического будет молчать до последнего.
Аноним 21/02/20 Птн 09:51:39 160993422
Аноним 21/02/20 Птн 09:53:32 160993623
Аноним 21/02/20 Птн 10:36:27 160995624
>>1608094
Тип для чего? Для хранения? Для хранения подошла бы структура с 3 полями. Если нужно какое-то преобразование или получение даты, написал бы функцию. Но все подобные функции уже есть и работают со структурами (в си так). Ооп удобно, когда функционала много, а для простых задач вроде твоей, достаточно описанного выше.
Аноним 21/02/20 Птн 12:14:30 161004625
Аноним 21/02/20 Птн 12:28:34 161006626
>>1609956
Удобно хранить тип данных, вместо с методами работы с ним. Очень блядь удобно. Невыносимо удобно.

>Если нужно какое-то преобразование или получение даты, написал бы функцию.
Вот блядь некоторые предпочитают не писать велосипеды, а писать полезное ПО.

>о все подобные функции уже есть и работают со структурами (в си так)
Это и есть ООП лол. прикинь да, в си в большинстве серьезных проектов пишут в ООП или с нехуевой примесью ООП

Аноним 21/02/20 Птн 12:32:25 161007427
>>1610046
Это такой фреймворк для джавы.
Аноним 21/02/20 Птн 12:45:55 161009628
>>1610074
И что там, истинное ООП?
Аноним 21/02/20 Птн 12:55:46 161011029
>>1610096
Нееее, ты што, истинное ООП только в смоллтолке, а все остальные - жалкие подражатели с псевдо-ООП
Аноним 21/02/20 Птн 13:01:35 161011930
>>1609956
>структура с 3 полями
Вот тут возникает первая проблема. Данные внутри структуры должны быть согласованны, не может быть в сутках 27:83:132.
>преобразование или получение даты, написал бы функцию
Это правильно, но тебе придется написать жирный комментарий: ВРУЧНУЮ ПОЛЯ СТРУКТУРЫ НЕ МЕНЯТЬ! Только через эти функции. Можно еще вести соглашение, например, именовать такие поля, начиная с нижнего подчеркивания: _hh, _mm, _ss. Но где гарантия, что все в проекте будут внимательно читать документацию, или кто-то посчитает, что он то уж точно знает, что делает и ему можно изменять эти поля. Приходится полагаться на внимательность, добросовестность, ум программиста. Но ведь лучше поручить контроль за доступом к полям структуры компилятору, пометив такие поля, как закрытые. Это первое свойство ООП - инкапсуляция.
Аноним 21/02/20 Птн 17:37:23 161043231
>>1610119
>Данные внутри структуры должны быть согласованны
Так а структура тут при чем? Согласование еще происходит на этапе получения этой даты в специальной функции. Структура нужна только для хранения.
>ВРУЧНУЮ ПОЛЯ СТРУКТУРЫ НЕ МЕНЯТЬ!
А где гарантия, что какой-нибудь самый умный не решит сделать все приватные поля класса публичными?
Аноним 21/02/20 Птн 18:16:34 161047332
>>1610432
>Структура нужна только для хранения.
По ТЗ эта структура должна быть изменяемой, к ней можно добавлять и отнимать секунды, минуты и часы.
>А где гарантия, что какой-нибудь самый умный не решит сделать все приватные поля класса публичными?
Этот факт легко отследить. А вот если во многих местах программы кто попало вопреки соглашениям решил изменять условно-приватные поля, то уже гораздо труднее определить, в каком участке кода произошла ошибка.
Аноним 21/02/20 Птн 18:42:19 161050133
Как будто ООП это только классы. Это жи целая концепция в рамках которой надо уметь мыслить.
Наследование полиморфизм и инкапсуляция, аминь.
Все штуки нужные и реально используются на практике.
Как ты списки то наследовать будешь?
Аноним 21/02/20 Птн 19:58:46 161057934
>>1609639
>Именно что в языках

>Дебил купил права и въехал в столб на первом повороте.
>Виноват автомобиль.
Аноним 21/02/20 Птн 20:02:25 161058235
>>1610501
> Как ты списки то наследовать будешь?
Эмм..., может быть создам новый список, который содержит в себе ссылку на старый?
Аноним 21/02/20 Птн 20:10:50 161059036
>>1610579
> Дебил купил автомобиль без подушки безопасности, когда мог купить с подушкой
Аноним 21/02/20 Птн 20:12:17 161059237
>>1610066
>Удобно хранить тип данных, вместо с методами работы с ним. Очень блядь удобно. Невыносимо удобно.
Ну засунь их в список.
>Вот блядь некоторые предпочитают не писать велосипеды, а писать полезное ПО.
Чё? В ооп типа методы для работы с данными сами пишутся?
>прикинь да, в си в большинстве серьезных проектов пишут в ООП или с нехуевой примесью ООП
Не
Аноним 21/02/20 Птн 20:12:41 161059438
>>1607925 (OP)
ООП нужен для управления сложностью большими проектами.
Пока ты пишешь лабы, странички магазинов и т.п. ты будешь удивляться зачем они нужны.
Когда ты пишешь что-то длиннее нескольких тысяч строк и это должно периодически меняться по желанию заказчика ты будешь удивляться как эти дебилы пытаются сделать что-то без ОПП.
Аноним 21/02/20 Птн 20:13:11 161059539
>>1610590
Ты путаешь причину со следствием. Подушка безопасности не научит тебя водить машину.
Аноним 21/02/20 Птн 20:21:41 161060340
>>1610594
>Когда ты пишешь что-то длиннее нескольких тысяч строк и это должно периодически меняться по желанию заказчика ты будешь удивляться как эти дебилы пытаются сделать что-то без ОПП
>The Linux kernel
>Written in: C and assembly
>139 тысяч строк кода
>это чистое ядро
>с драйверами 15 миллионов
Аноним 21/02/20 Птн 20:36:38 161061841
>>1610603
И? Отсутствие классов в языке исключает возможность использовать объектно-ориентированный подход?
Аноним 21/02/20 Птн 20:38:41 161062342
>>1610595
И её отсутствие не научит.
Сам факт того, что в языке статическая/динамическая типизация, ни на йоту не научит кого-то чему-то.
Аноним 21/02/20 Птн 20:52:12 161063743
>>1610623
Где я писал, что подушка научит?
Дебил с купленными правами будет дебилом с купленными правами на любой машине.
Аноним 21/02/20 Птн 21:13:07 161067044
>>1608059
ФП позволяет делать все то же что и ООП. Не вижу у тебя аргументов за ООП. Как не вижу чтобы ты вообще понимал что это такое.
Аноним 21/02/20 Птн 21:14:35 161067245
>>1610670
> ФП позволяет делать все то же что и ООП
Машина Тьюринга тоже.

мимо
Аноним 21/02/20 Птн 21:20:12 161067946
>>1610618
Он по факту не используется.
Аноним 21/02/20 Птн 21:22:43 161068547
>>1610672
>пукинчанский

Вообще-то дело в том, что фп реализуется в терминах ооп, и наоборот. Как машина тьюринга и лямбда-исчисление.
Замыкания - это "объекты для бедных", равно как и объекты - "замыкания для бедных".
Аноним 21/02/20 Птн 21:25:42 161068948
>>1610672
Машина Тьюринга не имеет такой гибкости как Комбинаторная логика, Лямбда-исчисление, Рекурсивные функции, которые позволяют из маленького ядра построить любую вычислительную систему. Грубо говоря, они позволяют строить свой язык программирования. Машина Тьюринга не дает такой гибкости. Машина Тьюринга это система с хранением состояния, а это противоречит математике. Состояние это зло, все ошибки происходят из-за него.
Аноним 21/02/20 Птн 21:26:41 161069149
>>1610618
>Отсутствие классов в языке исключает возможность использовать объектно-ориентированный подход?
Конечно нет.

>>1610679
>Он по факту не используется.
Ты ничего не знаешь про ООП. Класс - это не ООП. Объекты можно строить из функций.
Аноним 21/02/20 Птн 21:27:22 161069450
>>1610691
Можно, но это по факту не используется.
Аноним 21/02/20 Птн 21:38:51 161070651
>>1610694
Используется. Если ты не юзал или не видел, то это не значит, что этого не существует.
Аноним 21/02/20 Птн 21:39:36 161070752
Аноним 21/02/20 Птн 21:40:18 161070953
>>1610694
СИКП 3 глава. Первое издание выпущено в 1985 году. То есть уже тогда это использовали.
Аноним 21/02/20 Птн 21:40:50 161071054
>>1610707
Что Линукс? Разговор был не про него.
Аноним 21/02/20 Птн 21:45:49 161071755
>>1610689
>Состояние это зло, все ошибки происходят из-за него.
Не совсем верно. Присвоения это можно и полезно, но только ИНОГДА БЛЯДЬ, а не как в императивных языках где оно везде: и к месту и не к месту.
Оно заебись тогда и только тогда, когда его отсутствие приводит к снижению модульности системы вследствие того, что потроха дочернего модуля (которые могли бы быть выражены стейтом) протекают в родительский.
Например какой-нибудь простенький ГСЧ: берёт текущее время в качестве зерна и делает случайное число. Если его сделать без присвоений, тогда мы вынуждены будем из родительского модуля явно передавать ему зерно, а значит родительский модуль должен будет сам его генерировать, а значит у нас устройство родительского модуля начинает зависеть от устройства дочернего. А ведь нам просто нужно было случайное число, нас не ебёт как там дочерний модуль его рожает.
Но для того чтобы просуммировать последовательность нам присвоение нахуй не всралось. Такие дела.
Аноним 21/02/20 Птн 21:46:17 161071856
Аноним 21/02/20 Птн 21:47:15 161072057
Аноним 21/02/20 Птн 22:03:21 161073058
Аноним 21/02/20 Птн 22:11:14 161074059
>>1610730
Ну да, в принципе можно.
Аноним 21/02/20 Птн 22:20:29 161074860
>>1607925 (OP)
>ООП
>ряя инкапсуляция наследование полиморфизм
>открываешь какой-нибудь спринг
>FileUtils
>пошла простыня из статических методов
Что называется объекты завезли а соответствующее мышление не завезли. Как писали портянки процедурные так и пишем.
То что статические методы в принципе существуют (в джаве, которая на минуточку флагман и главный ооп язык) - уже символизирует полный и бесповоротный фейл ооп как парадигмы.
То есть у нас типа "всё есть объект", но на самом деле объекта нет а метод несуществующего объекта (т.е. по сути старую добрую процедуру из си) мы вызвать можем. Охуенно, заебись, дайте два. Зато мы не можем определить процедуру в глобальном скоупе (ты чё, у нас жи ооп). Но сделать ютилити класс и вызывать его методы, не создавая при этом объектов этго класса мы можем. Ага.
Аноним 21/02/20 Птн 22:21:07 161075161
>>1610740
Хотя подожди, а чём замыкание не хранение стейта?
Аноним 21/02/20 Птн 22:22:29 161075362
>>1610751
Хранение, только для этого не нужно присваивание.
Аноним 21/02/20 Птн 22:25:29 161075963
>>1610753
А, да нет, я-то отвечал тому анону который говорил "все ошибки из-за стейта", неясно выразился короче.
Аноним 21/02/20 Птн 22:31:25 161077064
Зачем в тред пролезли сектанты иммутабельности?
Аноним 21/02/20 Птн 22:33:02 161077465
>>1610770
>Зачем в тред пролезли сектанты потокобезопасности?
Затем.
Аноним 21/02/20 Птн 22:42:15 161079066
>>1610748
> символизирует полный и бесповоротный фейл ооп как парадигмы
Нет, это символизирует, что нет универсальных парадигм. Когда борщехлёбы передают в функцию огромный тип с кучей полей, потому что нет классов, и рекурсивно вызывают эту функцию с немного изменённым состоянием, чтобы изменить значение одного поля, тоже ни о чём хорошем не говорит. По сути, они изменяют состояние вручную, как на сишке вручную пишут ООП.
Аноним 21/02/20 Птн 22:43:08 161079267
>>1610770
Ничего нового, они набегают в каждый тред про парадигмы.
Аноним 21/02/20 Птн 23:04:37 161081168
>>1610790
Я хуйню спорол, хотел сказать что то "ооп" со статическими методами это не ооп никакое, это процедурные портянки натянутые на "гыгы смарите можно кароче функцию в класс засунуть и тогда её вызывать нужно будет не через скобки а через точку"
Аноним 21/02/20 Птн 23:05:23 161081369
>>1610792
>ой, ой, ой-ой-ой пацаны у меня поток заблокировался чё делоть???
Аноним 21/02/20 Птн 23:07:43 161081770
>>1610790
ФП универсальная парадигма. Лисп универсальный язык.
Аноним 21/02/20 Птн 23:29:39 161085571
>>1610811
Ну да, классы-хелперы со статическими методами- это всегда процедурные портянки. Видимо, те, кто это придумал, рассматривали классы не только с позиции ООП, но и с позиции модульности.

>>1610817
Хорошо, что в универсальном мультипарадигменном лиспе есть CLOS.
Аноним 21/02/20 Птн 23:42:12 161086972
Аноним 21/02/20 Птн 23:43:43 161087273
>>1610869
Опять выходишь на связь?
Аноним 21/02/20 Птн 23:52:29 161088974
>>1610855
Основан он все равно на Лямбда-исчислении. Можно даже сказать, что это реализация Лямбда-исчисления. Лисп это не Common Lisp, это собирательное название семейства лиспоподобных языков.
Аноним 21/02/20 Птн 23:53:12 161089175
>>1610869
Я и не говорил что есть. Классы это не ООП, это сто процентов.
Аноним 22/02/20 Суб 00:24:59 161092476
>>1610872
https://medium.com/smalltalk-talk/lisp-smalltalk-and-the-power-of-symmetry-8bd96aaa0c0c

>It’s true that the usual flavor of Object-Oriented Programming (“OOP,” as in “OOPs what was I thinking when I designed this class hierarchy”) has issues. Languages such as Java, C++, and even Python seem to think that “object-oriented” means mostly “classes and inheritance.” Which is sort of like saying that “driving” means mostly “buttons and pedals.” What most of these languages seem to miss is that Smalltalk’s class system, like Lisp’s macro system, is a symptom of the power already available in the language, not its cause. If it didn’t already have it, it wouldn’t really be that hard to add it in yourself.

>Without Smalltalk’s underlying fundamentals, class inheritance becomes nothing more than a tool for code reuse. As such, it is neither the only nor necessarily the best such tool. The real power of Smalltalk’s object system, including its classes, is not inheritance–it’s reflection. Just as Lisp macros are powerful because they can operate on any Lisp code, including themselves, Smalltalk classes are powerful because they themselves are objects. Smalltalk, like Lisp, runs in the same context it’s written in. It’s objects all the way down.
Аноним 22/02/20 Суб 06:57:53 161110377
>>1610689
>маниматика
Кто бы сомневался
Аноним 22/02/20 Суб 10:47:07 161122778
>>1607925 (OP)
Положняк такой, есть 4 типа Ооп.
ООП-0 - оно же истинное ооп, придуманная теоретиками неюзабельная хуйня наравне с функциональщиной.
ООП-1 - классическое, классовое, реализованное практиками, получило наиболее широкое распространение благодаря c++/java/c#.
ООП-2 - прототипное. Попытка отказаться от классов, применяется в скриптовых языках, особой популярностью не пользуется, даже в js классы добавили.
ООП-3 - различные попытки побороть сложность и проблемы, порожденные классическим ооп-1, главным образом за счет отказа от наследования (go, rust). Пока еще мир не завоевало.
Аноним 22/02/20 Суб 10:52:53 161123279
Аноним 22/02/20 Суб 11:12:12 161124980
Аноним 22/02/20 Суб 11:15:26 161125481
>>1610603
Сомневаюсь что линукс в наше время пишут на С, а не С++
Аноним 22/02/20 Суб 11:23:54 161126982
>>1610855
>рассматривали классы не только с позиции ООП
Следовательно ооп нигде не используется, следовательно мы никуда не уходили из мира процедурного программирования.
Модульность есть и в си - вот тебе процедура, вот тебе файл который можно компилировать отдельно от других.
Объекты это модульность в чистом виде и есть, если у тебя проблемы с тем, чтобы обернуть класс в класс-декоратор, который будет добавлять нужный функционал, не нарушая SRP, то у меня для тебя плохие новости - ты не можешь в объектную модульность, ты можешь только в процедурную модульность, поэтому создавай файл с расширением .с и пиши свою хуйню туда.
Аноним 22/02/20 Суб 11:23:59 161127183
>>1610670
>Не вижу у тебя аргументов за ООП
Не вижу у тебя аргументов за ФП
Аноним 22/02/20 Суб 11:28:58 161127484
Аноним 22/02/20 Суб 11:33:27 161127785
>>1609571
не Пружину, а Весну, ёбик
Аноним 22/02/20 Суб 11:38:30 161128086
image.png 79Кб, 629x794
629x794
Аноним 22/02/20 Суб 11:42:58 161128487
>>1611277
Не Весну, а Родник, ёбик
Аноним 22/02/20 Суб 11:44:24 161128788
>>1611280
Молишься на заокеанского бога?
Аноним 22/02/20 Суб 11:46:12 161128989
>>1611274
Сможешь привести примеры использования?
Аноним 22/02/20 Суб 11:48:15 161129090
>>1611289
препод в универе сказал что все заебись, а он доктор, а не хуй с двача
Аноним 22/02/20 Суб 11:52:31 161129391
>>1611290
Что он преподает, смолтолк что-ли?
Аноним 22/02/20 Суб 11:56:34 161129792
Screenshot2020-[...].png 6Кб, 996x43
996x43
>>1611254
>Сомневаюсь
Знаешь как сомнения прояснить? Открой да посмотри
Вангую сейчас начнётся "ряя на любом йазыке можно песать ооп, там тожи йесть элименты ооп", только из элементов ооп там только абстракция (которая свойственная программированию как таковому, не только ооп)
Аноним 22/02/20 Суб 12:14:47 161130793
spring.png 5Кб, 443x114
443x114
>>1611284
Это похоже на родник, ёбик?
Аноним 22/02/20 Суб 13:01:02 161132494
image.png 1045Кб, 606x922
606x922
Аноним 22/02/20 Суб 14:03:32 161137595
>>1611297
А он кстати как считает? По строкам кода?
Аноним 22/02/20 Суб 14:06:42 161137996
image.png 56Кб, 671x719
671x719
Аноним 22/02/20 Суб 15:02:12 161144197
Ну я даже не знаю. Работаю .NET макакой второй год, вторая кампания ради зп ушел. Так вот на новой работе на столько издеваются с ASP NET MVC, что они нахуй стейты притащили из ебаных WinForms. Логика размазана по нескольким либам и неймспасам, проблема в том, что оно всё параллельно растет и дуплицирует друг друга и у нас десятки классов, которые должны были быть одним и чтобы просто дернуть table из дб мне нужно через 5 кругов велосипедных абстракций проходить entity не завезли. Нахуй оно надо. Я не говорю, что class based OOP заставляет так писать, но как правило так пишут. Даже на C++ с классами так хуево все не размывают в спагетти, как на Шарпе.

Конечно, анон сейчас скажет, мол ты кампанию хуевую выбрал, но это моя последняя работа в энтерпрайзе и последняя работа с мейнстрим ООП языками.
Аноним 22/02/20 Суб 15:15:18 161145198
>>1611297
Линукс Торвальдс просто ярый противник плюсов и не позволит их совать в ядро.
Аноним 22/02/20 Суб 15:33:58 161146399
>>1611379

может еще исходники ffmpеg посмотреть
Аноним 22/02/20 Суб 16:24:39 1611505100
>>1610924
То есть теперь рефлексия это чисто ОО-фишка?
Аноним 22/02/20 Суб 16:28:01 1611506101
>>1610891
>Классы это не ООП
>они две недели назад сам уволились
Так смешно наблюдать как ОО-дауны переобуваются последние 30 лет, как только их начали макать в собственное говно.
Аноним 22/02/20 Суб 16:37:38 1611509102
>>1611506
> переобуваются
Это называется развитие.
И только шизы-ФПшники, у которых развития нет, будут упорствовать в своём невежестве до последнего.
Аноним 22/02/20 Суб 16:48:28 1611523103
>>1611506
Фактически классы это необязательная (а по мнению некоторых и нежелательная) фича.
Для реализации ооп классы необязательны. Может существовать система, при которой класса как такового нет, а есть первый объект, и последующие объекты, создаваемые по образу первого. И чего мы при таком подходе лишаемся, так это возможности лепить статические методы (нет класса - нет статических методов, их просто некуда писать), а это как раз замечательно.
Потому что "статические методы" должны быть процедурами, коими они концептуально являются, так что программист сразу видит "ага, тут я написал процедуру, следовательно я обосрался".
Аноним 22/02/20 Суб 16:53:25 1611530104
Аноним 22/02/20 Суб 17:18:20 1611552105
oop vs reality.png 112Кб, 1948x858
1948x858
>>1611509
>развитие
Лол. Таким макаром, лет через цать, окажется, что ооп это фп.
>>1611523
Ты сам понимаешь, что ты пишешь?
Во первых, чтобы избавиться от статических методов-процедур необязательно избавляться от классов, но это не имеет значения, т.к. ООП это всего лишь надстройка над процедурной парадигмой. Под ООП всегда подразумевалось, подразумевается и будет подразумеваться как бы вы не старались, маньки мутабельные структы со связанным неймспейсом, в котором определены процедуры-методы, меняющие поля структа. Т.е. ты всегда пишешь в процедурном стиле, если ты пишешь ООП, вне зависимости от того определяешь ты статические или обычные методы.

Таким образом ООП наследует и преумножает все проблемы процедурной парадигмы.
Аноним 22/02/20 Суб 17:25:37 1611561106
>>1611552
> лет через цать, окажется, что ооп это фп
Не окажется. Чистое ФП не работает, и ООП никогда к такому не придёт.
Аноним 22/02/20 Суб 17:29:01 1611565107
>>1611552
> Во первых, чтобы избавиться от статических методов-процедур необязательно избавляться от классов
Никто не говорил что от классов обязательно надо избавляться (мнения на этот счёт расходятся), а из тех, кто всё-таки говорил, никто не утверждал что от классов надо избавляться чисто ради того, чтобы порезать статические методы (их можно и без этого убрать)
>ООП всегда подразумевалось, подразумевается и будет подразумеваться
Да, да, конечно. Извини что тебя затронул. Все будет как ты скажешь.
>>1611561
>Чистое ФП не работает
Оно и не должно быть чистым. Стейт в ряде случаев предпочтителен.
Аноним 22/02/20 Суб 17:32:49 1611569108
15821364704580.png 193Кб, 1200x1200
1200x1200
>>1611552
Наследование нужно избегать, это уже сказали. Но бывают случае когда оно нужно и удобно.
Именно поэтому нужны мультипарадигменные языки и с ООП и с ФП.
Из ООП прижился полиморфизм на интерфейсах. Из ФП лямбды, замыкание.

В котлине все классы закрыты по-умолчанию. А дата-классы не наследуются (являются структурами). При этом есть и функции и лямбды.
И что самое мне нравится, можно сделать "жирные функции", то есть когда можешь указать параметры kwargs
foo("my value", end="\n", sep="/")
Аноним 22/02/20 Суб 17:33:47 1611571109
>>1611561
>Чистое ФП не работает
У тебя?
Аноним 22/02/20 Суб 17:33:49 1611572110
>>1611569
А еще из ООП прижалась инкапсуляция.
Аноним 22/02/20 Суб 17:35:07 1611574111
>>1611565
> Оно и не должно быть чистым. Стейт в ряде случаев предпочтителен.
Тогда это уже не кукарекание про самую лучшую парадигму, а выбор инструментов под задачи. К чему программирование идёт, так это к мультипарадигменности уже.
Аноним 22/02/20 Суб 17:36:21 1611576112
>>1611571
Ни у кого, кроме борщехлёбов, оно не работает. Ни одного крупного проекта на чистом ФП без костылей и извращений не написано.
Аноним 22/02/20 Суб 17:36:49 1611577113
>>1611574
>а выбор инструментов под задачи
Об этом речь и идёт. Использовать фп везде, где можно - это гуд. Использовать процедуроговнецо там, где без проблем можно писать функционально - не гуд.
Аноним 22/02/20 Суб 17:37:20 1611578114
Аноним 22/02/20 Суб 17:38:14 1611581115
>>1611576
То есть, у кого-то всё-таки работает? Но не у тебя.
Аноним 22/02/20 Суб 17:39:47 1611583116
>>1611581
Вот бы ещё те, у кого оно работает, показали хоть один пример, а то остаётся только на слово верить.
Аноним 22/02/20 Суб 17:40:04 1611584117
>>1610869
Ты заебал, смолток в могиле посылает сам себе сообщения, обж-с скоро к нему присоединится. Этого шизика послушать, так ООП это любая актор-бейсед хуйня, например ерланг. Но факт в том, что 99% программистов услышав слово ООП подумают про джаву, кресты и пхп, а не про ерланг. Можно конечно жить в альтернативном манямирке, где голова это на самом деле жопа и просто никто об этом не знает. Я понимаю почему так может считать Алан Кей, старческая деменция, маразм, вся хуйня, вон его кореш Тед Нельсон ещё больше поехал со своим Xanadu, на который всю жизнь вьебал, а оно никому нахуй не нужно, теперь ходит как дурачек всем рассказывает что НАСТОЯЩИЙ интернет и гиперссылки это вообще не то что все думают, но вот уебанов, которые транслируют старческие бредни я понять не могу.
Аноним 22/02/20 Суб 17:42:20 1611586118
>>1611584
> Этого шизика послушать, так ООП это любая актор-бейсед хуйня, например ерланг.
Кстати, неоднократно натыкался на тех, кто реально так считает и проводит в пример эрланг.

мимо
Аноним 22/02/20 Суб 17:42:51 1611588119
>>1611583
>остаётся только на слово верить.
Удел неосиляторов.
Аноним 22/02/20 Суб 17:43:15 1611589120
>>1611569
Котлин лучше шарпа!
Аноним 22/02/20 Суб 17:46:06 1611591121
>>1611589
А шарписты такие: "Котлин говно только потому, что он для JVM".
Аноним 22/02/20 Суб 17:46:17 1611592122
3.png 353Кб, 1250x1250
1250x1250
Аноним 22/02/20 Суб 17:53:19 1611597123
>>1611591
Да, лучше голый язык без экосистемы создавать.
Аноним 22/02/20 Суб 17:54:09 1611598124
>>1611569
> А дата-классы не наследуются (
Через месяц в джаве будут records.
Аноним 22/02/20 Суб 17:56:54 1611600125
>>1611598
Java и Kotlin не конкуренты, они едят с общего стола.
Аноним 22/02/20 Суб 17:56:54 1611601126
>>1611592
Твои две ссылки не различаются кодом.
Аноним 22/02/20 Суб 17:57:35 1611603127
>>1611600
Но со временем внук может выкинуть деда из-за стола.
Аноним 22/02/20 Суб 17:59:20 1611605128
>>1611601
Два архитектурных решения одной задачи.
Аноним 22/02/20 Суб 18:00:47 1611607129
>>1611605
Нет, там вообще одинаковый код.
Аноним 22/02/20 Суб 18:00:49 1611608130
>>1611603
Тогда дед выпишет его из наследства.
Аноним 22/02/20 Суб 18:01:52 1611609131
>>1611607
upd
А теперь разный стал. Может глюкануло.
Аноним 22/02/20 Суб 18:02:22 1611610132
>>1611597
А вот в пщ-треде как раз заливают, что либы для джавы - это ненужное легаси, а отсутствие либ в пщ - это на самом деле фича такая.
Аноним 22/02/20 Суб 18:02:48 1611611133
>>1611607
У меня разный, проверил даже без кук. Переоткрой
Аноним 22/02/20 Суб 18:03:32 1611614134
>>1611608
Котлин не сможет себе прибрать к рукам жвм - засудят.
А оракл может плохо отреагировать, если котлин помимо андроида еще в энтерпрайз ворвется. Поэтому непонятно что будет в будущем.
Аноним 22/02/20 Суб 18:04:10 1611615135
>>1610685
>фп реализуется в терминах ооп
Определение композиции для ООП в студию.
Аноним 22/02/20 Суб 18:04:19 1611616136
>>1611608
Уже представляю новость "Оракл подал в суд на жетбреинс за использование платформы Java".
Аноним 22/02/20 Суб 18:06:36 1611617137
>>1611610
Лол, вчера с десяток строк в градле добавил пачку либ, которые я писал бы так же качественно, наверное, год.

То есть, те либы мне сэкономили тысячи человеко часов работы.

Конечно, наличие большого числа библиотек это зло, питонисты тоже согласяться. гоферы ебанутые
Аноним 22/02/20 Суб 18:10:18 1611619138
>>1611610
>а отсутствие либ в пщ - это на самом деле фича такая.
Потому что в самой компании гугол тебе любую либу напишут за один час. Но на гитхаб не выложат.
Аноним 22/02/20 Суб 18:10:32 1611620139
>>1611614
>Котлин не сможет себе прибрать к рукам жвм
OpenJDK может

>А оракл может плохо отреагировать.
Оракл уже реагирует, пилит тонну фич в джаву и релизит каждые полгода как не в себе (смотри видос про планы до 2024). Конкуренция это хорошо.

Котлин это не только JVM, это и native и js.
Аноним 22/02/20 Суб 18:14:06 1611622140
>>1611620
> >Котлин не сможет себе прибрать к рукам жвм
> OpenJDK может
Они ее не смогут изменять сильно, иначе не пройдут тесты совместимости и их засудят. А менять только один синтаксис, ну такое.
Аноним 22/02/20 Суб 18:14:09 1611623141
>>1611619
Вот и получается, что пщ - это язык исключительно для внутренних нужд гугла. А кто ещё его юзает - тот ССЗБ.
Аноним 22/02/20 Суб 18:15:57 1611625142
>>1611620
Котлин на жс это типо gwt 2.0?
Аноним 22/02/20 Суб 18:23:20 1611630143
>>1611625
Нет, компилятор в js, по типу ts или dart
Аноним 22/02/20 Суб 18:30:10 1611640144
>>1611622
Зачем менять? Философия котлина зиждется на совместимости с джавой. Я даже не переписывал код на котлин, у меня так джава и котлин вместе
Аноним 22/02/20 Суб 18:32:30 1611644145
11.png 200Кб, 1200x1200
1200x1200
>>1611616
С гуглом суд был по другой причине.
В общем, там все хорошо.
Аноним 22/02/20 Суб 18:35:50 1611645146
>>1611644
А в котлине дженерики полноценные или как в джяве?
Аноним 22/02/20 Суб 18:41:56 1611652147
>>1611640
Но это пока совместимость выгодна котлину. А вот если со временем все популярные библиотеки и множество проектов перепишут на котлю, что тогда? Поглощать оракл?
Аноним 22/02/20 Суб 18:49:19 1611666148
>>1611645
Чуток улучшенные с Reified.
Котлин ограничен JVM
Аноним 22/02/20 Суб 18:50:21 1611668149
>>1611652
А вдруг они решат и улетят на марс с инопланетянами?
Давай оперировать заявленными фактами.
Аноним 22/02/20 Суб 18:59:20 1611676150
>>1607925 (OP)
> Для чего нужно ООП?
Если говорим про реальную пользу для работы, то нужно для того, чтобы ты, в теории, мог расширять функциональность без лишних телодвижений.
Еще можно всякие прикольные штуки, типа внедрения зависимостей делать, благодаря этой хуйне все вообще классно выходит: Скажем, ты написал лог, вынес на уровень интерфейса базовое описание лога:
interface ILog{
void Write(LogLevel level, string message);
}
Потом ты сделал импплементацию этого лога в виде класса ConsoleLog, человек который пользуется интерфейсом, заинжектил этот класс, год все было хорошо, но теперь ваше приложение должно работать как сервис и встала задача писать лог не в консоль, а в файл, еще и в json - формате. Ты за часик сделал новую имплементацию JsonFileLog, и человек просто заинжектил новый класс, при этом в классе, что использует лог ничего не поменялось, но теперь лог пишется в файл. Красота же. А если у вас крутой архитектор, то вы вообще давно сделали так, что для замены лога можно просто прописать в конфигурационном файле какой лог брать в случае запуска и даже пересобирать не придется, ты просто кинешь dll куда надо, в конфиг файле добавишь пару строчек и у клиента теперь лог пишется в файл.
> Почему пользоваться классами и объектами, а не допустим списками? Ведь суть одна и та же.
Далеко не одна и та же.
Аноним 22/02/20 Суб 19:16:52 1611697151
>>1611509
Пидараш, иди на хуй
Аноним 22/02/20 Суб 19:18:07 1611699152
>>1611697
Если бы ты со своей шмоней не пиздел лишнего, то и не пошел бы на хуй. П
Аноним 22/02/20 Суб 19:39:38 1611717153
Аноним 22/02/20 Суб 20:03:04 1611732154
>>1611584
>Но факт в том, что 99% программистов услышав слово ООП подумают про джаву, кресты и пхп
И кого это должно волновать? Мне, например, похую.
>Можно конечно жить в альтернативном манямирке, где голова это на самом деле жопа и просто никто об этом не знает
99% программистов живут, и чё?
Нацистская германия жила почти в полном составе в альтернативном манямире где арийцы это богоизбранная высшая раса.
Веганы живут в манямире где мясо несъедобно.
Вот только ты верно заметил - от того, что 99% назовут голову жопой, она не станет жопой, а останется головой.
Аноним 22/02/20 Суб 20:07:37 1611737155
>>1611717
Ты сам начал оскорбления. Теперь не обижайся.
Аноним 22/02/20 Суб 20:12:36 1611743156
>>1611615
Да я ёбу дал, не реализуется. Только наоборот
Аноним 22/02/20 Суб 20:13:42 1611746157
>>1611676
>...сделал импплементацию этого лога...
Абажи. Чем это от ФВП отличается?
Аноним 22/02/20 Суб 20:44:06 1611800158
>>1611307
А на весну это чем похоже?
Аноним 22/02/20 Суб 20:45:42 1611803159
>>1611584
> Я понимаю почему так может считать Алан Кей, старческая деменция, маразм, вся хуйня
Он на Лиспе всю жизнь пишет.
Аноним 22/02/20 Суб 21:00:35 1611820160
1
Аноним 22/02/20 Суб 21:01:46 1611824161
>>1611668
Нет, ну вот котлин и джава совместимы. Можно оставлять джаву в проекте, а новые вещи писать на котлине.
Вдруг жетбраинс захотят сделать какие-то глобальные фичи на уровне jvm.
Вот дженерики нормальные сделать! Тут без изменений в машине ну никак.
Аноним 22/02/20 Суб 21:22:50 1611870162
>>1611803
>Он на Лиспе всю жизнь пишет.
Поэтому дожил до старых лет?
Аноним 22/02/20 Суб 21:32:46 1611897163
>>1610817
> Лисп универсальный язык.
)))
Аноним 22/02/20 Суб 21:32:55 1611898164
>>1611824
>Вдруг жетбраинс захотят сделать какие-то глобальные фичи на уровне jvm.
Они не хотят, мало того что это нарушит лицензии там какие-то, так это еще похерит совместимость со всей джавой.
Поверь, именно это они делать не будут.
Аноним 22/02/20 Суб 23:02:17 1612039165
>>1611645
А чем это джавовые дженерики неполноценные? Тем что инфа в рантайме вырезается? Так это только и дает возможность сделать продвинутые системы типов, как в скале, например. А том же дотнете в F# как раз не завезли типы высших рангов из-за того, что шарповые дженерики реифицируются.

Если язык достаточно выразительный, то инфо по полиморфным типам можно пихать в рантайм опционально с помощью вшитых в язык ad-hoc решений (звучит плохо, но на деле не так страшно). Примеры: Scala (ClassTag, TypeTag), Haskell (Generic)

То, что реификация дженериков необходима - популярное заблуждение.
Аноним 22/02/20 Суб 23:37:33 1612067166
>>1611897
Лисп не универсальный наверное нихуя? То ли ты меня троллишь, то ли я пытаюсь. Не, нахуй не нужно. Лисп это батя.
Аноним 22/02/20 Суб 23:41:20 1612074167
>>1612067
Не, это прост был баян про скобки, универсальность лиспа тут не при чём)))
Аноним 22/02/20 Суб 23:48:27 1612090168
Аноним 22/02/20 Суб 23:49:27 1612092169
>>1612090
Если честно, никогда не понимал этот прикол.
Аноним 23/02/20 Вск 00:27:02 1612141170
>>1611584
>ООП это любая актор-бейсед хуйня, например ерланг
ООП - это когда ты в своем коде можешь выполнять полиморфную функцию, не объявляя прямой зависимости на эту функцию. Так что да, эрланг и акторы - это ООП.
>Я понимаю почему так может считать Алан Кей, старческая деменция, маразм
>Но факт в том, что 99% программистов
То есть когда один выдающийся человек с именем высказывает мнение, то это автоматически маразм, но когда 99% (высранных тобой из жопы) абстрактных людей, высказывают мнение - это автоматически правда? Ты дурачок?
Аноним 23/02/20 Вск 01:07:22 1612174171
ооп это то, что вы должны знать.
Аноним 23/02/20 Вск 01:11:39 1612177172
Аноним 23/02/20 Вск 01:18:37 1612179173
>>1612177
Работодателю, например.
Аноним 23/02/20 Вск 01:18:51 1612180174
Аноним 23/02/20 Вск 10:23:13 1612291175
>>1612090
Хороший комикс, забавно и без злобы.
Аноним 23/02/20 Вск 10:26:33 1612292176
>>1607925 (OP)
> Какие проблемы и задачи оно решает
Командная работа, масштабирование кода
Аноним 23/02/20 Вск 10:39:24 1612298177
>>1612292
Любая модуляризация кода увеличивает его пригодность для командной работы, даже процедурная абстракция.
Аноним 23/02/20 Вск 14:51:39 1612512178
>>1611732
>>1612141
Дебилушка, смолток проиграл потому что это было ультратормозное говнище, и vtables с early-binding по дефолту тупо быстрее. Во-вторых, это просто квинтэссенция динамического петушения когда что угодно может вызывать послать сообщение чему угодно, сообщение может перехватить что угодно и ответить что угодно, самостоятельно решая что ошибка, а что нет.
Ну то есть программировать на этом может быть весело, но для разработки и поддержки реальных систем - это слишком дорого и хуёво.

Единственный способ его реанимировать - всё покрыть хотя бы простой типизацией, вынести месседж пассинг дрисню в отдельное подмножество языка и тоже типизировать. То есть получился бы Kotlin + Typed Akka.
Аноним 23/02/20 Вск 14:53:56 1612516179
>>1612512
Нахуя ты к двоим обращаешься в единственном числе?
Аноним 23/02/20 Вск 15:00:22 1612524180
>>1612512
>Ну то есть программировать на этом может быть весело, но для разработки и поддержки реальных систем - это слишком дорого и хуёво.

А почему тогда Эрланг используют?
Аноним 23/02/20 Вск 15:06:45 1612530181
Аноним 23/02/20 Вск 15:09:40 1612534182
>>1612530
Нет, конечно. Это мистификация всё. Заговор масонов.
Аноним 23/02/20 Вск 15:24:59 1612557183
>>1612534
Ага, всё ведь на пхп и жс пишут.

Прочитал как "заговор массивов"
Аноним 23/02/20 Вск 16:34:56 1612640184
>>1612524
А ерланге хотя бы разделение есть: вызов функций - это вызов функций, а посылка сообщений - это посылка сообщений.
Плюс в ерланге акторы были чтоб обеспечить конкаренси, изоляцию и, как результат, отказоустойчивость, а в смолтолке не было ничего из этого, зато были акторы для всего просто чтоб были.
Аноним 23/02/20 Вск 19:14:01 1612867185
>>1611584
>факт в том, что 99% программистов услышав слово ООП подумают про джаву, кресты и пхп

В средневековье 99% жителей планеты думали что Солнце вращается вокруг Земли.
Аноним 23/02/20 Вск 19:19:55 1612874186
>>1612512

>это было ультратормозное говнище
Как же оно тогда работало на Xerox Alto? Первая ОС где окна можно двигать мышью по экрану была написана на SmallTalk.

> Kotlin
Молчал бы с этим убогим говном для индусов
Аноним 23/02/20 Вск 19:26:00 1612877187
>>1612867
А сейчас 99% думает что земля вращается вокруг солнца (хотя реально вокруг центра масс солнечной системы, не всегда находящегося внутри гелиосферы), но считает себя умнее. Дебичи не меняются.
Аноним 23/02/20 Вск 19:39:50 1612889188
>>1612877
>но считает себя умнее
И вполне обоснованно. Считать, что земля вращается вокруг Солнца умнее, чем наоборот.
Аноним 23/02/20 Вск 20:26:30 1612946189
Аноним 23/02/20 Вск 20:38:28 1612970190
>>1612946
Причем тут Smalltalk? На видео говорят что программа написана на BCPL.
Аноним 23/02/20 Вск 20:41:14 1612976191
>>1612877
Так-то есть центр массы галактики и Земля вращается вокруг него, что не мешает ей ещё и вращаться вокруг Солнца. Вот, кстати, интересный вопрос про центр массы вселенной: есть ли он (если не брать за центр вселенной мой хуец, бтв) и будет ли правильно строить модель движения вокруг него?
Аноним 23/02/20 Вск 20:45:04 1612979192
>>1612976
Если считать вселенную более менее однородной, то центр обозреваемой вселенной где? ... Бинго, you name it, это Земля.
Аноним 23/02/20 Вск 20:50:16 1612984193
>>1612970
Так Smalltalk еще медленнее.
Аноним 23/02/20 Вск 20:53:44 1612988194
>>1612984

обмажутся питухоном, а потом у них "смолток медленный"
Аноним 23/02/20 Вск 21:01:15 1612994195
>>1612988
При чём тут вообще питон?
Аноним 23/02/20 Вск 21:05:29 1612999196
>>1612979
Но она неоднородна, бесконечное расширение - функция от времени, там где время минимально - масса черных дыр должна быть больше, а значит это и есть центр вселенной?
Аноним 23/02/20 Вск 21:07:06 1613000197
>>1612984
А вот хуй, для машины с 5Mhz процессором, работает вполне себе сносно.
Аноним 23/02/20 Вск 21:12:53 1613004198
>>1612994

>>1612994
>При чём тут вообще питон?

мейнстримная ООП параша. Смолток помер не из-за своих хуёвых качеств, а из-за того, что не в том месте и не в то время появился. Сейчас же для успеха языка нужно коммунити и(или) батарейки и(или) корпоративный подсос и(или) кучерявый мессия
Аноним 23/02/20 Вск 21:14:15 1613005199
>>1612999
Я залез и педивикию и таки
>но в 1990-е Маргарет Геллер и Джон Хукра выяснили, что на масштабах порядка 300 мегапарсеков Вселенная практически однородна[4]
Аноним 23/02/20 Вск 21:18:52 1613009200
>>1613004
>Смолток помер
В том и дело что не помер.
Аноним 23/02/20 Вск 21:20:09 1613011201
>>1613005
Это теория из 90, сейчас не всё так однозначно, см.`Великая стена Геркулес-Северная корона`.
Аноним 23/02/20 Вск 21:23:51 1613015202
>>1613009
< не помер
Чо по вакансиям?
Аноним 23/02/20 Вск 21:23:58 1613016203
>>1613000
В сравнении с BCPL медленнее.
Аноним 23/02/20 Вск 21:24:17 1613017204
>>1613009
Популярные гитхаб репы кидай.
Аноним 23/02/20 Вск 21:24:58 1613018205
>>1613004
>мейнстримная ООП параша.
Это не про питон.
Аноним 23/02/20 Вск 21:31:52 1613031206
Аноним 23/02/20 Вск 21:34:45 1613038207
>>1613031
Ну так это собственно сабж. А я хотел посмотреть хотя бы CRUD проект на смоллтоке, а не на сишку.
Аноним 23/02/20 Вск 22:10:51 1613076208
Аноним 23/02/20 Вск 22:17:10 1613080209
>>1613076
Вот это мощный язык, современные теперь кажутся упрощенными для идиотов.
Аноним 24/02/20 Пнд 04:53:18 1613297210
ООП решает проблему локализации кода путём нагромождения миллиона нелокализованных объектов в каждый проект и оверрайда операндов так чтобы было непонятно что они делают. ООП появился из-за общего желания поменьше думать об имплементации и побольше использовать крутые плюшки.
Аноним 24/02/20 Пнд 04:54:18 1613298211
>>1613297
операторов в смысле.
Аноним 24/02/20 Пнд 04:59:07 1613301212
>>1613297
Если при проектировании возникает вопрос "что достойно отдельного объекта?"
Ответ на него достаточно прост. Объекта достойно всё.
Аноним 24/02/20 Пнд 12:34:47 1613443213
>>1612867
Охуенные у тебя аналогии.
Вращение Земли вокруг Солнца - проверяемый факт, определение оопе - придуманная людьми гуманитарная хуйня и споры о том что же такое НАСТОЯЩЕЕ оопе , это как споры как звучит НАСТОЯЩИЙ готик-рок или что НА САМОМ ДЕЛЕ изображено на картине очередного абстракциониста.
Аноним 24/02/20 Пнд 12:45:58 1613453214
>>1607925 (OP)
>Для чего нужно ООП?
>Какие проблемы и задачи оно решает?
Основная причина использования ООП - это переиспользование кода. ООП свободно позволяет это делать за счет полиморфизма, наследования и инкапсуляции.
Аноним 24/02/20 Пнд 12:54:09 1613461215
>>1613453
Наследование говно, инкапсуляия это сокрытие, а полиморфизм самая годная штука.
Аноним 24/02/20 Пнд 18:33:39 1613747216
>>1613461
>Наследование говно
Нужно для полноценной реализации полиморфизма
>инкапсуляия это сокрытие
Сокрытие деталей имплементации.
Аноним 24/02/20 Пнд 19:35:37 1613832217
>>1613747
>Сокрытие деталей имплементации.
Попался! Это в первую очередь объединение данных и кода, манипулирующий ими.
Сокрытие там как фича.
А то, что это только сокрытие учат только на говнокурсах.
Аноним 24/02/20 Пнд 19:36:42 1613834218
>>1613832
>манипулирующий
-щего
фикс
Аноним 24/02/20 Пнд 19:48:27 1613846219
>>1613832
Сокрытие деталей имплементации подразумевает объединение данных и кода.
Аноним 24/02/20 Пнд 19:50:35 1613847220
Давайте начнем с простого. Опишите интерфейс кошки.
Аноним 24/02/20 Пнд 19:52:35 1613848221
>>1613846
Сокрыть можно и без инкапсуляции.
Аноним 24/02/20 Пнд 20:06:24 1613863222
>>1613848
Если нет инкапсуляции, то сокрытие равноценно не использованию данного типа данных практически свой None. Инкапсуляция в обоих смыслах возможна даже в процедурном C. Другое дело реализовано ли на уровне классов встроенных в язык или каким либо другим способом.
Аноним 24/02/20 Пнд 20:08:49 1613865223
>>1613847
Накладные ушки - это миксин/трейт ?
Аноним 24/02/20 Пнд 20:19:35 1613872224
>>1613865
У кошки в базовой комплектации нет накладных ушек, это инъекция зависимости.
Аноним 24/02/20 Пнд 20:54:34 1613920225
1345633681843.png 31Кб, 442x442
442x442
Ctrl + F "Поддержка" - 1 результат.

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

Самые большие затраты при разработке софта - это его поддержка(а не первоначальная разработка, о чем обычно идёт речь в спорах наподобие ОП)
Аноним 24/02/20 Пнд 21:07:16 1613948226
>>1613920
>...то только ООП.
Доказывай, чо.
Аноним 25/02/20 Втр 13:54:47 1614616227
>>1610689
Машина Тьюринга и лямбда исчисление эквивалентны с точки зрения вычислимости. Доказано еще в 30-х. Иди нахуй даун.
Аноним 25/02/20 Втр 14:02:10 1614620228
Аноним 25/02/20 Втр 14:11:28 1614625229
1.jpg 7Кб, 242x208
242x208
>>1614620
ПРОВЕРКУ МОЖНО ВЫПОЛНИТЬ БУКВАЛЬНО ДВУМЯ С ПОЛОВИНОЙ ПРОЦЕДУРАМИ НА ГОРИЗОНТАЛЬ И ДИАГОНАЛЬ
@
ЕБАН БУКВАЛЬНО ХАРДКОДИТ БУКВАЛЬНО КАЖДЫЙ КЕЙС ВРУЧНУЮ
@
>ЖЕНЕРИКИ КАКОЕТО ГОВНО
Аноним 25/02/20 Втр 15:36:13 1614698230
>>1608094
> Поэтому ты расскажи как бы ты в процедурном стиле описал новый тип данных?
так и называется - структура
Аноним 25/02/20 Втр 15:59:13 1614724231
>>1610119
>Вот тут возникает первая проблема. Данные внутри структуры должны быть согласованны, не может быть в сутках 27:83:132.

В OpenGL последних версий (и в Вулкане, вроде, тоже), например ввели куколд-ООП.

Суть в том что саму структуру в руки тебе не выдают.

Тебе выдают в руки ID, и процедуры типа геттеров-сеттеров в которые ты это id можешь передавать и которое резольвится внутри драйвера в какой-то реальный стейт.
Аноним 25/02/20 Втр 18:55:12 1614873232
>>1614698
Понятно, что структура. Я о конкретной реализации спрашиваю.
Аноним 25/02/20 Втр 21:53:28 1614975233
>>1614616
>эквивалентны с точки зрения вычислимости
Он обратного не утверждал, долбоящер.
Что-то я не наблюдаю очереди желающих программировать машины тьюринга.
Аноним 25/02/20 Втр 22:29:56 1615004234
Аноним 25/02/20 Втр 23:33:57 1615074235
Аноним 26/02/20 Срд 01:12:17 1615154236
Дайте что-то почитать по ООП что бы я начал писать нормально, а то пришел на проект, а тут кругом говно и оно только накапливается
Аноним 26/02/20 Срд 02:12:06 1615165237
514aaabgzhL.SX3[...].jpg 31Кб, 382x499
382x499
Аноним 26/02/20 Срд 07:44:17 1615194238
Аноним 26/02/20 Срд 09:08:12 1615202239
>>1607925 (OP)
В игорах особенно в массовых онлайн дрочильнях используется другая отличная от ооп концепция - ECS
Все объекты/сущьности размазываются по многим таблицам/спискам. Ты можешь сразу обработать координаты 100500 мобов, а не вызывать monster->move(0, 0) для каждого моба. Считается что полиморфизм дорого стоит. Пусть меня поправит кто в теме
Аноним 26/02/20 Срд 10:04:13 1615216240
Ооп ему не нравится. А может ты еще за украинцев?
Аноним 26/02/20 Срд 10:08:12 1615218241
Аноним 26/02/20 Срд 10:46:32 1615236242
>>1611451
Хорошо что его начали выдавливать по сжв-линии.
Аноним 26/02/20 Срд 10:57:03 1615245243
>>1615202
Не столько из-за самого полиморфизма (в ООП, конечно, есть косвенный вызов через vtable, но он вроде и в ECS никуда не исчезнет), сколько из-за сложности изменений в ООП, например геймдизайнер поменял тип юнита со среднего танка на тяжелый, тебе придется лезть в разные файлы, менять что от чего наследуется и не наебаться
Аноним 26/02/20 Срд 11:01:35 1615248244
>>1612877
>центра масс солнечной системы, не всегда находящегося внутри гелиосферы
Знаешь там погрешность порядка двух диаметров солнц максимум, так что.
Аноним 26/02/20 Срд 11:16:42 1615258245
>>1611584
>НАСТОЯЩИЙ интернет и гиперссылки это вообще не то что все думают
Ну да, другое, а что?
Аноним 26/02/20 Срд 11:25:08 1615260246
>>1611552
> Под ООП всегда подразумевалось, подразумевается и будет подразумеваться как бы вы не старались, маньки мутабельные структы со связанным неймспейсом, в котором определены процедуры-методы, меняющие поля структа.
Мань, под ООП всегда подразумевалась отправка сообщений объекту, да, вызов метода это тоже отправка сообщения.
>процедуры-методы, меняющие поля структа.
Фабричный метод, который возвращает каждый раз новый объект, смеется тебе в лицо.
Короче, никто не виноват что ты говнокодер и свой опыт проецируешь на остальных.
Аноним 26/02/20 Срд 11:37:43 1615263247
>>1610689
> гибкости
Эмоциональное слово, не несущее какого-либо объективного определения в данном контексте.
>позволяют из маленького ядра построить любую вычислительную систему
Из машины Тьюринга можно построить любую вычислительную систему. Личералли. Это то что позволяет строить полноценные компьютеры в майнкрафте, к примеру.
>Грубо говоря, они позволяют строить свой язык программирования.
Один из самых первых примеров машины Тьюринга - это когда ячейки хранят буквы, которые интерпретируются. Так что да, машина Тьюринга позволяет строить свой язык программирования и работать уже на нем.
>математике
Математика - лженаука, она изучает несуществующий предмет, покажи мне отдельно существующее число в природе. Их нет.
>Состояние это зло, все ошибки происходят из-за него.
Состояние это добро, все благое происходит из-за него.
Аноним 26/02/20 Срд 11:47:42 1615272248
>>1615263
>покажи мне отдельно существующее число в природе
Температура - это абстракция. Термодинамика тоже лженаука? Количество - это абстракция, но вполне имеет отношение к реальному миру. Ты же не можешь предположить что у тебя батя вдруг не один, а скажем полтора бати, даже если ты уверен что твоя мамка шлюха.
Аноним 26/02/20 Срд 11:50:43 1615277249
>>1615272
> Ты же не можешь предположить что у тебя батя вдруг не один, а скажем полтора бати, даже если ты уверен что твоя мамка шлюха.
Крикнул
Аноним 26/02/20 Срд 11:51:34 1615279250
>>1615272
Ты мне показал батю, а ты мне отдельно число в природе покажи, вумник.
Аноним 26/02/20 Срд 12:55:29 1615336251
>>1607925 (OP)
>Почему пользоваться классами и объектами, а не допустим списками? Ведь суть одна и та же.
А как твои списки генерируют СОБЫТИЯ ?
Аноним 26/02/20 Срд 13:02:31 1615347252
0E2C190E2E2D0E2E2E0E2E2D0E1B2C140E2E2D0E2E1E140E2E1A0E2F1C0E2E1D0E2F2C14

0E2F1B0E2E1E0E2F190E2E2F0E2E210E2E2B0E2E2E0E2E220E1B2C140E2E2F0E2F190E2E2

10E2F1A0E2E2E0E2E1E0E2E1D0E2E210E2E2D0E2F2F0E2E220E2F1A0E2F2F140E2E2A140E

2F190E2E1E0E2E200E2E1E0E2F190E2E1B0E2E190E2F1F0E2E210E2E21140E2E1D0E2E1B0

E2E190E2F200E2E1E0E2F190E2E2E0E2E1B0E1B2C140E2E2C0E2E2E0E2F200E2E19140E2F

1A0E2E2E0E2E1B0E2F1A0E2E1E0E2E2C140E2E190E2F1E0E2F1C0E2E1E0E2E2B0E2E190E1

B2C140E2E2D0E2E19140E2F1A0E2E2E0E2F1A0E2E190E2F200E2E1E140E2E2C0E2E2E0E2F

200E2E1E0E2F190E2E190E2F1B0E2E2E0E2F190E2F2B140E2F1A0E2E2B0E2E210E2E1B0E2

E190E2F2E0E2F1B145259140E2E190E2E2D0E2E2E0E2E2D0E2E2E0E2E1B140E2F1A0E2E1B

0E2E2E0E2E210E2E2C140E2E1D0E2F190E2F1C0E2E1F0E2E2A0E2E190E2E2C140E2E210E2

E2B0E2E21140E2E2F0E2F190E2E2E0E2F1A0E2F1B0E2E2E140E2F190E2E190E2E1D0E2E21

140E2E2B0E2F1C0E2E2B0E2E200E2E2E0E2E1B0E1B2C140E2F210E2E2A0E2E2E0E2E2B0E2

F2C0E2E2D0E2E210E2E2A0E2E21140E2E1B0E2F2B0E2F1B0E2E210E2F190E2E190E2F2E0E

2F1B140E2E2E0E2E1A140E2F1B0E2E1E0E2E1A0E2F2F140E2E2D0E2E2E0E2E1C0E2E210E1

B2C140E2E2F0E2E190E2F190E2E190E2F210E2E19140E2E1B140E2F1F0E2E1E0E2E2B0E2E

2E0E2E2C140E2E2F0E2E210E2E190E2F190E2E210E2F1B0E2F1A0E2F2F140E2E2D0E2E191

40E2E2F0E2E2B0E2E2E0E2F220E2E190E2E1D0E2E2A0E2E190E2F1E140E2E1D0E2E2B0E2F

2F140E2E2D0E2E2E0E2F190E2E2C0E2E210E2F1A0E2E2E0E2E1B170E2C1B0E2E2E0E2F1B1

40E2E2C0E2E1E0E2F1A0E2F1B0E2E2E140E2E1C0E2E1D0E2E1E140E2F1B0E2F2B140E2E2F

0E2E2E0E2F200E2F1C0E2E1B0E2F1A0E2F1B0E2E1B0E2F1C0E2E1E0E2F210E2F2C140E2F1

A0E2E1E0E2E1A0E2F2F140E2E1B140E2F1C0E2F2E0E2F1B0E2E1E0E1B2C140E2E2C0E2E1E

0E2F1A0E2F1B0E2E2E140E2E1C0E2E1D0E2E1E140E2E2D0E2E1E0E2F1B140E2E2C0E2E2E0

E2F200E2E21140E2E2E0E2F1B140E2F1A0E2E2B0E2E2E0E2E1B0E2E19140E2F1A0E2E2E0E

2E1B0E2F1A0E2E1E0E2E2C0E1B2C140E2E2C0E2E1E0E2F1A0E2F1B0E2E2E140E2E1C0E2E1

D0E2E1E140E2E1E0E2F1A0E2F1B0E2F2C140E2E200E2E1E0E2F190E2E2A0E2E190E2E2B0E

2E2E140E2F1B0E2E2E0E2F190E1B2C140E2E19140E2E1D0E2E190E2E1F0E2E1E140E2E1E0

E2F1A0E2E2B0E2E21140E2F1B0E2F2B140E2E2F0E2E2E0E2F1A0E2F1B0E2E210E2F210E2F

2C140E2F1A140E2E2A0E2E2B0E2E210E2F190E2E191416140E2F1A0E2E210E2F1A0E2F1B0

E2E1E0E2E2C0E2E19140E2F210E2E210E2F1D0E2F190E2E2E0E2E1B0E2E190E2E2D0E2E21

0E2F2F140E2E2D0E2E1E140E2E2F0E2E2E0E2E2A0E2E190E2E1F0E2E1E0E2F1B140E2E190

E2E1D0E2E2C0E2E210E2E2D0E2E210E2F1A0E2F1B0E2F190E2E190E2F1F0E2E210E2E2114

0E2F1B0E2E1B0E2E2E0E2E1E0E2E1C0E2E2E14525917140E2C1D0E2E2E0E2E1A0E2F190E2

E2E140E2E2F0E2E2E0E2E1F0E2E190E2E2B0E2E2E0E2E1B0E2E190E2F1B0E2F2C140E2E2D

0E2E19140E2F190E2E1E0E2E200E2E1E0E2F190E2E1B0E2E190E2F2014515D5D595C0E1C2

A0E1B2F0E1B2F555855524F5861174C4C0E1B2F5C580E1B2F
Аноним 26/02/20 Срд 13:07:35 1615357253
Аноним 26/02/20 Срд 13:38:01 1615427254
>>1615236
Ты со штульманом перепутал.
Аноним 26/02/20 Срд 13:39:16 1615429255
>>1615248
>Знаешь там погрешность порядка двух диаметров солнц максимум, так что
Так что? А теперь раздели диаметр земной орбиты на два диаметра Солнца и посмотри какое большущее число получится.
Аноним 26/02/20 Срд 13:39:51 1615431256
>>1615347
МОЧЕРАТОР!!1 ТУТ ЦП!1
Аноним 26/02/20 Срд 13:43:40 1615436257
>>1615263
>Из машины Тьюринга можно построить любую вычислительную систему.
И? Как из утверждения "на машине тьюринга можно реализовать что-то более выразительное" следует утверждение "машина тьюринга сама столь же выразительна".
Если тебя выразительность машины тьюринга устраивает, то открывай брейнфак и пиши там, никаких функций, объектов, замыканий чтоб я не видел в твоём коде.
Аноним 26/02/20 Срд 13:47:56 1615441258
Аноним 26/02/20 Срд 13:51:50 1615445259
>>1615263
>Математика - лженаука, она изучает несуществующий предмет
Вот два пальца, вот три пальца, посчитай вместе будет пять пальцев.
Вот один человек, вот четыре человека, посчитай вместе будет пять человек.
Вот человек говорит с тобой, спрашивает сколько человек в том здании, ты говоришь ему "пять", он представляет себе пять человек.
Охуенно блядь несуществующий.
>покажи мне отдельно существующее число в природе. Их нет.
Из этого не следует, что концепция числа ничего не значит, т.к. всякое число является отображением реальности, как я только что показал на примере пальцев и людей.
Ну насчёт мнимых чисел разве что точно не скажу, а всякое действительное число это совершенно точно способно описывать реальный мир с пальцами, людьми и килограммами.
Аноним 26/02/20 Срд 13:52:49 1615447260
1562961921700.png 19Кб, 374x252
374x252
>>1615436
Так то же самое касается лямбдакалькулюса, который ты противопостовлял Тьюрингу. Вот уж от кого смешно слышать претензии к похожести на брейнфак.
Аноним 26/02/20 Срд 13:53:25 1615449261
>>1615445
>Вот два пальца, вот три пальца
Это пальцы.
>Вот один человек, вот четыре человека
Это человеки.
Числа мне покажи, джениус. Числа в природе.
Аноним 26/02/20 Срд 13:55:45 1615454262
>>1615449
Тебе и звук показать нельзя, его же не видно
Аноним 26/02/20 Срд 13:58:21 1615458263
>>1615454
Звук слышно ушами. Каким органом чувств воспринимаются числа?
Аноним 26/02/20 Срд 14:05:20 1615462264
sanitar-mem.jpg 113Кб, 883x704
883x704
>>1615449
Так что это у нас тут? Пациент не способен к простым обобщениям. Из анамнеза: легкая степень олигофрении.
Аноним 26/02/20 Срд 14:06:23 1615463265
Аноним 26/02/20 Срд 14:27:36 1615483266
>>1615458
>Каким органом чувств воспринимаются числа?
Мозгом, как и пальцы со звуками.
Для этого правда нужно абстрактное мышление, но судя по тому что ты способен выучить и понимать человеческий язык, что ты нам тут и продемонстрировал, оно у тебя имеется.
Если ты считаешь что способность воспринимать обобщения это для петухов и нинужно, то сразу после того как прочтёшь этот пост тебе следует перестать пользоваться языком, ибо язык это тоже обобщение, ведь в мире не существует слова "яблоко", в мире есть только яблоки, а слова ты уже мозгом воспринимаешь.
Аноним 26/02/20 Срд 14:34:06 1615497267
>>1615483

>Для этого правда нужно абстрактное мышление

>>1615462

> Картинка с врачом

Так это тебе врач нужен, если у тебя в голове самовозбужденные глюки лженаучные мерещатся.

Абстрактное мышление - самоиндуцированная ментальная глюка.
Аноним 26/02/20 Срд 14:34:59 1615498268
>>1615497
А сказать-то что хотел?
Аноним 26/02/20 Срд 14:43:47 1615507269
>>1615483
>Мозг
>огран чувств
Дальше не читал.
Аноним 26/02/20 Срд 14:43:50 1615508270
>>1615483
Блядь, какой же ты долбоеб. Теперь из-за тебя он оигнорит мой пост, который его разъебывает, доебавшись до какой-то хуйни в твоем моем посте.
Аноним 26/02/20 Срд 14:44:20 1615509271
>>1615483
>ведь в мире не существует слова "яблоко", в мире есть только яблоки
Верно. Вот и чисел не существует в природе, только несколько яблок.
Аноним 26/02/20 Срд 14:44:28 1615510272
>в твоем моем посте
Последствия перенесенного гриппа дают о себе знать
Аноним 26/02/20 Срд 14:46:20 1615514273
>>1615497
Двачую, большая часть того чем так гордятся гении является по факту бредом.
Аноним 26/02/20 Срд 14:46:43 1615515274
>>1615510
Ну не корона и то уже хорошо.
Аноним 26/02/20 Срд 14:49:30 1615521275
Аноним 26/02/20 Срд 14:54:34 1615530276
>>1615447
При желании запутанно можно писать на чём угодно, тот анон речь вёл о том, что функциональная нотация ближе и понятнее человеческому существу, чем распутывание цепочек из goto
Аноним 26/02/20 Срд 14:55:45 1615534277
>>1615507
Правильно сделал. Ведь чтение - это абстракция, а абстракции нинужны, только реальность, только счёт на палочках.
Аноним 26/02/20 Срд 14:58:35 1615541278
Аноним 26/02/20 Срд 15:07:17 1615558279
>>1615521
>Ну не. Там наверное про восприятие частоты.
Там про то что один и тот же звук воспринимается по-разному в зависимости от видеоряда. А единственное место, где сигналы от уха и глаз пересекаются - это мозг.
Аноним 26/02/20 Срд 15:18:48 1615581280
>>1615508
Давай-ка разберём по порядку.
Допустим ты начал разговор, искренне желая помочь избавиться от заблуждений оппоненту, тогда как оппонент заблуждется опять же совершенно искренне (а не толсто тралирует).
Дальше ты видишь, что твой оппонент показывает себя демагогом, реагируя на пост другого человека соответствующим образом.
Теперь ты понимаешь, что твой оппонент - демагог. Можешь ли ты расстроиться из-за того, что не смог разубедить демагога? Нет. Демагога разубедить невозможно, т.к. он не за истиной в дискуссию приходит.
Но ты расстраиваешься. Почему? Ответ прост - потому что ты на самом деле тоже демагог, преследующий цель посоревноваться в ментальной гимнастике. Истина тебе побоку, тебе надо просигналить свой ум и подвешенный язык.
А теперь вопрос - почему меня должно ебать, что я разломал дискуссию двум демагогам? Да сосите хуй, ёпт, меня это только радует.
Аноним 26/02/20 Срд 15:19:25 1615582281
>>1615541
Не, сам пробовал - пиздец ещё тот.
Аноним 26/02/20 Срд 15:29:51 1615602282
>>1615581
>А теперь вопрос - почему меня должно ебать, что я разломал дискуссию двум демагогам?
Потому что этот демагог - ты, лол. Вот твои посты.
>>1615581>>1615483>>1615445
Я прошел мимо и захотел помочь твоей точке зрения (хотя всю твою ФП-шизу и 0 новых мыслей за последние годы я в рот ебал, ты один из самых скучных долбоебов на борде). Ты спиздил у меня аргумент (потому что сам лучше не придумать не можешь), но при этом полил (как обычно) кучей графоманского дерьма, полного самолюбования. Твой оппонент доебался до этого самолюбования, и ты, как собачка, побежал за ним, в вашем демагогическом самоотсосе.
Аноним 26/02/20 Срд 15:30:05 1615603283
>>1615447
>кидает понятную нотацию
>пытается высмеять, напирая на непонятность
А что непонятно-то? Вот объявления функций, вот тела функций, вот вызовы функций.
Никаких перещёлкиваний регистриков при этом не происходит, машина никем не командует, в отличие от императивщины, где машина приказывает программисту помнить где там чё в ней хранится. Функциональный и объектный подход - это сила, это путь наверх, императивные портянки это обсасыванье байтов всемогущей машине, это путь во времена рабства.
Аноним 26/02/20 Срд 15:36:40 1615615284
>>1615602
А я и не утверждал будто я не демагог, лул. Что не отменяет того, что вы двое - демагоги.
>всю твою ФП-шизу
Подожди, в приведённых тобой постах нет ничего про ФП.
Я наткнулся на пост >>1615263 и решил позабавиться над очевидной хуйнёй
>Математика - лженаука, она изучает несуществующий предмет, покажи мне отдельно существующее число в природе.
Не путай меня со своими протыкателями, которые уже миллион лет тебя тралируют тут (сочувствую кстати, если так), я лично и в фп-тред не заходил, если он тут вообще есть.
Аноним 26/02/20 Срд 15:40:47 1615625285
Аноним 26/02/20 Срд 15:42:46 1615631286
>>1615582
Человеку естественна запись алгоритма, а не функций. Ну кроме полутора савантов.
Аноним 26/02/20 Срд 15:43:44 1615634287
>>1615603
>кидает понятную нотацию
>брейнфак ym.yn.ym.yn.ym.yn ЗАТО РЕГИСТРЫ НЕ ЩЕЛКАЮТ
У тебя в голове походу что то щелкает
Аноним 26/02/20 Срд 15:44:48 1615638288
>>1615615
> решил позабавиться над очевидной хуйнёй
>но число в природе так показать и не смог
Аноним 26/02/20 Срд 15:45:50 1615642289
>>1615631
Хм, с одной стороны верно, но с другой вспомни школу:
"корень из икс это такое число, которое в квадрате даёт икс"
Чисто декларативное описание ведь. А про метод Ньютона никто в школе и не вспоминает. Значит не только алгоритмами нам свойственно мыслить.
Аноним 26/02/20 Срд 15:46:55 1615647290
Аноним 26/02/20 Срд 15:48:43 1615653291
>>1615602
А, пробежал по треду и понял, что тут произошло.
Вот этот чел - >>1610689 , который пишет зачем-то с большой буквы термины - не я.
Потом пришёл я и встал на его сторону.
Потом пришёл ты и встал на мою сторону.
Потом ты решил, что раз мы защищаем с тем аноном один тезис, следовательно мы - один человек.
Что-ж, ты ошибся.
Аноним 26/02/20 Срд 15:50:15 1615656292
>>1615634
>функция принимает такие-то аргументы и возвращает такие-то значения
>брейнфак
Походу у тебя в реале фак с твоим брейном произошёл.
Аноним 26/02/20 Срд 15:53:42 1615666293
>>1615656
>Четкая машина Тьюринга с четкими инструкциями перехода
>брейнфак
Нет, у тебя.
Аноним 26/02/20 Срд 16:01:10 1615685294
>>1615638
>но число в природе так показать и не смог
А где-то подписывался, что буду число в природе показывать? Я сказал
>>покажи мне отдельно существующее число в природе. Их нет.
>Из этого не следует, что концепция числа ничего не значит, т.к. всякое число является отображением реальности, как я только что показал на примере пальцев и людей.
Число - отображение реальности, её модель, а не сама реальность.
Мы можем с такой моделью ракеты в космос запускать. С такой моделью мы можем спроектировать протоколы для обмена сообщениями на сосаче, значит нам обоим есть выгода от этой модели. Вот и обоснование нужности математики. А шифрование с открытым ключом это вообще на 99.9% "ненужная и реально в природе не существующая" математика.
Аноним 26/02/20 Срд 16:06:44 1615702295
>>1615685
>А где-то подписывался, что буду Бога в природе показывать? >Бог - отображение реальности, её модель, а не сама реальность.
>Мы можем с такой моделью ракеты в космос запускать. С такой моделью мы можем спроектировать протоколы для обмена сообщениями на сосаче, значит нам обоим есть выгода от этой модели. Вот и обоснование нужности Бога. А шифрование с открытым ключом это вообще на 99.9% "ненужный и реально в природе не существующий" Бог
Аноним 26/02/20 Срд 16:09:44 1615711296
>>1615666
>в программе, записанной совокупностью чётких инструкций перехода, разобраться может разве что мыщьх, которому в детстве хлористого кальция укололи, потому что только аутизм способен заставить человека добровольно становиться рабом машины, следящего за состоянием каждого регистрика
Но нам-то, простым людям, без волшебной инъекции как быть?
Аноним 26/02/20 Срд 16:10:47 1615712297
>>1615711
Аутист, неспособный приготовить макарошки по пошаговому рецепту, ты?
Аноним 26/02/20 Срд 16:13:41 1615718298
>>1615702
>Бог - отображение реальности, её модель, а не сама реальность.
Бред. Бог в представлении верующих это именно что сама реальность и есть. Мда, ни в науке ты не силён, ни в богословии, ни в демагогии.
Аноним 26/02/20 Срд 16:14:50 1615720299
>>1615712
Макарошки могу, а положения планет посчитать - нет, слишком заёбисто.
Аноним 26/02/20 Срд 16:27:48 1615736300
>>1615718
>Бог в представлении верующих это именно что сама реальность
Ты с каким нибудь буддизмом перепутал.
Аноним 26/02/20 Срд 16:47:18 1615770301
>>1615736
Ну если бог это не сама реальность, а мужик на небе, то не мне доказывать его существование.
А доказать математику - запросто. Вот я зашифровал сообщение открытым ключом, вот ты его не можешь за обозримое время расшифровать, через день сдаёшься я тебе даю закрытый ключ и ты расшифровываешь Потом я описываю, как мне это удалось - с помощью несуществующих в природе чисел, и ты такой "ой бля, ну ладно, не существуют и хуй с ними, раз мои задачи решают значит так и быть". Либо ты отказываешься от шифрования, а значит немедленно выходишь с двача, потому что тут https, который не работает, потому что спроектирован с помощью неработающей лженауки.
Аноним 26/02/20 Срд 16:51:15 1615777302
>>1615770
>Ну короче боженька там чет делает с ключами и у тебя двач работает. А показать числа в природе не смогу
Ок.
Аноним 26/02/20 Срд 16:57:41 1615787303
>>1615777
В этом и разница: в одном случае тебя просят, умоляют доказать, но ты ничего не можешь доказать, потому что не можешь, а в другом тебе говорят "я могу это доказать, садись и слушай", но ты осознанно отказываешься слушать доказательство. ССЗБ.
Аноним 26/02/20 Срд 16:58:17 1615790304
>>1615787
>ничего не доказываешь
фикс
Аноним 26/02/20 Срд 17:07:28 1615799305
>>1615787
>вместо того чтобы показать число в природе, начинает доказывать совершенно левую хрень
Ок.
Аноним 26/02/20 Срд 17:08:00 1615801306
>>1615777
>у меня пять человек в команде
>отправляемся в поход на неделю
>сколько суточных пайков ложить в мешок?
>хмм, пять умножить на семь?
>не, нихуя, числа сами по себе ничего не означают, а умножить людей на дни и получить пайки я не могу, это бред
>поэтому будет методом проб и ошибок устанавливать нужное число пайков
>точнее не число, а прям вот сами пайки в реальности, а то чисел ведь нет
>если на каннибализм не перейдут, и лишних пайков не останется, значит взяли ровно столько существующих в реальности пайков, сколько нужно
>зато об абстракции не зашкварились
>подожди, а как ты понимаешь такие слова как союзы и предлоги, если они ничего в релаьности не означают?
>заткнись сука
Аноним 26/02/20 Срд 17:08:29 1615802307
>>1615799
А где-то подписывался, что буду число в природе показывать? Я сказал
>>покажи мне отдельно существующее число в природе. Их нет.
>Из этого не следует, что концепция числа ничего не значит, т.к. всякое число является отображением реальности, как я только что показал на примере пальцев и людей.
Число - отображение реальности, её модель, а не сама реальность.
Мы можем с такой моделью ракеты в космос запускать. С такой моделью мы можем спроектировать протоколы для обмена сообщениями на сосаче, значит нам обоим есть выгода от этой модели. Вот и обоснование нужности математики. А шифрование с открытым ключом это вообще на 99.9% "ненужная и реально в природе не существующая" математика.
Аноним 26/02/20 Срд 17:14:52 1615810308
Аноним 26/02/20 Срд 17:16:05 1615811309
>>1615810
>зарепортил то, чего не существует в релаьности.
Хуя ты математик оказывается.
Аноним 26/02/20 Срд 18:03:02 1615880310
>>1615357
>Поллинг.
"Поллинг" и "Событие" - разные вещи.

Где есть возможность применить второе вместо первого, следует использовать именно событие.
Так как поллинг при частом опросе пожирает процессорное время, а если экономить, то между опросами появляется интервал не реагирования, то есть при поллинге возникает одно из двух зол - или затратность при большой скорости реагирования или задержка реагирования при экономии ресурсов.

"Событие" действует иначе :
Никаких судорожных движений код не совершает, при этом временной интервал между наступлением события и реакцией на него - предельно минимален.
Класс имеет встроенный механизм для проектирования событий.

По правде говоря, событийно-управляемое приложение можно написать и без использования классов. Однако списком или структурой такое приложение не ограничится. Это будет, не менее сложный код, чем код, основанный на применении класса и даже тогда возможностей класса он иметь не будет :
Тут ведь в чём "волшебство" ? - из класса можно штамповать любое количество "экземпляров класса"(объекты), всего одной строкой кода.

На самом деле, и тут можно обойтись без применения класса, написав код, между прочим, мало чем, принципиально, отличающийся от класса. И это похвально ибо не секрет, что код, хотя бы на один уровень абстракции ниже, чем более высокоуровневый, имеет возможность оказаться, по сравнению с ним, оптимальным.

Хотя более простым и читабельным - он точно не окажется.
Читабельность наших изваяний может быть востребована в определённом случае : когда у твоего кода много поклонников и критиков.
Но если ты склонен писать только не доступные уразумению бездарных толп, шедевры - то тогда, конечно, не надо гоняться за простотой. Но и о здравом смысле забывать негоже :

А то ведь, была такая передача про Японию, однажды, в телевизоре, дак там один невьебенный Мастер удочек - бамбуковую удочку тридцать лет делал ! - и сделал.
А другой сделал рубанок - дак тот рубанок с доски срезал стружку толщиной восемь микрон, прозрачная !
Надлежит ли нам уподобится этим экспертам ? - скажу честно "хрен его знат".
Аноним 26/02/20 Срд 18:27:28 1615913311
>>1615880
>"Событие" действует иначе :
>Никаких судорожных движений код не совершает, при этом временной интервал между наступлением события и реакцией на него - предельно минимален.
>Класс имеет встроенный механизм для проектирования событий.
То ли я нихуя не смыслю, то ли ты.
Вот как мне известно: события в компьютерах организуются одним из двух способов: либо event loop, что означает "я дрочу процессор каждые n секунд и мне похуй на быстродействие" (что кстати объясняет почему в некоторых игрушках типа скайрима всё рушится если фпс отклоняется от строго заданного числа - там event loop привязан к частоте кадров), либо аппаратные прерывания (вот тут действительно производительность не страдает, ибо обработчик прерываний запускается не постоянно).
Но как именно в плане быстродействия держать ивент луп может быть быстрее, чем опрашивать объект? Чего я не вижу?
Аноним 26/02/20 Срд 18:28:33 1615915312
>>1607925 (OP)
Ух, теоретики как раскукарекались-то.
Аноним 26/02/20 Срд 18:32:20 1615922313
>>1615880
Чисто интуитивно, мне кажется, что под капотом, на уровне ОС или фреймворка там все равно поллинг. Ну, не считая конечно некоторых аппаратных прерываний процессора. Но думаю их можно исключить из рассмотрения, потому что они там где-то на уровне ядра, драйверов. Да и даже прерывание не бесплатное, не помню сколько, но несколько тактов уйдет на сохранение всех регистров. А дальше мы имеем что-то вроде circular buffer, который постоянно должны проверять в некоем event-loop, по расписанию шедулера, или просто всегда когда можем, когда дойдет выполнение. А наполняется этот буфер уже событиями из других потоков. Так что ИМХО все события это просто синтаксический сахар, и никаких особых трудностией их использовать без классов и объектов никогда не было. А насчет читабельности - ну там просто такой switch с пачкой событий, вполне себе красиво выглядящий.
Аноним 26/02/20 Срд 18:52:59 1615957314
>>1615913
>Но как именно в плане быстродействия держать ивент луп может быть быстрее, чем опрашивать объект?
Может быть он имел в виду, что опрашиваются все объекты постоянно? Хз. Хотя с другой стороны, а ведь они все равно опрашиваются постоянно. К примеру, событие mouseOver. В любом случае где-то под капотом будет цикл foreach(r in rect) if m.x>=r.x && m.x<=r.x+r.w и т.д.
Аноним 26/02/20 Срд 18:53:30 1615958315
>>1615957
>foreach(r in rect) if m.x>=r.x && m.x<=r.x+r.w и т.д... generateEvent(...)
фикс
Аноним 26/02/20 Срд 19:43:20 1616006316
>>1615922
>Чисто интуитивно, мне кажется, что под капотом, на уровне ОС или фреймворка там все равно поллинг.
Мало ли что там "всё равно".

В конечном итоге там всё равно несколько регистров, каждый из которых является всего лишь аналогом числовой переменной - но это не значит, что если написать, например, полный аналог Ассемблерного кода на высокоуровневом языке(а это вполне возможно), то будет хорошо.

Если бы цикл Loop на высокоуровневом языке оборачивался с частотой несколько сотен мегагерц... то почему бы и нет ?

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

Но вот не крутится цикл Loop в приложении, которое само работает в порядке очереди, притом, не самой приоритетной очереди, в порядке других задач. Этот цикл может оказаться, на самом деле, я не знаю, циклом десятого уровня вложенности, если отсчитывать от цикла работы процессора.

Поэтому стиль программирования для низкоуровневого не стоит применять(хотя работать будет) по отношению к высокоуровневому коду.
Аноним 26/02/20 Срд 19:50:11 1616010317
>>1616006
Да это все понятно, но никак ты не избавишься от этого евент лупа, сколько не закапывай его под ковер. Как не избавишься от foreach, пиша map/reduce. Ну если тебя так смущает event loop, напиши его где-нибудь в файлике main один раз и спрячь с глаз, а погоди, твой фреймворк с событиями ровно так и поступает.
Аноним 26/02/20 Срд 20:12:27 1616034318
>>1616010
>но никак ты не избавишься от этого евент лупа, сколько не закапывай его под ковер.
А я и не собирался "избавляться" от евент лупа. Он никуда деться не может.

Просто если мы его будем сами писать в своём коде, он будет выполняться с одной скоростью,
Но если мы "оставим его под ковром", то там он выполняется совсем с другой скоростью, не достижимой для кода, который мы пишем.
Именно поэтому не надо его из под ковра вытаскивать.

Вот аналогия :
Есть внутренняя функция языка "InStrB()", она скрыта от глаз "под капотом" и наверняка написана на машинных инструкциях.
Недавно я попробовал написать её аналог на самом языке - скорость выполнения написанного мною аналога оказалась в тридцать раз медленнее ! - что бы мы не вытаскивали из под капота в код высокоуровневой программы, окажется медленнее, чем вызов интерфейсного метода или оператора или внутренней функции языка.

Там, под ковром(или за методом WinAPI), может и вращается цикл, но он, по любому гораздо подвижнее цикла, который мы можем написать в своём коде.
Аноним 26/02/20 Срд 20:18:27 1616049319
>>1616034
>Просто если мы его будем сами писать в своём коде, он будет выполняться с одной скоростью,
>Но если мы "оставим его под ковром", то там он выполняется совсем с другой скоростью, не достижимой для кода, который мы пишем.
Что следует из?
Аноним 26/02/20 Срд 20:50:06 1616108320
>>1615653
>Вот этот чел - >>1610689 , который пишет зачем-то с большой буквы термины - не я.
Имена собственные разве не с большой буквы пишутся?
Аноним 26/02/20 Срд 20:52:38 1616119321
>>1616034
>Недавно я попробовал написать её аналог на самом языке - скорость выполнения написанного мною аналога оказалась в тридцать раз медленнее
На нормальном языке c++ такой проблемы не возникнет.
Аноним 26/02/20 Срд 20:53:58 1616123322
Аноним 26/02/20 Срд 20:56:27 1616130323
>>1615653
>Вот этот чел - >>1610689 , который пишет зачем-то с большой буквы термины
Возможно он из Лондона.
Аноним 26/02/20 Срд 20:58:26 1616134324
>>1616049
>Что следует из?
Дак я же привёл пример "вытащенной из под капота" функции.

Но ты можешь и сам попробовать ловить "событие" путём опроса значения какой либо переменной с помошью зацикленного условия, с одной стороны.

И использовать системную функцию "MsgWaitForMultipleObjects", с другой.
Протестируй результативность двух вариантов кода :
1. Посмотри чо показывает счётчик загрузки процессора.
2. Измерь интервал, между ожидаемым событием и реакцией на него.

Здесь : http://www.firststeps.ru/mfc/msdn/r.php?85 список ожидающих функций

Аноним 26/02/20 Срд 20:59:27 1616136325
>>1615263
В природе есть понятие количества. Цифры это абстрактные величины, которые обозначают количества, меры, объемы, единицы измерения. Математика это та наука, которая абстрактное делает явным, пригодным к изучению. Чтобы рассуждать о явлениях, необходим язык, который будет описывать эти явления. Математика дает такие языки. Арифметика это не более чем формальная система, язык описания некоторых явлений.

Одна из самых простых формальных систем - логика высказываний. На ее основе строятся более сложные. В твоих словах есть противоречия логике высказываний. Например, что математика не наука только потому, что в живой природе нет чисел - это наглая ложь. Я уже доказал, что числа всего лишь язык описания количества. Самое явление количества совершенно естественно, оно присутствует в природе, оно незыблемо. Далее не вижу смысла опровергать твои слова, хотя это не сложно сделать. Просто если у тебя в логике высказываний противоречия, то что будет если говорить о более сложных вещах.
Аноним 26/02/20 Срд 21:00:02 1616139326
>>1616134
Да я жопой прочитал, сорь
Аноним 26/02/20 Срд 21:01:35 1616140327
>>1616123
Лямбда-исчисление, Комбинаторная логика, и т.п. - это собственные имена.
Аноним 26/02/20 Срд 21:02:13 1616142328
>>1616136
>В природе есть понятие количества.
Нет.
Аноним 26/02/20 Срд 21:07:44 1616151329
>>1615447
Если тебе непонятны эти символы, это не означает, что это что-то сложное, убогое, невыразительное. Вот эти несколько строк кода могут выполнять столько же, сколько сотня строк для Машины Тьюринга. Выходит, что лямбда-асбтракции более выразительны, более лаконичны. Что собственно и требовалось доказать.
Аноним 26/02/20 Срд 21:09:26 1616155330
>>1616151
Если тебе непонятны goto в машине тьюринга, это не означает что это что-то сложное, убогое, невыразительное. Вот эти несколько goto могут выполнять столько же, сколько сотня строк лямбда калькулуса. Выходит, что машина Тьюринга более выразительна, более лаконична.
Что собственно и требовалось доказать.
Аноним 26/02/20 Срд 21:09:46 1616157331
>>1616142
Дурака включил? Сколько у детей родителей? Двое. Сколько у человека рук? Две. Сколько носов, ртов, голов? По одному (ой).
Аноним 26/02/20 Срд 21:13:48 1616161332
>>1616157
Дети есть. Руки есть. Носы, рты, головы есть. Чисел как не было и нет. Твои оправдания?
Аноним 26/02/20 Срд 21:15:39 1616166333
>>1616155
>Если тебе непонятны goto в машине тьюринга, это не означает что это что-то сложное, убогое, невыразительное. Вот эти несколько goto могут выполнять столько же, сколько сотня строк лямбда калькулуса. Выходит, что машина Тьюринга более выразительна, более лаконична.
Еще как означает. Из десятка комбинаторов можно сложить сколько угодно мощный язык программирования. И это займет крошечный объем текста. Потому что высокая выразительность, лаконичность. Высокий уровень абстракции. Машина Тьюринга обладает низкой выразительность, лаконичностью, крайне низким уровнем абстракции. Поэтому нельзя на ней сделать тоже самое как с помощью десятка комбинаторов, не написав тысячи строк кода, который к тому же будет еще и дурно пахнуть, будет неподдерживаемым.
26/02/20 Срд 21:16:03 1616168334
>>1607925 (OP)
Один долбоеб, думающий, что понимает ООП, пытается что-то доказать другому такому же долбоебу.
Аноним 26/02/20 Срд 21:16:21 1616169335
>>1616119
>На нормальном языке c++ такой проблемы не возникнет.
Дак InStrB это как раз и есть внутренняя функция языка VB6

Просто я сделал то, что не должен был делать :
Я описал функцию с помощью набора других.

Внутренние функции и операторы выполняются быстро, но если вместо того, чтобы просто вызвать функцию или оператор, вызвать набор других, к тому же в сдвоенном цикле - получается "В Сочи через Магочи", на каком бы сверхбыстром языке, это не делалось, даже если сильно верить в обратное.

Аноним 26/02/20 Срд 21:16:50 1616170336
>>1616140
Это не название географического места и не имя человека (и не один из ещё кучи случаев которые мне лень перечислять).
Потому что в противном случае у нас будут Физика, Химия, Теорема Котельникова, Электронно-лучевая трубка, Электромагнитное излучение и прочие перлы.
Аноним 26/02/20 Срд 21:17:59 1616172337
>>1616161
Чисел вообще не нужно. Есть понятие количества, которое незыблемо на планете Земля. Можно описывать его как угодно, хоть с помощью палочек, как это делали в старину. Можно с натяжкой сказать, что чисел нет, но если человек отрицает существования количественных явлений вообще, то это попахивает умственной отсталостью.
Аноним 26/02/20 Срд 21:21:21 1616181338
>>1616155
>Вот эти несколько goto могут выполнять столько же, сколько сотня строк лямбда калькулуса.
В том то и дело, что не могут. Доказывай.
>Выходит, что лямбда-асбтракции более выразительны, более лаконичны
Выйдет, как только будет доказан пункт 1.
>Что собственно и требовалось доказать.
Ишь какой, а собственно доказать для начала ты не пробовал?
Аноним 26/02/20 Срд 21:22:02 1616182339
Аноним 26/02/20 Срд 21:22:15 1616184340
>>1616181
Аппелирую к Авторитетам, которые все это уже сделали лет 80 назад.
Аноним 26/02/20 Срд 21:23:02 1616186341
>>1616170
Имя собственное (калька с лат. nomen proprium, которое в свою очередь является калькой с греч. ὄνομα κύριον)[1], собственное имя[2] — имя существительное, обозначающее слово или словосочетание, предназначенное для именования конкретного, вполне определённого предмета или явления, выделяющее этот предмет или явление из ряда однотипных предметов или явлений.

http://gramota.ru/biblio/magazines/gramota/onomastics/28_126

У тебя плохие примеры. Электронно-лучевая трубка собирательное название. Теоремы различные и так принято писать с большой буквы. Насчет физики, химии, и прочего, тут надо смотреть контекст.
Аноним 26/02/20 Срд 21:25:11 1616188342
>>1616182
Я третий долбоеб, не участвующий в тупых терминологических срачах, а решающий прикладные задачи. И похуй, как это называется: ООП, ФП, АОП, СОП, ХУЙП, НЕБОП, АЛЛАХП.
Аноним 26/02/20 Срд 21:26:56 1616191343
>>1616172
Естественно у природы никакого понятия количества нет. Как и вещества. Это просто вибрации на закольцованых струнах в 27-мерном пространстве.
Аноним 26/02/20 Срд 21:27:49 1616194344
>>1615154
>>1615165
Книги Бертрана Мейера есть на русском. Если что.
Аноним 26/02/20 Срд 21:35:57 1616203345
>>1615165
Сразу пахнуло 90-ми от дизайна.
Аноним 26/02/20 Срд 21:38:54 1616207346
>>1616186
>имя существительное, обозначающее слово или словосочетание, предназначенное для именования конкретного, вполне определённого предмета или явления, выделяющее этот предмет или явление из ряда однотипных предметов или явлений[/B]
Вот эту часть не учёл. То есть должно существовать некоторое множество обязательно конкретных предметов или явлений, из которого ты выделяешься названием.
Множество людей, множество рек, множество сайтов в интернете, множество компьютерных игр, множество ураганов (все ураганы как ураганы, а ты - "Катрина").
А лямбда-исчисление это из множества чего? Из множества формальных систем? Так формальные системы не конкретны, нельзя подойти, пальцем показать и сказать - "во, смотри, формальная система!"
>Теоремы различные и так принято писать с большой буквы
Не-а. "Я доказал теорему Пифагора" а не "Я доказал Теорему Пифагора".
Аноним 26/02/20 Срд 21:44:06 1616217347
>>1616188
>не участвующий в тупых терминологических срачах, а решающий прикладные задачи
Какое забавное противопоставление. А одно другому мешает?
Я решаю прикладные задачи так, как мне нравится, и в срачах слушаю аргументы тех, кто делает не так, мотаю на ус и модернизирую свои навыки. Диалектика в действии.
Аноним 26/02/20 Срд 21:46:42 1616223348
>>1616217
Есть разница между диалогом вида:
- X.
- Ты не прав. Y.
И:
- X
- Интересно, возьму на заметку.
Аноним 26/02/20 Срд 21:49:07 1616229349
>>1616203
Так она написана в 80-х.
Аноним 26/02/20 Срд 21:50:48 1616234350
>>1616223
- Мамку ибал!!!!!1111
- Интересно, возьму на заметку.
Аноним 26/02/20 Срд 21:51:12 1616235351
Аноним 26/02/20 Срд 21:52:47 1616238352
>>1616191
>Естественно у природы никакого понятия количества нет.
В природе это есть. Есть озера большие и есть маленькие. Разница в КОЛИЧЕСТВЕ воды. Есть двуногие и четвероногие живые существа. Ты так неумело троллишь или у тебя действительно сдвиг по фазе? Просто если ты не ощущаешь вокруг себя количественные явления, то это умственная отсталость. И вряд ли с таким IQ тебя бы взяли в крутой универ на научную или инженерную специальность.
Аноним 26/02/20 Срд 21:52:50 1616239353
>>1616235
Взял самому себе за щёку, чекну.
Аноним 26/02/20 Срд 21:55:22 1616244354
>>1616238
У природы вообще нет "понятий", о которых ты писал, дебс.
Аноним 26/02/20 Срд 21:57:40 1616247355
>>1616223
>Бог любит нас и на всё Его воля
>Интересно, возьму на заметку.

Анон, ну я же, мать его, инженер. Какой от меня прок если я буду брать на заметку всё подряд без критической оценки?
Если ты мне продаёшь бронежилет, я сначала выстрелю в тебя, а потом куплю, если останется у кого покупать. Тезис должен столкнуться со старательно выкованным мной антитезисом, и лишь то, что останется на этом пожарище, будет истиной. Которую стоит брать на заметку.
Аноним 26/02/20 Срд 22:08:15 1616257356
Аноним 26/02/20 Срд 22:12:08 1616261357
Аноним 26/02/20 Срд 22:18:39 1616265358
>>1616257
Ничего нет, это всё куски мяса выдумали.
Аноним 27/02/20 Чтв 00:40:08 1616371359
>>1616265
А как люди в космос попали?
Аноним 27/02/20 Чтв 01:05:23 1616375360
>>1616371
А им похуй было, есть что-то в природе или нет, они прикладную задачу решали, лол.
Аноним 27/02/20 Чтв 01:13:24 1616377361
>>1616238
Если твоё количество дискретно, то натуральные числа есть. Если оно непрерывно, то ты попадаешь на апории зенона и прочие парадоксы бесконечного деления пространства.
Мамкины нигилисты, у которых вообще ничего нет - скучные уебки, которым не дают тянки
Аноним 27/02/20 Чтв 02:37:53 1616395362
>>1614873
struct в тех же плюсах вроде. Тот же объект, только без методов. Питоновский named tuple. Словарь из того же питона.
Аноним 27/02/20 Чтв 02:48:36 1616399363
>>1608094
>Поэтому ты расскажи как бы ты в процедурном стиле описал новый тип данных? У тебя есть стандартные типы - целое, число с плавающей точкой, символ, булеан. А тебе нужен, например такой тип как время в формате hh:mm:ss.
Не в процедурном, а в функциональном. Очень просто. С помощью функций. Также как в СИКП реализуют рациональные числа и арифметику над ними.
Аноним 27/02/20 Чтв 04:28:35 1616410364
>>1616375
И наверное для этой прикладной задачи пришлось дохуя всякой хуйни посчитать, да?
Аноним 27/02/20 Чтв 04:29:28 1616411365
>>1616377
Зенону самому тянки не давали.
Аноним 27/02/20 Чтв 04:41:06 1616413366
>>1616411
Нахуя тебе спрашивать тянок, если ты живешь в рабовладельческом строе?
Аноним 27/02/20 Чтв 10:12:21 1616576367
>>1616169
Могу только повторить - если бы ты писал на c++ или asm такой проблемы бы не было.
Аноним 27/02/20 Чтв 10:13:37 1616579368
>>1616411
Приходит Зенон к тянке, а та усмехается - чтобы присунуть на шишечку, надо сначала на пол шишечки. А чтобы на полшишечки, надо сначала на четверть. Зенон обиделся и вышел.
Аноним 27/02/20 Чтв 16:52:14 1617258369
>>1616579
Странно, вот не могу сказать что "в голосину проиграл" с этой шутки, но в то же время мне она кажется весьма остроумной.
Аноним 27/02/20 Чтв 17:55:36 1617313370
>>1616576
>если бы ты писал на c++ или asm такой проблемы бы не было.
Касаемо Ассемблера - в нём нет внутренних функций, помимо элементарных операторов.
А в чём заключается "проблема", о которой ты говоришь ?

Никакая внутренняя функция языка, описанная с помощью других внутренних же функций этого языка не может работать медленнее, чем её костыляторная имитация. Вернее, может конечно. Только вряд ли разработчик языка мог написать такую.
Но ты мог бы посоревноваться с ним сам. Потому что лично я не питаю подобных тщеславных надежд.
Аноним 28/02/20 Птн 08:42:46 1617749371
>>1613848
Можно. По моему, в стандартном апи пистона так часто делают. Попробуй листалку на urllib написать, например.
Аноним 28/02/20 Птн 08:45:29 1617751372
>>1613847
Я только классы умею.
Аноним 28/02/20 Птн 17:27:00 1618139373
>>1617258
Шутка охуенная, но кому ее рассказать
28/02/20 Птн 19:54:48 1618257374
>>1618139
> к тянке
Ржали всем /b/ ))0))0)
Аноним 28/02/20 Птн 21:13:53 1618351375
>>1618139
Завтра знакомому интеллектуалу расскажу, обязательно ПРООРЁТ.
Аноним 28/02/20 Птн 22:42:40 1618422376
>>1607925 (OP)
Простое переиспользование кода. Объекты можно рассматривать как модули. К тому же, ООП решает проблемы древних байтоебских типов.
Никто не использует НЕ ДОЛЖЕН использовать ООП в чистом виде. Но частичное его применение позволит правильно организовать данные программы.
Аноним 28/02/20 Птн 22:50:45 1618435377
Аноним 28/02/20 Птн 22:56:07 1618442378
>>1618435
Объекты это философское понятие.
Аноним 28/02/20 Птн 23:01:38 1618447379
>>1618442
Не стоит впутывать философию в программирование. Это не даст ничего практически полезного. Концепции(такие как ООП) нужны, но не стоит их накладывать на ИРЛ.
Аноним 28/02/20 Птн 23:08:30 1618454380
>>1618447
Ну тут я бы поспорил, если ты вебмакака-кодер то возможно, а вообще говоря сама сущность объекта, принципы как их выделять из окружающего мира, принципы наименования, долго можно продолжать. Можно еще вспомнить про этическую сторону (не делать программы убивающие людей, отнимающие работу, и т.д.)
Аноним 28/02/20 Птн 23:22:48 1618470381
>>1618435
>не обсуждение сабжа треда
>сабж треда философский
Да иди ты на хуй!
Аноним 29/02/20 Суб 09:11:02 1618609382
>>1618447
Поэтому и не разобраться в вашем коде
Аноним 01/03/20 Вск 20:50:46 1620228383
>>1614975
императивщина считай та де машина тьюринга
Аноним 14/04/20 Втр 10:17:09 1657583384
>>1607925 (OP)
>Для чего нужно ООП?
А для нужно погромирование?
Аноним 17/04/20 Птн 14:06:17 1659981385
>>1657583
Выполнять утверждения. Ряд утверждений, решающих задачу, называется функцией.

Примитив объекта излишен для решения задач.
Аноним 17/04/20 Птн 14:24:55 1659989386
>>1620228
Ага, а автомобиль - то же колесо.
Аноним 17/04/20 Птн 14:40:25 1660010387
>>1659981
>функцией
Это разновидность объекта.
Аноним 17/04/20 Птн 14:50:45 1660021388
>>1660010
У борщехлёбов что ни возьми - функция. Типы - функция, значения - функция, пробелы - фугкция, небо - функция, аллах - функция.
Аноним 17/04/20 Птн 14:53:36 1660025389
>>1612292
недооценный пост.

Помню, студентом вообще не понимал нахуя они все это придумали. Реальный смысл раскрывается только в командной работе с кучей долбоебов.
Один то ты сможешь договориться сам с собой, а для других долбоебов нужны формальные правила игры.
Аноним 17/04/20 Птн 15:25:16 1660064390
Аноним 17/04/20 Птн 15:31:49 1660072391
Аноним 17/04/20 Птн 15:50:05 1660089392
>>1660072
>написал хуйню
>борщехлёб виноват
)
Аноним 17/04/20 Птн 16:12:59 1660108393
>>1607925 (OP)
>Для чего нужно ООП?
Для удешевления труда программистишек, чтобы знали свое место и не задирали носы.
>Какие проблемы и задачи оно решает?
Позволяет писать сложные проекты горсткой дешевых, легко заменяемых индусов. Java, C#, это вот все.
Аноним 17/04/20 Птн 16:13:35 1660109394
>>1660010
В виртуальном манямире интерпретируемых языков - да.
Аноним 17/04/20 Птн 16:40:11 1660132395
ооп - один из возможных подходов к композиции структур данных и алгоритмов, обрабатывающих эти данные


Аноним 17/04/20 Птн 17:15:03 1660167396
вассерман:
главный принцип программирования очевиден: сколь угодно сложную задачу можно разбить на кусочки, настолько простые, что с ними справится кто угодно. С тех пор ничего не изменилось. И этот принцип работает не только в программировании.
объектно-ориентированное программирование, когда программу собирают из структур, содержащих и данные, и методы их обработки.
Вспоминается официальное сообщение о языке Алгол-68: «всякое действие, описанное в настоящем сообщении, может быть заменено любым иным действием, дающим такой же внешний эффект». Эта фундаментальная концепция, на мой взгляд, ещё довольно долго останется одной из ключевых в программировании. Так же, как до того ключевой была идея структурного программирования, то есть той самой декомпозиции сложной задачи на элементарные компоненты, но только в применении, прежде всего, к методам обработки, а уж затем к структурам данных.
Аноним 17/04/20 Птн 19:02:26 1660233397
>>1660109
Ты о чем бля?
Посмотри определение объекта, все на свете является объектами, поэтому процедурно и функционально ОП является ООП.
Аноним 17/04/20 Птн 19:08:13 1660236398
>>1660109
Алсо языки не делятся на интерпретируемые и нет, это вопрос реализации. На виртуалках у тебя даже машкод интерпретируется, а виртуальные драйвера были уже в 95 винде.
Аноним 17/04/20 Птн 19:29:57 1660254399
>>1660233
Это полная хуйня. Так же можно сказать что всё на свете это процесс, или что всё на свете это энергия, или что всё на свете это Аллах.

Объект это слишком абстрактное понятие. Математические объекты и объекты из ООПе - и то и то как бы объекты, но объекты разного толка.
Аноним 17/04/20 Птн 20:00:08 1660293400
>>1607925 (OP)
Процитирую классика.

современое ООП:

толпы быдла долбятся головами об стену невидя двери - для них выпиливают люк.

/thread
Аноним 17/04/20 Птн 21:41:13 1660398401
>>1660254
Да бля, процесс, энергия, Аллах - это объекты, просто потому что так быстрее и удобнее программировать, с опытом узнаешь.
Аноним 17/04/20 Птн 23:34:36 1660485402
>>1660398
Ололо, ООП-макака кого-то поучать ещё будет.
Аноним 17/04/20 Птн 23:38:13 1660490403
>>1660398
Вот у меня в эрланге процессы представлены функциями, и программировать многозадачные приложения на нём в разы удобнее и быстрее, чем на какой-нибудь джяве.
Аноним 18/04/20 Суб 12:44:31 1660810404
>>1660398
>Да бля, процесс, энергия - это объект
Это как если бы глагол являлся существительным - мозг выносит
Аноним 05/05/20 Втр 20:08:45 1678059405
>>1613847
Interface Pussycat {
Kingdom: Animalia;
Phylum: Chordata;
BioClass: Mammalia;
Order: Carnivora;
Suborder: Feliformia;
Family: Felidae;
Subfamily: Felinae;
Genus: Felis;
Species: FelisCatus;
}
Наличие всех этих интерфейсов, естественно, подразумевается. У нас же тру-ООП.
Аноним 06/05/20 Срд 09:33:08 1678472406
>>1607925 (OP)
Двачую, ООП это полный дебилизм
Зачем делать

МояЖопа = новая Жопа(); НовоеГовно = новое Говно(); если(МояЖопа.Говно) МояЖопа.Срать(); иначе МояЖопа.ЗалитьГовна(НовоеГовно);

когда можно просто Срать(Говно)?
Аноним 06/05/20 Срд 09:45:08 1678475407
>>1678472
Изобрести(процедурное_программирование, заново);
Аноним 06/05/20 Срд 10:11:33 1678481408
>>1678472
Полиморфизм. Как ты сделаешь dependency injection в процедурном языке? Структура с указателями на функции? По сути ты переизобретаешь ОПП, где все это решается программированием от интерфейсов.
Аноним 06/05/20 Срд 10:14:51 1678485409
Аноним 06/05/20 Срд 10:35:53 1678490410
>>1678481
Для этого достаточно первоклассных модулей, реализующих одинаковый интерфейс. В принципе именно из модулы ООП логически произрастало, пока всякие пидары не сделали из него хуй пойми что.
Аноним 06/05/20 Срд 10:52:11 1678492411
Инкапсуляция - даёт возможность использовать одинаковые названия для переменных и не бояться, что код наебнется. Служит инструментом для изоляции кода, который будет независим от внешнего кода и будет зависеть от кода в который инкапсулирован, т. е. обязан выполнять определенную политику, которая гарантирует работу кода о котором этот код не знает. Есть у тебя класс с методом, который принимает классы реализующие определенный интерфейс - тебе не нужно знать, что этот метод делает внутри, тебе достаточно реализовать этот интерфейс у своего класса.
Полиморфизм - создал один раз и это работает для многих классов и их наследников, чтобы расширить функционал, тебе не надо лезть в уже существующий код, ты просто наследуешь класс или интерфейс.
Наследование - весь одинаковый функционал, всё общее помещаешь в абстрактные классы, интерфейсы и классы, а конкретное в классы которые их наследуют и реализуют. Всё получается коомпактно и без дублирования.
Аноним 06/05/20 Срд 11:24:33 1678510412
>>1678490
> Для этого достаточно первоклассных модулей, реализующих одинаковый интерфейс.
Это ООП и есть, лол. Только данные и код можно хранить вместе, и не надо каждый раз передавать структуры в функции, как в процедурном программировании.

> пока всякие пидары не сделали из него хуй пойми что
Если ты про наследование, то оно нахуй не нужно. А если про SOLID, то это лишь способ организации кода, к понятию ООП это ничего принципиально нового не добавляет.

мимо
Аноним 06/05/20 Срд 11:49:45 1678524413
>>1678492
>Инкапсуляция - даёт возможность использовать одинаковые названия для переменных и не бояться, что код наебнется. Служит инструментом для изоляции кода, который будет независим от внешнего кода и будет зависеть от кода в который инкапсулирован, т. е. обязан выполнять определенную политику, которая гарантирует работу кода о котором этот код не знает.

Этого можно добиться неймспейсами, модулями и замыканиями.

> Есть у тебя класс с методом, который принимает классы реализующие определенный интерфейс - тебе не нужно знать, что этот метод делает внутри, тебе достаточно реализовать этот интерфейс у своего класса.

Как-будто это какая-то эксклюзивная фича ООП. Протоколы/бихейверы/тайпклассы/интерфейсы модулей, и т.д. дают то же самое.

> чтобы расширить функционал ты просто наследуешь класс

Ага, уже представляю этот горизонтальный шум, если каждая хуитка вынесена в отдельный класс, и потом весь этот ворох говна наследуется где-то в классе на три строчки, который непонятно что делает, пока не просмотришь каждый родительский класс и глаза не вытекут нахуй. За все эти развесистые деревья наследования уже начиная со второй половины нулевых стали заслуженно давать по ебалу; современное ООП это вообще не про наследование, наоборот стараются всё делать максимально плоским, насколько возможно, потому что помнят как с наследованием говна поели в 90х-00х. Абстракция через наследование - самая хрупкая абстракция евер, все эти заманчивые книжные примеры для нубов Cow extends Anymal в реальной жизни превращаются в абсолютно убёщное неподдерживаемое говно, такое что потом никакой SOLID, с препроцессором на аннотациях не спасает.

Аноним 06/05/20 Срд 18:12:34 1678926414
>>1678524
>Этого можно добиться неймспейсами, модулями и замыканиями.

Этого недостаточно, всё тобой перечисленное всего лишь крупнозернистый ООП и не более. Классы, интерфейсы дополняют этот ООП, превращая его в мелкозернистый и обогащая функционал, возможности, облегчая работу для программистов.

>Протоколы/бихейверы/тайпклассы/интерфейсы модулей, и т.д. дают то же самое.

Что-то ты совсем тупенький. ООП как раз и создан для реализации протоколов и поведений. Как ты их без ООП реализовать собрался? Типа "давайте просто на бумажечке запишем, что вот так вот делать будем, а потом каждый будет смотреть на бумажечку, перед тем как код писать"? Вот ООП как раз и избавляет тебя от написания бумажечек, ООП автоматизирует ту часть, которую раньше необходимо было поддерживать вручную. ООП следит за тем чтобы протоколы не нарушались а поведение не становилось непредсказуемым.

>Ага, уже представляю этот горизонтальный шум, если каждая хуитка вынесена в отдельный класс

Ну давайте теперь бензопилами не пользоваться, потому что какой-то васян уронил её на себя и отхуячил половину руки. Чего ты сказать то хотел? Да, нужно учить принципы SOLID, понимать их, для того чтобы строить адекватные ООП архитектуры без раздувания кода. Но это вопрос квалификации пользователя инструмента, который никак не влияет на пользу от использования этого инструмента квалифицированными людьми.


Аноним 06/05/20 Срд 19:29:59 1679016415
>>1678926
>Этого недостаточно
Чего не достаточно, сектант? Ты вообще читаешь на что ты отвечаешь? Ты пишешь что тебе нужен скоупинг, всё выше перечисленное даёт скоупинг и большинстве случаев инкапсуляцию.

>Что-то ты совсем тупенький. ООП как раз и создан для реализации протоколов и поведений. Как ты их без ООП реализовать собрался?
Пиздос. Ну не знаю, откуда тогда в Erlang/Elixir/Clojure есть бихейверы и протоколы, может сейчас окажется что это ООП всё языки. Я уже молчу про ML-семейство с их системой модулей или хаскельские тайпклассы, которые позволяют добиться этого же и даже больше.

Дальше читать твой пост не вижу смысла. Судя по всему ты какой-то нуб, который нихуя в своей жизни кроме процедурщины и ООП не видел, но берёшься размышлять о полиморфизме и инкапсуляции. Убогий полиморфизм на сабтайпинге и инкапсуляция уровня public/protected/private это лишь один из многих вариантов, причём не самый удачный, получивший широкое распространение по исторической случайности.
Аноним 06/05/20 Срд 20:37:55 1679075416
>>1678490
Видел такое в окамле. Чем-то напомнило шаблоны из крестов, ведь это тоже самое compile time polymorphism. Классная штука сама по себе, но не очень гибкая, но это может я просто не видел других реализаций? Проблема возникла когда я пытался одновременно замокать Lwt и Lwt_io и делал это с помощью модулей. Мой модуль использовал два модуля которые использовали друг друга, и мне пришлось городить вложенные модули как здесь https://sketch.sh/s/jj2oZ5xAsjBRms5Z2DMTt4/ . Если представить, что таких модулей у меня пять и более, то там вложенность будет просто ебучая. Я не фанат ООП, но тут признаю, что интерфейсы удобнее и гибче.
Аноним 06/05/20 Срд 23:35:22 1679162417
>>1679016
> Erlang/Elixir/Clojure

Что то из живых языков будет или ограничишься мёртвыми языками на которых кроме "любительская хуета от сектанта #21" ничего нет?
Аноним 07/05/20 Чтв 11:48:16 1679454418
>>1679162
Ну хуй знает, я на эликсире уже лет 5 пишу, вакансии регулярно прилетают, как то не заметил его смерти.

Но вообще забавно как ты, обосравшись, решил сменить тему. Мань, речь шла о том, что есть масса не ОО-языков, в которых есть всё о чём ты пишешь. Причём я привёл пару продакшн-ЯП, которые используются на практике, а не какую-то обскурную экзотику.
Просто, как и я сказал выше, ты зашореная чмоха, которая нихуя кроме ОО-параши в жизни не видела. Само по себе это не порок конечно, люди идут программировать на жабе/похапе не от хорошей жизни, да и на языки и с программированием им насрать по большому счёту, но вот с умным видом что-то пояснять про полиморфизм/икапсуляцию с таким ограниченным кругозором это пиздец позорище.
Аноним 07/05/20 Чтв 11:52:30 1679460419
>>1679454
>что есть масса не ОО-языков, в которых есть всё о чём ты пишешь.

Ты забываешь уточнять, что это только твоё мнение, которое ничем кроме твоего манямирка не подкреплено.

>Причём я привёл пару продакшн-ЯП, которые используются на практике

На С без всякого ООП целые операционные системы писали, представь себе. Вот только каким хуем это наделяет С всем тем, что есть у ООП и каким хуем оно отменяет те возможности, которые ООП предоставляет, одному тебе, долбоебу, известно.
У тебя на всё один аргумент - ЭТО ЕСТЬ И В ФУНКЦИОНАЛЬНОМ ПАГРАМИРАВАНИИ!!! Хотя сама суть разделения на ООП и ФП это отрицает. Т. е. ты с голой жопой идёшь против всего мира, а потом еще и возмущаешься, когда тебя никто всерьез не воспринимает.
Аноним 07/05/20 Чтв 13:56:49 1679615420
>>1678472
С памятью меньше возни, все деструкторы (освободители памяти) не разбросаны по куче функций. Не нужны никакие флаги а-ля когда память размечена, когда не размечена (у меня такие есть где-то).
Аноним 08/05/20 Птн 22:59:09 1681651421
>>1679460
Что вы несёте, сударь?
Функциональщина (фундаментальная операция - редукция выражения), противопоставляется императивщине (фундаментальная операция - присвоение, т.е. запись блядских нулей и единиц в блядскую ячейку памяти).
ООП это частный случай императивщины, это даже не парадигма, и никаким боком не противопоставление ФП, именно поэтому "ЭТО ЕСТЬ И В ФУНКЦИОНАЛЬНОМ ПАГРАМИРАВАНИИ!!!" - чистейшая правда. Да, оно (классы и объекты) там действительно есть. Чего там нет - так это присвоения.
Аноним 09/05/20 Суб 15:45:50 1682166422
>>1681651
>это даже не парадигма
Ясно.
Аноним 09/05/20 Суб 15:52:22 1682173423
>>1681651
> Функциональщина (фундаментальная операция - редукция выражения), противопоставляется императивщине
Нет, это декларативщина противопоставляется императивщине, И она бывает не только функциональной, но и логической, например, Prolog. inb4: Prolog - это функциональщина, и ООП функциональщина, и ассемблер функциональщина, и небо и аллах функциональщина
Аноним 10/05/20 Вск 00:16:55 1682675424
>>1682173
Нет.
Противопоставления всего два. Первое - "вычислить vs исполнить". Это функциональщина со своими вычислениями против императивщины со своими записями в память (ты будто вообще не читал мой пост). Можно редуцировать это понятие вплоть до лямбда-исчисление против машины Тьюринга.
Второе - "механизм vs декларация", где механизм - "вот конкретная последовательность действий чтобы превратить выражение в результат", а "декларация" - это когда ты описываешь задачу в терминах конечного результата ("я даю тебе значения, ты мне дай предикат который им удовлетворяет"), а программа даёт результат не с помощью чёткого алгоритма, а с помощью перебора.
Ты смешал понятия "ебаться с памятью" и "алгоритм". Алгоритм может быть и без ебли с памятью, как ебля с памятью может быть алгоритма.
Таким образом, "вычисление + декларативность" это логическое программирование, "вычисление + механизм" это как раз-таки функциональщина, а "выполнение + механизм" это императивщина.
А "выполнение + декларативность" - такого не существует. Это по сути своей кнопка "сделать пиздато", которая без ИИ невозможна.

Ещё раз, если непонятно изложил:
"Вычислить" - значит редуцировать некое выражение до примитива, т.е. фундаментальная операция в такой системе - редукция.
"Выполнить" - значит записать некое значение на ленту, т.е. фундаментальная операция - присвоение (на самом деле не только присвоение, а обращение, т.к. мы в ячейки можем как писать, так и читать)
Ебсти память и действовать по алгоритму это разные вещи.
Поэтому пролог это не "логическая декларативщина", а "логическое программирование" это "вычислительная декларативщина", в противовес ФП которое суть "вычислительная алгоритмщина", а со стороны на их противоречие смотрит ассемблер, который суть "исполнительная алгоритмщина"
Аноним 10/05/20 Вск 00:22:08 1682680425
>>1682166
Нет признаков парадигмы. Признак парадигмы это наличие критерия по которому существовало бы что-то противоположное данной парадигме. Что является противоположностью ООП? То же самое, что является противоположностью языку си: декларативное и вычислительное, в противовес алгоритмической и исполнительной, скажем, джаве.
Просто в понятие "императивность" слито два разных понятия - операция с памятью и действие по алгоритму, которые не обязаны идти рука об руку.
Аноним 10/05/20 Вск 09:45:19 1682855426
>>1682675
О, крутяк, можете мне пояснить один вопрос: как в принципе можно вообще обходится без присвоения?
Для решения задач вычисления - оно понятно, хотя меня всегда немного смущало, что желательно реализовывать итерации через хвостовую рекурсию, которая исполняется подобно циклу, которых в функциональном подходе нет. Как-то это странно, сначала исключать цикл, а потом пытаться его повторить другим способом, ну да ладно, сейчас не об этом.
А вот если мне нужно не вычислить значение, а скажем получить сообщение по сети? Или построить хэш таблицу? Что в таком случае делается? Или ограничение на присвоение не строгое?
Аноним 10/05/20 Вск 15:14:20 1683203427
>>1682855
Я тут не помогу, к сожалению.
У меня есть понимание того, чем по сути своей является функциональщина, но я не знаком с языками дрочащими на ФП (именно дрочащими, а не содержащими, хаскель к примеру), и как следствие не знаком с "лучшими практиками" в них.
Как делаю лично я? Пишу функционально всё что могу, а что не могу пишу императивно. Клиент-сервер это как раз классический случай когда без стейта не обойтись. А в общем случае без стейта нельзя обойтись тогда и только тогда, когда у тебя величины могут меняться во времени, например функция, возвращающая рандомное число или сервер, который сидит на потоке и СЛУШАЕТ его, т.е. должен вести себя по разному в зависимости от того, какое сейчас время.
Аноним 10/05/20 Вск 16:37:14 1683271428
Алсо рекомендую к прочтению третью главу SICP — там неплохо разъяснено про эти тонкости.
Аноним 10/05/20 Вск 20:04:05 1683494429
Аноним 16/05/20 Суб 20:01:35 1690752430
>>1682166
>>ООП
>>это даже не парадигма
>Ясно
Напомни-ка мне, из чего состоит объект? Наверное из СОСТОЯНИЯ и методов, да? А что такое СОСТОЯНИЕ, не подскажешь? Наверное такая штука, которая может во времени изменяться, да? Ну прям как переменная, да? Объекты без состояния антипаттерном в ООП являются? Так точно.
Какой из этого вывод? ООП = императивщина. Всё, где есть сайд-эффекты, является императивщиной.
Даже если ты смоллтокоёб с иммутабельными объектами, энивей у тебя что-то помещается в память (пусть даже не ты сам руками помещаешь, а обращаешься через ссылку, но суть та же), это что-то можно оттуда прочесть, а потом сборщик мусора сотрёт.
Аноним 16/05/20 Суб 20:32:41 1690864431
>>1690752
> энивей у тебя что-то помещается в память
И только в волшебном хачкиле это не так. У него, видать, под капотом всё само делается магией, а не железом.
Аноним 16/05/20 Суб 22:48:02 1691089432
>>1690864
Причём тут вообще хачкель?
Аноним 16/05/20 Суб 22:52:06 1691098433
Или это был очередной дебильный намёк, что дескать "ну ахахах смарите раз на уровне ассемблера императивщина значит всё императивщина", нет дорогой мой, парадигма это понятие языковое, если в языке это есть значит это есть, а чё там в компиляторе происходит — его собачье дело. Да в общем-то в тех же лисп-машинах никакого ассемблера нет, шах и мат на самом деле шах и мат был в прошлом предложении поставлен.
Аноним 21/05/20 Чтв 09:04:21 1695966434
>>1691098
>а чё там в компиляторе происходит — его собачье дело
Перезаписал тебе стек, няша. Проверяй
Аноним 21/05/20 Чтв 09:24:03 1695986435
Аноним 21/05/20 Чтв 11:58:08 1696086436
>>1695966
ебать ты хакир, небось сидишь ещё в реверс треде
Аноним 10/06/20 Срд 09:11:19 1718434437
В js есть только объекты. Больше ничего.
Есть еще примитивы, но их можно тоже рассматривать в качестве синглтон объектов, потому как они боксятся, а сделаны разумеется для производительности. (тем более что сейчас ничего не мешает у примитивных добавить в цепочку прототипов прокси объект, отлавливащий сообщения, типа присваивания, и реалиховать поведение прототипов как полноценных объектов, но это ни к чему. проще воспринимать их как синглтоны. когда надо, любой примитив можно обернуть в полноценный независимый объект).
Так. Короче только объекты.
Все объекты делятся на callable и non-callable. Callable это функции, в понимании большинства. Но по факту это все те же объекты, со всеми свойствами что и у других.
Все объекты могут принимать всего несколько типов сообщений - get, set и call. При чем call может принимать только callable объект. при попытке послать call сообщение не-callable объекту будет исключение.
Сообщение get содержит один параметр, сообщение set два. Сообщение call параметром содержит кортеж аргументов, а так контекст this.
Если в объекте (а так же в цепочке прототипов) не назначены слушатели для get и set с определенными параметрами, ищутся слоты с такими именами в объекте и по цепочке. Если находится возвращается то, что в них лежит. Если в них лежит callable объект и ему посылают сообщние call сразу как получили его из слота, то у него будет перегружен контекст (this) на объект из чьего слота его получили. Если только этот объект не был сконструирован стрелочным синтаксисом, иначе контекст перегрузить нельзя. Если после получение callable объекта из слота его сразу не вызвать, а например положить ссылку на него в переменную, то контекст будет сброшен на тот, который был установлен у него в момент его создания (и это не обязательно будет тот же объект из чьего слота его получили).
У callable объектов есть scope (область видимости) и контекст (this) в момент посылки им сообщения call (вызова). scope средствами языка перегрузить нельзя, но некоторые окружения позволяют (например в ноде есть модеуль vm), this перегружается у callable объектов сконструированных не-стрелочным синтаксисом
Классов нет. Есть конструкторы. Любой конструктор принимает новый созданный объект, которому выставлен определенный прототип (другой объект). Оператор instanceof (someObject instanceof SomeClassName) проверяет лишь есть ли в цепочке прототипов у someObject объект который лежит у SomeClassConstructor в слоте с именем prototype. На сам конструктор ему поебать. Чтобы сменить класс, достаточно сменить цепочку прототипов. Даже если объект был сконструированным определенным конструктором.
Так же у объектов есть параметр ограничения доступа, контролирующие его расширяемость или изменяемость (sealed, extensible, frozen). У слотов объекта есть параметры configurable, enumerable, writable. Параметры слотов объекта не влияют на объекты, что в них лежат. Они лишь контролируют доступ к самим слотам.
Все. Никаких классов. Никаких интерфейсов. Как отдельных сущностей. По факту все есть объект и все строит из них.
наследование реализуется выстраиванием цепочки прототипов. Инкапсуляция только на уровне scope'в (читай замыканий).
В остальном все меняется и все динамично, если только специально все не зафризить в момент конструирования. Но обычно этим никто не заморачивается по причине оверхеда и бессмысленности. Разве только фанатики по иммутабельности, н это все из разряда те, кому надо чтобы им по рукам бил компилятор\рантайм\дядя петя. Все "привычные" понятия тянуться в язык для еще более простого вкатывания тех, кто приходит из других языков. Так уж сложилось, что есть куча литературы по привычному, статически классовому ООП, но очень мало по мессадж-пассинг\прототайп-базед\мета-программинг. Все эти притянутые понятия выливают в синтаксический сахар, который не делает ничего полезного, а даже наоборот, еще больше вносит путаницы и от того непонимамания многих вещей в языке. При этом часто этот синтаксический сахар дэже урезан и вспомнинают об этом лишь после (как например проебались с полями в конструкции class и тянут ее теперь только в proposol'ах будущих версий).
JS истинно объектный язык. В современный язык притащили много вкусных вещей для метапрограммирования. Нову примитивную сущность Symbol, и Proxy-объекты. С помощью которых можно еще больше и сильнее перегружать и менять поведение в динамике.
Другое дело, что почти никто не умеет этим пользоваться и не понимает, что такое объектное программирование на самом деле.
Им нужно не объектное, а статически типизированное. А какие именно структуры будут скрываться за этими типами, не собо важно. Важно что это просто структуры и функции, строго привязанные к ним, или иногда менее строго. То, что в Java\C++ это больше структурное программирование, нежели объектное. Объектное программирование не может существовать без динамической среды. Это противоречит самому понятию объекта. А динамическое программирование это слишком сложна и непанятна. И как бы не старались с пеной у рта фанатики кричать про низкий порог входа - низкий он именно что для входа, а не для всего остального. Модификация программ в рантайме всегда было уделом креативно мыслящих людей. Для большинства это слишком сложный уровень высокой абстракции.
Аноним 10/06/20 Срд 14:23:35 1718646438
>>1609551
> Далее. У тебя есть кошечка. Она родила котят. Все котята имеют хаост, усы, по два уха. Это наследование.
Вы заебали со своими котятами и фигурами. Реальные примеры из прода будут?
10/06/20 Срд 15:15:56 1718703439
Аноним 10/06/20 Срд 15:26:21 1718720440
>>1718646
на проде наследование ненужно, только интерфейсы.
Аноним 10/06/20 Срд 15:41:31 1718743441
>>1718646
Окей, допустим ты биолог, ты создаёшь класс Фрукт и наследуешь от него Яблоко...
Аноним 11/06/20 Чтв 11:04:11 1719192442
>>1607925 (OP)
>Для чего нужно ООП?

Нахуй не нужно на самом деле. Рыночек порешал что на рынке ООП не нужно.

Популярные языки отказываются от ООП. Тот же Javascript, Python, C++ в принципе не заставляют тебя использовать его, а какой-нибудь Go так вообще решил дать пососать.
Аноним 11/06/20 Чтв 11:15:40 1719196443
>>1719192
А много ли языков "заставляет"? Таких только джава да шарфик, и всё. В остальных как были функции, так и есть.
Аноним 11/06/20 Чтв 11:39:48 1719205444
>>1719196

Ну вот эти два, да. Но они очень большие.
Аноним 11/06/20 Чтв 13:05:32 1719242445
>>1719192
> Не заставляют => Отказываются
Ну вот популярные языки не заставляют тебя использовать функциональщину. Это значит, что они от неё отказываются? По такой логике мультипарадигменные языки отказываются вообще от всего просто в силу того, что не заставляют тебя использовать что-то конкретное.

> Python, C++
Больше половины стандартных библиотек написана с помощью ООП, и для их использования приходится его юзать. Не заставляют, да?

> Javascript
Это тот, к которому недавно прикрутили джаваподобные классы?

> Go
С каких пор под ООП понимается то, как сделано в джавашарпах? Smalltalk, видать, не ООП был.
Аноним 11/06/20 Чтв 13:10:18 1719246446
>>1719242
В чем прикол юзать гринтекст приписывая какие-то собственные фантазии оппоненту?
Аноним 11/06/20 Чтв 13:14:57 1719249447
>>1719246
Чтобы ответить на фантазии оппонента, который живёт в манямирке без ООП?
Аноним 11/06/20 Чтв 13:22:04 1719256448
>>1719242
>С каких пор под ООП понимается то, как сделано в джавашарпах? Smalltalk, видать, не ООП был.

Так в том-то и дело что Smalltalk это был именно что ООП. То что Алан Кэй придумал, который был прекрасный математик, джазовый исполнитель и вообще хороший человек. Но вот в промышленной, рыночной разработке вроде никогда не участвовал.

А вот всякие Python и C++ нормальный, тот самый, ООП не использует. Его рыночек порешал в пользу той каши, которая щас называется "Мультипарадигмальные языки общего назначения".

> Ну вот популярные языки не заставляют тебя использовать функциональщину. Это значит, что они от неё отказываются?

Ну да, и от функциональщины тоже. В угоду "практичного, васянского кода который все и пишут.
Аноним 11/06/20 Чтв 13:28:10 1719265449
>>1719256
> Его рыночек порешал в пользу той каши, которая щас называется "Мультипарадигмальные языки общего назначения".
И правильно. Бизнес-задачи на них решаются намного эффективнее, а на сомнительных парадигмах кодеры пусть в свободное время пишут.

> Ну да, и от функциональщины тоже. В угоду "практичного, васянского кода который все и пишут.
Да.
Аноним 11/06/20 Чтв 13:31:12 1719268450
>>1719249
Успехи ООП объясняются только успехами GUI в 90-х. Когда у тебя одни языки без ГЦ, то иерархичная структура объектов-овнеров, события и прочее идеально ложились на ООП. Больше оно никуда не ложилось, данные в реляционных базах лежали, игори вообще на стейтмашине opengl себя нормально чувствовали. Но по инерции люди почему-то подумали, что внедрять ооп - офигенная идея. Но это было именно что по инерции.
С переходом GUI в веб ООП умерло окончательно, потому что в вебе эти подходы не работают совсем.
Аноним 11/06/20 Чтв 13:33:51 1719271451
15914711757840.jpg 33Кб, 608x511
608x511
>>1718646
>>1718743
Заходите в соседний тред про шашечки. Покажите, как спроектировать шашки в тру ооп стиле.
Аноним 11/06/20 Чтв 13:38:09 1719272452
>>1719265
Ну так я ж за это и топлю. Когда я говорю "ФП/ООП никто не использует", я подразумеваю что никто не придерживается тех маняфантазий, которые себе профессора понавыдумывали. Вообще, наука она должна быть описательной, а не предписательной. Когда компьютерные учёные начинают крупным корпорациям пояснять как им писать свой код - это уже за рамки выходит.

Понятно, что современный код это смесь трёх парадигм(СП, ФП, ООП), из них берутся какие-то лучшие моменты, а другие просто рыночком отбрасываются.

>>1719271
Ну чел, там ж на гитхубе их как говна...
Аноним 11/06/20 Чтв 13:43:27 1719279453
>>1719272
>Ну чел, там ж на гитхубе их как говна...
И как долго в этой куче говна надо рыться, чтобы найти эталонную ооп реализацию?
Аноним 11/06/20 Чтв 13:45:22 1719280454
>>1719268
Сморя чё щитать ООП. Вот laravel эт ООП?
Аноним 11/06/20 Чтв 13:49:42 1719287455
>>1719272
Просто понятия эволюционируют, и сейчас под ними понимают не то, что было изначально. Впрочем, под ООП сейчас что только не понимают.
Аноним 11/06/20 Чтв 13:55:11 1719292456
>>1719287
Так на том самом, настоящем ООП вообще никогда не писали. Это не то что всё поменялось
Аноним 11/06/20 Чтв 13:55:42 1719293457
>>1719268
В вебе иерархическая структура так и осталась. И дело не в управлении памятью, а тупо в том, что одни элементы гуя состоят из других элементов поменьше. Даже компоненты в реакте - это тоже одно из видений ООП.

> данные в реляционных базах лежали
Ну а сейчас изобрели монгу, чтобы хранить объекты.

> игори вообще на стейтмашине opengl себя нормально чувствовали
Километровые процедурные портянки, в которых почти никто не мог разобраться. Но геймдев вообще особняком стоит, и парадигмы так свои, уникальные: Data-Driven Design, Entity-Component System (тоже своего рода ООП) и прочее, больше нигде не применимое.
Аноним 11/06/20 Чтв 14:04:45 1719302458
Screenshot2020-[...].png 42Кб, 1267x625
1267x625
>>1719293
Иерархическая структура есть в любом продукте человеческой мысли из-за особенностей этой мысли. Если называть это ООП, то тогда и ракету Союз можно назвать ООП. Она же из ОБЪЕКТОВ состоит.
Но это все не так, ООП это более конкретная вещь.
Я, например, не считаю, что энтити в геймдеве это ООП, так же, как и то, что хранится в монге, и уж тем более это не про компоненты в реакте. То есть ты сначала дай определение ООП, а потом решим, сдохло оно, или нет. В общепринятом смысле сдохло, см. пикрелейтед.
А то может по твоему определению в хаскеле ООП, а мы тут спорим.
Аноним 11/06/20 Чтв 14:13:28 1719313459
image.png 80Кб, 1163x531
1163x531
>>1719302
> Иерархическая структура есть в любом продукте человеческой мысли из-за особенностей этой мысли.
Да, в этом и смысл ООП. Ты подразделяешь все данные на некоторые осмысленные сущности, строишь их иерархию и делаешь так, чтобы они обменивались инфой друг с другом. Всё.
> Если называть это ООП, то тогда и ракету Союз можно назвать ООП. Она же из ОБЪЕКТОВ состоит.
Да, как раз потому, что ООП лучше всего описывает объекты реального мира.

> пикрелейтед
Я тогда продолжу твой пикрелейтед и скажу, если ООП сдохло, то остальное и не оживало никогда.
Аноним 11/06/20 Чтв 14:14:25 1719316460
>>1719302
>ты сначала дай определение ООП
Классы, интерфейсы, инкапсуляция, полиморфизм, наследование, паттерны.
Аноним 11/06/20 Чтв 14:15:57 1719318461
>>1719316
Ты ещё абстракцию забыл.
Аноним 11/06/20 Чтв 14:18:51 1719327462
>>1719318
Что конкретно понимается под абстракцией. По-моему она и в остальных парадигмах есть.
Аноним 11/06/20 Чтв 14:22:51 1719334463
>>1719327
https://ru.wikipedia.org/wiki/Абстракция_данных

Судя по определению, это когда ты описываешь некую сущность и оставляешь только самые важные поля, а не пытаешься перечислить вообще все возможные характеристики, какие есть на самом деле.
Аноним 11/06/20 Чтв 14:28:28 1719341464
>>1719313
>Да, в этом и смысл ООП
Это смысл любой инженерной деятельности, включая программирование в данном случае. Назови подход, который не подразумевает иерархию.
>Да, как раз потому, что ООП лучше всего описывает объекты реального мира.
Объекты реального мира лучше всего описывают дифференциальные уравнения, уж в таком мире мы живем
>Я тогда продолжу твой пикрелейтед и скажу, если ООП сдохло, то остальное и не оживало никогда.
Тренды важнее абсолютных значений
Аноним 11/06/20 Чтв 14:28:38 1719342465
>>1719334
Ну так я и говорю, это не отличительная черта ООП, она вообще при любом моделировании используется.
Аноним 11/06/20 Чтв 14:30:52 1719347466
>>1719316
По такому определению rust - ооп. А если убрать классы - то хаскель.
Аноним 11/06/20 Чтв 14:34:24 1719350467
>>1719347
А по какому определению раст с хаскелем не ооп?
Аноним 11/06/20 Чтв 14:55:03 1719382468
>>1719341
> Назови подход, который не подразумевает иерархию.
Нет такого. Потому что остальные подходы - всего лишь подвид ООП.

> Объекты реального мира лучше всего описывают дифференциальные уравнения
Они описывают не сами объекты, а их изменение. Сами объекты - это их свойства. Ничего не говорится о том, как эти свойства изменяются и обрабатываются.

> Тренды важнее абсолютных значений
Конечно. ООП упало до своей асимптоты, ФП доросло до своей асимптоты. Так и останутся. Тренды - это не обязательно линейные функции, иначе гипербола (убывающая экспонента, etc) пересекала бы асимптоту и устремлялась в бесконечность
Аноним 11/06/20 Чтв 14:55:39 1719386469
Окей, но ведь в ФП тоже нет ничего, чего не было бы где-то ещё
Аноним 11/06/20 Чтв 15:01:35 1719402470
>>1719386
Есть, способ изменения состояния. ООП - это расширение СП, и есть присваивание. В ФП же ты должен заново создавать объект с другим состоянием и передавать его в рекурсивную функцию.
Аноним 11/06/20 Чтв 15:09:50 1719419471
>>1719402
Ничто не запретит мне даже в чистой Сишке возвращать новые данные, вместо мутации имеющихся. Сишка стала ФП?
так не работает, ребятки, все эти иммутабельности, композиции функция и т.д. прекрасно _могут_ быть использованы по надобности в 9 языках из 10.
Аноним 11/06/20 Чтв 15:12:07 1719429472
>>1719419
> Сишка стала ФП?
Да, почему нет? То, что язык не приписывает себе какую-то парадигму, ещё не значит, что на нём невозможно так писать.
Аноним 11/06/20 Чтв 15:13:51 1719435473
>>1719419
Чтобы программировать в стиле ФП на сишке придется придерживаться неких правил, за нарушение которых компилятор тебя даже не предупредит.
Аноним 11/06/20 Чтв 15:27:19 1719463474
>>1719429
Отлично. В таком случае все эти ФП/ООП -- свойство конкретного проекта или даже модуля (ибо ничито не помешает мне вставить мутабельный под капотом модуль в иммутабельную обёртку).
А все эти срачи про языки идут лесом. Алсо, процедурная парадигма, как прямо индифферентная к мутабельности -- имеет ввиду и тех и других.
Аноним 11/06/20 Чтв 15:27:58 1719467475
>>1719435
Это уже вопрос к уровню проверок компилятор/линтера. Хаскелл тебя тоже об unsafe под капотом не предупредит.
Аноним 11/06/20 Чтв 15:34:38 1719489476
Аноним 12/06/20 Птн 05:42:16 1720104477
>>1719382
>Нет такого. Потому что остальные подходы - всего лишь подвид ООП.
Ну то есть твое определение не означает ничего. Хуевое определение, возникают сомнения в твоем интеллектуальном уровне, если ты таким пользуешься
Аноним 12/06/20 Птн 07:56:12 1720116478
>>1720104
ООП не подразумевает иерархию.
12/06/20 Птн 20:46:01 1720774479
Любой язык - ООП. JS - ООП. C - ООП. Хаскелль - ООП. Ассемблер - ООП.
Аноним 13/06/20 Суб 00:31:47 1721053480
>>1682855
Ну вот видишь, почему не нужно слушать двачеэкспертов. Всегда удивляюсь, как тут люди красиво пиздят с умным видом, а потом просто на ровном месте обсираются. Как недавно например с O(2n).

Так вот как сделано присваивание в хаскеле. А сделано оно так: вместо

a = readFile(); print(a);

пишется что то типа (псевдокод):

main = bind(readfile, (a) => print(a))

bind это одна из операций определенных над монадой.
В итоге вся программа представляет собой выражение, которое возвращает монаду IO. Вот эта монада по сути и есть алгоритм. Хаскель знает как ее "запустить на вычисление", что он и делает, и тогда программа начинает выполняться.




Аноним 16/06/20 Втр 08:20:00 1724416481
Главный недостаток ООП заключается в следующем: процессы и данные существуют отдельно друг от друга (как в модели деятельности организации, так и в модели программной системы), причем проектирование ведется от процессов к данным. Таким образом, помимо функциональной декомпозиции, существует также структура данных, находящаяся на втором плане.
Аноним 16/06/20 Втр 09:04:25 1724420482
>>1610748

Немного не в тему, но все равно скажу. Это же заебись что статические методы принадлежат одному классу FileUtills. Все хранятся в одном месте, сразу понятно где искать, читаемость вызова таких функций достигает 9999999. ООП не ООП - какая разница, получилось очень удобно
Аноним 21/06/20 Вск 23:54:59 1730148483
>>1719316
А про Message Passing и динамизм забыл, хотя это и есть самое главное в ОП, а не классы с наследованием.
Аноним 23/06/20 Втр 02:21:36 1731089484
>>1614724
Про opaque types современные зумеры наверное и не слышали
Аноним 23/06/20 Втр 02:25:10 1731091485
>>1615202
Там это дрочат чтобы по максимуму в кэш попадать, data driven
Аноним 28/06/20 Вск 07:53:28 1735697486
>>1611441
Это чистая субъективщина, но мне кажется, что джава намного легче понимается чем шарпей. Хотя странно, первым языком у меня сам шарп
Аноним 28/06/20 Вск 08:42:50 1735703487
>>1615245
Ты перепутал, екс-парашу труднее перелопачивать.
Аноним 28/06/20 Вск 14:22:48 1735896488
Люблю я эту картину, когда собираются вместе ооп-сектанты и ооп-хейтеры и устраивают шизобатлы. А самое смешно, что никто даже не может дать точное определение ООП.
Аноним 28/06/20 Вск 14:31:26 1735905489
>>1735896
Потому и срутся, что у одного определение противоречит определению другого.
Аноним 28/06/20 Вск 14:36:18 1735912490
>>1735896
Ты просто дебил и не шаришь. У тебя наверное и имена классов заканчиваются на -er.

мимо егор.
Аноним 28/06/20 Вск 14:41:19 1735921491
Аноним 04/07/20 Суб 00:11:47 1741252492
>>1610066
>Удобно хранить тип данных, вместо с методами работы с ним. Очень блядь удобно. Невыносимо удобно.
Для этого придумали модули и пакеты, в которых хранятся типы и функции с процедурами для работы с ними.

Аноним 04/07/20 Суб 00:20:14 1741255493
>>1611269
>Модульность есть и в си
В обычном си модульности нет
Аноним 04/07/20 Суб 00:56:33 1741261494
>>1616238
>Просто если ты не ощущаешь вокруг себя количественные явления, то это умственная отсталость.
У тебя точно умственная отсталость, если ты не различаешь свои субъективные ощущения и объективное существование.
Аноним 04/07/20 Суб 01:00:39 1741264495
>>1660132
>ооп - один из возможных подходов к композиции структур данных и алгоритмов, обрабатывающих эти данные
Недооценённый пост
Аноним 04/07/20 Суб 01:11:43 1741268496
>>1679460
>На С без всякого ООП целые операционные системы писали, представь себе. Вот только каким хуем это наделяет С всем тем, что есть у ООП и каким хуем оно отменяет те возможности, которые ООП предоставляет, одному тебе, долбоебу, известно.
Си -- это вообще недоязык высокого уровня, в нём нет ни модульности, ни массивов, это по большому счёту универсальный ассемблер.
Аноним 04/07/20 Суб 06:40:03 1741301497
>>1721053
Класека, функциональщики сами себе придумали трудность и героически ее преодолели.
Аноним 04/07/20 Суб 06:42:38 1741302498
>>1719316
> дай определение фрукту
> фрукт это желтое, зеленое, с жидосстью, банан, покупаемое
Аноним 04/07/20 Суб 06:50:50 1741304499
>>1741252
Удобнее писать через точку
system.getDisplay().getSize()
чем пробрасывать парашу через свободные функции. Ты там одних временных переменных заебешься делать. Будет как во всяких старых винапи
System sys
Display disp
GetCurrentSystem(&sys)
GetDisplay(sys, &disp, TRUE)
SizeClassXXL size
GetSize(disp, (DisplayDevice*)0, size)
Спасибо наелись
Аноним 05/07/20 Вск 20:12:49 1742844500
>>1741301
Ну да, ведь императивщикам чистота и контролируемые сайд-эффекты не нужны, они и без неё пишут безопасный и композабельный код. А нет, постойте, не пишут.
Аноним 05/07/20 Вск 20:14:01 1742845501
>>1741304
>Удобнее писать через точку
коза.ебись(онегин)
Аноним 05/07/20 Вск 20:15:16 1742846502
>>1741304
>system.getDisplay().getSize()

system
|> getDisplay()
|> getSize()

проблемс?
Аноним 05/07/20 Вск 20:41:07 1742862503
>>1742844
Вот только код в примерах идентичен (за исключением героического оборачивания в монаду)
Удивительное совпадение, да?
Аноним 06/07/20 Пнд 19:27:36 1743355504
>>1742862
Монадическое IO в хаски нужно для отделения чистого кода от эффектов. Императивщики такого разделения не делают, им и так норм.
Аноним 07/07/20 Втр 10:25:28 1743610505
Erlang — самый ООП язык/рантайм эвер.
Аноним 07/07/20 Втр 11:05:00 1743647506
Аноним 19/07/20 Вск 23:43:44 1755602507
>>1721053
Охохо, давайте положим код не в void main, а в main = do, ведь от этого он тут же станет правильнее и безопаснее (нет)
Аноним 10/09/20 Чтв 04:45:25 1802347508
Если наш мир - симуляция, написан ли он в ООП парадигме?
Аноним 12/09/20 Суб 00:45:44 1804079509
>>1802347
Проведи эксперимент:
Найди объект.
Измени его свойство.
Если для этого не пришлось делать копию -- это не ФП.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов