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

[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:09 am (UTC)(link)
Находить проблемы - согласен. Избегать проблемного кода - не согласен.

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

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

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

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

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

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