Re[2]: Приём на работу студентов. Как обнаружить безнадежных
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 21.07.08 18:35
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, жертва мехмата, Вы писали:


IT>В программировании есть только три вещи, понимание которых отличает программиста от непрограммиста. Это:


IT>1. Рекурсия.

IT>2. Указатели.
IT>3. Биты.

IT>Всё. Если человек способен понять эти вещи, то он может стать программистом. Если не способен, то он безнадёжен.


Сомневаюсь что программисту на каком-нибудь erlang необходимо понимать указатели.
Более того, я знаю пару человек, которые отлично понимают указатели и биты и вообще не понмают ООП. Видели бы вы что они пишут...
Re[3]: Приём на работу студентов. Как обнаружить безнадежных
От: IT Россия linq2db.com
Дата: 21.07.08 18:51
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Сомневаюсь что программисту на каком-нибудь erlang необходимо понимать указатели.


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

G>Более того, я знаю пару человек, которые отлично понимают указатели и биты и вообще не понмают ООП. Видели бы вы что они пишут...


А они точно понимают что такое указатели? Косвенная адресация и всё такое? А если да, то кто-нибудь им пытался объяснить ООП на пальцах? Нормальным языком, а не книжкой Страуструпа.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Приём на работу студентов. Как обнаружить безнадежных
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 21.07.08 19:06
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, gandjustas, Вы писали:


G>>Сомневаюсь что программисту на каком-нибудь erlang необходимо понимать указатели.


IT>А не надо сомневаться. Необходимость понимать что такое указатели нужно не эрлангу, это такое свойство мозга. Если его нет, то вряд ли человеку будет доступно функциональное мышление в принципе, которое необходимо для того же эрланга.

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

G>>Более того, я знаю пару человек, которые отлично понимают указатели и биты и вообще не понмают ООП. Видели бы вы что они пишут...

IT>А они точно понимают что такое указатели? Косвенная адресация и всё такое? А если да, то кто-нибудь им пытался объяснить ООП на пальцах? Нормальным языком, а не книжкой Страуструпа.
Точно, на ассемблере еще вместе писали. Ну нет у некоторых людей абстрактного мышления.
Re[5]: Приём на работу студентов. Как обнаружить безнадежных
От: IT Россия linq2db.com
Дата: 21.07.08 19:48
Оценка: +2
Здравствуйте, gandjustas, Вы писали:

G>Функционально мышление не связано с пониманием указателей.

G>В чистом ФП вообще другой уровень абстракции, там указателями и не пахнет.

Это уже потом оно становится не связано, когда понятно как оно работает. Хотя это, в принципе, можно проскочить, точнее прийти к этим абстрациям другими способами. Я не верю, что люди, владеющие ФП. не способны понять фундаментальные вещи типа указателей на функции. Могут не знать, т.к. не надо было, но чтобы не были способны понять, не верю. Если же такие найдутся, то сразу в отсев, знают они ФП или нет уже не важно.

Да и нет там никакого такого "другого" уровня абстракции. Набор паттернов. Всё упирается опять же в способ объяснения. Мне доводилось объяснять что такое карринг человеку, хорошо владеющему указателями на функции, за две минуты в метро под стук колёс и толкотню пассажиров. Ещё три минуты до этого было потрачено на объяснение замыканий. Его реакция была примерно такая — "И это всё? Ясно."

G>Точно, на ассемблере еще вместе писали. Ну нет у некоторых людей абстрактного мышления.


Нет по простой причине. Чтобы абстрагироваться от чего-то нужно то, от чего мы будем абстрагироваться. Если этого нет (нет понимания этого), то и абстрактного мышления не будет. Другими словами, переход к абстракции не делается через пустоту. Даже изучение матиматики начинается не с обстрактного x * y, а с конкретного 2 * 2.

Впрочем, не хочу обсуждать ваших коллег. Понимание трёх перечисленных мною вещей — это нижний порог для отсева заведомо безнадёжных, а не верхний.
... << RSDN@Home 1.2.0 alpha rev. 771>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Приём на работу студентов. Как обнаружить безнадежны
От: Vzhyk  
Дата: 21.07.08 19:57
Оценка:
_Jane_ пишет:
>
>
> Если честно, не поняла мысли
Мысль в том, что подобное требование: возврат int из всех функций —
может быть только глупостью.
И в то же время подобная глупость позволяет занять толпу народа
бессмысленной деятельностью.

> При том, что стиль программирования и язык — это всё-таки не одно и то

> же. Можно написать функциональную программу и на С++.
Можно, но зачем? В общем-то все, кто знает С++, знают и С. Но и в данном
случае int из всех функций более осмысленным не становиться.

>

> А я о чём говорю. Что надо сделать "вводную" людям.
Эта вводная делается устно, или если команда распределенная одним
маленьким письмом, а еще проще, выложить на внутреннюю страничку проекта.
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Приём на работу студентов. Как обнаружить безнадежных
От: Vzhyk  
Дата: 21.07.08 19:59
Оценка:
gandjustas пишет:
>
> Ну нет у некоторых людей
> абстрактного мышления.
Аки Акымы, что видят, то и пишут?
Posted via RSDN NNTP Server 2.1 beta
Re[2]: Приём на работу студентов. Как обнаружить безнадежных
От: Dym On Россия  
Дата: 21.07.08 21:02
Оценка:
Здравствуйте, IT, Вы писали:

IT>В программировании есть только три вещи, понимание которых отличает программиста от непрограммиста. Это:

IT>1. Рекурсия.
IT>2. Указатели.
IT>3. Биты.
Особенно указатели. Биты и рекурсию, с горем пополам, понимают практически все.
Счастье — это Glück!
Re: Приём на работу студентов. Как обнаружить безнадежных?
От: Dym On Россия  
Дата: 21.07.08 21:04
Оценка:
ЖМ>Вопрос — какие могут быть эффективные методы раннего обнаружения таких нерадивых стажеров?
Начинать пасти их курса с третьего.
Счастье — это Glück!
Re[8]: Приём на работу студентов. Как обнаружить безнадежных
От: Олег К.  
Дата: 22.07.08 02:54
Оценка:
V>Где логика? Здесь говорят про использование паттернов, но нигде не
V>говорят, что их нужно пихать всегда и везде.
V>Тем ни менее, я все больше убеждаюсь в том, что знание, хотя бы с
V>большего, паттернов проектирования — действительно необходимость. Ну
V>зачем изобретать собственный велосипед с квадратными колесами, если в
V>данном месте прекрасно кладется какой-нибудь паттерн.
А я все больше убеждаюсь, что дуракам лишние знания вредят.
Re[3]: Приём на работу студентов. Как обнаружить безнадежных
От: Она На Нас Ий Россия  
Дата: 22.07.08 05:47
Оценка: 4 (2)
Здравствуйте, жертва мехмата, Вы писали:

ЖМ>Тест на эрудированность у нас есть. Но блин почти никто не в состоянии нормально ответить на вопрос "что такое СУБД?", "чем занимается аналитик?". Начинаются сочинения на свободную тему, хорошо поржать можно. Я уже не знаю, таблицу умножения что ли у них надо спрашивать. Какие были вопросы в вашем тесте на эрудицию?


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

И, почему в ОБЩЕРОССИЙСКИЙ КЛАССИФИКАТОР ПРОФЕССИЙ РАБОЧИХ, ДОЛЖНОСТЕЙ СЛУЖАЩИХ И ТАРИФНЫХ РАЗРЯДОВ — нет ни одной профессии или специальности со слогом "аналитик"?
Re[3]: Приём на работу студентов. Как обнаружить безнадежных
От: elmal  
Дата: 22.07.08 06:06
Оценка:
Здравствуйте, Dym On, Вы писали:

DO>Особенно указатели. Биты и рекурсию, с горем пополам, понимают практически все.

Ну ну. Я чуть мозги не вывихнул в свое время от попыток врубиться в рекурсию, чтобы понять, как работает рекурсивное решение задачи о ханойских башнях. Врубился, слава аллаху. Но что-то мне подсказывает, что процентов 90 человек (студентов), считающих себя программистами, этого дао не постигли еще, хотя с указателями и битами у них все хорошо. И максимальный уровень владения рекурсией вот такой (пример из реального кода, как увидел такой, меня чуть кондратий не хватил, писал такое мегаархитектор с 15 годами опыта и 20 000 баксов в месяц зарплатой ):
void doSmth(int a) {
    ... очертенеть как много кода
    try{
       ... очертенеть как много кода
       doA(a);
    }catch (Exception ex) {
       doSmth(a);
    }
    ... очертенеть как много кода


PS Этот код работал
Re[4]: Приём на работу студентов. Как обнаружить безнадежных
От: Dym On Россия  
Дата: 22.07.08 06:57
Оценка:
DO>>Особенно указатели. Биты и рекурсию, с горем пополам, понимают практически все.
E>Ну ну. Я чуть мозги не вывихнул в свое время от попыток врубиться в рекурсию, чтобы понять, как работает рекурсивное решение задачи о ханойских башнях. Врубился, слава аллаху.
Ну ведь-таки врубился

E>И максимальный уровень владения рекурсией вот такой (пример из реального кода, как увидел такой, меня чуть кондратий не хватил, писал такое мегаархитектор с 15 годами опыта и 20 000 баксов в месяц зарплатой ):

Если бы мне платили 20 000 баксов в месяц, я бы тоже такое писал и не заморачивался

E>PS Этот код работал

И это главное.
Счастье — это Glück!
Re[6]: Приём на работу студентов. Как обнаружить безнадежных
От: VovkaMorkovka  
Дата: 22.07.08 07:50
Оценка:
Здравствуйте, _Jane_, Вы писали:

_

_J_>Мне как-то попадался человек с горящими глазами, но несколько безалаберный. Если интересна тема — будет работать на совесть (пока интересно), если нет (увы, не всегда есть только интересные задачи) — сделает как-нибудь;


Значит он просто не для вашей конторы, посоветуйте как старший товарищ куда ему пойти чтоб его задор нашел применение и где рутины мало, например в науку.
Re[3]: Приём на работу студентов. Как обнаружить безнадежных
От: BulatZiganshin  
Дата: 22.07.08 08:20
Оценка:
Здравствуйте, Lonely Dog, Вы писали:

LD>Кстати, начиная с 4 курса нам давали именно программерские дисциплины. (Теория алгоритмов, комп. графика, выч. геом. и пр.)

LD>IMHO, ваша статистика не совсем верна.

да, жутко программерские — прям каждая вторая контора в них нуждается. это опять выч. математика. собственно кафедра так и называется
Люди, я люблю вас! Будьте бдительны!!!
Re[2]: Приём на работу студентов. Как обнаружить безнадежных
От: BulatZiganshin  
Дата: 22.07.08 08:35
Оценка:
Здравствуйте, IT, Вы писали:

IT>В программировании есть только три вещи, понимание которых отличает программиста от непрограммиста. Это:


IT>1. Рекурсия.

IT>2. Указатели.
IT>3. Биты.

IT>Всё. Если человек способен понять эти вещи, то он может стать программистом. Если не способен, то он безнадёжен.


в хаскеле нет 2 и 3
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Приём на работу студентов. Как обнаружить безнадежных
От: BulatZiganshin  
Дата: 22.07.08 08:37
Оценка:
Здравствуйте, ASolovey, Вы писали:

AS>P.S. Я после таких экспериментов бывало находил ошибки в программе во сне. Спишь, снится код, ходишь мысленно по нему дебаггером, условия вариьируешь — потом в поту просыпаешься — вот же оно!

AS>Раз к компу — смотришь — точняк! Но это конечно в самых тяжелых случаях...

не теряйся — потребуй поставить кровати на работе! не за счёт же за совего личного времени тебе программу отлаживать
Люди, я люблю вас! Будьте бдительны!!!
Re[6]: Приём на работу студентов. Как обнаружить безнадежных
От: BulatZiganshin  
Дата: 22.07.08 08:42
Оценка:
Здравствуйте, IT, Вы писали:

IT>Да и нет там никакого такого "другого" уровня абстракции. Набор паттернов. Всё упирается опять же в способ объяснения. Мне доводилось объяснять что такое карринг человеку, хорошо владеющему указателями на функции, за две минуты в метро под стук колёс и толкотню пассажиров. Ещё три минуты до этого было потрачено на объяснение замыканий. Его реакция была примерно такая — "И это всё? Ясно."


это всё равно что объяснять физику как водить машину, начиная с квантовой хромодинамики

мы с тобой знаем немало людей здесь на rsdn, которые *знакомы* с ФП языками, но не понимают их, поскольку смотрят на них через амбразуру указателей
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Приём на работу студентов. Как обнаружить безнадежных
От: SE Украина  
Дата: 22.07.08 08:53
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

IT>>1. Рекурсия.

IT>>2. Указатели.
IT>>3. Биты.

IT>>Всё. Если человек способен понять эти вещи, то он может стать программистом. Если не способен, то он безнадёжен.


BZ>в хаскеле нет 2 и 3


Ну тогда, тогда... ну пусть для любителей хаскеля критерием будет понимание анонимной рекурсии
Re[2]: Приём на работу студентов. Как обнаружить безнадежных
От: LordMAD Россия  
Дата: 22.07.08 18:54
Оценка: 2 (2) +2 -1
Здравствуйте, franz, Вы писали:

F>Студентов, которые еще не доучились на работу не брать! Пусть доучатся.

Есть такая старая, но мудрая фраза, что учиться надо всю жизнь. Когда же считать, что он доучился?

F>Для студента/выпускника:

F>- посмотреть успеваемость в университете, тему дипломной работы.
Успеваемость не говорит ни о чем. Тема диплома говорит еще меньше — за красивыми темами иногда такое скрывается — просто кошмар.

F>Попросить рассказать чем он занимался в университете, каких успехов достиг.

Какие "успехи" могут быть у студента? Задача студента — получать фундамент и учиться учиться. "Успехом" в получении фундамента может быть что? Наверное, только если докажет какую-нибудь теорему, которую 200 лет доказать не могли.

F>Если студент учился "на отлично" в пристижном университете

Категорически нет. Даже если перед Вами выпускник MIT.

F>и имеет пару статей в журналах,

Если еще не бакалавр, то скорее подозрительно, нежели нормально. В любом случае статьи его нужно прочитать, чтобы сделать выводы — сам факт их наличия еще ничего не значит. Если магистрант — то обязан иметь, т.е. ни о чем новом не говорит.

F>- предложить поработать некоторое время на должности тестировщика или программиста авто тестирования.

И если согласится — то не брать, ибо либо идиот, либо закомплексованный. Не уверен, по по-моему это еще и Трудовому Кодексу противоречит.
Re[3]: Приём на работу студентов. Как обнаружить безнадежных
От: mymuss  
Дата: 22.07.08 20:08
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Сомневаюсь что программисту на каком-нибудь erlang необходимо понимать указатели.


У меня вообще есть серьезные сомнения, что человек, который не в состоянии понять указатели, сможет освоить деревья. Хотя, кто знает

G>Более того, я знаю пару человек, которые отлично понимают указатели и биты и вообще не понмают ООП. Видели бы вы что они пишут...


ИМХО, приведенный список из трех пунктов есть необходимое условие, но не достаточное.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.