Сообщение 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, то надо обработать только их и не надо ничего копировать.
I>>Ну вот есть такой вариант дизайна, он сомнительный, но слишком часто используется — разделяемый экземпляр массива
S>Ой, какая прелесть, особенно когда нужны согласованные изменения.
Ну да, тем не менее, в убитых проектах это чуть не норма
S>>>Откуда взялись связи при построении кортежа?
I>>Известно откуда. В России нет города Балтимор, а из названия города Воронеж однозначно следует какая должна быть страна.
I>>У тебя, конечно, может быть другое мнение — выбираешь город Воронеж, страну Люксембург и дело в шляпе.
S>Выходит,
У тебя чтото выходит, да. "Откуда взялись связи при построении кортежа"
Делаешь вид, что типа не понял про связь страны и города.
I>>Ничего нового он не получает — всё те же фигуры, все та же доска.
S>Состояние новое.
Разумеется. Только восстановить старое может не выйдет вовсе. А если задаться целью восстановить идеально, до долей миллиметра, то и вовсе будет невозможным.
I>>Кстати говоря, для старых машин испокон веков был пульт управления, в которых N ламп или светодиодов отражали состояние памяти. С клавиатуры меняешь состояние, делаешь прогон, получаешь результаты.
I>>Это ровно тот же подход, что и в hex, только безо всяких промежуточных перфокарт.
S>Да, конечно. Вводишь с пульта программу, вводишь с пульта данные, прогоняешь. Не получилось — снова. Успехов!
Именно. Тут нет какого то чуда, с опытом "не получилось" это довольно редкий кейс. Другого то варианта и не было — пока периферия не работает, пока не сможешь прогнать пуско-наладочные тесты, у тебя вобщем ничего другого и не было.
I>>Я показываю вещи, которые как раз таки легко проверить.
S>Проверь удельную частоту "учится за неделю-две".
Не понятен вопрос.
I>>Элементарно — структуры данных и алгоритмны это из математики, а не абстрактного ФП. ФП, как и любая из парадигм, это управление сложностью решения, а не само решение.
I>>Сначала ты находишь решение, а уже потом, при помощи ФП, переводишь его в конкретный код.
S>Так зачем тебе переводить решение в код именно при помощи ФП, если оно тебе не близко и "менять" ДОМ дороже?
Это ты перевираешь мои слова. Я всего лишь неприемлю чистое ФП. Ровно как и чистое ИП.
I>>Если умеешь на дудке, то ты можешь получить музыкальное образование, даже не прикасаясь к скрипке. Более того, сколько ты денег заработаешь, сколько принесешь пользы, никак не зависит от того, какой у тебя инструмент.
S>Образование получить можно на дудке, если постараться. Но извлечь из нее диапазон скрипки, не говоря уж о трезвучиях — это вряд ли.
Я дудкой называю всё, во что дудеть можно: труба, гобой, саксофон
I>>Не имеет значения. Парадигмы про запись решения в виде кода. То есть, сначала надо таки найти. Например, структуры данных и алгоритмы в общем случае не требуют никаких серьезных навыков программирования.
S>Недавно ты меня уверял в обратном.
I>>
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. И как этого добиться ?
I>>Ну вот есть такой вариант дизайна, он сомнительный, но слишком часто используется — разделяемый экземпляр массива
S>Ой, какая прелесть, особенно когда нужны согласованные изменения.
Ну да, тем не менее, в убитых проектах это чуть не норма
S>>>Откуда взялись связи при построении кортежа?
I>>Известно откуда. В России нет города Балтимор, а из названия города Воронеж однозначно следует какая должна быть страна.
I>>У тебя, конечно, может быть другое мнение — выбираешь город Воронеж, страну Люксембург и дело в шляпе.
S>Выходит,
У тебя чтото выходит, да. "Откуда взялись связи при построении кортежа"
Делаешь вид, что типа не понял про связь страны и города.
I>>Ничего нового он не получает — всё те же фигуры, все та же доска.
S>Состояние новое.
Разумеется. Только восстановить старое может не выйдет вовсе. А если задаться целью восстановить идеально, до долей миллиметра, то и вовсе будет невозможным.
I>>Кстати говоря, для старых машин испокон веков был пульт управления, в которых N ламп или светодиодов отражали состояние памяти. С клавиатуры меняешь состояние, делаешь прогон, получаешь результаты.
I>>Это ровно тот же подход, что и в hex, только безо всяких промежуточных перфокарт.
S>Да, конечно. Вводишь с пульта программу, вводишь с пульта данные, прогоняешь. Не получилось — снова. Успехов!
Именно. Тут нет какого то чуда, с опытом "не получилось" это довольно редкий кейс. Другого то варианта и не было — пока периферия не работает, пока не сможешь прогнать пуско-наладочные тесты, у тебя вобщем ничего другого и не было.
I>>Я показываю вещи, которые как раз таки легко проверить.
S>Проверь удельную частоту "учится за неделю-две".
Не понятен вопрос.
I>>Элементарно — структуры данных и алгоритмны это из математики, а не абстрактного ФП. ФП, как и любая из парадигм, это управление сложностью решения, а не само решение.
I>>Сначала ты находишь решение, а уже потом, при помощи ФП, переводишь его в конкретный код.
S>Так зачем тебе переводить решение в код именно при помощи ФП, если оно тебе не близко и "менять" ДОМ дороже?
Это ты перевираешь мои слова. Я всего лишь неприемлю чистое ФП. Ровно как и чистое ИП.
I>>Если умеешь на дудке, то ты можешь получить музыкальное образование, даже не прикасаясь к скрипке. Более того, сколько ты денег заработаешь, сколько принесешь пользы, никак не зависит от того, какой у тебя инструмент.
S>Образование получить можно на дудке, если постараться. Но извлечь из нее диапазон скрипки, не говоря уж о трезвучиях — это вряд ли.
Я дудкой называю всё, во что дудеть можно: труба, гобой, саксофон
I>>Не имеет значения. Парадигмы про запись решения в виде кода. То есть, сначала надо таки найти. Например, структуры данных и алгоритмы в общем случае не требуют никаких серьезных навыков программирования.
S>Недавно ты меня уверял в обратном.
I>>
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. И как этого добиться ?