Насколько мне известно, эти аналоги не кросплатформенны.
Стримы и прочее — верно, активно пользуюсь. Но, положа руку на сердце, нет более простого и эффективного кода перевода числа в шестнадцатеричную строку, чем две строки: объявление буфера и вызов sprintf(). В остальном согласен :)
> Ты поручишься, что обошёл абсолютно все уязвимости printf'а?
Абсолютно поручусь. У меня есть код, в котором с помощью sprintf() переводят целое 32-разрядное число в шестнадцатеричную запись. Вот как-то слабо верится, что здесь может случиться переполнение чего бы то ни было :) Все размеры заранее известны.
Тоже верно, и всё равно неоднозначно. Я это к тому говорю, что хорошего решения толком нет.
Да, допустим, компилятор беспокоит секьюрность. Но что он мне предлагает? printf_s(), scanf_s() и прочее — насколько мне известно, функции не из состава ANSI C++, т.е. он предлагает сломать кроссплатформенность.
А старые добрые функции иногда наиболее просты в использовании, бывает и такое… Я бы не сказал, что использование printf() «неправильно».
Если взять практически любой учебник по С++, там написано, что препроцессор — это неправильно. А теперь открываем буст, и видим, что половина его построена на препроцессоре (Boost.Preprocessor, Boost.Foreach и пр.)
Всё не так очевидно — я не спорю с тем, что в новом проекте printf() незачем. Но если код отлично работает, я не хочу, чтобы в нём появлялись новые ворнинги. Мне не нужно ломать отлаженную программу лишь из-за того, что компилятор стал более параноидальным.
См. рекомендацию мне выше — «отключить ворнинги вовсе». Вот так оно и работает — приходится отключать вовсе, и смысл их пропадает…
Иногда ещё авторы компиляторов «из хороших соображений» делают новые ворнинги там, где раньше обходилось.
Например, последние версии Visual C++ ругаются на printf() и тому подобные вещи. Хотя я, естественно, не буду из-за этого менять старый, многократно испытанный код.
То, что тема поднята — отлично. Но всё же оптимистично предположу, что дело не совсем скверно. Да, представленные факты в голове не укладываются. Но идёт как раз тот самый «цивилизованный процесс», о необходимости которого здесь любят говорить.
Местечковый суд (возможно, под давлением сверху) принял малопонятное решение. Парень его обжаловал в инстанции выше — так что пока полёт нормальный. Если он пройдёт всю линейку (как и положено) и будет везде получать подобные пинки — да, тогда признаю, что дело плохо.
Недавно ещё совсем здесь возмущались по поводу дела Пиратской бухты. Дескать, доказательства вины были эфемерными и технически слабыми, а защита — грамотной и умной. Суд проиграли. И что же, шведские парни не унывают и не предлагают писать письма президенту — они передают дело в суд высшей инстанции.
(Игры, разошедшиеся тиражами более 12 млн)
NES:
Super Mario Bros. (40.23 million)
Super Mario Bros. 3 (18 million)
SNES
Super Mario World (20 million)
Wii
Wii Sports (40.5 million)
Wii Play (20.91 million)
Wii Fit (14.01 million)
Mario Kart Wii (13.67 million)
Game Boy / Game Boy Color
Tetris (33 million)
Pokémon Red, Blue, and Green (20.68 million)
Pokémon Gold and Silver (15.2 million)
Super Mario Land (14 million)
Game Boy Advance
Pokémon Ruby and Sapphire (13 million)
Nintendo DS
Nintendogs All versions (21.67 million)
New Super Mario Bros. (17.63 million)
Brain Age: Train Your Brain in Minutes a Day! (16.82 million)
Pokémon Diamond and Pearl (16.48 million)
Mario Kart DS (13.79 million)
Brain Age 2: More Training in Minutes a Day! (13.27 million)
PC
The Sims (16 million shipped)
The Sims 2 (13 million)
Про Myst, кстати, сказано, что всего 6 миллионов копий (но это лидер жанра).
Выглядит красиво, но на мой взгляд идея дурная — по тегу должно быть сразу видно, что это тег.
А то придётся ещё и подписывать: «цветочек внизу — это тег!!»
Да ни о каком выдающемся диссере речь не идёт.
Любая кафедра ведёт ту или иную научную деятельность. Мне может быть интересно их направление (просто потому, что они специалисты в этой области — необязательно мирового класса, хотя бы круче меня ;) ). Соответственно, если я ищу специалиста, логично искать в университетах, но нелогично, что им нельзя написать.
Абсолютно очевидная вещь: адрес электронной почты каждого человека должен быть опубликован. Это поразительно — лишь на одном сайте из трёх (речь о российских вузах) публикуются контактные данные.
Я не понимаю, зачем мне читать об исследованиях или научных интересах человека, если я не могу с ним связаться? В конце концов, не только студенты читают такие странички. Иногда бывает нужно найти возможного соавтора, допустим.
Очевидно, вы прекрасно знаете, о чём говорите, и показываете пример того, как следует рассуждать о вещах, в которых разбираетесь.
Если у вас есть конкретные претензии к автору (желательно тезисно: автор доказывает Х с помощью аргумента Y, это неверно, ибо Z) — всегда пожалуйста. Дискуссия в ином ключе не имеет никакого смысла.
Честно говоря, не имел опыта. Не уверен, что такой перевод выиграет в качестве (хотя готов поверить, если докажут). Всё равно должен быть один человек, аккуратно вычитывающий все до одного предложения и помогающий соблюсти единую стилистику, целостность на протяжении всей книги. Иначе получится как письмо из Простоквашино, где каждый следующий дописывает по-своему. У «Идеального кода» всего три переводчика, и «стыки» отлично видны (Джон Бентли из первой части превращается в Йона во второй).
Да и просто «пиратить» текст не хочется. Переводить можно как угодно — хоть в одиночку, хоть толпой, но было бы приятно, чтобы книги потом были изданы в приличном издательстве и продавались повсюду.
Я думаю, это не стереотипы, а осознанный стёб. Никто всерьёз не думает, что в голландии три четверти вменяемого населения находятся в постоянном укуренном состоянии (аналогично, Финляндия ассоциируется, например, с лыжами и сауной — но никто же не думает, что финны живут в сауне и никогда не снимают лыж).
Но коль скоро голландцы поддержали «лигалайз»-движение, пусть расхлёбывают. Мне это подтрунивание кажется вполне логичным и даже полезным для голландцев (чтобы думали впредь о своём имидже лучше, когда решения в парламенте выносят).
Лассетер — Эйнштейну: нууу… интересная мысль! приходите, когда у вас будет ещё две не хуже :)
Стримы и прочее — верно, активно пользуюсь. Но, положа руку на сердце, нет более простого и эффективного кода перевода числа в шестнадцатеричную строку, чем две строки: объявление буфера и вызов sprintf(). В остальном согласен :)
Абсолютно поручусь. У меня есть код, в котором с помощью sprintf() переводят целое 32-разрядное число в шестнадцатеричную запись. Вот как-то слабо верится, что здесь может случиться переполнение чего бы то ни было :) Все размеры заранее известны.
Да, допустим, компилятор беспокоит секьюрность. Но что он мне предлагает? printf_s(), scanf_s() и прочее — насколько мне известно, функции не из состава ANSI C++, т.е. он предлагает сломать кроссплатформенность.
А старые добрые функции иногда наиболее просты в использовании, бывает и такое… Я бы не сказал, что использование printf() «неправильно».
Если взять практически любой учебник по С++, там написано, что препроцессор — это неправильно. А теперь открываем буст, и видим, что половина его построена на препроцессоре (Boost.Preprocessor, Boost.Foreach и пр.)
См. рекомендацию мне выше — «отключить ворнинги вовсе». Вот так оно и работает — приходится отключать вовсе, и смысл их пропадает…
Например, последние версии Visual C++ ругаются на printf() и тому подобные вещи. Хотя я, естественно, не буду из-за этого менять старый, многократно испытанный код.
Местечковый суд (возможно, под давлением сверху) принял малопонятное решение. Парень его обжаловал в инстанции выше — так что пока полёт нормальный. Если он пройдёт всю линейку (как и положено) и будет везде получать подобные пинки — да, тогда признаю, что дело плохо.
Недавно ещё совсем здесь возмущались по поводу дела Пиратской бухты. Дескать, доказательства вины были эфемерными и технически слабыми, а защита — грамотной и умной. Суд проиграли. И что же, шведские парни не унывают и не предлагают писать письма президенту — они передают дело в суд высшей инстанции.
Заранее говорю, что на Википедии на каждое из нижеприведённых утверждений есть надёжная ссылка.
(Игры, разошедшиеся тиражами более 12 млн)
NES:
Super Mario Bros. (40.23 million)
Super Mario Bros. 3 (18 million)
SNES
Super Mario World (20 million)
Wii
Wii Sports (40.5 million)
Wii Play (20.91 million)
Wii Fit (14.01 million)
Mario Kart Wii (13.67 million)
Game Boy / Game Boy Color
Tetris (33 million)
Pokémon Red, Blue, and Green (20.68 million)
Pokémon Gold and Silver (15.2 million)
Super Mario Land (14 million)
Game Boy Advance
Pokémon Ruby and Sapphire (13 million)
Nintendo DS
Nintendogs All versions (21.67 million)
New Super Mario Bros. (17.63 million)
Brain Age: Train Your Brain in Minutes a Day! (16.82 million)
Pokémon Diamond and Pearl (16.48 million)
Mario Kart DS (13.79 million)
Brain Age 2: More Training in Minutes a Day! (13.27 million)
PC
The Sims (16 million shipped)
The Sims 2 (13 million)
Про Myst, кстати, сказано, что всего 6 миллионов копий (но это лидер жанра).
В пределах буста — в самых разных библиотеках, например, assign, graph.
А то придётся ещё и подписывать: «цветочек внизу — это тег!!»
Выравнивание — операция уровня абзаца, всегда выравнивается весь абзац.
Вопрос, впрочем, конечно же дурацкий — никакого смысла в таком действии (выделить — установить выравнивание) нет.
Любая кафедра ведёт ту или иную научную деятельность. Мне может быть интересно их направление (просто потому, что они специалисты в этой области — необязательно мирового класса, хотя бы круче меня ;) ). Соответственно, если я ищу специалиста, логично искать в университетах, но нелогично, что им нельзя написать.
Я не понимаю, зачем мне читать об исследованиях или научных интересах человека, если я не могу с ним связаться? В конце концов, не только студенты читают такие странички. Иногда бывает нужно найти возможного соавтора, допустим.
Если у вас есть конкретные претензии к автору (желательно тезисно: автор доказывает Х с помощью аргумента Y, это неверно, ибо Z) — всегда пожалуйста. Дискуссия в ином ключе не имеет никакого смысла.
Да и просто «пиратить» текст не хочется. Переводить можно как угодно — хоть в одиночку, хоть толпой, но было бы приятно, чтобы книги потом были изданы в приличном издательстве и продавались повсюду.
Но коль скоро голландцы поддержали «лигалайз»-движение, пусть расхлёбывают. Мне это подтрунивание кажется вполне логичным и даже полезным для голландцев (чтобы думали впредь о своём имидже лучше, когда решения в парламенте выносят).