Информация об изменениях

Сообщение Re[54]: Мнение: объектно-ориентированное программирование — от 27.10.2019 8:45

Изменено 27.10.2019 16:03 Pauel

Re[54]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
Здравствуйте, samius, Вы писали:

I>>Ну вот есть такой вариант дизайна, он сомнительный, но слишком часто используется — разделяемый экземпляр массива

S>Ой, какая прелесть, особенно когда нужны согласованные изменения.

Ну да, тем не менее, в убитых проектах это чуть не норма

S>>>Откуда взялись связи при построении кортежа?


I>>Известно откуда. В России нет города Балтимор, а из названия города Воронеж однозначно следует какая должна быть страна.

I>>У тебя, конечно, может быть другое мнение — выбираешь город Воронеж, страну Люксембург и дело в шляпе.
S>Выходит,

У тебя чтото выходит, да. "Откуда взялись связи при построении кортежа"
Делаешь вид, что типа не понял про связь страны и города.

I>>Ничего нового он не получает — всё те же фигуры, все та же доска.

S>Состояние новое.

Разумеется. Только восстановить старое может не выйдет вовсе. А если задаться целью восстановить идеально, до долей миллиметра, то и вовсе будет невозможным.

I>>Кстати говоря, для старых машин испокон веков был пульт управления, в которых N ламп или светодиодов отражали состояние памяти. С клавиатуры меняешь состояние, делаешь прогон, получаешь результаты.

I>>Это ровно тот же подход, что и в hex, только безо всяких промежуточных перфокарт.
S>Да, конечно. Вводишь с пульта программу, вводишь с пульта данные, прогоняешь. Не получилось — снова. Успехов!

Именно. Тут нет какого то чуда, с опытом "не получилось" это довольно редкий кейс. Другого то варианта и не было — пока периферия не работает, пока не сможешь прогнать пуско-наладочные тесты, у тебя вобщем ничего другого и не было.

I>>Я показываю вещи, которые как раз таки легко проверить.

S>Проверь удельную частоту "учится за неделю-две".

Не понятен вопрос.

I>>Элементарно — структуры данных и алгоритмны это из математики, а не абстрактного ФП. ФП, как и любая из парадигм, это управление сложностью решения, а не само решение.

I>>Сначала ты находишь решение, а уже потом, при помощи ФП, переводишь его в конкретный код.
S>Так зачем тебе переводить решение в код именно при помощи ФП, если оно тебе не близко и "менять" ДОМ дороже?

Это ты перевираешь мои слова. Я всего лишь неприемлю чистое ФП. Ровно как и чистое ИП.

I>>Если умеешь на дудке, то ты можешь получить музыкальное образование, даже не прикасаясь к скрипке. Более того, сколько ты денег заработаешь, сколько принесешь пользы, никак не зависит от того, какой у тебя инструмент.

S>Образование получить можно на дудке, если постараться. Но извлечь из нее диапазон скрипки, не говоря уж о трезвучиях — это вряд ли.

Я дудкой называю всё, во что дудеть можно: труба, гобой, саксофон

I>>Не имеет значения. Парадигмы про запись решения в виде кода. То есть, сначала надо таки найти. Например, структуры данных и алгоритмы в общем случае не требуют никаких серьезных навыков программирования.

S>Недавно ты меня уверял в обратном.

задачи в программировнии требуют для решения знаний в структурах данных и алгоритмах, а не наоборот.

I>> А по моему важнее Computer Sciense, включая алгоритмы-структуры данных, и доменная область.

S>Ты в пол шаге от того, что ФП или ИП — не имеет значения.

Последние две недели я именно это и говорю — парадигма это всего лишь средство перевода имеющегося решения в код.
Решил — запиши. А у тебя парадигма это эдакий всемогутор, в котором всё само, легко и просто, и куда входит весь имеющийся computer science.

S>Я не говорил о том, что он освоит все, что я накопил. Другое дело, что то, что я накопил — оно не очень ценно с точки зрения сегодняшнего студента. При наличии правильных подходов и примерно одного уровня доменной области, можно как раз срезать лет 25, выкинув хлам. Например, у меня годы ушли на изучение и работу с турбопаскалем, Delphi, MFC, COM... А если меняешь еще и доменную область (например, с оборонки в медицину, как это у меня было), то и оказываешься нос к носу со студентами.


Кое что выбросить можно, но не всё. Например, умение структурировать, упрощать, не дается ни за семестр, ни за весь университет — оно развивается всю жизнь.
Таких вещей довольно много, т.е., которые нужно качать годами. Например, многозадачность, базы данных.
Вот конкретный язык, фремворк — это учится от недели до года.
Теоретически, возможно подготовить студента до уровня специалиста высокой квалификации, но тогда вся специальность должна быть посвящена именно этом. На практике такое никто не гарантирует.


S>А структуры данных — повторю, тут нет разницы, работаешь ты с ними год-два или тридцать. Арсенал практических методов работы с массивом/списком/картой будет примерно схожим. Я говорю не об исследованиях уровня Кнута/Окасаки, а о ежедневной практике на рынке труда в CS.


Со структурами данных все зависит от задач, которыми ты занимаешься. Разные области требуют разные знания. Многие до графов и за десятки лет недобираются. Другие там сидят денно и нощно.

I>>У тебя похоже инструмент давно стал синонимом квалификация

S>Не синоним. Однако, если мы возьмем неквалифицированного специалиста с лопатой и квалифицированного без — они, как минимум, поспорят за производительность рытья траншеи.

Некорректное сравнение. Рытьё траншеи это неквалифицированый труд. Здесь важен инструмент, т.к. квалификация не важна по определению.
В IT все наоборот — неквалифицированый с инструментом и квалифицированый без него — разница почти всегда в пользу второго.

I>>И сколько раз в месяц, в среднем, ты учавствуешь в этом?

S>Я — нисколько. Но знаю тех, кто употребляет в пищу лишь то, что сам подстрелил.

Есть такое — это идеология, а не вынужденное поведение.

S>Я не говорил, что решение в учебнике ФП. Цена обновления дерева в среднем — его высота. типичный ДОМ — дерево ссылок.


Вопрос в том, что ты хочешь делать с этим ДОМ. Если только рисовать HTML, хватит и дерева, а если не html, а что то другое — может и граф понадобиться. Фактически, это хитрый такой сторадж, который унутре может быть каким угодно.

I>> Что за парадигма, это легко проверить. Попроси его изменить пару кадров, ведь "в ДОМ удаление менее чем линейно".

I>>Императивная модель — берем и изменяем состояние, а именно — подкорректировали кадр по месту или заменили листок новым, затраты не зависят от количества кадров.
S>Не зависят от количества кадров, значит O(1), согласен?

Именно. Допустим, ты номера знаешь. Раскрыл на нужном месте и думаешь, что же делать — править или не править, если править, то как.

I>>Поскольку "в ДОМ удаление менее чем линейно", ребенку не составит труда за аналогичное или даже меньшее время внести изменения.

S>С чего ты взял, что менее чем линейно будет аналогично или меньше чем O(1)?
S>Удаление из дерева действительно менее чем линейно, но дороже, чем O(1) в среднем.
S>На самом деле, замена листка в блокноте — линейная операция, т.к. тебе нужно этот листок найти, прежде всего.
S>После замены листка в блокноте, хоть блокнот остался старым (преимущественно), анимация получилась новая. Разница с фп лишь в том, что ты получишь новый блокнот, в котором будут преимущественно старые страницы.

На самом деде это разные операции — валидирование и коррекция. Мы можем просто этим воспользоваться. Если мы знаем, что кривые кадры 5 и 8, то надо обработать только их и не надо ничего копировать.
Re[54]: Мнение: объектно-ориентированное программирование —
Здравствуйте, samius, Вы писали:

I>>Ну вот есть такой вариант дизайна, он сомнительный, но слишком часто используется — разделяемый экземпляр массива

S>Ой, какая прелесть, особенно когда нужны согласованные изменения.

Ну да, тем не менее, в убитых проектах это чуть не норма

S>>>Откуда взялись связи при построении кортежа?


I>>Известно откуда. В России нет города Балтимор, а из названия города Воронеж однозначно следует какая должна быть страна.

I>>У тебя, конечно, может быть другое мнение — выбираешь город Воронеж, страну Люксембург и дело в шляпе.
S>Выходит,

У тебя чтото выходит, да. "Откуда взялись связи при построении кортежа"
Делаешь вид, что типа не понял про связь страны и города.

I>>Ничего нового он не получает — всё те же фигуры, все та же доска.

S>Состояние новое.

Разумеется. Только восстановить старое может не выйдет вовсе. А если задаться целью восстановить идеально, до долей миллиметра, то и вовсе будет невозможным.

I>>Кстати говоря, для старых машин испокон веков был пульт управления, в которых N ламп или светодиодов отражали состояние памяти. С клавиатуры меняешь состояние, делаешь прогон, получаешь результаты.

I>>Это ровно тот же подход, что и в hex, только безо всяких промежуточных перфокарт.
S>Да, конечно. Вводишь с пульта программу, вводишь с пульта данные, прогоняешь. Не получилось — снова. Успехов!

Именно. Тут нет какого то чуда, с опытом "не получилось" это довольно редкий кейс. Другого то варианта и не было — пока периферия не работает, пока не сможешь прогнать пуско-наладочные тесты, у тебя вобщем ничего другого и не было.

I>>Я показываю вещи, которые как раз таки легко проверить.

S>Проверь удельную частоту "учится за неделю-две".

Не понятен вопрос.

I>>Элементарно — структуры данных и алгоритмны это из математики, а не абстрактного ФП. ФП, как и любая из парадигм, это управление сложностью решения, а не само решение.

I>>Сначала ты находишь решение, а уже потом, при помощи ФП, переводишь его в конкретный код.
S>Так зачем тебе переводить решение в код именно при помощи ФП, если оно тебе не близко и "менять" ДОМ дороже?

Это ты перевираешь мои слова. Я всего лишь неприемлю чистое ФП. Ровно как и чистое ИП.

I>>Если умеешь на дудке, то ты можешь получить музыкальное образование, даже не прикасаясь к скрипке. Более того, сколько ты денег заработаешь, сколько принесешь пользы, никак не зависит от того, какой у тебя инструмент.

S>Образование получить можно на дудке, если постараться. Но извлечь из нее диапазон скрипки, не говоря уж о трезвучиях — это вряд ли.

Я дудкой называю всё, во что дудеть можно: труба, гобой, саксофон

I>>Не имеет значения. Парадигмы про запись решения в виде кода. То есть, сначала надо таки найти. Например, структуры данных и алгоритмы в общем случае не требуют никаких серьезных навыков программирования.

S>Недавно ты меня уверял в обратном.

задачи в программировнии требуют для решения знаний в структурах данных и алгоритмах, а не наоборот.

I>> А по моему важнее Computer Sciense, включая алгоритмы-структуры данных, и доменная область.

S>Ты в пол шаге от того, что ФП или ИП — не имеет значения.

Последние две недели я именно это и говорю — парадигма это всего лишь средство перевода имеющегося решения в код.
Решил — запиши. А у тебя парадигма это эдакий всемогутор, в котором всё само, легко и просто, и куда входит весь имеющийся computer science.

S>Я не говорил о том, что он освоит все, что я накопил. Другое дело, что то, что я накопил — оно не очень ценно с точки зрения сегодняшнего студента. При наличии правильных подходов и примерно одного уровня доменной области, можно как раз срезать лет 25, выкинув хлам. Например, у меня годы ушли на изучение и работу с турбопаскалем, Delphi, MFC, COM... А если меняешь еще и доменную область (например, с оборонки в медицину, как это у меня было), то и оказываешься нос к носу со студентами.


Кое что выбросить можно, но не всё. Например, умение структурировать, упрощать, не дается ни за семестр, ни за весь университет — оно развивается всю жизнь.
Таких вещей довольно много, т.е., которые нужно качать годами. Например, многозадачность, базы данных.
Вот конкретный язык, фремворк — это учится от недели до года.
Теоретически, возможно подготовить студента до уровня специалиста высокой квалификации, но тогда вся специальность должна быть посвящена именно этом. На практике такое никто не гарантирует.


S>А структуры данных — повторю, тут нет разницы, работаешь ты с ними год-два или тридцать. Арсенал практических методов работы с массивом/списком/картой будет примерно схожим. Я говорю не об исследованиях уровня Кнута/Окасаки, а о ежедневной практике на рынке труда в CS.


Со структурами данных все зависит от задач, которыми ты занимаешься. Разные области требуют разные знания. Многие до графов и за десятки лет недобираются. Другие там сидят денно и нощно.

I>>У тебя похоже инструмент давно стал синонимом квалификация

S>Не синоним. Однако, если мы возьмем неквалифицированного специалиста с лопатой и квалифицированного без — они, как минимум, поспорят за производительность рытья траншеи.

Некорректное сравнение. Рытьё траншеи это неквалифицированый труд. Здесь важен инструмент, т.к. квалификация не важна по определению.
В IT все наоборот — неквалифицированый с инструментом и квалифицированый без него — разница почти всегда в пользу второго.

I>>И сколько раз в месяц, в среднем, ты учавствуешь в этом?

S>Я — нисколько. Но знаю тех, кто употребляет в пищу лишь то, что сам подстрелил.

Есть такое — это идеология, а не вынужденное поведение.

S>Я не говорил, что решение в учебнике ФП. Цена обновления дерева в среднем — его высота. типичный ДОМ — дерево ссылок.


Вопрос в том, что ты хочешь делать с этим ДОМ. Если только рисовать HTML, хватит и дерева, а если не html, а что то другое — может и граф понадобиться. Фактически, это хитрый такой сторадж, который унутре может быть каким угодно.

I>> Что за парадигма, это легко проверить. Попроси его изменить пару кадров, ведь "в ДОМ удаление менее чем линейно".

I>>Императивная модель — берем и изменяем состояние, а именно — подкорректировали кадр по месту или заменили листок новым, затраты не зависят от количества кадров.
S>Не зависят от количества кадров, значит O(1), согласен?

Именно. Допустим, ты номера знаешь. Раскрыл на нужном месте и думаешь, что же делать — править или не править, если править, то как.

I>>Поскольку "в ДОМ удаление менее чем линейно", ребенку не составит труда за аналогичное или даже меньшее время внести изменения.

S>С чего ты взял, что менее чем линейно будет аналогично или меньше чем O(1)?
S>Удаление из дерева действительно менее чем линейно, но дороже, чем O(1) в среднем.
S>На самом деле, замена листка в блокноте — линейная операция, т.к. тебе нужно этот листок найти, прежде всего.
S>После замены листка в блокноте, хоть блокнот остался старым (преимущественно), анимация получилась новая. Разница с фп лишь в том, что ты получишь новый блокнот, в котором будут преимущественно старые страницы.

На самом деде это разные операции — валидирование и коррекция. Мы можем просто этим воспользоваться. Если мы знаем, что кривые кадры 5 и 8, то надо обработать только их и не надо ничего копировать.

И далее, надо вспомнить "стоимость отката". Например, ребенок поправил один кадр, но испортил второй. ФП говорит нам, что стоимость отката 0. И как этого добиться ?