Обновить
4
0
Viktor Pti @Qbit

Пользователь

Отправить сообщение
> Хотелось бы поинтересоваться у автора, зачем, например, писать вот такую дикость

Хоть и не автор, попробую объяснить.

Некоторые C++-программисты вначале пишут в уме код на for-if'ах. Затем улавливают смысл производимых действий, а именно: всё что здесь есть, это всего лишь фильтрация-агрегация. Смотрите, я больше не говорю ни про какие императивные циклы и if-операторы, я мыслю в декларативных терминах проекций, фильтраций, свёрток. Далее C++ программист пишет в уме код на нормальном языке типа OCaml'а, Haskell'а или даже C#, например:
ints.Count(i => 5 < i && i <= 10);
И уже затем с нормального языка переводят на C++, рождая чудовищ.

Ещё раз. Не зная промежуточных рассуждений, кажется, что программист непонятно зачем заменил понятные for-if'ы на заумные binding'и и функторы. На самом же деле, он просто перевёл задачу в удобные для рассуждения термины, и закодировал их в меру убогости C++.

При должной сноровке, опытный программист в приведённом вами коде не увидит всего этого мусора типа boost::bind и std::logical_and. Но не увидит он и for-if'ов. А выцепит только самую суть — фильтрацию-свёртку.
> Хочу и наследуюсь. Чем плохо?

«
• Люди нифига не читают умные книги
• Люди имеют завышенную самооценку, считают себя умнее всех
»
> Хотя «поток» так и просится как перевод к слову thread.

«Поток» много к чему просится, и к «stream», и к «flow». Только кальками и спасаемся.
> Количество результатов явно не в пользу бездумной кальки :)

А качество? Серьёзно, предоставленная вами поисковая выдача практически однозначно свидетельствует в пользу «мемоизации».
«Мемоизация» пишется без «р».
> Но как я продолжил пользоваться last.fm, так продолжу и простоплеером. Я считаю, что за удобство в современном интернете не зазорно и заплатить. Тем более не такие уж и большие для большинства людей деньги.

Дальше можно не читать. Потому что вы исходите из неверной предпосылки, что основным предназначением ПростоПлеера было прослушивание музыки, и именно за эту услугу надо платить.

В действительности, одним из важнейших юзкейсов был шаринг музыки. Блоги, твиттеры, IM'ы кишат ссылками на ПростоПлеер.

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

Аналогичная картина: завтра разработчики bit.ly скажут, что теперь переход по их ссылкам стоит символических денег. Одновременно с этим громаднейшее количество пользовательского контента станет неработающим. Никакие рассуждения, что разработчики тоже хотят кушать, не оправдывают обман пользователей в своих ожиданиях. Это даже хуже, чем тихое навязывание мобильными операторами бесплатных услуг, исподтишка становящихся платными.
Я хочу бесплатный удобный ресурс для шаринга и прослушивания музыки.

Не то что бы я хотел обделить разработчиков, нет, я не против, чтоб они так или иначе получали вознаграждение.

Но теперь это уже другой ресурс. Для всех он был «просто плеером», и он изменился. Для меня он был «бесплатным просто плеером» — и он умер. Вместо него появился новый ресурс под названием «платный просто плеер».

На некоторых ресурсах иногда проскакивают посты типа «Музыка, которую я ставил на повтор 100500 раз», и т.п. Народ туда кидает ссылки прямо на ПростоПлеер. А теперь этой возможности нет. Что толку, что у меня премиум-аккаунт, если у тех, с кем я хочу поделиться музыкой, его нет?

Другой негативный момент — это обман потребителей. Пару месяцев назад я купил премиум-аккаунт — и не получил заявленных в FAQ функций, за которые, собственно, и платил. Так, например, возможность скачивать плей-листы архивом так и не появилась. Это абсолютно явное мошенничество. Бесстыдный обман.

И — да, веб-морда ПростоПлеера стала глючить неимоверно. Проигрывание тупит, прогресс-бар сходит с ума.

Сраный ПростоПлеер скатился в сраное говно.
Куда делась ссылка скачивания плей-листа?
Нет, было сказано: «Кроме того, злоумышленники наверняка анализируют полученные исходные коды на предмет выявления новых уязвимостей, так что Kaspersky Antivirus потенциально становится менее надёжным продуктом.»

И не понятно, почему к «линукс с открытым кодом» применяются рассуждения в пользу повышения его надёжности, а в случае с «антивирус с открытым кодом» те же рассуждения приводят к «потенциально становится менее надёжным продуктом».
Близким термином к «рефукторинг» является «рехакторинг».
Через несколько лет Джоель сам признал, что ошибался (извините, мне лень искать ссылку на статью, где он это сделал).

Не надо искать статью. Через несколько лет Джоэль сделал StackOverflow.com на .NET, nuff said.
Парсер лох. Плюс «Вы не можете комментировать чаще, чем 1 раз в 5 минут».
bik-top.livejournal.com/37060.html
Здесь картинки ещё прикольнее.
Google for «initialization list».
Градиент и размытость линий символизирует неточность предсказания будущего.
Пары пунктирных линий — это коридоры для непунктирных.
>Только я бы на вашем месте аккуратнее выбирал выражения.

Прежде, чем на моём месте выбирать выражения, вы на своём-то постарайтесь. «Microsoft MVP», боже ж ты мой.
>Как добавить в GAC сборку Silverlight

Иными словами, AssemblyFoldersEx-разделы реестра (упомянутые ещё Рихтером), не имеют отношения ни к GAC, ни к Silverlight.
>Недавно я озадачился вопросом добавления сборки Silverlight в GAC. Это необходимо для того, чтобы можно было сослаться на сборку из нескольких проектов и не переносить эту сборку каждый раз с проектом.

Бред сивой кобылы. Для того, чтобы ссылаться на сборку без указания полного пути, нахождение её в GAC не является ни необходимым, ни достаточным. Это вообще независимые вещи.

GAC — это относится к разрешению ссылок на сборки CLR'ом, т.е. в рантайме.
AssemblyFoldersEx-разделы реестра — это относится к разрешению ссылок на сборки в процессе компиляции, т.е. в дизайн-тайме.
«При оценке надёжности шифрования необходимо предполагать, что противник знает об используемой системе шифрования всё, кроме применяемых ключей.»
ru.wikipedia.org/wiki/Принцип_Керкгоффса
Используй «String.Empty» вместо «""», «Environment.NewLine» вместо «"\r\n"».
parseResult должно быть не String, а StringBuilder.
Прогони исходник через StyleCop и бинарник через FxCop.
Освой Linq, чтоб не городить ненужных циклов.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность