Татарин> Ну... как сказать.
Да так и скажи. Фигня. Слово-то простое. Измени себя сам!
Татарин> Так вот блоковый дизайн и поощряется языком. Не, я не имею ничего против, и блоковый дизайн, и переиспользование кода, и ООП - великолепные вещи. И учить им надо. Плохо то, что не учат ничему другому. И Ява (а это сейчас язык начального обучения) это поощряет. Точнее даже отбивает желание обучать(-ся) иным подходам.
Я предлагаю взглянуть на проблему шире. Я такое вижу не только в программировании. Я согласен с оценкой ООП и code reuse. Но вспоминаются несколько историй...
А теперь они обмениваются ошибками в программах...
1985 год, май месяц. Лекция по фальнику. Читает нам её Семенцул (ученик Гохберга), влюблённый в математику по уши, большой любитель книг — дома было боле 7,000 томов. В однокомнатной квартирке места просто не было. И вот последние две лекции он нам дал теорию Рисса-Шаудера. На 6 страничек. И ещё 7 страниц лем и выводов из неё с доказательствами в пару строк. И сказал, что эти 13 страничек покрывают весь наш годовой курс, как бык овцу. Первый вопрос, который был задан: "А нафига нам целый год мозги морочили?" Ответ был довольно длинный. Но сводился он к тому, что мы сейчас обсуждаем. Надо быть очень умным, чтобы самому увидеть, что стоит за этой теорией. Научить делать вещи в математике можно только хорошо поняв и изучив многие вещи. А вот пользоваться теорией Рисса-Шаудера, когда необходимо — очень полезно и гораздо проще, если есть понимание, что стоит позади.
Мой шеф-алгебраист готовился в конце 80-х к приглашённому докладу на очередной всемирный конкресс математиков (тот был проведён в США). И вот он взялся сделать обзор состояния современной алгебры. Доклад должен был быть часовым. Кругом элитные математики, поэтому обзор должен быть очень широким и глубоким. Он перелопатил кучу классических работ, на которые ссылвают буквально все. И нашёл кучу ошибок.
И передоказал. Часть просто, часть очень сложно. Были моменты, на которых он построил свои дальнейшие работы — т.е. это были ошибки. И сентенция у него была та же. Все привыкли ссылаться без проверок. А проверять, как выясняетая надо периодически. И доказательства новые придумывать — намного проще. Но учить часто надо и по старым. Чтобы было понимание.
На самом деле, такой подход характерен для математики. Мне временами кажется, что дело максимального абстрагирования с ужатием в один или несколько символов, взяли именно из математики. Больно успешно он в математике применяется. Только выдернули его из контекста. В математике этому учат очень долго. Объём базовых знаний для того, чтобы преодолеть порог и начать считаться математиком, просто огромный. И это одна из причин, почему математиков мало. Если сюда кто-то дошёл, то уже попадает в область "элитных мыслителей" (в хорошем смысле слова). Не всем дано. Но такое грубое использование метода без контекста приносит свои, очень часто отнюдь не положительные, плоды.
Кстати, вот вышеописанное, ИМХО, является доказательством того, что математика в школе нужна.
Всем. Но не одного уровня.
Татарин> Там подмножество XML: после некоторых споров пошли-таки на компромисс...
Валидация требуется? Если да, то с компромисом тяжело.
Татарин> Но это лишь подчёркивает идею: архитектор - вчерашний ява-программист серверных приложений - выбрал именно такой способ для общения клиента с сервером (ну а что? масштабируемо! открыто! понятно!).
Дык, много кто так делает. Потому, как не знают, что за этим лежит.
Татарин> Разве это не показательно?
Как и везде.
Татарин> Э, нет. В лоб сравниваем расходы: по стоимости программистов (в денежном выражении) за период разработки. Количество примерно равно. Зарплаты примерно равны.
Ну, сравниваем. Но надо и то, насколько много ошибок, сколько на поддержание и т.д. И вот эти данные и интересны. А так, если не стояло задачи экономить батарейки, может надо кому-то другому тоже гонады прищемить?
Татарин> Возможности расширения? Да. Это обычно то, на что упирают, когда хочется протолкнуть что-нить "ленивое" для программиста. Но всегда ли это такой уж плюс?
Не только. Если есть телефон и всё. То я соглашусь. А, когда стараются запихнуть внутрь всё, а потом ещё и маленькую тележку, то уже не всё так просто.
Татарин> К сожалению второе уже невозможно: слишком большие изменения в большом количестве кода, который написан и уже работает на сервере и куче мобильных платформ.
Тогда сравниение уже не совсем честное.