All streams
Search
Write a publication
Pull to refresh
222
0
Алексей @PsyHaSTe

Зигохистоморфирующий

Send message
Это как раз-таки хорошо. Многие функциональные языки так же делают (например, F#). Потому что даже автоформатирование в студии некоторые таланты умудряются запороть и писать код так, что его потом лучше и не читать никому и никогда. Строгость и привычка к стилю кодирования — очень мощная вещь, и лучше так вот жестко заставлять писать код с выравниваниями, чем мучиться. В конце концов, с опытом, человек сам придет к тому, что писать код нужно понятно для других, либо так и останется быдлокодером, с которым никто работать не хочет, зато он «незаменим» в своем маленьком мирке, т.к. пишет код только для себя в авторском стиле.
Express всегда была бесплатной, а возможностей там не меньше, чем у MonoDevelop.
Ну да, я не я, лошадь не моя, и вообще они сами виноваты…
Ну если вы в США, то там и культура немного иная. Вы же можете представить, что существуют равноправные школы, например, пулевой стрельбы? Я просто считаю, что одноручный хват удобнее, по моему не такому уж богатому, но имеющемуся опыту. Я же не говорю, что это супер-правильно, я говорю о том, что это распространено, и не менее эффективно, чем стрельба с двух рук. Спор «Молоток VS Микроскоп» немного странно выглядит, поэтому смысла его инициировать в несколько других лицах не вижу смысла.

Вывод простой. Такие часы нужно либо носить на одной руке с пистолетом, и тогда противник может спросить время, а потом чем-нибудь острым пихнуть, т.к. рука будет около лица, и до пистолета еще тянуться и тянуться, либо никогда не сможете выстрелить не взяв пистолет обеими руками, что не для военных культур многих стран, в т.ч. России, чуждо.
Учту замечания, в статье скорее всего было лучше упомянуть не о венгерской нотации конкретно, а о том, что в программировании всегда следует соблюдать единообразие наименований и их подчинение логике

В программировании в целом приветствуется наличие логики :)
Потому что распишите геометрию, при хватом одной рукой импульс идет вдоль руки, перпендекулярно плоскости тела, а при хвате двумя руками образуется угол, и импульс идет как бы между ними.

А в целом предлагаю закончить флейм, новость не об этом.
Про «удобнее» при прицельной стрельбе — ну это же очевидная неправда. При прицельной стрельбе нужен такой хват, который дает максимальную неподвижность оружия; две руки в этом смысле однозначно лучше, чем одна, а тем более при правильном хвате, когда левая рука тянет на себя, а правая — толкает от себя.

Да, поэтому при правильной стрельбе с одной руки весь импульс автоматически гасится телом, т.к. он уходит в плечо и дальше участвует масса всего тела, а при двойном хвате его компенсировать нужно «вручную», что вы в общем-то и описали в последнем предложении.
Во-первых в руководстве четко написано, что стрельба с одной руки удобнее при прицельной стрельбе, а не из пистолета-пулемета от бедра. Микроскоп не хуже и не лучше молотка.

Во-вторых человек — не курица, бегать с отрубленной головой полчаса. Случаи, когда человек со смертельными ранениями бегает и еще что-то делает — бывают, но редки крайне, а у большинства после 1-2 попаданий (тем более, смертельных) пропадает всякое желание что-либо делать, а вскоре и возможность.
Если отложить иронию — удивительно всё-таки, каких невероятных вещей добилось человечество. А такую простую на сегодняшний день штуку, как обеспечить всем людям пищу и кров — так и не сделало. Что-то неправильное есть в этом.
Просто чем больше ништяков, тем больше человеков. Закон Вирта для социума прям.
Обычно стрельба ведется с двух рук, если стреляющий не занимается соответствующим видом спорта и не снимается в данный момент в кино.
Есть еще вариант с отсутствующей (неработоспособной) рукой, но таковой может оказаться и ведущая.

Вы либо не служили никогда, либо вам пистолет не доверяли.
Не знаю, как на западе (по крайней мере по фильмам я судить не берусь), но в наших доблестных ВС есть четкая рекомендация по стрельбе с одной руки, посмотрите документальную хронику по стрельбе из пистолетов во время ВОВ.

image

Чаще всего стреляют именно с одной руки:
image
Я представляю. Что касается основной статьи, она мне понравилась, о чем я написал сразу.

А вы считаете, что ТС все свое время проводит за RE?
Возможно, в этом узком ракурсе она и существует нормально (хотя это попадает под определение неразвитой IDE, в данном случае — декомпилятора, хотя декомпиляторы байт-кода вполне себе ок) ), но фраза вообще в программистской практике как бы намекает… :)
Спасибо за статью. Однако
в данной статье, да и вообще в программистской практике, я стараюсь придерживаться венгерской нотации, в которой первые символы наименования определяют тип поля или переменной).

Есть мнение, что венгерская нотация уже себя изжила, по крайней мере если мы не говорим о разработке в каких-то древних или еще не развитых IDE. Как тот же мартин говорил, венгерская нотация была нужна, когда IDE не было в принципе, или они выполняли лишь простейший анализ кода, а когда у нас есть всякие IntelliSense и прочие инструменты, которые разве что кофе в постель не приносят — пора бы уже отказаться, как от анахронизма. Это нормальный процесс, который происходит с любым инструментом в процессе эволюции, но не надо за него держаться полсотни лет и считать, что это правильно.
Забавно, но мне С очень нравится, и побольше паскаля. Что действительно хорошо в паскале, так это возможность работы с делегатами «из коробки», когда как указатели на функцию в С довольно неуклюже выглядят. Паскаль лучше для обучения, но называть С неудачным — я бы, мягко говоря, не стал.
ИМХО Evil Genius вполне неплохой ремейк, зависал в него достаточно много.
Что касается Hospital, дак это просто шедевр. Боюсь признаться, но так и не прошел последнюю миссию, а сейфы видимо потерялись. Но как-нибудь возьму отпуск, засяду, и буду неделю рубить пациентов в капу… то есть спасать, конечно же, спасать…
GC.Collect я вставил, но он не учитывается во времени. Вот так:
        private static void RunTest(string header, TestMethod testMethod)
        {
            HighResolutionTimer timer = new HighResolutionTimer();
            GC.Collect();
            GC.WaitForPendingFinalizers();
            GC.Collect();

            Console.WriteLine(header);
            timer.Start();
            testMethod();
            timer.Stop();
            Console.WriteLine("Executed in {0}.", timer);
            Console.WriteLine();
        }

ну и исправил сумму не индексов, а элементов по индексам, как подсказали выше.
остальное все так же.
В общем, примерно как я и ожидал, ну не может быть List(T).ForEach быстрее
image

Причем только по 1 циклу на каждый метод (во всех тестах, что я видел и что я писал, всегда использовалось какое-то число прогонов, и брался средний результат, можно пойти дальше, и отбрасывать слишком плохие или слишком хорошие результаты, но достаточно и простого осреднения в первом приближении), нету GC.Collect — из-за чего сборка мусора может произойти прямо во время теста и повлиять на время прохождения (все-таки массивы и списки немаленькие...).

В общем, ИМХО на 4.0 и выше — неактуально. Цифры выше приведены для 4.5.1 release.

Кстати, вопрос знатокам: а почему по списку настолько дольше обход? Я думал, он на этапе обхода ведет себя как обычный массив — ведь внутри это и есть просто массив. Такой большой оверхед из-за чего? Лишь из-за проверок границ массива?
Раньше думал, что темплейты это круто, а дженерики в .Net это ужас, потому что не позволяют написать код в стиле
T Sum<T>(T a, T b) where T : operator +
{
   return a + b;
}

но когда я вижу, что в С++ только появляется то, что в .Net есть с версии 2.0 десятилетней давности… Не-е-ет, лучше уж то, что имеем :)

Надеюсь на постепенное слияние идей дженериков (обобщений) .Net и темплейтов (шаблонов) C++: с одной стороны, поддержка ограничений на этапе компиляции с человеческими сообщениями об ошибках, с другой — возможность сделать обобщение не только на определенные методы, но и на операторы: >, < +, — и пр.
Ну да, все верно (хотя еще бы я был не согласен с Рихтером :) )

Information

Rating
Does not participate
Registered
Activity