avysk: (orc)
Alexey Vyskubov ([personal profile] avysk) wrote2009-10-13 07:43 pm

Удивительное рядом

Читал стандарт C99, много офигедумал.

void f(int a[static restrict 10], const int b[static restrict 10]) { ... }

[identity profile] k-79.livejournal.com 2009-10-13 04:49 pm (UTC)(link)
Мне кажется, что задачки, рассчитанные на знание какой-нибудь сверххитрой тонкости стандарта языка, никогда или почти никогда не использующейся на практике, не совсем подходят для отбора стандартных разработчиков from the bottom of the barrel стандартных программ.
tobotras: (emacs)

[personal profile] tobotras 2009-10-13 05:17 pm (UTC)(link)
Жизненная, жизненная :)

[identity profile] alexott.livejournal.com 2009-10-13 05:50 pm (UTC)(link)
угу, неэффективное...

[identity profile] mkevac.livejournal.com 2009-10-14 07:24 am (UTC)(link)
А что, они подходят для отбора нестандартных разработчиков? Это какие? Те, которые знают наизусть стандарт языка? Или по ночам вместо решения задач изучают тонкости языка?

[identity profile] mkevac.livejournal.com 2009-10-14 07:41 am (UTC)(link)
Нет. В man-е написано что getchar возвращает int.

[identity profile] mkevac.livejournal.com 2009-10-14 07:53 am (UTC)(link)
Я на "Мне кажется, что задачки, рассчитанные на знание какой-нибудь сверххитрой тонкости стандарта языка, никогда или почти никогда не использующейся на практике, не совсем подходят для отбора стандартных разработчиков from the bottom of the barrel стандартных программ." отвечал.

Они имелось в виду "задачки, рассчитанные на знание какой-нибудь сверххитрой тонкости стандарта языка".

[identity profile] k-79.livejournal.com 2009-10-14 07:57 am (UTC)(link)
Знание тонкостей стандарта языка и его конкретных реализаций, свойственные "нестандартным" разработчикам, позволяют им быстрее и легче находить тонкие, не видимые большинству разработчиков с превого взгляда, проблемы в коде. Более того, это знание позволяет им избежать написания проблемного кода.

[identity profile] mkevac.livejournal.com 2009-10-14 08:06 am (UTC)(link)
Тут есть несколько уровней.

1. Чем отличается число являющееся степенью двойки от других чисел?

Человек должен понимать как выглядит двоичное представление числа и что у такого числа только одна единица. Не знает - долой.

2. Как убедится программно и в то же время быстро, что единица только одна.

Здесь как минимум два варианта. Быстрый и не быстрый. Ну и еще есть "не знаю". Или "я слишком волнуюсь, не могу придумать, но наверняка google поможет"

Интересно, как ты будешь воспринимать кандидата, который ответил на 1-й, но по-разному ответил на второй?

P.S. Это не претензия ни в коей мере :-) Действительно интересно. Никогда не приходилось так набирать людей.

[identity profile] mkevac.livejournal.com 2009-10-14 08:09 am (UTC)(link)
Находить проблемы - согласен. Избегать проблемного кода - не согласен.

Ведь как раз тонкости приводят к написанию "нестандартного" кода. Странного, непонятного, трудного. С которым другие программисты намучаются. А "стандартный путь" (который в man-ах) протоптан миллион раз.

ИМХО тонкостей нужно избегать. Они нужны только в самых специфичных задачах. Таких как ядро ОС, например и\или работа с железом.

[identity profile] k-79.livejournal.com 2009-10-14 08:22 am (UTC)(link)
Избегать проблемного кода - не согласен

Почему? Если человек хорошо осведомлён о возможных неочевидных побочных эффектах того или иного кода, он - если он хороший разработчик - будет избегать его использования. Именно для того, чтобы другим потом не пришлось с ним мучаться.

ИМХО тонкостей нужно избегать

Полностью согласен. И это никак не противоречит сказанному мной.
tobotras: (Default)

[personal profile] tobotras 2009-10-14 08:42 am (UTC)(link)
Абсолютно :-)

[identity profile] mkevac.livejournal.com 2009-10-14 09:41 am (UTC)(link)
1. Быстрое решение

(x && x-1) == 0

2. Медленное решение

Циклы, сдвиги...

3. Не знаю

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

[identity profile] mkevac.livejournal.com 2009-10-14 10:33 am (UTC)(link)
А если через 10 минут не придумает, то это пропащий случай?

[identity profile] andy-shev.livejournal.com 2009-10-17 01:09 pm (UTC)(link)
Мы с heviosso обсудили задачку в раздевалке...