Специальность - каменщик
От: Андрей Лягусский (перевод) Беларусь  
Дата: 05.01.05 15:23
Оценка: 1060 (55) +10 -5
Статья:
Dr. Joseph M. Newcomer. Специальность — каменщик
Автор(ы): Dr. Joseph M. Newcomer
Дата: 25.12.2004
В этом эссе доктор Ньюкамер высказывает свои идеи о причинах плохой подготовки большинства выпускников университетов по профилю computer science.


Авторы:
Андрей Лягусский (перевод)

Аннотация:
В этом эссе доктор Ньюкамер высказывает свои идеи о причинах плохой подготовки большинства выпускников университетов по профилю computer science.
Re: Специальность - каменщик
От: Dog  
Дата: 05.01.05 15:50
Оценка:
АЛП>Статья:

АЛП>Авторы:

АЛП> Андрей Лягусский (перевод)

АЛП>Аннотация:

АЛП>В этом эссе доктор Ньюкамер высказывает свои идеи о причинах плохой подготовки большинства выпускников университетов по профилю computer science.
Кошерная статья.
Кстати, чему равно звание свежеиспеченого баклана ... тьфу ты, бакалавра у нас ?
... << RSDN@Home 1.1.4 beta 3 rev. 241>>
Re: Специальность - каменщик
От: bkat  
Дата: 05.01.05 16:30
Оценка: 1 (1) +7
Здравствуйте, Андрей Лягусский (перевод), Вы писали:

АЛП>Статья:



АЛП>Авторы:

АЛП> Андрей Лягусский (перевод)

АЛП>Аннотация:

АЛП>В этом эссе доктор Ньюкамер высказывает свои идеи о причинах плохой подготовки большинства выпускников университетов по профилю computer science.

Интересная статья, но его рассуждения по поводу объема кода показались мне странными.
Это как бы не очень то и к делу относится.
Ну пишет он тысячами строк в день. Дак это мало о чем говорит.
Re[2]: Специальность - каменщик
От: Mamut Швеция http://dmitriid.com
Дата: 05.01.05 16:58
Оценка:
Dog>Кстати, чему равно звание свежеиспеченого баклана ... тьфу ты, бакалавра у нас ?

Просто выпускник универа "без регалий". Еще так называемый undergraduate student. Graduate students (masters) — это уже аспирантура. Post-graduate (doctors) — докторантура.
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Что играет? Где играет? Где Винамп, я вас спрашиваю?!">>


dmitriid.comGitHubLinkedIn
Re: Специальность - каменщик
От: Shady Россия  
Дата: 05.01.05 17:07
Оценка: 25 (5) +11 :)
Здравствуйте, Андрей Лягусский (перевод), Вы писали:

Вот эти понты мне нравяться:

За пять дней, предшествующих написанию этого эссе, я написал 4470 строк кода. Оплачиваемое время составило 31 час. Получается 144 строки в час (Японский Стандарт Продуктивности), не учитывая 28-страничное руководство, написанное в то же время. Японский Стандарт Продуктивности разрешает мне включать строки кода из существующих библиотек, которые можно использовать. Если я вычту 1038 строк существующей библиотеки, которая была использована, получится 3432 строки или 110 строк в час действительной продуктивности. Это меньше чем мой обычный стандарт, потому что это был действительно красивый «эталонный код», который должен был компилироваться как минимум на трех различных платформах, и я попотел над ним. Плюс был выполнен один нетривиальный пересмотр кода, повлекший за собой вычищение нескольких сотен строк для упрощения задачи в связи с корректировкой модели. В то же время, индустриальный стандарт продуктивности – это 5 строк в час, а для «супер-программистов» — 20 строк в час. И это не включая полное тестирование и документацию.

Сразу видно, крутой американский программер, у которого внук круче, наверное, меня, и все кругом просто дебили какие-то.
У меня такое ощущуения, что всё примеры некомпетентности этот автор придумал сидя в сартире и читая газетку (извените за вульгарность).
"Не верю!" (с)
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
Re: Специальность - каменщик
От: AndreyFedotov Россия  
Дата: 05.01.05 18:27
Оценка: +1 :)))
Довольно интересная статья. И многие идеи — насчёт обучения на практике или брать идеи из чужого кода — безусловно интересны и полезны.

И в то же время очень многое — спорно. Начиная от истории с девушкой, которой он так и не сумел обяснить — где надо ставить запятую в простейшем коде, до его рассуждений о том, что он пишет лучше потому что пишет болше кода.

Мы сейчас имеем дело с американцами, которые пишут код в стиле swicth — case — безумного объёма, который потом очень тяжело поддерживать. О наследовании, интерфесах и реализациях и уж тем более о шаблонах проектирования у них знает только один человек — главный разработчик. Но он держит книги в далёком шакфу и никому их не показывает. (Это кстати совсем не шутка )

В общем их код рефакторингу не поддаётся — нам просто приходится писать свой. И естественно по объёму он типично — в три-пять раз меньше — а по поддержке — на порядке легче чем их код. НО! Мы не умеем писать в стиле switch-case, по крайней мере с такой дикой скоростью как они. А потому — они считаются лучшими программистами...
Re[2]: Специальность - каменщик
От: Павел Кузнецов  
Дата: 05.01.05 18:44
Оценка: +1
AndreyFedotov,

> очень многое — спорно. Начиная от истории с девушкой, которой он так и не сумел обяснить — где надо ставить запятую в простейшем коде,


Вот этому я как раз легко верю: в соответствии с грамматикой английского запятая ставится внутри кавычек, и очень легко можно себе представить описанный диалог

> до его рассуждений о том, что он пишет лучше потому что пишет болше кода.


Это да...
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[3]: Специальность - каменщик
От: AndreyFedotov Россия  
Дата: 05.01.05 19:52
Оценка: +1
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>AndreyFedotov,


>> очень многое — спорно. Начиная от истории с девушкой, которой он так и не сумел обяснить — где надо ставить запятую в простейшем коде,


ПК>Вот этому я как раз легко верю: в соответствии с грамматикой английского запятая ставится внутри кавычек, и очень легко можно себе представить описанный диалог


С этим я согласен. А вот с чем я совершенно не согласен — так это с тем, что ей нельзя было обяснить, где должна была ставиться запятая. Мой опыт показывает, что пре желании и умении можно обяснить кому угодно и что угодно, за исключением полных дебилов. А он сам в статье упомянул, что студенты (включая девицу) полными дебилами не были...
Re: Специальность - каменщик
От: Alex Reyst Россия  
Дата: 05.01.05 21:00
Оценка: 110 (12) +13 :))) :))

Практика без теории слепа, а теория без практики мертва (Карл Маркс)


Мне кажется, эта именно та простая мысль, которую хотел выразить в своем эссе доктор Ньюкамер, но заплутался в собственном флуде.
Все, что здесь сказано, может и будет использоваться против меня...
Re[4]: Специальность - каменщик
От: Denis Россия http://blogs.gotdotnet.ru/personal/Denis
Дата: 06.01.05 06:00
Оценка:
AF> А вот с чем я совершенно не согласен — так это с тем, что ей нельзя было обяснить, где должна была ставиться запятая. Мой опыт показывает, что пре желании и умении можно обяснить кому угодно и что угодно, за исключением полных дебилов. А он сам в статье упомянул, что студенты (включая девицу) полными дебилами не были...

совершенно без подколов: а вы когда-нибудь преподавали? я помню репетиторствовал по физике и надо было объяснить такую простую вещь как относительная скорость девушке ... короче я так и не понял, поняла она или нет . некоторые вещи довольно трудно объяснить некоторым людям
Re[2]: Специальность - каменщик
От: Privalov  
Дата: 06.01.05 06:34
Оценка: 6 (1) +1
Здравствуйте, Shady, Вы писали:

>[/q]

S>Сразу видно, крутой американский программер, у которого внук круче, наверное, меня, и все кругом просто дебили какие-то.
S>У меня такое ощущуения, что всё примеры некомпетентности этот автор придумал сидя в сартире и читая газетку (извените за вульгарность).
S>"Не верю!" (с)

Еще будучи студентом, я часто слышал от некоторых однокурсников вопрос: "Моя программа написана правильно, однако не работает. Почему?". (Речь идет о факультете ВТ.) Со временем заметил, что одни перестают его задавать после выполнения пары-тройки заданий, а другие и после 20 лет работы в разных проектах то и дело рассказывают об очередном найденном ими баге в компиляторе или операционной системе. Некоторые вообще последовательно перебирают все возможные конструкции языка и/или классы/функции, пока не получат нечто не вылетающее после первого запуска.

Ну, а насчет массы написанного кода — тут действительно "Не верю!" (c). Разве только этот код просто писался без какой-либо дополнительной обработки типа компиляции.
Re[5]: Специальность - каменщик
От: Степанов Андрей  
Дата: 06.01.05 07:36
Оценка:
Здравствуйте, Denis, Вы писали:

AF>> А вот с чем я совершенно не согласен — так это с тем, что ей нельзя было обяснить, где должна была ставиться запятая. Мой опыт показывает, что пре желании и умении можно обяснить кому угодно и что угодно, за исключением полных дебилов. А он сам в статье упомянул, что студенты (включая девицу) полными дебилами не были...


D>совершенно без подколов: а вы когда-нибудь преподавали? я помню репетиторствовал по физике и надо было объяснить такую простую вещь как относительная скорость девушке ... короче я так и не понял, поняла она или нет . некоторые вещи довольно трудно объяснить некоторым людям


Я преподаю электротехнику — недавно не смог объяснить человеку как по нарисованной на ветке стрелке определить куда течет по ней ток Однако, это был мужик — девушкам обычно объяснять проще, так как они исполнительнее

Смущает расхождение — 140 строк японский стандарт, а 5 — индустриальный. Индустриальный какой страны?
А вообще-то 5 строк без отладки в час — ну это перебор... Хотя — если при этом пару раз в кваку загамиться, то даже и ничего
Кстати — что-то давно я не видел и не слышал японских программ
Re[6]: Специальность - каменщик
От: Mamut Швеция http://dmitriid.com
Дата: 06.01.05 08:22
Оценка:
СА>Смущает расхождение — 140 строк японский стандарт, а 5 — индустриальный. Индустриальный какой страны?
СА>А вообще-то 5 строк без отладки в час — ну это перебор... Хотя — если при этом пару раз в кваку загамиться, то даже и ничего
СА>Кстати — что-то давно я не видел и не слышал японских программ

А как же все их роботы — от сониевских до мицубишных, половина консольных игр, 3G телефония?
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Что играет? Где играет? Где Винамп, я вас спрашиваю?!">>


dmitriid.comGitHubLinkedIn
Re[2]: Специальность - каменщик
От: MarW https://www.wincatalog.com
Дата: 06.01.05 10:24
Оценка: :))) :))) :)
Здравствуйте, Shady, Вы писали:

S>У меня такое ощущуения, что всё примеры некомпетентности этот автор придумал сидя в сартире и читая газетку (извените за вульгарность).

S>"Не верю!" (с)
Зря. Я преподаю программирование на факультете ВТ. Правда первый курс — не бакалавры, но в конце семестра перлов можно собирать гораздо больше. Во все примеры верю. Только объему кода не верю.

Например, задаю вопрос: "объявите массив вещественных (float) чисел размером 20 элементов и заполните его числами от 0 до 19 по возрастанию, используя оператор for". Вроде бы подвоха никакого нет. Можно пользоваться любой литературой. Отвечающий минут 40 роется в книжке, затем выдает следующий код (напомню, что факультет ВТ):

int a[5];
for (int i=0; i<10; i++)

Начинаю задавать наводящие вопросы, почему человек написал именно так. Ответ меня шокировал: я в книжке нашел только такой массив и такой цикл. (В смысле, пример массива в книжке был int a[5], а пример цикла от 0 до 9).
Ну и заполнения массива тоже нет, так как в книжке не написали, как это делать в цикле.
WinCatalog — Disk Catalog Software for Windows
Re[7]: Специальность - каменщик
От: adr Украина  
Дата: 06.01.05 13:03
Оценка: 1 (1)
Здравствуйте, Mamut, Вы писали:

СА>>Смущает расхождение — 140 строк японский стандарт, а 5 — индустриальный. Индустриальный какой страны?

СА>>А вообще-то 5 строк без отладки в час — ну это перебор... Хотя — если при этом пару раз в кваку загамиться, то даже и ничего
СА>>Кстати — что-то давно я не видел и не слышал японских программ

M>А как же все их роботы — от сониевских до мицубишных, половина консольных игр, 3G телефония?


Я когда-то считал сколько кода пишу в день... но это совсем не адекватная оценка. Например 2 года назад я писал примерно по 400 строк в день, т.е примерно 50 строк в час. И это при том, что код писался с использованием опенсорсовой библиотеки по которой нифига небыло доки и даже не было толковых коментариев, кроме глупостей с рожицами. Сейчас у меня выходит около в среднем 200, но качественно это уже не switch..., а шаблоны.

Что касается обучения, то яркий пример, мой собственный универ, который я закончил летом 2004-го, Так вот преподы с каждым годом всё больше удивляются почему народ на защиту представляет с каждым годом всё более слабые дипломные работы Так вот, знаете как с этим принято решение бороться??? — обязать всех студентов 5-х 6-х курсов посещать все пары не зависимо от их успеваемости... а за несоблюдение отчислять. Так как же человеку набраться опыта, да и кому он нужен вообще без понимания, что такое та же ERP, CRM или как управлять исполнительными механизмами, если человек работает для благ промышленности.

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

как-то мы делали мозги для станков с ЧПУ upgrade с 1980 года на 2000-й так вот,, что меня больше всего поразило, так это то, что интерпретарор там был реализован на 8-ми разрядном сдвиговом регистре , а мы 3 месяца долбались над алгоритмами имея в с воём распоряжении Turbo C и Industrial PC на базе пентиум 133. Правда тогда я совсем ещё зелёный был и даже вспоминать стыдно про содержимое кода.

По поводу способности обучать — это верно замечено..., если человек пошёл на курсы — значит ему интересно узнать истину и пояснить где ставится запятая и почему англ не эквивалент С — святая обязанность лектора. Вот не так давно мою подружку попросили заняться репетиторством по матану девочки, учащейся в 6-м класе. Подружка закончила с красным дипломом универ по направл прикладная математика, но тем не менее объяснить не всегда может и частенько я просто объясняю как лучше преподнести тот или иной материал конкретному дитю и, надо заметить, это работает. Так что тут главное засунуть все амбиции в одно место и спуститься до того уровня, на котором студент может понять, вплоть до проведения аналогии с песочницей
Re[3]: Специальность - каменщик
От: adr Украина  
Дата: 06.01.05 15:06
Оценка: 3 (1)
Здравствуйте, MarW, Вы писали:

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


S>>У меня такое ощущуения, что всё примеры некомпетентности этот автор придумал сидя в сартире и читая газетку (извените за вульгарность).

S>>"Не верю!" (с)
MW>Зря. Я преподаю программирование на факультете ВТ. Правда первый курс — не бакалавры, но в конце семестра перлов можно собирать гораздо больше. Во все примеры верю. Только объему кода не верю.

MW>Например, задаю вопрос: "объявите массив вещественных (float) чисел размером 20 элементов и заполните его числами от 0 до 19 по возрастанию, используя оператор for". Вроде бы подвоха никакого нет. Можно пользоваться любой литературой. Отвечающий минут 40 роется в книжке, затем выдает следующий код (напомню, что факультет ВТ):


MW>
MW>int a[5];
MW>for (int i=0; i<10; i++)
MW>

MW>Начинаю задавать наводящие вопросы, почему человек написал именно так. Ответ меня шокировал: я в книжке нашел только такой массив и такой цикл. (В смысле, пример массива в книжке был int a[5], а пример цикла от 0 до 9).
MW>Ну и заполнения массива тоже нет, так как в книжке не написали, как это делать в цикле.


Перлы дело такое... я сам не так давно закончил универ факультета ИВТ и могу Вас заверить, что многие студенты обладают такими знаниями не из-за того, что бараны полные, а просто т.к. им не объяснили практического применения без которого просто не интересно учить что-либо т.к. это что-то считается бесполезным.
Так я, например к окончанию второго курса не знал толком как объявляются функции в С, хотя нам его уже читали 2 семестра. Но рассказывали только как объявлять массивы, методы классов и т.д. без привязок конкретным задачам... в общем, я в своё время просто подумал, что не стоит "дурным" голову забивать.

После сессии я решил, что это было -таки нужно. Пошёл на рынок и спросил наиболее новый компилятор борландового С (1999 год) на рынке мне дали Borland C++ Builder 1.0. Принёс домой просетапил и понял, что это что-то уже интересное
но неизведанное и в след выходные купил книгу Белорусского издательства. В общем начинал учить С++ с конструирования из компонентов , постепенно понимая, что программирование не сводится только к написанию обработчиков событий..
Через 3 месяца я уже писал рабочие многопоточки (естественно не с использованием Win API. а на борландовых заманухах). К своему бакалаврату (через 2 года я уже успел сотворить ядро интерпретатора для станочных мозгов).

В общем я считаю, что первым нужно давать студентам проектирование систем, чтобы они въехали в предметную область, затем запускать на реализацию с использованием мощных IDE вроде JBuilder, Delphi, C++ Builder, чтобы человек понял, что написать виндовое приложение реально и для него, а не говорить ему, как писал автор, что ты баран и это не лечится. И только после этого, когда человек уже понимает суть проблемы и не боится реализовать (а зря) пояснять, что в мире не всё так просто и вводить в детали (STL, расположение объектов в памяти, указатели на таблицы вирт функций), а после показывать, что любое алгоритмическое решение можно унифицировать для разных типов данных реализовав его в виде шаблонного класса или функции.

Мы активно общались с моим руководителем магистерской работы на эту тему и не только я, но и другие магистранты и специалисты и в результате добились изменения учебного курса, но вот, допустим шаблонов в курсе нет и STL , просто читать некому, а такие как я и прочие, кто таки стал программистом за 70$ в месяц не хотят хработать на кафедре, что вполне естественно.
Re[3]: Специальность - каменщик
От: zhuravl Россия  
Дата: 06.01.05 15:17
Оценка:
Здравствуйте, MarW, Вы писали:

MW>Зря. Я преподаю программирование на факультете ВТ. Правда первый курс — не бакалавры, но в конце семестра перлов можно собирать гораздо больше. Во все примеры верю. Только объему кода не верю.


Наверное код на твоей web-странице, передающий тебе email сообщение (и остальные поля формы) методом GET тоже нельзя назвать лучшим...
.
Re: Специальность - каменщик
От: anton_m  
Дата: 06.01.05 19:37
Оценка: +1
Здравствуйте, Андрей Лягусский (перевод), Вы писали:

После прочтения уже нескольких статей американских авторов ("Сделай это сейчас" и тп), начинаю понимать, насколько же отличается их менталитет чтоли, восприятие мира от нашего. Даже не знаю как объяснить. Понтов что ли много.

Не буду говорить что понравилось в статье, что нет. Это личное.
На что очень обратил внимание, так это на высказываение:

Самая серьезная проблема – научить людей размышлять о программировании как о виде искусства.


Много думал над этим раньше. Правда собственного опыта не хватает, но ИМХО это правильно. Т.е. программирование — вид искусства, а не какая-то машинальная работа, которая выполняется после зубрежки пары-тройки книг. И объяснить это людям бывает трудно (вижу по ребятам, с которыми учусь).
Re[8]: Специальность - каменщик
От: Mamut Швеция http://dmitriid.com
Дата: 06.01.05 20:16
Оценка:
adr>Вот не так давно мою подружку попросили заняться репетиторством по матану девочки, учащейся в 6-м класе. Подружка закончила с красным дипломом универ по направл прикладная математика, но тем не менее объяснить не всегда может

У нас такой учитель по математике был. Готовил нас к выпускным экзаменам в лицее (молдавский "бакалавр" по румынской системе, кто знает — поймет).

Так вот, он по совместительству являлся тренером международной команды Молдовы по математике (в активе команжы — 3-е место на всемирной олимпиаде). О, Боже! Объяснять он мог только жестами и невнятными конструкциями типа "вот если мы отсюда сюда, а потом вот так, то все здесь". Любимая его фишка была — нарисовать на доске формулу какую-нибудь в две строки, посмотреть на нее в течение 2-3 минут, потом сказать "А, так здесь все видно" и, ничего не объясняя, совершив все действия в уме, написать конечный результат — два-три символа.

Но было весело (повезло, что класс был физико-математический, народ иногда до 10% процентов объясняемого понимал сам )
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Что играет? Где играет? Где Винамп, я вас спрашиваю?!">>


dmitriid.comGitHubLinkedIn
Re[2]: Специальность - каменщик
От: Mamut Швеция http://dmitriid.com
Дата: 06.01.05 20:21
Оценка:
Здравствуйте, anton_m, Вы писали:

_>Здравствуйте, Андрей Лягусский (перевод), Вы писали:


_>После прочтения уже нескольких статей американских авторов ("Сделай это сейчас" и тп), начинаю понимать, насколько же отличается их менталитет чтоли, восприятие мира от нашего. Даже не знаю как объяснить. Понтов что ли много.


Гдавное отличие в том, что авторы книг зачастую ведут себя с читателем "запанибратски". И хотя в оригинале это выглядит нормально, то в русском переводе это становится "понтами". Наши книги отличаются большей серьезностью и "офийиозностью", что ли.
... << RSDN@Home 1.1.4 beta 3 rev. 241>> ... <<Winamp is playing "Что играет? Где играет? Где Винамп, я вас спрашиваю?!">>


dmitriid.comGitHubLinkedIn
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.