-
- И про то, как Хрущов называл абстракционистов. - Kpoк(21.05.2024 19:20)
- :))) - Vit(21.05.2024 20:06)
- >>> Гхмм... RxTx(5 знак., 21.05.2024 17:05, картинка, картинка)
- Хороший перевод имеет собственную литературную ценность. - =AlexD=(21.05.2024 18:24)
- Вне зависимости от перевода, мне не удалось понять МЫСЛЬ этой
статьи. При том что это было повторное чтение, первый раз я ее
читал в оригинале лет 10-15 назад. Масса вопросов. Во-первых,
почему большинство инженерных решений он называет "абстракциями"?
На мой взгляд неверное применение термина. Не всё то что есть
программное решение - обязательно "абстракция". Второе. Ну и что за
"закон"? В чём он, если коротко и сжато, одним предложением? В чем
мысль? В чем новизна? В RxTx(677 знак., 21.05.2024 19:18)
- Не претендуя... закон в том что ЛЮБАЯ абстракция (попытка
унификации, систематизации, введения правил) - дырява. Cкpипaч(1378 знак., 21.05.2024 22:55)
- С тобой, как известно, можно надолго застрять =)) Ты перескочил
почему-то на Брукса и человеко-время и потом на усложнение систем и
на KISS. Я все-таки предпочту так не скакать, и для начала
использовать правильные термины с полным пониманием смысла.
Абстракция - это мыслительный (ноуменальный) прием. Существует
только в голове/мыслях/представимом. Программное обеспечение,
несмотря на то что представляет собой состояние, не является тем не
менее "мыслимым" или RxTx(1769 знак., 22.05.2024 01:02)
- Ты лингвист или инженер? Мы про языкознание, или обсуждаем статью
программиста по его тематике? Тут всё гораздо конкретнее -
абстракция (прослойка) скрывает в себе детали реализации, которые в
момент разработки кажутся неважными на более верхнем уровне. Это же
так красиво, open(), read(), write(), close(). Красота! Потом
оказывается что в реальном проекте надо тащить кучу дополнительной
инфы с самых нижних слоёв на самые верхние и начинается форменная
мутотеть, потому =AlexD=(136 знак., 22.05.2024 09:15)
- > Ты лингвист или инженер? — Процитируй строчку(и) из моего сообщения выше, в которых
обсуждается лингвистика. > Мы про языкознание, или обсуждаем статью программиста по
его тематике? — Процитируй строчки из моего сообщения выше, в которых
обсуждается языкознание. > Тут всё гораздо конкретнее - абстракция (прослойка)
скрывает в себе детали реализации — Процитируй строчки из оригинальной статьи Спольски, где пишется
о прослойках и о RxTx(28 знак., 23.05.2024 17:07)
- Все примеры из статьи именно про сокрытие деталей реализации ради
упихивания в готовые абстракции. По остальному - ну перечитай себя,
что-ли. Пустой трёп на около лингвистические темы с непонятной
заменой корректного термина "абстракция" на совершенно
нерелевантный в данном контексте "система". Да ещё и ориентацию
автора приплёл. Нахрена всё это? Пустое. - =AlexD=(23.05.2024 17:18)
- Я тебе написал что сделать. Почему не сделал? Также, выясни
определения терминов (значение слов). Пока что ты мараешь
бумагуфорум даже без понимания смысла слов которые пишешь. Про статью или мое сообщение даже и упоминать бессмысленно, ты "на своей волне". - RxTx(23.05.2024 18:38)- бла-бла-бла - =AlexD=(23.05.2024 22:09)
- Негусто. Когда сказать нечего, остаются кривляния. - RxTx(23.05.2024 22:36)
- бла-бла-бла - =AlexD=(23.05.2024 22:09)
- Я тебе написал что сделать. Почему не сделал? Также, выясни
определения терминов (значение слов). Пока что ты мараешь
- Все примеры из статьи именно про сокрытие деталей реализации ради
упихивания в готовые абстракции. По остальному - ну перечитай себя,
что-ли. Пустой трёп на около лингвистические темы с непонятной
заменой корректного термина "абстракция" на совершенно
нерелевантный в данном контексте "система". Да ещё и ориентацию
автора приплёл. Нахрена всё это? Пустое. - =AlexD=(23.05.2024 17:18)
- > Ты лингвист или инженер? — Процитируй строчку(и) из моего сообщения выше, в которых
обсуждается лингвистика. > Мы про языкознание, или обсуждаем статью программиста по
его тематике? — Процитируй строчки из моего сообщения выше, в которых
обсуждается языкознание. > Тут всё гораздо конкретнее - абстракция (прослойка)
скрывает в себе детали реализации — Процитируй строчки из оригинальной статьи Спольски, где пишется
о прослойках и о RxTx(28 знак., 23.05.2024 17:07)
- А вы хорошо копнули. У него (и у меня) под "абстракциями"
понимается не универсальный мыслительный прием, а вполне конкретные
конструкции в виде библиотек или просто прослоек в коде. Как вы
верно заметили, аналог редуктора или клино-ременной передачи, в
механизме. Давайте назовем это "прослойками". Cкpипaч(1436 знак., 22.05.2024 07:07)
- Согласен с тобой и твои самостоятельные мысли обладают ценностью.
Но моей задачей было обсудить ровно то что написал Спольски. Потому
что я прочел статью Спольски раз 5-6, пытаясь вычленить из нее
реальный здравый смысл. Вывод: Спольски написал настолько бредовую
поверхностную ерунду, что сейчас можно подтянуть что угодно. И до
обосрачки спорить, "А вот нет, на самом-то деле он имел в виду вот
это". RxTx(3376 знак., 23.05.2024 18:17)
- Спольски - программист. А у программистов есть свой слэнг (так же
как и у других профессиональных сообществ). И там слово
"абстракция" означает не совсем то, что под этим словом понимаете
вы. Протокол TCP - пример такой абстракции. Он, как бы, скрывает
нюансы физического, канального и сетевого уровней "модели OSI". И,
как правило, хорошо скрывает. Но не всегда. И тогда "программист на
C#" внезапно вынужден осваивать WireShark, узнавать про всякие MSS
и MTU, потому что на LightElf(59 знак., 23.05.2024 19:10)
- Хорошая попытка. Вы подразумеваете, как будто бы я не понимаю
понятие абстракции в компьютерных науках. Это не так, понятие
общепринято, не расходится с понятием в компьютерных науках, и было
процитировано мной парой постов выше. Вместо "общих соображений" о
том как что-то работало да перестало, процитируйте, пожалуйста,
Спольски, да растолкуйте. Мол, вот это вот так. А вот вы пишите что
не так, вот поэтому вы не правы. Жду про "дырявые абстракции" и как
TCP внезапно RxTx(620 знак., 23.05.2024 20:13)
- TCP пытается предоставить абстракцию "надежный канал связи поверх
ненадежной сети", но иногда проблемы сети оказываются таковы, что
TCP становится не способен этот самый надежный канал осуществить. LightElf(866 знак., 23.05.2024 21:22)
- Аглицкая мова добавляет обворожительный шармъ, но не надо, выше
есть перевод. Стало любопытно, давайте подыграю? Ладно, пусть
автомобиль стал "абстракцией". (Нас, конечно, отпиздят за такое на
ближайшей же автобазе). А закон? Ну и какой закон-та? - RxTx(23.05.2024 21:28)
- Аглицкая мова позволяет избежать косяков переводчика (а они там
есть). Закон же очень простой: любое абстрагирование не покрывает
100% возможных ситуаций. И следствие: использование абстракций в
программировании позволяет облегчить/ускорить работу, но не
позволяет облегчить/ускорить обучение. По-любому нужно понимать как
оно устроено внутри, чтобы знать куда бежать когда все пойдет не
так. - LightElf(23.05.2024 21:38)
- Объяснимо проигнорирован вопрос про автомобиль, с продолжением
радостного вещания о программном обеспечении. И зря, у Спольски
ведь пример прямиком про автомобили. Чего так? RxTx(1712 знак., 23.05.2024 22:10)
- Честно говоря, я потерял нить ваших рассуждений, кроме того что
Спольски вам, видимо, три рубля должен :-) LightElf(420 знак., 24.05.2024 01:13)
- А вы все сообщения читали? Я про то, чтобы не использовать какие-то
мракобесные термины и объяснять просто и понятно. Смысл не
меняется, а объяснение более понятное. - RxTx(30.05.2024 05:07)
- Написал ответ, но решил просто завершить разговор, который ходит по кругу не один год. - LightElf(30.05.2024 12:55)
- А вы все сообщения читали? Я про то, чтобы не использовать какие-то
мракобесные термины и объяснять просто и понятно. Смысл не
меняется, а объяснение более понятное. - RxTx(30.05.2024 05:07)
- Цитата из вас: "Абстракция - исключительно умозрительный объект
существующий исключительно при дизайне". Брехня. И вы это отлично
знаете. Cкpипaч(437 знак., 23.05.2024 22:41)
- Один художник, сдув две дороги, вот тоже говорил, поводя рукой на
картину: — «Видал, какая абстракция!!» - RxTx(23.05.2024 22:42)
- Это про вас, без обид. - Cкpипaч(24.05.2024 09:21)
- Один художник, сдув две дороги, вот тоже говорил, поводя рукой на
картину: — «Видал, какая абстракция!!» - RxTx(23.05.2024 22:42)
- Честно говоря, я потерял нить ваших рассуждений, кроме того что
Спольски вам, видимо, три рубля должен :-) LightElf(420 знак., 24.05.2024 01:13)
- Объяснимо проигнорирован вопрос про автомобиль, с продолжением
радостного вещания о программном обеспечении. И зря, у Спольски
ведь пример прямиком про автомобили. Чего так? RxTx(1712 знак., 23.05.2024 22:10)
- Аглицкая мова позволяет избежать косяков переводчика (а они там
есть). Закон же очень простой: любое абстрагирование не покрывает
100% возможных ситуаций. И следствие: использование абстракций в
программировании позволяет облегчить/ускорить работу, но не
позволяет облегчить/ускорить обучение. По-любому нужно понимать как
оно устроено внутри, чтобы знать куда бежать когда все пойдет не
так. - LightElf(23.05.2024 21:38)
- Аглицкая мова добавляет обворожительный шармъ, но не надо, выше
есть перевод. Стало любопытно, давайте подыграю? Ладно, пусть
автомобиль стал "абстракцией". (Нас, конечно, отпиздят за такое на
ближайшей же автобазе). А закон? Ну и какой закон-та? - RxTx(23.05.2024 21:28)
- Вам строит выспаться. - Cкpипaч(23.05.2024 20:40)
- Против чего ты протестуешь? Всё логично. - RxTx(23.05.2024 21:29)
- Ты пытаешься спором решить то, что решается медитацией. В одиночестве, глядя как по белой стене медленно движутся тени от облаков. Cкpипaч(325 знак., 23.05.2024 21:34)
- Против чего ты протестуешь? Всё логично. - RxTx(23.05.2024 21:29)
- TCP пытается предоставить абстракцию "надежный канал связи поверх
ненадежной сети", но иногда проблемы сети оказываются таковы, что
TCP становится не способен этот самый надежный канал осуществить. LightElf(866 знак., 23.05.2024 21:22)
- Хорошая попытка. Вы подразумеваете, как будто бы я не понимаю
понятие абстракции в компьютерных науках. Это не так, понятие
общепринято, не расходится с понятием в компьютерных науках, и было
процитировано мной парой постов выше. Вместо "общих соображений" о
том как что-то работало да перестало, процитируйте, пожалуйста,
Спольски, да растолкуйте. Мол, вот это вот так. А вот вы пишите что
не так, вот поэтому вы не правы. Жду про "дырявые абстракции" и как
TCP внезапно RxTx(620 знак., 23.05.2024 20:13)
- Все проще, ты не на одной волне со Спольски. Я - на одной и у меня
не возникло ни одного из твоих вопросов. Плевать мне на
"мысленное", прослойки ПО это вполне материальный объект.
О него можно биться головой - значит материальный.- Cкpипaч(23.05.2024 18:47)- =))) Я тебя понимаю о чем ты. Если ооооочень сильно всё упростить и "абстрагироваться", то тогда... возможно потягивая кальянчик и с кружечкой пивка или чего покрепче, я покиваю головой и конечно же воскликну! Черт возьми, согласен, ну да, ну да, он прав! Но иногда, вот как сегодня, меня тянет "дизассемблировать" смыслы до усрачки и мудачествовать, мудачествовать, мудачествовать.... =)))) Шучу... - RxTx(23.05.2024 18:48)
- Спольски - программист. А у программистов есть свой слэнг (так же
как и у других профессиональных сообществ). И там слово
"абстракция" означает не совсем то, что под этим словом понимаете
вы. Протокол TCP - пример такой абстракции. Он, как бы, скрывает
нюансы физического, канального и сетевого уровней "модели OSI". И,
как правило, хорошо скрывает. Но не всегда. И тогда "программист на
C#" внезапно вынужден осваивать WireShark, узнавать про всякие MSS
и MTU, потому что на LightElf(59 знак., 23.05.2024 19:10)
- Согласен с тобой и твои самостоятельные мысли обладают ценностью.
Но моей задачей было обсудить ровно то что написал Спольски. Потому
что я прочел статью Спольски раз 5-6, пытаясь вычленить из нее
реальный здравый смысл. Вывод: Спольски написал настолько бредовую
поверхностную ерунду, что сейчас можно подтянуть что угодно. И до
обосрачки спорить, "А вот нет, на самом-то деле он имел в виду вот
это". RxTx(3376 знак., 23.05.2024 18:17)
- Ты лингвист или инженер? Мы про языкознание, или обсуждаем статью
программиста по его тематике? Тут всё гораздо конкретнее -
абстракция (прослойка) скрывает в себе детали реализации, которые в
момент разработки кажутся неважными на более верхнем уровне. Это же
так красиво, open(), read(), write(), close(). Красота! Потом
оказывается что в реальном проекте надо тащить кучу дополнительной
инфы с самых нижних слоёв на самые верхние и начинается форменная
мутотеть, потому =AlexD=(136 знак., 22.05.2024 09:15)
- С тобой, как известно, можно надолго застрять =)) Ты перескочил
почему-то на Брукса и человеко-время и потом на усложнение систем и
на KISS. Я все-таки предпочту так не скакать, и для начала
использовать правильные термины с полным пониманием смысла.
Абстракция - это мыслительный (ноуменальный) прием. Существует
только в голове/мыслях/представимом. Программное обеспечение,
несмотря на то что представляет собой состояние, не является тем не
менее "мыслимым" или RxTx(1769 знак., 22.05.2024 01:02)
- Не претендуя... закон в том что ЛЮБАЯ абстракция (попытка
унификации, систематизации, введения правил) - дырява. Cкpипaч(1378 знак., 21.05.2024 22:55)
- Вне зависимости от перевода, мне не удалось понять МЫСЛЬ этой
статьи. При том что это было повторное чтение, первый раз я ее
читал в оригинале лет 10-15 назад. Масса вопросов. Во-первых,
почему большинство инженерных решений он называет "абстракциями"?
На мой взгляд неверное применение термина. Не всё то что есть
программное решение - обязательно "абстракция". Второе. Ну и что за
"закон"? В чём он, если коротко и сжато, одним предложением? В чем
мысль? В чем новизна? В RxTx(677 знак., 21.05.2024 19:18)
- Хороший перевод имеет собственную литературную ценность. - =AlexD=(21.05.2024 18:24)
- Кстати, да. С абстракциями в C++ можно оторваться по полной.
Например, для начала сделать: AlexG(179 знак., 21.05.2024 16:23)
- Всё перечисленное есть благо? Зачем оно? - mr-x(23.05.2024 21:28)
- Скорее забавные частные случаи и удобство. Перенос кода с платформы
где были именно такие целые числа и многое на этом завязано.
Перенос кода с платформы где сохранение переменных обеспечивалось
просто атрибутом при объявлении. Перенос математического алгоритма
описанного на матрицах из статьи в код. - AlexG(24.05.2024 04:22)
- Явно C#... - RxTx(30.05.2024 15:26)
- C# никак не учавствовал. - AlexG(30.05.2024 23:35)
- Любимый трюк "плюсовиков" сравнивать свои "удобства" с полным их
отсутствием, а не с банальным add_i24(a, b, c); и write_store(a,
5); - Cкpипaч(24.05.2024 09:31)
- Напишите с помощью ваших add_i24(a, b, c) какую-нибудь сложную
формулу. :-) - Boвa(31.05.2024 07:26)
- Первой строкой, в комментарии, сама формула, потом портянка из
вызовов функций. - Cкpипaч(31.05.2024 07:43)
- Мисье знает толк... - Boвa(31.05.2024 09:48)
- Зато все сходу обычным поиском находится. Повторюсь, минута времени
техподдержки стоит больше чем три часа разработки. - Cкpипaч(31.05.2024 15:45)
- Что находится поиском? Кто-то запрещает давать осмысленные
коментарии в крестах? И с скока стоит минута в разборе что тут
програмист наваял своим add2u_i24(a,b,c), а тем более как понять не
нужно ли ему было написать add2u_i24(a,b,a) ? - Boвa(01.06.2024 08:14 - 08:21)
- Поиском находится где описана функция
AddRandomNumberToGlobalAllocatorIndex(). Комментарий в месте
КАЖДОГО вызова функции? - Cкpипaч(01.06.2024 08:19)
- AGlobalAllocatorIndex + GetRandomNumber() еще красивше. - Boвa(01.06.2024 08:24)
- GaiAddRnd(a) ; Ищется обычным поиском (а GetRandomNumber - не факт, если речь идет о чем-то GlobalAllocatorIndex-специфичном). Cкpипaч(463 знак., 01.06.2024 08:39)
- AGlobalAllocatorIndex + GetRandomNumber() еще красивше. - Boвa(01.06.2024 08:24)
- Поиском находится где описана функция
AddRandomNumberToGlobalAllocatorIndex(). Комментарий в месте
КАЖДОГО вызова функции? - Cкpипaч(01.06.2024 08:19)
- Что находится поиском? Кто-то запрещает давать осмысленные
коментарии в крестах? И с скока стоит минута в разборе что тут
програмист наваял своим add2u_i24(a,b,c), а тем более как понять не
нужно ли ему было написать add2u_i24(a,b,a) ? - Boвa(01.06.2024 08:14 - 08:21)
- Зато все сходу обычным поиском находится. Повторюсь, минута времени
техподдержки стоит больше чем три часа разработки. - Cкpипaч(31.05.2024 15:45)
- Мисье знает толк... - Boвa(31.05.2024 09:48)
- Первой строкой, в комментарии, сама формула, потом портянка из
вызовов функций. - Cкpипaч(31.05.2024 07:43)
- В обоих случаях была куча готового кода, который нужно было запустить, а не переписать с нуля. Было бы там всё сделано через функции проблем было бы куда меньше. i24 вообще возникло из-за того, что ПО изначально разрабатывалось на ассемблере без всякой оглядки на существование Си, поэтому в сишной реализации, которую я пытался применить в своих целях, всякой атипичной дичи было много. - AlexG(24.05.2024 12:35)
- Напишите с помощью ваших add_i24(a, b, c) какую-нибудь сложную
формулу. :-) - Boвa(31.05.2024 07:26)
- Явно C#... - RxTx(30.05.2024 15:26)
- © Много блага не бывает! - RxTx(23.05.2024 21:31)
- Ещё остался открытым вопрос благо ли это. Как по мне, то как
минимум сомнительное. Умножение матриц через "*" даёт что? Делает
код короче? Хочется ругаться матом, поэтому промолчу.
Самосохраняющиеся переменные зачем? Чтобы через некоторое время
выпустить это дело из внимания и облажаться? 24-х битные целые -
это прикольно. Однако даже с базовыми целочисленными не всё / не
всем до конца понятно, есть нюансы, тут ещё новый тип на нашу
голову. - mr-x(23.05.2024 22:11)
- Про само*** опустим. А вот умножение матриц через оператор * , при
условии что матрица инкапсулирована в объект (символ) дает снижение
сложности. Управление сложностью помогает сделать систему более
понятной. Накладные расходы могут возрастать. - RxTx(23.05.2024 22:49)
- Что такое "***" не понятно. А в A*B спич не про инкапсуляцию, а про
перегрузку операторов. - mr-x(24.05.2024 10:19)
- Слово "самосохранение" было длинное: я хотел написать
"самосохранение опустим". Важна именно инкапсуляция в объекте
"матрица" необходимых операторов/методов/полей. Это делает конечный
код менее сложным и более понятным. - RxTx(30.05.2024 05:04)
- Менее/более относительно чего? Плохого кода на бейсике? В Сях я
работал с библиотекой с точно такими же паблик и приват методами и
членами. И точно так же из-за вИденья афтора не мог реализовать
весь потенциал либы без вытягивания символов из её внутренностей.
Потому что сцуко красивые лаконичные абстракции снаружи. И пришлось
трахнуть эту либу для извлечения скрытых элементов данных. - =AlexD=(30.05.2024 09:20)
- AlexG: > С абстракциями в C++ можно оторваться по полной.
Например, для начала сделать: <...> ...матрицы,
математические операции с которыми в коде записываются в стиле
A*B RxTx(123 знак., 30.05.2024 15:20)
- Я не умножаю матрицы каждый день. Гораздо чаще мне приходится
следить за тем, что-бы списки не сожрали всю память. И С++ мне тут
ну вообще никак не поможет, скорее спрячет проблему, запутает и
заставит приделать к библиотеке костыли. В своё время я наигрался с
С++ всласть. Шаблоны с инлайн методами позволяют экономить каждый
байт сохраняя неплохую модульность проекта. Но в целом писать
val->metod() или metod(val) - разница не велика. - =AlexD=(30.05.2024 16:33)
- А VAL::Method(); ? - VladislavS.(30.05.2024 17:29)
- VAL_Method() Синтаксический сахар в С++ есть, но не совсем там где
хотелось бы и довольно кривовато. На С++ я большую часть времени
думаю как ему объяснить чего хочу. Временами просто подбешивает. - =AlexD=(30.05.2024 17:47)
- Ещё VAL_Method легко переименовать в VAL_Method2 сразу во всех
исходниках. А Method внутри VAL запаришься выколупывать по всем
исходникам, чтобы при этом не затронуть другой Method внутри VAL2 и
других классах/неймспейсах. - Ale3000(31.05.2024 07:33)
- +100! Конечно сейчас никто уже не пишет код в редакторе Нортон
Командера (я - пишу), но возможность найти простым текстовым
поиском - полезна. - Cкpипaч(31.05.2024 07:45)
- А в каких редакторах работает переименование членов класса по всему
исходнику? Пробовал eclipse и VS Code - не нашёл там такого. Это
есть в Embarcadero, но не работает: глючит и портит исходник. - Ale3000(31.05.2024 10:14)
- Рефакторинг в Clion работает с огромными проектами. Также Visual Studio (не Code). Также Vim и плагины. - RxTx(31.05.2024 20:41)
- Кхе-кхе :) Ссылка(->) PyCharm неплохо справляется. А на Си я избегаю повторяемых имен. Все что нелокальное - имеет длинное, интуитивно понятное имя. Cкpипaч(1 знак., 31.05.2024 15:44, ссылка)
- SlickEdit вроде нормально рефакторит, но на очень больших проектах
не проверял. Делаю проще - меняю имя и смотрю где компиляция упала.
Но бывают проблемы с условной компиляцией и закомментированными
огрызками. - =AlexD=(31.05.2024 10:38)
- Бывает, что компилируется нормально. Например, вместо
переименованного метода подсовывает метод из родительского класса.
Или в дочернем классе переименовал метод, а в родительском классе
этот же метод, но виртуальный, не переименовал. В результате
совершенно другая часть программы начинает по-другому работать.
Трудно такие ошибки искать. - Ale3000(31.05.2024 10:53 - 13:10)
- О, ну эту жопу лучше вообще не трогать. Это выстрел даже не в ногу а сразу в яйца. - =AlexD=(31.05.2024 13:06)
- Бывает, что компилируется нормально. Например, вместо
переименованного метода подсовывает метод из родительского класса.
Или в дочернем классе переименовал метод, а в родительском классе
этот же метод, но виртуальный, не переименовал. В результате
совершенно другая часть программы начинает по-другому работать.
Трудно такие ошибки искать. - Ale3000(31.05.2024 10:53 - 13:10)
- А в каких редакторах работает переименование членов класса по всему
исходнику? Пробовал eclipse и VS Code - не нашёл там такого. Это
есть в Embarcadero, но не работает: глючит и портит исходник. - Ale3000(31.05.2024 10:14)
- +100! Конечно сейчас никто уже не пишет код в редакторе Нортон
Командера (я - пишу), но возможность найти простым текстовым
поиском - полезна. - Cкpипaч(31.05.2024 07:45)
- Ещё VAL_Method легко переименовать в VAL_Method2 сразу во всех
исходниках. А Method внутри VAL запаришься выколупывать по всем
исходникам, чтобы при этом не затронуть другой Method внутри VAL2 и
других классах/неймспейсах. - Ale3000(31.05.2024 07:33)
- VAL_Method() Синтаксический сахар в С++ есть, но не совсем там где
хотелось бы и довольно кривовато. На С++ я большую часть времени
думаю как ему объяснить чего хочу. Временами просто подбешивает. - =AlexD=(30.05.2024 17:47)
- А VAL::Method(); ? - VladislavS.(30.05.2024 17:29)
- Я не умножаю матрицы каждый день. Гораздо чаще мне приходится
следить за тем, что-бы списки не сожрали всю память. И С++ мне тут
ну вообще никак не поможет, скорее спрячет проблему, запутает и
заставит приделать к библиотеке костыли. В своё время я наигрался с
С++ всласть. Шаблоны с инлайн методами позволяют экономить каждый
байт сохраняя неплохую модульность проекта. Но в целом писать
val->metod() или metod(val) - разница не велика. - =AlexD=(30.05.2024 16:33)
- AlexG: > С абстракциями в C++ можно оторваться по полной.
Например, для начала сделать: <...> ...матрицы,
математические операции с которыми в коде записываются в стиле
A*B RxTx(123 знак., 30.05.2024 15:20)
- Менее/более относительно чего? Плохого кода на бейсике? В Сях я
работал с библиотекой с точно такими же паблик и приват методами и
членами. И точно так же из-за вИденья афтора не мог реализовать
весь потенциал либы без вытягивания символов из её внутренностей.
Потому что сцуко красивые лаконичные абстракции снаружи. И пришлось
трахнуть эту либу для извлечения скрытых элементов данных. - =AlexD=(30.05.2024 09:20)
- Слово "самосохранение" было длинное: я хотел написать
"самосохранение опустим". Важна именно инкапсуляция в объекте
"матрица" необходимых операторов/методов/полей. Это делает конечный
код менее сложным и более понятным. - RxTx(30.05.2024 05:04)
- Возражаю. Знание что "оператор *" имеет нестандартное поведение увеличивает сложность! Cкpипaч(36 знак., 24.05.2024 09:31)
- Чойта вдруг - RxTx(30.05.2024 06:09)
- Потому что это не очевидно из текста самой строки. Нужно в голове
держать дополнительную информацию. Даже: c =
a.hyperspace_mul_by(b); намного лучше. - Cкpипaч(30.05.2024 16:19)
- Когда человек видит оператор для пользовательских типов, он и так понимает что в первый раз необходимо посмотреть документацию или код. Некоторый малый рост сложности по сравнению с линейным дубовым написанием существует, это объективно и нельзя отрицать. Но как только требуется что-то посложнее Mtx4_Mul(&result, &mtx1, &mtx2); - а это будет именно так. т.е. серия сложений-перемножений итд лучше если запись будет как можно проще, операторы инкапсулированы в/с RxTx(664 знак., 30.05.2024 17:32)
- Потому что это не очевидно из текста самой строки. Нужно в голове
держать дополнительную информацию. Даже: c =
a.hyperspace_mul_by(b); намного лучше. - Cкpипaч(30.05.2024 16:19)
- Чойта вдруг - RxTx(30.05.2024 06:09)
- Что такое "***" не понятно. А в A*B спич не про инкапсуляцию, а про
перегрузку операторов. - mr-x(24.05.2024 10:19)
- Про само*** опустим. А вот умножение матриц через оператор * , при
условии что матрица инкапсулирована в объект (символ) дает снижение
сложности. Управление сложностью помогает сделать систему более
понятной. Накладные расходы могут возрастать. - RxTx(23.05.2024 22:49)
- Бесплатных пряников не бывает. За все блага придется платить, каждая прослойка содержит кирпич, которым вас ударит по голове. Не удивляйтесь когда это произойдет. - Cкpипaч(23.05.2024 21:36)
- Ещё остался открытым вопрос благо ли это. Как по мне, то как
минимум сомнительное. Умножение матриц через "*" даёт что? Делает
код короче? Хочется ругаться матом, поэтому промолчу.
Самосохраняющиеся переменные зачем? Чтобы через некоторое время
выпустить это дело из внимания и облажаться? 24-х битные целые -
это прикольно. Однако даже с базовыми целочисленными не всё / не
всем до конца понятно, есть нюансы, тут ещё новый тип на нашу
голову. - mr-x(23.05.2024 22:11)
- Скорее забавные частные случаи и удобство. Перенос кода с платформы
где были именно такие целые числа и многое на этом завязано.
Перенос кода с платформы где сохранение переменных обеспечивалось
просто атрибутом при объявлении. Перенос математического алгоритма
описанного на матрицах из статьи в код. - AlexG(24.05.2024 04:22)
- ...Кнопку "сделать пиздато"... :) - RxTx(21.05.2024 16:47)
- Всё перечисленное есть благо? Зачем оно? - mr-x(23.05.2024 21:28)
- И про то, как Хрущов называл абстракционистов. - Kpoк(21.05.2024 19:20)