ailev.ru

Обсуждение

В архиве: 6 комментариев.

Читать и комментировать в ЖЖ ↗

Имя не сохранено · 8 ноября 2015

Комментарий

программы пишутся не для компьютеров а для людей. есть другая метрика - изза которой и происходит прогресс в языках программирование последний несколько лет - программа понимаема!

Имя не сохранено · 8 ноября 2015

Комментарий

Есть ещё графическое программирование химического реактора в SpaceChem (http://store.steampowered.com/app/92800/) Так же оценивает на правильность результата, время выполнения и количество использованных элементов. К концу задания становятся весьма сложными, даже для программиста со стажем ))

Имя не сохранено · 8 ноября 2015

Комментарий

у них там тренажёр. но работает он не с любыми программами, а конкретно с теми тридцатью уровнями игры то есть у них для каждого уровня есть штук пятьдесят-сто наборов входящих данных, которые заточены конкретно под этот уровень и, в частности, покрывают все исключительные случаи. когда игрок вводит программу - она "за кадром" проверяется на всех этих пятидесяти-ста вариантах, и выводит не только среднее время выполнения, но заодно и проверяется, на всех ли вариантах введённых данных она срабатывает то есть как тренажёр логики - игрушка замечательная, но совершенно к любой программе её так просто не пристроить (т.е. она не универсальная). для каждой задачи нужно вручную прописывать наборы входящей информации

Анатолий Левенчук · 8 ноября 2015

Комментарий

Этот реактор я видел, не впечатлило. А в этом ассемблере тебе дают сделать из простых команд что-то типа XOR (задание 17) -- и ты делаешь (хотя и думаешь при этом немного). Это очень похоже на собственно программирование в его классическом виде, учит какому-то ассемблеру. А химический реактор -- конечно, тоже программирование, но просто головоломка. Ничему не учит (хотя, конечно, показывает разнообразие вычислителей, но этого и так уже хватает).

Ответ на комментарий

Анатолий Левенчук · 8 ноября 2015

Комментарий

Курсы Кириенко точно так же устроены, имеют штук двадцать тестов, покрывающих все ситуации. Но они не выдают (по понятным причинам) метрики качества программы, просто говорят, сколько тестов пройдено из их общего количества. Я вполне готов платить неуниверсальностью, если на тридцати уровнях мой отрок поймёт, что решения могут быть качественные и некачественные -- и поймёт, что это не мои личные придирки, а объективные какие-то критерии качества программы. А дальше я попробую ему эти критерии качества программы предъявить в отношении его кода на Питоне. Замечу, что задачки в этом тренажёре такие, что выполнить их легко, а вот уложиться в предложенные число команд и число шагов программы -- это уже думать нужно. И это ничего, что думать нужно все 30 раз, и больше не дают. Будет у отрока чувство великого свершения (если до 30 уровня дотянет. Хотя на первые 15 уровней он всего где-то час потратил, пока игнорируя оптимизации -- но я его заставлю ещё пооптимизировать).

Ответ на комментарий

Имя не сохранено · 8 ноября 2015

Комментарий

У меня лично сложности там появились только на последних двух уровнях при таком, обычном ненапряжном прохождении. По поводу оптимизации, мне лично было влом. Ну то есть чтобы оптимизировать - там надо плотно сесть и загрузиться всем этим добром, при том, что от современного программирования логики оно (по моим ощущениям) достаточно далеко. То есть там больше времени проводишь в борьбе с недостаточным инструментарием, чем вот над самим программированием, логикой. То есть ну грубо говоря вот тебе банан и чайная ложка, у тебя протекла труба в ванной, давай посмотрим как быстро ты её починишь. Некоторые знания сантехники для решения такой проблемы требуются, но от работы сантехника такое вот далеко)

Ответ на комментарий