"… внимательное отношение к пробелам значительно повысят читаемость. Разделяйте абзацы пустой строкой, в конце концов :) ..."
То же самое относится и к тексту вокруг кода на С++ :)
Да, а вот русский язык и оформление, я бы все-таки подправил…
… разбЕрём… (бир/бер, суффикса «а» нет, поэтому Е)
Продолжение будет написанО (средний род)
В общем, да, но Вы по-моему не вспомнили об одной группе читателей — школьниках, которые читают Хабр. Далеко не все школьники могут разобраться по книжке, это я Вам как преподаватель С (не С++ даже) говорю. Нужны прямые указания к действию, записанные на понятном им языке. Поэтому я, в целом, поддерживаю автора.
А мне, как программисту, ну просто очень нравится, что клавиша Fn расположена близко к стрелкам и к кнопкам Home и End, без которых программисту жить сложно. Другой вопрос, можно ли на этом чуде будет запустить хоть какую-нибудь IDE…
Отлично! Просто супер, говорю Вам как ценитель пазлов :)
Несколько «хотелок»:
1. Я бы увеличил порог близости для подключения деталей. Иногда приходится долго целиться для того, чтобы соединить две детали. Тут же можно подумать еще и о том, чтобы неподходящие друг к другу детали отскакивали друг от друга. Хотя, последнее не обязательно.
2. Поле для сборки пазла слишком большое, а поле с деталями — слишком маленькое. Я бы вообще изначально поместил все детали на поле для сборки. Можно прямо в том же состоянии.
3. Можно было бы разбрасывать детали в повернутых состояниях. То есть реализовать возможность поворота деталей. Мне бы понравилось, не знаю, как другим…
4. Было бы здорово иметь несколько уровней сложности. Например, детский, с полупрозрачной собранной картинкой под пазлом, простой, когда детали отскакивают, если не подходят друг другу, обычный, как сейчас, и сложный — с неправильно повернутыми деталями.
5. Ну и в целом, для сервиса, можно было бы ввести регистрацию и рейтинг по скорости сборки пазлов, проводить соревнования и прочее-прочее. Хотя, быть может вы об этом всем и без меня подумали :)
А можно рядом с комментарием выводить редакторское расстояние (расстояние Левенштейна) с исходным текстом. Можно даже в процентах. Сразу будет видно, кто сколько наменял.
Да, я с Вами полностью согласен. Мне вообще не нравится идея писать на .NET хоть сколь-нибудь серьезные вычисления. Зато GUI я пишу только на нем.
Мой пост скорее о другом: что мир на OpenMP не сошелся и я, в частности, не сумел на нем решить свою задачу распараллеливания. Мне пришлось использовать относительно новую библиотеку Intel Threading Building Blocks.
Ну а про распараллеливание между компами это да… Хотя знаете, иногда нужно быстро проверить идею. Ключевое слово «быстро». В этих случаях удобно это написать на .NET (например), а затем переносить на С++. Хотя, конечно, такой сценарий больше подходит для исследователей-одиночек, чем для компаний.
Ну OpenMP, вообще говоря, не панацея…
Во-первых, насколько мне известно, он только для C++ и Fortran.
Во-вторых, с помощью него не так просто распараллелить сложные алгоритмы. В частности, алгоритмы парадигмы «разделяй и властвую» (простой пример — быстрая сортировка), так просто не параллелятся…
Да тут даже не о code-standard идет речь, а об элементарных правилах уважения к себе и другим разработчикам. ИМХО, учиться писать читаемый код нужно вне зависимости от языка и стандартов кодирования. Стандарты кодирования могут (и должны) задавать, например, какое именование использовать — PascalCase или camelCase.
Вообще, таких статей действительно нужно больше! Такого рода ликбез полезен разработчикам на любом языке.
Ну в принципе, мне кажется, что последовательность «случайных» чисел будет достаточно случайной, если сделать случайным первое ее число (seed). Дальше должно все работать нормально. Думаю, в простых системах этого должно хватить.
Ну вот утверждается, что они есть. В принципе, это даже смотрится логично: leo.yuriev.ru/114
Для тех, кому лень читать: случайные числа делаются на основе шума от звуковой карты.
Вот и появится куча «хакеров», которые будут тормозить все движение в метрополитене. Достаточно лишь начать биться в двери большой толпой хотя бы на одной станции каждой ветки :) Новый вид флеш-моба )
FireStream — это вообще недотехнология, для которой даже документация в бете (была весной, когда я этим активно интересовался). Там вообще все нужно писать на специфическом ассемблере… В общем, совсем недружественно к пользователям по сравнению с CUDA.
То же самое относится и к тексту вокруг кода на С++ :)
… разбЕрём… (бир/бер, суффикса «а» нет, поэтому Е)
Продолжение будет написанО (средний род)
Несколько «хотелок»:
1. Я бы увеличил порог близости для подключения деталей. Иногда приходится долго целиться для того, чтобы соединить две детали. Тут же можно подумать еще и о том, чтобы неподходящие друг к другу детали отскакивали друг от друга. Хотя, последнее не обязательно.
2. Поле для сборки пазла слишком большое, а поле с деталями — слишком маленькое. Я бы вообще изначально поместил все детали на поле для сборки. Можно прямо в том же состоянии.
3. Можно было бы разбрасывать детали в повернутых состояниях. То есть реализовать возможность поворота деталей. Мне бы понравилось, не знаю, как другим…
4. Было бы здорово иметь несколько уровней сложности. Например, детский, с полупрозрачной собранной картинкой под пазлом, простой, когда детали отскакивают, если не подходят друг другу, обычный, как сейчас, и сложный — с неправильно повернутыми деталями.
5. Ну и в целом, для сервиса, можно было бы ввести регистрацию и рейтинг по скорости сборки пазлов, проводить соревнования и прочее-прочее. Хотя, быть может вы об этом всем и без меня подумали :)
Удачи, спасибо за отличный сервис!
Мой пост скорее о другом: что мир на OpenMP не сошелся и я, в частности, не сумел на нем решить свою задачу распараллеливания. Мне пришлось использовать относительно новую библиотеку Intel Threading Building Blocks.
Ну а про распараллеливание между компами это да… Хотя знаете, иногда нужно быстро проверить идею. Ключевое слово «быстро». В этих случаях удобно это написать на .NET (например), а затем переносить на С++. Хотя, конечно, такой сценарий больше подходит для исследователей-одиночек, чем для компаний.
Во-первых, насколько мне известно, он только для C++ и Fortran.
Во-вторых, с помощью него не так просто распараллелить сложные алгоритмы. В частности, алгоритмы парадигмы «разделяй и властвую» (простой пример — быстрая сортировка), так просто не параллелятся…
Вообще, таких статей действительно нужно больше! Такого рода ликбез полезен разработчикам на любом языке.
Примеры: hasChildren(), isPrime() и т.д.
Для тех, кому лень читать: случайные числа делаются на основе шума от звуковой карты.
А статья правда интересная! Спасибо!