Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:16
Оценка: 1 (1) +1
Здравствуйте, rusted, Вы писали:

R>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.

Когда разговор идет о программировании — вы все меня понимаете. А когда речь идет о методике обучения — естественно, что не понимаете. Вы ж преподаванием не занимаетесь...
Так что все логично...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[12]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 12:24
Оценка:
Здравствуйте, Трололоша, Вы писали:

Т>>>Мы не про это. ПТУ готовит кодеров, ВУЗ грубо говоря должен готовить инженеров и исследователей.

LVV>>Вот именно!
LVV>>Исследователей сейчас — один...
LVV>>Инженеров — пара-тройка. Ну 5-6.
LVV>>Остальные — человек 7-8 — это кодеры...
LVV>>Это у нас сейчас так...
Т>Дык примерно такой расклад и востребован в реале на данный момент.
Дело в том, что я еще помню времена, когда в группе было четверть исследователей и половина инженеров. И только четверть птушников...
Вот хотя бы в 2003-2004 году были такие выпуски, не говоря уже про 2002 год...
С 2005 года количество исследователей уменьшалось, а количество инженеров увеличивалось. А потом и инженеров стало уменьшаться.
А то, что сейчас выходит из колледжей в 50% случаев даже на кодеров не тянет.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: Abyx Россия  
Дата: 30.08.12 12:28
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

R>>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.

LVV>Ага. Вы совершенно не представляете процесс обучения нынешних школьников программированию...

у большинства из присутствующих здесь есть опыт обучения самого себя, в школьном/студенческом возрасте, и последующей профессиональной разработки.
причем те, у кого это успешный опыт, умеют представление о том как и чему надо учить себя, чтобы стать профессионалом.
In Zen We Trust
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 30.08.12 13:11
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

LVV>Для нас еще важно отследить этот переход.

LVV>Сейчас пацан, который пишет среду, пишет в среде много тестов.
LVV>Пацан — с уже укоренившимися студенческими привычками: давайте что-нить напишем, и посмотрим, что получится... 5 курс.
LVV>Но он признался, что работа в нашей среде очень положительно сказывается на его последующей работе в Студии.

Да ради бога. Но почему бы не сделать это надстройкой над нормальным боевым компилятором? Можно прямо в студии. Можно даже плагином к решарперу, тогда не придется парсер и даже семантический анализатор ваять. Как раз для умных студентов задачка — не очень много кода, но много интересного и нового.
... << RSDN@Home 1.2.0 alpha 5 rev. 65 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[3]: Есть идея насчёт "multiple returns"...
От: os24ever
Дата: 30.08.12 13:12
Оценка:
LVV>Или запрет множественного оператора return...

Есть идея насчёт "multiple returns"
Автор: Osaka
Дата: 28.02.12
. Вот она:

1) Разделим, пока мысленно, функции на два множества: процедуры и функции принятия решений (на самом деле их может быть и больше),
2) Чем занимаются процедуры: выполняют какие-то действия, в том числе могут менять данные или внешнюю среду, вот так: "(2 + 2) * 2",
3) Чем занимаются функции принятия решений: проверяют данные и внешнюю среду, ничего не меняют, возвращают одно из значений.

Удобно ли делать в таких функциях единственный оператор возврата? Похоже, что нет. Они могут быть длинными, придётся прокручивать текст на несколько экранов, да и процессор затратит дополнительные такты на выполнение команды перехода вперёд, чтобы выполнить возврат из такой функции. Безопасны ли в них несколько операторов возврата? Похоже, что да: они не создают области памяти и ничего вокруг себя не меняют. А вот процедуры лучше сводить к простой форме "предварительные вычисления, циклы, операторы условия, единственный оператор возврата".

Как это могло бы выглядеть на Lisp:

(redirect
    (relay-ip "10.0.10.5")
    (dest-ip
        (select source-ip
            (when "192.168.200.2" "10.0.10.7")
            (when "192.168.200.3" "10.0.10.7")
            (when "192.168.200.4" "10.0.10.8")
            (else "10.0.10.9"))))

И вот ещё пример:

(rewrite
    (url "/mp3")
    (reply 301
        (select (file-exists "/mp3/index.html")
            (when 1 "/mp3/")
            (else "/"))))

Здесь "select" — функция, и у неё несколько точек выхода. А у всех остальных — по одной.

multiple returns vs. single rеturns
Re[19]: Джон Кармак о науке и искусстве разработки ПО
От: rusted Беларусь  
Дата: 30.08.12 13:35
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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


LVV>>>Если человек делает больше действий, то можно делать вывод о недостаточности знаний, умений и навыков.

LVV>>>В зависимости от его лишних "телодвижений".

R>>Т.е. вы собираетесь наказывать студентов за "лишние" действия? В чем смысл этого? Заставить студента боятся пробовать какие-то новые подходы? Они ж после такого обучения будут прогонять даже мысль о минимальном рефакторинге.

LVV>Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...

Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.
Re[18]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 13:52
Оценка: 1 (1) -1 :)
Здравствуйте, Real 3L0, Вы писали:

R3>так ты ещё и не заметил упомянутого мной экспериментального подтверждения этой фразы.

Видать оно такое, незаметное.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[8]: Джон Кармак о науке и искусстве разработки ПО
От: hi_octane Беларусь  
Дата: 30.08.12 13:58
Оценка:
A>если да — то какой смысл учить разработке в том что не имеет отношения к реальной жизни?

Почему сразу так не имеет? Много лет назад IBM делала такие продукты как Visual Age for Java, C++ и т.п. Насчёт C++ уже не помню (тогда ватком был самый крутой, и альтернативы не было), но Java редактор работал строго с АСТ, а проект был по сути БД по хранению АСТ, а не кучей файлов. Из-за чего например были затыки с сохранением некомпилируемого исходника, но зато уже тогда были какие-то рефакторинги доступны, чего у других Java-редакторов вообще не было. Так что подход такой имел реальное воплощение, а значит к реальной жизни отношение определённо имеет.

Другое дело что сейчас технологии парсинга и скорости компов настолько ушли вперёд, что обосновать преимущества этого подхода перед традиционным нужно очень хорошо.
Re[11]: Джон Кармак о науке и искусстве разработки ПО
От: Hobot Bobot США  
Дата: 30.08.12 14:16
Оценка: +1
Здравствуйте, a_g_99, Вы писали:

G>>Значительно хуже когда хрень пилят где-нибудь в крупной корпорации или бюджете, тратят реальные бабки и нервы людей, а не учебные.

__>Да не хуже. Там конкуренция и если ты делаешь хрень, то тонешь вмиг.

Ха! Отдельно взятая команда во главе с менеджером, который умеет ездить по ушам начальству, может пилить бюджет в крупной корпорации — без какого-либо выхлопа — годами. Без особого ущерба для корпорации — из-за разности масштабов.
What a piece of work is a man! how noble in reason! how infinite in faculty! in form and moving how express and admirable! in action how like an angel! in apprehension how like a god! the beauty of the world! the paragon of animals!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 17:38
Оценка: 1 (1) -1 :))) :)
Здравствуйте, Abyx, Вы писали:

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


R>>>Или я тоже ничего не понял? Хотя если преподавателя программирования массово не понимают на форуме программистов, то что-то тут не так.

LVV>>Ага. Вы совершенно не представляете процесс обучения нынешних школьников программированию...

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

A>причем те, у кого это успешный опыт, умеют представление о том как и чему надо учить себя, чтобы стать профессионалом.
Это НАИВНЫЙ взгляд на проблемы обучения.
Тем более, что САМОобучение — это не обучение профи... Это — любительство.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 17:41
Оценка:
Здравствуйте, AndrewVK, Вы писали:

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


LVV>>Для нас еще важно отследить этот переход.

LVV>>Сейчас пацан, который пишет среду, пишет в среде много тестов.
LVV>>Пацан — с уже укоренившимися студенческими привычками: давайте что-нить напишем, и посмотрим, что получится... 5 курс.
LVV>>Но он признался, что работа в нашей среде очень положительно сказывается на его последующей работе в Студии.

AVK>Да ради бога. Но почему бы не сделать это надстройкой над нормальным боевым компилятором? Можно прямо в студии. Можно даже плагином к решарперу, тогда не придется парсер и даже семантический анализатор ваять. Как раз для умных студентов задачка — не очень много кода, но много интересного и нового.

Об этом мы подумаем позже. Как сделать плагин к студии. Мысли уже были, но реализацию оставили на потом, когда будут отработаны наши идеи об оценивании работы студента.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Есть идея насчёт "multiple returns"...
От: LaptevVV Россия  
Дата: 30.08.12 17:45
Оценка:
Здравствуйте, os24ever, Вы писали:

LVV>>Или запрет множественного оператора return...


O>Есть идея насчёт "multiple returns"
Автор: Osaka
Дата: 28.02.12
. Вот она:


O>1) Разделим, пока мысленно, функции на два множества: процедуры и функции принятия решений (на самом деле их может быть и больше),

O>2) Чем занимаются процедуры: выполняют какие-то действия, в том числе могут менять данные или внешнюю среду, вот так: "(2 + 2) * 2",
O>3) Чем занимаются функции принятия решений: проверяют данные и внешнюю среду, ничего не меняют, возвращают одно из значений.

O>Удобно ли делать в таких функциях единственный оператор возврата? Похоже, что нет. Они могут быть длинными, придётся прокручивать текст на несколько экранов, да и процессор затратит дополнительные такты на выполнение команды перехода вперёд, чтобы выполнить возврат из такой функции. Безопасны ли в них несколько операторов возврата? Похоже, что да: они не создают области памяти и ничего вокруг себя не меняют. А вот процедуры лучше сводить к простой форме "предварительные вычисления, циклы, операторы условия, единственный оператор возврата".


O>Как это могло бы выглядеть на Lisp:


O>
O>(redirect
O>    (relay-ip "10.0.10.5")
O>    (dest-ip
O>        (select source-ip
O>            (when "192.168.200.2" "10.0.10.7")
O>            (when "192.168.200.3" "10.0.10.7")
O>            (when "192.168.200.4" "10.0.10.8")
O>            (else "10.0.10.9"))))
O>

O>И вот ещё пример:
O>
O>(rewrite
O>    (url "/mp3")
O>    (reply 301
O>        (select (file-exists "/mp3/index.html")
O>            (when 1 "/mp3/")
O>            (else "/"))))
O>

O>Здесь "select" — функция, и у неё несколько точек выхода. А у всех остальных — по одной.
Это все понятно. И во всех языках практически никак не ограничивают множественный возврат.
Однако на оберонском форуме обсуждался этот вопрос, и народ указал на некоторые тонкие ошибки, которые могут возникнуть при множественном выходе.
На своих кодах в том числе.
Но у нас пока множественный возврат разрешен.
Посмотрим, понаблюдаем, соберем статистику — и потом решим окончательно.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[20]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 30.08.12 17:49
Оценка:
Здравствуйте, rusted, Вы писали:

LVV>>>>В зависимости от его лишних "телодвижений".


LVV>>Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...


R>Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.

Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...
Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.
Заставить думать — одна из целей проекта.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: Трололоша  
Дата: 30.08.12 18:58
Оценка: +2
Здравствуйте, LaptevVV, Вы писали:

LVV>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.

К геморрою оно приводит. Приходится тыкать везде логгинг, потом разгребать километры логов, потом опять дотыкивать логгинг, опять разгребать.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: rusted Беларусь  
Дата: 30.08.12 21:11
Оценка:
Здравствуйте, LaptevVV, Вы писали:

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


LVV>>>>>В зависимости от его лишних "телодвижений".


LVV>>>Вы забываете, что режим работы может быть обучающий, а может быть — контрольный...


R>>Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.

LVV>Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...
LVV>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.
LVV>Заставить думать — одна из целей проекта.

Выглядит как желание старпера, промучавшегося когда-то с перфокартами, заставить так же мучаться и молодежь

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

Вот вы жалуетесь, что с каждым годом исследователей и инженеров выпускаете всё меньше. Может это как раз следствие этих экспериментов в обучении?
Re[22]: Джон Кармак о науке и искусстве разработки ПО
От: LaptevVV Россия  
Дата: 31.08.12 04:17
Оценка:
Здравствуйте, rusted, Вы писали:

LVV>>Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...

LVV>>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.
LVV>>Заставить думать — одна из целей проекта.

R>Выглядит как желание старпера, промучавшегося когда-то с перфокартами, заставить так же мучаться и молодежь

С перфокартами никто не мучился... С перфолентами было ГОРАЗДО хуже... А перфокарты — это же КАЙФ! Сколько поделок мы из них делали...

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

Нифига! Вы все время забываете, что окончательное-то решение за преподам. Препод получает результат и смотрит, что такое студень натворил...
R>Вот вы жалуетесь, что с каждым годом исследователей и инженеров выпускаете всё меньше. Может это как раз следствие этих экспериментов в обучении?
Дык студентов банально меньше стало. В этом годе вообще закрыли только бюджетные места.
И как раз отсутствие экспериментов приводит к печальной ситуации. Нынешних школьников учить методами 10-летней давности невозможно.
Хотя бы потому, что 99% в школе о программировании даже не слышали, не говоря уже об изучении.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[21]: Джон Кармак о науке и искусстве разработки ПО
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 31.08.12 05:22
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

R>>Так в чем же смысл минимизации "телодвижений" в контрольном режиме? Мне это напоминает, как я на экзаменах "программировал" на листике бумаги — только тогда и нужен был этот навык писать решение сразу минимумом действий чтобы по нескольку раз не переписывать. Но зачем такому учить? В реальной работе код чаще модифицируется, чем пишется заново. А с вашим критерием получается, что все предыдущие версии кода — лишние.

LVV>Смысл в том, чтобы студень сначала ДУМАЛ, а потом кнопочки нажимал...

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

LVV>Вирт в книжке "Проект Оберон" писал, что отсутствие отладчика удивительно способствует гораздо более тщательному продумываю программы.

LVV>Заставить думать — одна из целей проекта.

И всё равно получается не то. ;(
The God is real, unless declared integer.
Re[13]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.12 06:32
Оценка: 2 (1)
Здравствуйте, Real 3L0, Вы писали:

R3>Хм, это, вроде как, масло масляное.

Нет. Масло масляное — это эскапист, оторванный от реальности. Или маргинал-конформист.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.12 08:17
Оценка:
Здравствуйте, LaptevVV, Вы писали:
LVV>Мы, оттолкнувшись от основной идеи пошли дальше — делаем обучающую среду. Чтобы именно учить, и оценивать деятельность студентов.
Забейте в дискуссии на язык и способ представления — поток негатива здесь перекроет все потенциальные бенефиты.
Расскажите лучше поподробнее о том, как вы делаете "оценивание деятельности студентов".
Скажем, почему вы отказались от олимпиадного подхода, т.е. тестирования программы как чёрного ящика?
Зачем вы хотите контролировать процесс написания решения, а не только результат?
Если вас интересует каноническое решение — то почему вы отказались от текстового сравнения с образцом?

Как именно "профессор" описывает задачи, чтобы среда потом им обучала?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Джон Кармак о науке и искусстве разработки ПО
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.08.12 08:39
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Нет. Масло масляное — это эскапист, оторванный от реальности. Или маргинал-нонконформист.
Конечно же.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.