psilogic: (Default)
[personal profile] psilogic
На 500+ комментариев:

http://belnetmon.livejournal.com/1024560.html

Для непрограммистов объясняю суть: при собеседовании на работу программиста человеку предлагается пройти тест: написать реальную простенькую программу и посмотреть, получится ли у него.

Казалось бы, что в этом требовании такого странного? Реакция, однако, забавная. В тему набежало некоторое количество мутных личностей, которые стали писать о том, что предлагаемые задачи недостаточно простые или недостаточно стандартные.

Мне кажется, что суть проблемы такова: некоторые мои коллеги учатся не столько программировать, сколько красиво гнуть пальцы. Человек помнит огромное количество всяких продуктов, языков и систем. Но знания кандидата по каждому пункту укладываются в 1-2 абзаца. Это значит, что на собеседовании он легко может поддержать беседу о данной системе, но вот написать что-то реальное - фиг.

Я называю этот типаж "эрудитом".

Если попросить эрудита написать программу типа описанной в тесте, то он будет
- Два дня читать документацию
- Два дня гуглить
- Два дня шариться по форумам
- К началу следующей недели он найдет-таки на каком-то форуме подходящую программу, скопипастит ее, и она заработает.

При этом эрудит будет страшно горд теми фактами, что:
1. Он не изобрел велосипед (ибо изобретать велосипед неправославно).
2. Он использовал проверенный, работающий код - ибо все, что опубликовано в инете, в понимании эрудита работает идеально. В отличие от сделанного руками (см п.1)
3. Он сэкономил работодателю кучу бабок, так как см. пункт 1.

Особо продвинутый эрудит способен обернуть найденную копипасту в "паттерн". Как правило, результат от этого потеряет в качестве. Но эрудит будет убежден, что результат, напротив, приобретет дополнительные магические свойства типа "расширяемость +5". Просто потому как в книжках про "паттерны" много говорится про такие вещи. Поэтому всякий паттерн - это сразу большой плюс, а любой код, в котором эрудит сходу не увидит один из 20-30 знакомых паттернов, есть неправославный велосипед и должен вместе с афтаром гореть в аду.

Например, преобразование int в строку - это не паттерн...

Date: 2010-03-06 07:17 pm (UTC)
no1u1w1w6c: (Default)
From: [personal profile] no1u1w1w6c
ну и пусть перепроверяет, чо. не вижу в этом ни тормозов, ни проблемы же. другое дело, что компиляторы си до сих пор живут в 70-х годах прошлого века — ну так это их личная беда. всё равно они нужны ровно для того, чтобы быстро сделать реализацию Схемы, и остальную часть проекта писать уже на нормальном языке.

хотя, конечно, тонкая настройка варнингов решает, да и я сам везде консты леплю, факт. привычка осталось ещё со времён очень тупых компиляторов, которые часто генерили лучший код, если const зафигачить.

но всё это, опять же, не отменяет того, что у компилятора должен быть нормальный lint-режим, в котором он не идиотскими варнингами будет верещать, а нежно советовать: «вот тут const поставь, чувак. а вот тут у тебя простыня на 25 экранов с охуенным LOC, сделай с ней что-нибудь!» и ты пы.

Date: 2010-03-06 07:21 pm (UTC)
From: [identity profile] psilogic.livejournal.com
[ всё равно они нужны ровно для того, чтобы быстро сделать реализацию Схемы, и остальную часть проекта писать уже на нормальном языке. ]

гы гы гы :))

Date: 2010-03-06 07:26 pm (UTC)
no1u1w1w6c: (Default)
From: [personal profile] no1u1w1w6c
да. я бы давно совсем на Схему перешёл (та же Ypsilon, например, офигенно крута), но не все заказчики проникаются илитарным духом, увы. что не мешает мне аккуратно встраивать в софт всякие Схемы. сначала — типа для чтения конфигов. потом — чуть-чуть скриптов («это для вашего же удобства!»). а там, глядишь, и половина софтины уже на Схеме. и никто уже никогда не поймёт, как она работает — потому я незаменим. %-)
Page generated Aug. 31st, 2025 04:45 pm
Powered by Dreamwidth Studios