очередная статья сами-знаете-кого сами-понимаете-где.
Дисклеймер: слова "превед" там нету.
Дисклеймер 2: но статья по-прежнему написана на русском разговорном.
Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>Дисклеймер: слова "превед" там нету. ЗХ>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
Можно поинтересоваться — в чем основная мысль статьи? Был бы признателен за аннотацию в один абзац — а то к своему стыду ни одну твою статью не могу дочитать до середины — буков очень много. А мне интересно о чем там. Что сказать то хотел?
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>Дисклеймер: слова "превед" там нету. ЗХ>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
"Серебряной пули все еще нет" и не будет никогда...(а статья отличная).
ЗХ>>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>>Дисклеймер: слова "превед" там нету. ЗХ>>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
G>Можно поинтересоваться — в чем основная мысль статьи? Был бы признателен за аннотацию в один абзац — а то к своему стыду ни одну твою статью не могу дочитать до середины — буков очень много. А мне интересно о чем там. Что сказать то хотел?
Тама в конце:
То есть главный вывод из всех этих рассуждений таков: сегодняшний вектор развития технологий, связанных с обеспечением корректности результатов деятельности в софтверном окружении, — "быстро исправленное не считается ошибочным". А возможность быстрого исправления неотрывно (на сегодня, по крайней мере) связана с "онлайновостью" исправляемого. Веб-все-что-угодно — это не "странная мода" или "идиотская прихоть маркетологов", а, напротив, еще один шаг к серебряной пуле.
Привыкайте.
На самом деле, спасибо за вот это:
И тот же пресловутый Web2.0 декларирует как одну из своих ценностей "накопление информации через взаимодействие пользователей"
И когда это поймут наконец-то все, в Вебе наступит щастя
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>Дисклеймер: слова "превед" там нету. ЗХ>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
И нафига её писать? Кто не знает того, что там написано? Кому это поможет работать? Какие выводы можно извлечь из этой статьи?
Нет обзора инструментов с доказательством, что пули нет.
Нет обзора формальных методик и средств верификации, вывода алгоритмов и доказательства их корректности
Вообще нет никаких обзоров
Нет никаких прогнозов на будущее. Почему бы не сделать какой-нибудь прогноз? А ещё лучше, посоветовать разработчикам, в какую им сторону двигаться...
В общем не понятно только одно:
1. Причина написания этой статьи
2. Цель написания этой статьи
То есть главный вывод из всех этих рассуждений таков: сегодняшний вектор развития технологий, связанных с обеспечением корректности результатов деятельности в софтверном окружении, — "быстро исправленное не считается ошибочным". А возможность быстрого исправления неотрывно (на сегодня, по крайней мере) связана с "онлайновостью" исправляемого. Веб-все-что-угодно — это не "странная мода" или "идиотская прихоть маркетологов", а, напротив, еще один шаг к серебряной пуле.
Здравствуйте, Gaperton, Вы писали:
G>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>>Дисклеймер: слова "превед" там нету. ЗХ>>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
G>Можно поинтересоваться — в чем основная мысль статьи? Был бы признателен за аннотацию в один абзац — а то к своему стыду ни одну твою статью не могу дочитать до середины — буков очень много. А мне интересно о чем там. Что сказать то хотел?
Здравствуйте, _DAle_, Вы писали:
G>>Можно поинтересоваться — в чем основная мысль статьи? Был бы признателен за аннотацию в один абзац — а то к своему стыду ни одну твою статью не могу дочитать до середины — буков очень много. А мне интересно о чем там. Что сказать то хотел?
_DA>Что даже вот эту http://www.rsdn.ru/article/philosophy/languages.xml
Эта, кстати, пошла. Я смог прочесть ее по диагонали, понимая о чем, что и зачем. А вот последние — это катастрофа какая-то. Не могу осилить никак. Один раз специально сел — твердо решил прочесть и понять, о чем. Не смог, блин. Срубает примерно на третьем абзаце, перехожу на беглое чтение через строчки — и тут смысл окончательно теряется.
А народ-то комментирует, спорит, читает! Ужас какой-то. То-ли лыжи не едут, то ли я...
Здравствуйте, FDSC, Вы писали:
FDS>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>>Дисклеймер: слова "превед" там нету. ЗХ>>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
FDS>И нафига её писать? Кто не знает того, что там написано? Кому это поможет работать? Какие выводы можно извлечь из этой статьи?
FDS>Нет обзора инструментов с доказательством, что пули нет. FDS>Нет обзора формальных методик и средств верификации, вывода алгоритмов и доказательства их корректности FDS>Вообще нет никаких обзоров
FDS>Нет никаких прогнозов на будущее. Почему бы не сделать какой-нибудь прогноз? А ещё лучше, посоветовать разработчикам, в какую им сторону двигаться...
FDS>В общем не понятно только одно: FDS>1. Причина написания этой статьи FDS>2. Цель написания этой статьи
Очень просто: планировалась тема номера "Поиск незнания" — о том, чего мы еще не знаем, как ставятся задачи и кто их ставит. Должны были быть освещены различные области, причем моя была — разработка софта. Почему статья вышла сама по себе и что случилось с остальной темой номера — понятия не имею.
Здравствуйте, Зверёк Харьковский, Вы писали:
FDS>>В общем не понятно только одно: FDS>>1. Причина написания этой статьи FDS>>2. Цель написания этой статьи
ЗХ>Очень просто: планировалась тема номера "Поиск незнания" — о том, чего мы еще не знаем, как ставятся задачи и кто их ставит. Должны были быть освещены различные области, причем моя была — разработка софта. Почему статья вышла сама по себе и что случилось с остальной темой номера — понятия не имею.
Понятно: редакция подставила вас, а редакцию подставили остальные авторы
Ну ладно, что мы не знаем, вы, допустим, сказали. Но ведь ещё есть "как ставятся задачи" и "кто их ставит". Ведь это можно понимать не как "какая фирма ставит задачи", а откуда появляется постановка задачи, как и кто узнаёт, что нужно программистам, как вообще программист анализирует, что он не знает и не хочет знать. В общем, хотелось бы побольше информации. Статья тянет только как вводная темы, которая, скажем, могла бы конкретизироваться другими статьями.
Здравствуйте, Gaperton, Вы писали:
G>Здравствуйте, _DAle_, Вы писали:
G>>>Можно поинтересоваться — в чем основная мысль статьи? Был бы признателен за аннотацию в один абзац — а то к своему стыду ни одну твою статью не могу дочитать до середины — буков очень много. А мне интересно о чем там. Что сказать то хотел?
_DA>>Что даже вот эту http://www.rsdn.ru/article/philosophy/languages.xml
не дочитал?
G>Эта, кстати, пошла. Я смог прочесть ее по диагонали, понимая о чем, что и зачем. А вот последние — это катастрофа какая-то. Не могу осилить никак. Один раз специально сел — твердо решил прочесть и понять, о чем. Не смог, блин. Срубает примерно на третьем абзаце, перехожу на беглое чтение через строчки — и тут смысл окончательно теряется.
G>А народ-то комментирует, спорит, читает! Ужас какой-то. То-ли лыжи не едут, то ли я...
G>)
Не знаю, успокоит ли тебя это но эту статью я тоже смог прочитать только до середины и то через строки. Дальше не смог. Наверное, не для меня она.
Здравствуйте, _DAle_, Вы писали:
G>>А народ-то комментирует, спорит, читает! Ужас какой-то. То-ли лыжи не едут, то ли я...
_DA>Не знаю, успокоит ли тебя это но эту статью я тоже смог прочитать только до середины и то через строки. Дальше не смог. Наверное, не для меня она.
Вот как? Хм, смотри, что тут у меня есть, специально для таких случаев берег.
Здравствуйте, Mamut, Вы писали:
M>Тама в конце: M>
M>То есть главный вывод из всех этих рассуждений таков: сегодняшний вектор развития технологий, связанных с обеспечением корректности результатов деятельности в софтверном окружении, — "быстро исправленное не считается ошибочным". А возможность быстрого исправления неотрывно (на сегодня, по крайней мере) связана с "онлайновостью" исправляемого. Веб-все-что-угодно — это не "странная мода" или "идиотская прихоть маркетологов", а, напротив, еще один шаг к серебряной пуле.
M>Привыкайте.
M>На самом деле, спасибо за вот это: M>
M>И тот же пресловутый Web2.0 декларирует как одну из своих ценностей "накопление информации через взаимодействие пользователей"
M>И когда это поймут наконец-то все, в Вебе наступит щастя
К сожалению, сегодняшний мейнстрим, связанный с Web-ом (не только создание Web-приложений, но и даже совместная работа над проектами через Internet апофиозом чего является OpenSource), развращает программистов. Высказывание Торвальдса о багах, всплывающих на поверхность под взглядами миллионов пар глаз. Продолжение Эрика Реймонда в "Соборе и Базаре" -- доведи программу до минимально работоспособного состояния и сразу же выпускай ее в свет, делай релизы чаще -- это средство устранения "сырости" софта. Все это привело к наблюдению, прочитанному мной в каком-то журнале лет шесть назад: "Больше нет стабильных версий. Все, что сейчас объявляется релизом -- это всего лишь очередная бета версия, за которой неминуемо следует цепочка багфиксов и патчей".
Все бы это было хорошо, если бы незаметно для многих из нас не равивалось другое направление софта: встроенное ПО. Простой пример, у многих на SIM картах зашиты STK-апплеты, которые записываются на карту при ее производстве. Каждый апплет -- это небольшое приложение с очень высокими требованиями к надежности и корректности. Эти требования проистекают из того простого факта, что сменить STK-апплет после выпуска SIM-карты в обращение практически невозможно (либо это невозможно технически из-за особенностей SIM-ки, либо является слишком дорогостоящей и не очень надежной процедурой в случае обновления апплета "по воздуху"). А масштабы тиражирования подобных апплетов огромны: крупные операторы сотовой связи имеют десятки миллионов абонетов у каждого из которых должна быть SIM-карта. Новые партии SIM-карт выпускаются тиражами в сотни тысяч (а то и в миллионы) экземпляров. И получается, что единственной возможностью установить пофикшенную версию апплета будет выпуск новой партии карт. Чего может и не случится, если оператора слишком утомят жалобы абонентов на глюкавость апплета.
Можно привести и другие примеры: снабженные компьютерами холодильники, стиральные машины, кофеварки, бортовые компьютеры автомобилей, BIOS-ы в ПК и серверах, продвинутые мобильные телефоны и смартфоны. Для кого-то из программистов является нормальным явлением после покупки телефона обязательная смена его прошивки. Или обновление BIOS-а в сервере для успешной установки в него новой сетевой карты или еще одного HDD. Но ведь в сущности это дико! Железяка должна работать. Ведь когда мы покупаем электродрель, мало кому из нас приходит на ум сменить обмотку на ее элетромоторе. Если я плачу за что-то свои деньги (будь то смартфон или холодильник со встроенным компьютером и возможностью подключения в Internet), то я не хочу тратить на дведения его до рабочего состояния свое время и нервы. А ведь если дело будет идти в том же русле (т.е. "быстроисправленное не считается ошибочным"), то всякие оборудованные бортовыми компьютерами умные устройства (вроде холодильников) просто обязаны будут иметь подключение к интернету. Просто для того, чтобы перманентно закачивать patch-и и сервиспаки.
I will consider the job finished when no manufacturer anywhere makes a PC with a reset button.
складывается впечатление, что главная цель сейчас -- это не устранить кнопку "reset", а сделать ее использование приятной и само-сабой разумеющейся процедурой. Мол это нормально, это же компьютеры, их нужно перезагружать...
А все это я к тому, что вырисовываются два разных направления:
* ПО, которое можно заменить и проапдейтить. Как то, серверное ПО или операционка на ПК.
* ПО, которое невозможно заменить. Вроде STK-апплетов на SIM-картах, или прошивки BIOS-а в каких-нибудь контроллерах.
Соответственно, подходы к разработке разных типов ПО должны быть разными. В одном случае во главу угла должна ставится формула "on the fly": обновление ПО, смена внешего вида и структуры приложения, изменение форматов данных и пр. без остановки чего бы то ни было. Во втором краеугольным камнем должно стать понятие "compatibility" и "maintenance". После того, как какой-нибудь холодильник был продан партией в 20000 штук с ПО версии 1.0.364 и форматом транспортных протоколов версии 3.14.15 этот холодильник должен работать и работать, и работать. Нельзя отказывать ему (а значит и его хозяину) в этом праве. Это означает, что web-портал, с которым связывается холодильник для получения информации о ценах на продукты, не может просто так взять и объявить: "Амба! 3.14.15-здец наступил для данной версии протокола. Обновиться бы вам нужно до 2007 sp5 build 1245 patch 3469, а иначе никак". По крайней мере в первые 10 лет эксплуатации.
Только вот мечты это все. Видимо не заинтересован сейчас никто в выпуске холодильников, работающих по тридцать лет. И в создании протоколов, которые будут поддерживаться в течении этого времени. И в ПО, которое будет работать все это время. Без кнопки Reset...
Выговорился... Полегчало...
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Роль программиста не имеет точных аналогов в других профессиях (как бы кто ни пытался доказать обратное) — ни инженеры, ни изобретатели, ни писатели, ни журналисты не работают в условиях столь тесного переплетения чистого творчества, точных наук, практических "приемчиков" и сложных взаимодействий между членами команды.
Позволю себе чуть подискутировать по поводу этого утверждения. Имхо, врачи (в частности хирурги) работают в похожих условиях. Шансы на выживание пациента сильно зависят от того, к кому именно он попадает на лечение, и насколько успешно и слажено взаимодействуют врачи разных профилей при этом. Да и сам пациент (как заказчик в случае программистов) во многом влияет на результат: начиная от того, насколько он откровенен с врачем и заканчивая тем, насколько точно (но без фанатизма и с сохранением зравого смысла) он следует предписаниям врача.
Врачам, кстати, так же нужно учится постоянно.
Так что пора завязывать с мнением об особой исключительности нашей профессии.
</offtopic>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, FDSC, Вы писали:
FDS>Здравствуйте, Зверёк Харьковский, Вы писали:
FDS>>>В общем не понятно только одно: FDS>>>1. Причина написания этой статьи FDS>>>2. Цель написания этой статьи
ЗХ>>Очень просто: планировалась тема номера "Поиск незнания" — о том, чего мы еще не знаем, как ставятся задачи и кто их ставит. Должны были быть освещены различные области, причем моя была — разработка софта. Почему статья вышла сама по себе и что случилось с остальной темой номера — понятия не имею.
FDS>Понятно: редакция подставила вас, а редакцию подставили остальные авторы
Пардон, мой предыдущий пост получился излишне оправдательным. Тем не менее (хотя могло показаться наоборот) мне самому статья нравится (точнее, нравилась в процессе написания). В процессе ее написания я сам для себя отследил красивую логическую схему четкой связи прогресса в IT с пресловутой "пулей". Ну а если эта схема не очевидна из текста — значит, текст не так хорош как хотелось бы. О чем и говорит Gaperton.
Здравствуйте, Gaperton, Вы писали:
G>Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>>очередная статья сами-знаете-кого сами-понимаете-где. ЗХ>>Дисклеймер: слова "превед" там нету. ЗХ>>Дисклеймер 2: но статья по-прежнему написана на русском разговорном. ЗХ>>Дисклеймер 3: зато на этот раз — имеет связь с программированием и его философией.
G>Можно поинтересоваться — в чем основная мысль статьи? Был бы признателен за аннотацию в один абзац — а то к своему стыду ни одну твою статью не могу дочитать до середины — буков очень много. А мне интересно о чем там. Что сказать то хотел?
Повышать надежность этой "детали" (читай: гарантировать достижение результата) можно, вообще говоря, разными способами. Но все они сводятся к двум главным принципам: контролировать, что делает отдельный работник; иметь возможность заменить его другим работником.
Читать Peopleware от ДеМарко&Листера и от Л.Константайна по поводу возможности заменить отдельного работника. Каждый отдельный работник незаменим. Period.
По поводу механизма "контролировать, что делает отдельный работник", как одного из принципов "гарантировать достижение результата", в статье говорится в стиле "экономика должна быть экономной!".
Хотя, вероятно, я чего-то не так понял.
Здравствуйте, Зверёк Харьковский, Вы писали:
ЗХ>Пардон, мой предыдущий пост получился излишне оправдательным. Тем не менее (хотя могло показаться наоборот) мне самому статья нравится (точнее, нравилась в процессе написания). В процессе ее написания я сам для себя отследил красивую логическую схему четкой связи прогресса в IT с пресловутой "пулей". Ну а если эта схема не очевидна из текста — значит, текст не так хорош как хотелось бы. О чем и говорит Gaperton.
Тогда напишите новый текст — этот (IMHO, of course) никуда не годится.
Но было бы жаль упустить красивую логическую схему.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.
Здравствуйте, A.Lokotkov, Вы писали:
AL>Читать Peopleware от ДеМарко&Листера и от Л.Константайна по поводу возможности заменить отдельного работника. Каждый отдельный работник незаменим. Period. AL>По поводу механизма "контролировать, что делает отдельный работник", как одного из принципов "гарантировать достижение результата", в статье говорится в стиле "экономика должна быть экономной!". AL>Хотя, вероятно, я чего-то не так понял.
Мне показалось, что вся статья написана с точки зрения менеджера.
Причем менеджера-неудачника.
Но существует одно качество, которое нельзя купить, — это надежность. Цена надежности — погоня за крайней простотой. Это цена, которую очень богатому труднее всего заплатить.