История изменений
Исправление
twinpeaks,
(текущая версия)
:
emorozov (08.12.21 13:00:17)
Второе, что ты с самого начала утверждал, что хороший код — только тот, который удовлетворяет паре-тройке формальных признаков, основные - паттерны GoF и использование асинхронщины.
Где я удтверждал именно ровно в такой точно формулировке?
что хороший код — только тот
Я не давал ни каких оценок «хорошему» или «плохому» коду в целом. Я напомню, я говорил что:
- питонисты ничего не соблюдают (про паттерны) в своей массе
- не любят юзать async/await , хотя большинство языков обзавелось этим и многие юзают
К примеру, в той же Java - нет async/await (но есть в C#), но суть не в этом. Ты всё хочешь увести, что мол я якобы говорю:
Если нет паттернов, GoF, async/await - то это априори плохо.
Нет, я так не говорил. И это не плохо. Сразу тебе отвечаю. К примеру, я Haskell люблю мацать, ес-но там ОО-дизайн не всрался и типа async/await основан на Монадах может быть:
import Control.Concurrent.Async (async, wait)
newtype Task a = Task { fork :: IO (IO a) }
newTask :: IO a -> Task a
newTask io = Task $ do
w <- async io
return (wait w)
instance Monad Task where
return a = Task $ return (return a)
m >>= f = newTask $ do
aFut <- fork m
a <- aFut
bFut <- fork (f a)
bFut
Просто, это означает:
- иной дизайн
- иную парадигму
- иные правилы
НО! Сцуко, правила-то все равно есть!!! Т.е. хочешь - не хочешь, но они есть, они просто иные. Поэтому, я не мог априори говорить, что GoF - это высечено на крови обязаловкой. Нет.
GoF и паттерны хорошо подходят для своей нищы: C#, Java, C++. Но! Поскольку, в Python v3 добавилось многое, что позволяет хоть «как-то» приблизиться и перестать писать говно из def()-глобалок, то почему бы Питонистам не перевоспитаться?
Плюс, соблюдение ОО-дизайна и GoF, там где это надо - хорошо, потому что обязывает структурировать, а не делать лапшу из 100500 глобальных функций.
P.S. и что есть адекватные питонисты, которые и в этом треде написали, что:
- структурируют
- даже какие-то паттерны применяют и др.
Я это признаю, НО! подчеркиваю, что таких - меньшинство. Речь в треде - о грехах большинства.
Исправление
twinpeaks,
:
emorozov (08.12.21 13:00:17)
Второе, что ты с самого начала утверждал, что хороший код — только тот, который удовлетворяет паре-тройке формальных признаков, основные - паттерны GoF и использование асинхронщины.
Где я удтверждал именно ровно в такой точно формулировке?
что хороший код — только тот
Я не давал ни каких оценок «хорошему» или «плохому» коду в целом. Я напомню, я говорил что:
- питонисты ничего не соблюдают (про паттерны) в своей массе
- не любят юзать async/await , хотя большинство языков обзавелось этим и многие юзают
К примеру, в той же Java - нет async/await (но есть в C#), но суть не в этом. Ты всё хочешь увести, что мол я якобы говорю:
Если нет паттернов, GoF, async/await - то это априори плохо.
Нет, я так не говорил. И это не плохо. Сразу тебе отвечаю. К примеру, я Haskell люблю мацать, ес-но там ОО-дизайн не всрался и типа async/await основан на Монадах может быть:
import Control.Concurrent.Async (async, wait)
newtype Task a = Task { fork :: IO (IO a) }
newTask :: IO a -> Task a
newTask io = Task $ do
w <- async io
return (wait w)
instance Monad Task where
return a = Task $ return (return a)
m >>= f = newTask $ do
aFut <- fork m
a <- aFut
bFut <- fork (f a)
bFut
Просто, это означает:
- иной дизайн
- иную парадигму
- иные правилы
НО! Сцуко, правила-то все равно есть!!! Т.е. хочешь - не хочешь, но они есть, они просто иные. Поэтому, я не мог априори говорить, что GoF - это высечено на крови обязаловкой. Нет.
GoF и паттерны хорошо подходят для своей нищы: C#, Java, C++. Но! Поскольку, в Python v3 добавилось многое, что позволяет хоть «как-то» приблизиться и перестать писать говно из def()-глобалок, то почему бы Питонистам не перевоспитаться?
Плюс, соблюдение ОО-дизайна и GoF, там где это надо - хорошо, потому что обязывает структурировать, а не делать лапшу из 100500 глобальных функций.
P.S. и что есть адекватные питонисты, которые и в этом треде написали, что:
- структурируют
- даже какие-то паттерны применяют и др.
Я это признаю, НО! подчеркиваю, что таких - меньшенство. Речь в треде - о грехах большинства.
Исправление
twinpeaks,
:
emorozov (08.12.21 13:00:17)
Второе, что ты с самого начала утверждал, что хороший код — только тот, который удовлетворяет паре-тройке формальных признаков, основные - паттерны GoF и использование асинхронщины.
Где я удтверждал именно ровно в такой точно формулировке:
что хороший код — только тот
Я не давал ни каких оценок «хорошему» или «плохому» коду в целом. Я напомню, я говорил что:
- питонисты ничего не соблюдают (про паттерны) в своей массе
- не любят юзать async/await , хотя большинство языков обзавелось этим и многие юзают
К примеру, в той же Java - нет async/await (но есть в C#), но суть не в этом. Ты всё хочешь увести, что мол я якобы говорю:
Если нет паттернов, GoF, async/await - то это априори плохо.
Нет, я так не говорил. И это не плохо. Сразу тебе отвечаю. К примеру, я Haskell люблю мацать, ес-но там ОО-дизайн не всрался и типа async/await основан на Монадах может быть:
import Control.Concurrent.Async (async, wait)
newtype Task a = Task { fork :: IO (IO a) }
newTask :: IO a -> Task a
newTask io = Task $ do
w <- async io
return (wait w)
instance Monad Task where
return a = Task $ return (return a)
m >>= f = newTask $ do
aFut <- fork m
a <- aFut
bFut <- fork (f a)
bFut
Просто, это означает:
- иной дизайн
- иную парадигму
- иные правилы
НО! Сцуко, правила-то все равно есть!!! Т.е. хочешь - не хочешь, но они есть, они просто иные. Поэтому, я не мог априори говорить, что GoF - это высечено на крови обязаловкой. Нет.
GoF и паттерны хорошо подходят для своей нищы: C#, Java, C++. Но! Поскольку, в Python v3 добавилось многое, что позволяет хоть «как-то» приблизиться и перестать писать говно из def()-глобалок, то почему бы Питонистам не перевоспитаться?
Плюс, соблюдение ОО-дизайна и GoF, там где это надо - хорошо, потому что обязывает структурировать, а не делать лапшу из 100500 глобальных функций.
P.S. и что есть адекватные питонисты, которые и в этом треде написали, что:
- структурируют
- даже какие-то паттерны применяют и др.
Я это признаю, НО! подчеркиваю, что таких - меньшенство. Речь в треде - о грехах большинства.
Исходная версия
twinpeaks,
:
emorozov (08.12.21 13:00:17)
Второе, что ты с самого начала утверждал, что хороший код — только тот, который удовлетворяет паре-тройке формальных признаков, основные - паттерны GoF и использование асинхронщины.
Где я удтверждал именно ровно в такой точно формулировке:
что хороший код — только тот
Я не давал ни каких оценок «хорошему» или «плохому» коду в целом. Я напомню, я говорил что:
- питонисты ничего не соблюдают (про паттерны) в своей массе
- не любят юзать async/await , хотя большинство языков обзавелось этим и многие юзают
К примеру, в той же Java - нет async/await (но есть в C#), но суть не в этом. Ты всё хочешь увести, что мол я якобы говорю:
Если нет паттернов, GoF, async/await - то это априори плохо.
Нет, это не плохо. Сразу тебе отвечаю. К примеру, я Haskell люблю мацать, ес-но там ОО-дизайн не всрался и типа async/await основан на Монадах может быть:
import Control.Concurrent.Async (async, wait)
newtype Task a = Task { fork :: IO (IO a) }
newTask :: IO a -> Task a
newTask io = Task $ do
w <- async io
return (wait w)
instance Monad Task where
return a = Task $ return (return a)
m >>= f = newTask $ do
aFut <- fork m
a <- aFut
bFut <- fork (f a)
bFut
Просто, это означает:
- иной дизайн
- иную парадигму
- иные правилы
НО! Сцуко, правила-то все равно есть!!! Т.е. хочешь - не хочешь, но они есть, они просто иные. Поэтому, я не мог априори говорить, что GoF - это высечено на крови обязаловкой. Нет.
GoF и паттерны хорошо подходят для своей нищы: C#, Java, C++. Но! Поскольку, в Python v3 добавилось многое, что позволяет хоть «как-то» приблизиться и перестать писать говно из def()-глобалок, то почему бы Питонистам не перевоспитаться?
P.S. и что есть адекватные питонисты, которые и в этом треде написали, что:
- структурируют
- даже какие-то паттерны применяют и др.
Я это признаю, НО! подчеркиваю, что таких - меньшенство. Речь в треде - о грехах большинства.