Здравствуйте, AndrewVK, Вы писали:
AVK>Вот в этом и состоит одна из серьезнейших проблем софтостроительной индустрии, что можно "кодить и зарабатывать денежку", имея весьма посредственную квалификацию.
Квалификация хорошего программиста имеет мало общего с квалификацией хорошего теоретика CS. С точки зрения теоретика нынешние программисты вообще полные профаны, даже не помнят площадь круга. С точки зрения практика-программиста — теоретики вообще ничего не умеют, пишут кривой код, лепят левую архитектуру, занимаются заумствованиями.
На самом деле — это классическое разделение между учеными и инженерами, все дисциплины прошли через это, программирование просто слишком молодо.
Я не агитирую за то, что бы не преподавать CS, как науку. Преподавать, конечно, тем кому это интересно. Важно на мой взгляд выделить преподавание разработки ПО, как отдельную инженерную дисциплину со своими акцентам в обучении.
Я прекрасно помню, как обучают архитекторов (строительных), очень много практических знаний, которые непосредственно потребуются в дальнейшей работе, очень много работы руками. Теория тоже есть, как база, но не более того.
Здравствуйте, IID, Вы писали:
IID>Аналитический же подходит под ваше условие прекрасно. Т.о. задача сводится к созданию аналитического представления чисел.
И как можно представить произвольное транcцендентное число?
IID>Но когда вы приносите ему рассчёты он же не вопит о том, что точность слишком низкая ? И что корень из двух он хочет видет ввиде корня из двух
Ну да, потому что его задача может быть решена в рациональных числах.
А если принести бухгалтеру ответ, в котором ошибка в один цент потому что программист не знает об ошибках округления, то может и развопиться.
Здравствуйте, landerhigh, Вы писали:
L>Здравствуйте, mymuss, Вы писали:
M>>Ну блин, я для примера привел гипотетическую ситуацию, в которой распальцованный синьор команде не нужен. L>Так бы и написал — ищем джуниора код копать. Или площади кругов вычислять.
Это как-то следует из моих слов? Если да, то из каких?
L>Только не надо обижаться услышанному в свой адрес от настоящего сеньера.
Я не буду обижаться нисколько. Напротив, буду благодарен ему за то, что не надевал маску приличия, а прямо дал понять, что он не тот человек, которого мы хотим видеть в колективе.
Здравствуйте, Владислав, Вы писали:
В>Единственный момент — это нужно больше доверять мнению своего коллеги. Если он хочет взять кандидата — то нужно брать, в противном случае не очень понятно, зачем он вообще присутствовал на собеседовании и тратил своё время.
Понятно, спасибо за мнение.
Конечно, я доверяю мнению своего коллеги, равно как и он доверяет моему. Как правило, мы соглашаемся в подобных ситуациях. Если нет, то каждый из нас доводит свои мысли до руководства, а оно решает брать или не брать.
Здравствуйте, AndrewVK, Вы писали:
O>>Вот именно. И потом пытаются эти теоретики CS устроится на работу и ожидает их горькое разочарование, т.к. учили их совсем не тому, что надо AVK>Это у всех так. Только практику они быстро наберут, а вот с теорией у тех, кто с ней не знаком, так все печально и останется.
Андрей, и ты мне еще про сортировку пытался доказать, что вред она.
Вот таких вот людей она призвана отсеять в первую очередь.
Здравствуйте, olegkr, Вы писали:
O>Я не агитирую за то, что бы не преподавать CS, как науку. Преподавать, конечно, тем кому это интересно. Важно на мой взгляд выделить преподавание разработки ПО, как отдельную инженерную дисциплину со своими акцентам в обучении.
имею глупый вопрос. а что такое CS? контр страйк чтоль?
Здравствуйте, mymuss, Вы писали:
M>Здравствуйте, IID, Вы писали:
IID>>Аналитический же подходит под ваше условие прекрасно. Т.о. задача сводится к созданию аналитического представления чисел.
M>И как можно представить произвольное транcцендентное число?
Сначала надо понять, каким образом мы собираемся ПОЛУЧИТЬ от пользователя (в каком виде) произвольное _трансцендентное_ число. А представить мы его можем бесконечным числом различных способов. Да хоть в примитивном текстовом "sin(PI/3)" или "sqrt(3)/sqrt(2)". В качестве примеров, где это уже сделано — Derive или MatLab. Складывается ощущение, что вы прекрасно понимая, о чём идёт речь, спорите "ради самого спора". Может уязвлённое в юности самолюбие ? В любом случае, мы отходим всё дальше и дальше от первоначальной задачи, решение которой я уже показал. Разжёвывать дальше очевидные вещи, мне, простите, неинтересно.
IID>>Но когда вы приносите ему рассчёты он же не вопит о том, что точность слишком низкая ? И что корень из двух он хочет видет ввиде корня из двух
M>Ну да, потому что его задача может быть решена в рациональных числах. M>А если принести бухгалтеру ответ, в котором ошибка в один цент потому что программист не знает об ошибках округления, то может и развопиться.
А может и не развопится, если одна ошибка округления замылила другую, а он этого даже не заметил. В общем, в топку изначальный пассаж про "тупого пользователя, которому все равно", и гениального программиста "который сделает всё правильно, не взирая ни на что"
Здравствуйте, игппук, Вы писали:
И>а это его проблема. как сделает, так и сделает. важно, как он подойдет к поставленной задаче.
Ок, я как ленивый человек не стал напрягаться, а выдал что-то типа такой убогой реализации (хз — работает или нет, набрал для поста):
const int iLinesInACircle = 100;
void DrawCircle(int x, int y, int r)
{
int x1,y1,x2,y2;
double angle = 0;
double angle_add = 360.0 * PI / iLinesInACircle;
for(int i=0; i<iLinesInACircle+1; i++, angle+=angle_add)
{
x2 = x + r*cos( angle );
y2 = y + r*sin( angle );
if ( 0 != i )
DrawLine(x1,y1,x2,y2);
x1 = x2;
y1 = y2;
}
}
При этом я знаю про целочисленные алгоритмы (см. пост выше), и вскользь о них упомяну (на собеседованиях, как и в РСДН постах мне напрягаться лениво). Что вы скажете обо мне-кандидате ?
Здравствуйте, olegkr, Вы писали:
AVK>>Только практику они быстро наберут, а вот с теорией у тех, кто с ней не знаком, так все печально и останется. O>И будут они "печально" кодить и зарабатывать денежку, даже не зная, чего они лишились
Не скажите. Я уж насколько "рисовальщик формочек", правда для веба, а очень даже печалюсь и отлично осознаю чего лишился.
Я в КПИ (Киевский политех) учился на факультете "второй свежести", тоже неплохая подготовка, но больше в электронике и прикладном программировании, чем в математике и программировании системном.
Электроника не пригодилась, зато пригодилась дискретка. И очень жалею, что ДМ давали неглубоко и обрывочно. Все приходится своими силами
Здравствуйте, AndrewVK, Вы писали:
AVK>Стереометрию, по крайней мере в мое время, преподавали и в обычной школе в 10 и 11 классах. По стандартному учебнику.
Ничего потом и не изменилось, кроме названия. У меня в школе это была просто "геометрия".
Здравствуйте, olegkr, Вы писали:
AVK>>Вот в этом и состоит одна из серьезнейших проблем софтостроительной индустрии, что можно "кодить и зарабатывать денежку", имея весьма посредственную квалификацию. O>Квалификация хорошего программиста имеет мало общего с квалификацией хорошего теоретика CS.
Интересно, в чём ты видишь различия? Я не ёрничаю, мне в самом деле интересно.
O>С точки зрения теоретика нынешние программисты вообще полные профаны, даже не помнят площадь круга.
Хуже того, они не всегда понимают, чем O(log N) отличается от O(N*N).
O>С точки зрения практика-программиста — теоретики вообще ничего не умеют, пишут кривой код, лепят левую архитектуру, занимаются заумствованиями.
Теоретики CS? Ну вот тебе пример — Барбара Лисков, теоретик из теоретиков. Напомнить об остальном?
O>На самом деле — это классическое разделение между учеными и инженерами, все дисциплины прошли через это, программирование просто слишком молодо.
Оно никогда и не "постареет" в этом смысле. Нету основ для такого старения. На самом деле, программирование тяготеет к слиянию теории и "практики", и чем дальше, тем сильнее.
O>Я не агитирую за то, что бы не преподавать CS, как науку. Преподавать, конечно, тем кому это интересно. Важно на мой взгляд выделить преподавание разработки ПО, как отдельную инженерную дисциплину со своими акцентам в обучении.
Какие акценты, например? У нас, например, делался некоторый акцент на организации самого процесса разработки. А что ты имеешь в виду?
O>Я прекрасно помню, как обучают архитекторов (строительных), очень много практических знаний, которые непосредственно потребуются в дальнейшей работе, очень много работы руками. Теория тоже есть, как база, но не более того.
Причём тут строительные архитекторы? Это, по сути, дизайнеры пользовательского интерфейса. Спору нет, работа нужная и полезная, но достаточно узкоспецифичная.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, IID, Вы писали:
IID>Складывается ощущение, что вы прекрасно понимая, о чём идёт речь, спорите "ради самого спора". Может уязвлённое в юности самолюбие ? В любом случае, мы отходим всё дальше и дальше от первоначальной задачи, решение которой я уже показал. Разжёвывать дальше очевидные вещи, мне, простите, неинтересно.
У меня, кстати, точно такое же впечатление о Вас. Вы вводите новые сущности, тем самым на ходу меняя задачу. Если Вы в жизни сталкивались с реальными задачами, то знаете, что пользователи никогда не ставят задачу настолько точно, и тем более не заморачиваются ни машинным представлением, ни ограничениями вычислительных ресурсов, ни особенностями фон-неймановской архитектуры. Скажут "действительные числа" и точка. Выкручивайся как хочешь, или выясняй в каком приближении устроит, или найди решение в аналитичнском виде (кстати, это далеко не так просто, как Вам кажется).
Да, существуют разные подходы, я этого не отрицал. Matematika, Maple (MatLab, кстати, слегка мимо кассы, то больше для численных методов)
IID>А может и не развопится, если одна ошибка округления замылила другую, а он этого даже не заметил.
И..? В чем Ваш поинт? Что ошибки надо специально вводить, чтобы за их обилием трудно было понять, что это ошибки?
IID>В общем, в топку изначальный пассаж про "тупого пользователя, которому все равно", и гениального программиста "который сделает всё правильно, не взирая ни на что"
Ну данное утверждение -- Ваши слова, не мои
M>>А если принести бухгалтеру ответ, в котором ошибка в один цент потому что программист не знает об ошибках округления, то может и развопиться. IID>А может и не развопится, если одна ошибка округления замылила другую, а он этого даже не заметил.
Я, конечно, у всех читателей форума прошу прощения за возможные ошибки и опечатки в моих постах. Русский язык не является моим первым языком, начальное и среднее образование я получал не на русском, живу в англоязычной стране, так что, надеюсь, большинство читателей отнесутся с пониманием.
Впрочем, когда собеседник начинает придираться к подобным ошибкам, для меня это верный сигнал, что аргументы закончились, далее следует переход на личности. С такими людьми у меня общаться желания нет. Всего Вам хорошего.
комрад, я не сужу о кандидатах по подобным вопросам, бо считаю их глупыми. мои критерии лежат в другой области. ваш код не дает никакой полезной иниформации о том, какой вы есть программист. может отличный, а может и не очень. именно поэтому методику топикстартера считаю неадекватной. возможно, причина в том, что топикстартер — ленивый человек и не хочет думать над тем, как провести нормальное собеседование. ему проще шаблончик набросать, заточенный под его видение мира, а потом всех гребсти одной трещеткой.
Здравствуйте, mymuss, Вы писали:
M>Я, конечно, у всех читателей форума прошу прощения за возможные ошибки и опечатки в моих постах. Русский язык не является моим первым языком, начальное и среднее образование я получал не на русском, живу в англоязычной стране, так что, надеюсь, большинство читателей отнесутся с пониманием.
Нет причин извиняться. В даном случае использование "-тся" или "-ться" зависело от того, к кому из персонажей относился глагол "развопит(ь)ся": к програграммисту или к бухгалтеру. Короче говоря, не бери в голову.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, mymuss, Вы писали:
M>Здравствуйте, IID, Вы писали:
IID>>Складывается ощущение, что вы прекрасно понимая, о чём идёт речь, спорите "ради самого спора". Может уязвлённое в юности самолюбие ? В любом случае, мы отходим всё дальше и дальше от первоначальной задачи, решение которой я уже показал. Разжёвывать дальше очевидные вещи, мне, простите, неинтересно.
M>У меня, кстати, точно такое же впечатление о Вас. Вы вводите новые сущности, тем самым на ходу меняя задачу. Если Вы в жизни сталкивались с реальными задачами, то знаете, что пользователи никогда не ставят задачу настолько точно, и тем более не заморачиваются ни машинным представлением, ни ограничениями вычислительных ресурсов, ни особенностями фон-неймановской архитектуры. Скажут "действительные числа" и точка. Выкручивайся как хочешь, или выясняй в каком приближении устроит, или найди решение в аналитичнском виде (кстати, это далеко не так просто, как Вам кажется).
А вот не надо, ничего я на ходу не менял. Один раз попытался уточнить природу чисел x1,x2. Мы выяснили, что они не принадлежат ни одному из существующих машинных представлений. Дальше пошло только уточнение задания (у незаморачивающегося пользователя, в вашей терминологии, по сути "хотелок"). При этом собственно решение самой задачи, как было, так и осталось в первозданном виде, т.е. элементарным.
M>Да, существуют разные подходы, я этого не отрицал. Matematika, Maple (MatLab, кстати, слегка мимо кассы, то больше для численных методов)
При чём тут численные методы ? Эти примеры я привёл как (в частности) уже существующие реализации аналитического представления чисел, к которому мы уже свели вашу "мега-задачу" для заваливания кандидатов.
IID>>А может и не развопится, если одна ошибка округления замылила другую, а он этого даже не заметил.
M>И..? В чем Ваш поинт? Что ошибки надо специально вводить, чтобы за их обилием трудно было понять, что это ошибки?
К тому что мимо кассы ту фразу.
M>Впрочем, когда собеседник начинает придираться к подобным ошибкам, для меня это верный сигнал, что аргументы закончились, далее следует переход на личности. С такими людьми у меня общаться желания нет. Всего Вам хорошего.
Вы тае по существу и не ответили, а зацепились за придирку к синтаксической ошибке, чтобы слить тему.
Здравствуйте, olegkr, Вы писали:
AVK>>Только практику они быстро наберут, а вот с теорией у тех, кто с ней не знаком, так все печально и останется. O>И будут они "печально" кодить и зарабатывать денежку, даже не зная, чего они лишились
Плохо, что эти же самые потом полезут в менеджеры (а куда ещё податься бедному кодеру?) и устроят свистопляску.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!