Мы уже шестой день по кругу ходим.
Один мой бывший студент...
Ну так если обсуждать не предметно, а вместо этого апеллировать к студентам (у которых заведомо нет выбора, нет опыта) или к байкам про заказчиков N лет назад (объективность историй мало известна), то далеко не уедешь :)
мне не хотелось ничего, кроме как других задач, требующих низких затрат энергии (например, code review).
По мне так разбираться в чужом коде (особенно если ты ответственен за проект и не хочешь пропустить проблему на прод, и поэтому ревьюишь внимательно) куда более изнуряющая задача, чем говнокодить самому.
Я когда смотрю на все эти "v_10":"s_10, совершенно ничего не понимаю. И я не один такой здесь. Выглядит как запутанный write only код. Код (в идеале!) должен читаться сверху вниз как книга, тут же вообще не пойми что. Может быть, ваши студенты (часто упоминаете) и работали как-то с этим — но вы же их преподаватель, и у них как бы нет выбора? С горем пополам разобраться можно, но это не стоит затраченных усилий.
Важно или не важно. Не уходите от темы.
Тема: Алгоритм)
Если взять среднестатического заказчика и его требования, то он скорее будет хотеть не алгоритмы (которые он мало понимает), а возможность взаимодействия с сущностями системы (банальный crud), обвешанные инвариантами и разграничениями по правам доступа. Т.е. тут важнее данные и их взаимосвязи с представлением, а алгоритмов почти и нет. Если же заказчик прошаренный и понимает сложные алгоритмы, не проще ли ему сразу в нормальный код смотреть? Про документацию тоже момент — есть же понятие самодокументирующегося кода — если писать правильным структурированным кодом и выделять время на плановый рефакторинг, то поддержка и развитие кода не есть невыполнимая задача. Тут скорее нужно подходить со стороны процессов в организации: есть ли код-ревью, есть ли защита архитектуры/техревью, внедрение правильных практик программирования, есть ли человек, ответственный за транслирование запросов заказчика в команду разработчиков, выделяется ли время на рефакторинг. У FSM есть свои применения, но фанатично их везде вставлять это фанатизм. Вообще, таких идей-фикс много бывает разных, например, Егор Бугаенко зациклился на идее "всё есть объект", тоже доказывает уникальность и silver-bullet-ность идеи :)
Ну не совсем. Если взять нового питониста, он-то более-менее разберётся в незнакомом коде на Питоне, без посторонней помощи (может, и не сразу). Но вот если новый программист увидит VOAP, он только почещет репу "что это вообще такое" :)
Откуда уверенность в том, что это проще и все сразу быстро разберутся? Кроме вас кто-то ещё с этим серьёзно работал? В собственную "родную" кодовую базу-то проще делать правки, в каком виде бы она ни была записана. Вам приходилось работать с чужим VOAP-кодом?
заказчик звонит мне и говорит, что он тут посмотрел внимательно алгоритм и подправил чуток
Ну ведь смотря какая правка. Если плюс на минус поменять, это же тривиально в любом коде, например.
Я более чем уверен, что заказчика проще научить Питону (или хотя бы псевдокоду с синтаксисом Питона), чем вот этому вот спагетти из гламурных декларативных goto, красиво названных v-agent oriented programming.
По сравнению с 90-ми фундамент сильно поменялся. Тогда были мастера, сейчас конвейер. Писать по умному не надо, надо укладываться в сроки и строго соблюдать ТЗ.
Не могу согласиться. Сравните качество кода тогда и сейчас. Мое ощущение, что в целом качество сильно повысилось, стали применяться здоровые практики. Раньше же в целом писали какой-то вырвиглазный ад. Сейчас старый код выглядит нелепо.
Мне это напоминает попытки остановить реку руками, образно говоря. Не думаю, что Китай можно уже как-то остановить, без качественных изменений внутри самого Китая.
А что, если научить детей делать "хорошие" игры, чтобы они могли и играть, и удивлять своих друзей. Сделать их Творцами и Повелителями своих собственных Миров
Представители «Сбера» пояснили РБК, что СБ банка проверила этот инцидент и «никакой утечки данных или банковской тайны из банка в данном случае не было»
Такие заявления можно смело игнорировать, потому что у нас, к сожалению, отсутствует культура признания своих ошибок. Будут до последнего как болванчики всё отрицать, даже если все факты на лицо. Что политики, что госкомпании. "Проблем не обнаружено, всё хорошо, проходите мимо". Это совершенно непродуктивно и, я бы сказал, вообще подрывная деятельность во вред стране.
Ну вот я еще помню, когда правительство США запретило Kaspersky Antivirus для использования в правительстве после случая, когда работник NSA пилил эксплойт, это задетектила эвристика установленного Касперского и отослала шелл-скрипт в Kaspersky Lab для ручного исследования подозрительного кода. Инфа об эксплойте была опубликована и раздулся скандал, якобы Касперский специально тырит секретные данные США для Кремля. Потом, правда, оказалось, что отправление подозрительных программ на сервера Касперского отключается галочкой в настройках и это всё есть в доках, и реально просто обосрался сотрудник НСА, но всем уже было плевать — враг найден, тем более что Евгений Касперский учился при ФСБ, а тут как раз все ключевые слова найдены :) Поэтому и говорю, что чаще это банальная глупость, чем злой умысел.
Есть такая поговорка, "Никогда не приписывайте злому умыслу то, что вполне можно объяснить глупостью". Высшее руководство США абсолютно некомпетентно в современных технологиях/реалиях, у них та же сенильная геронтократия, что и у нас. Посмотрите слушания Конгресса по делу с участием Цукерберга. Там перлы вроде "Мистер Цукерберг, это правда, что Эпл может читать мою переписку на этой штуке?" (показывает смартфон) "Господин сенатор, во-первых, я из Фейсбук, а во-вторых, у вас в руках Самсунг" (вольный пересказ). Я не удивлюсь, что большое число санкций делается по методике бездумного нахождения ключевых слов, чтобы отчитаться о сдерживании очередного картонного врага.
Странный вышел перевод.
Уж скорее "пока метод не закончит выполнение".
Ну так если обсуждать не предметно, а вместо этого апеллировать к студентам (у которых заведомо нет выбора, нет опыта) или к байкам про заказчиков N лет назад (объективность историй мало известна), то далеко не уедешь :)
Вот этот пункт смутил:
По мне так разбираться в чужом коде (особенно если ты ответственен за проект и не хочешь пропустить проблему на прод, и поэтому ревьюишь внимательно) куда более изнуряющая задача, чем говнокодить самому.
Я когда смотрю на все эти "v_10":"s_10, совершенно ничего не понимаю. И я не один такой здесь. Выглядит как запутанный write only код. Код (в идеале!) должен читаться сверху вниз как книга, тут же вообще не пойми что. Может быть, ваши студенты (часто упоминаете) и работали как-то с этим — но вы же их преподаватель, и у них как бы нет выбора? С горем пополам разобраться можно, но это не стоит затраченных усилий.
Если взять среднестатического заказчика и его требования, то он скорее будет хотеть не алгоритмы (которые он мало понимает), а возможность взаимодействия с сущностями системы (банальный crud), обвешанные инвариантами и разграничениями по правам доступа. Т.е. тут важнее данные и их взаимосвязи с представлением, а алгоритмов почти и нет. Если же заказчик прошаренный и понимает сложные алгоритмы, не проще ли ему сразу в нормальный код смотреть? Про документацию тоже момент — есть же понятие самодокументирующегося кода — если писать правильным структурированным кодом и выделять время на плановый рефакторинг, то поддержка и развитие кода не есть невыполнимая задача. Тут скорее нужно подходить со стороны процессов в организации: есть ли код-ревью, есть ли защита архитектуры/техревью, внедрение правильных практик программирования, есть ли человек, ответственный за транслирование запросов заказчика в команду разработчиков, выделяется ли время на рефакторинг. У FSM есть свои применения, но фанатично их везде вставлять это фанатизм. Вообще, таких идей-фикс много бывает разных, например, Егор Бугаенко зациклился на идее "всё есть объект", тоже доказывает уникальность и silver-bullet-ность идеи :)
Ну не совсем. Если взять нового питониста, он-то более-менее разберётся в незнакомом коде на Питоне, без посторонней помощи (может, и не сразу). Но вот если новый программист увидит VOAP, он только почещет репу "что это вообще такое" :)
Откуда уверенность в том, что это проще и все сразу быстро разберутся? Кроме вас кто-то ещё с этим серьёзно работал? В собственную "родную" кодовую базу-то проще делать правки, в каком виде бы она ни была записана. Вам приходилось работать с чужим VOAP-кодом?
Ну ведь смотря какая правка. Если плюс на минус поменять, это же тривиально в любом коде, например.
Я более чем уверен, что заказчика проще научить Питону (или хотя бы псевдокоду с синтаксисом Питона), чем вот этому вот спагетти из гламурных декларативных goto, красиво названных v-agent oriented programming.
Del
Не могу согласиться. Сравните качество кода тогда и сейчас. Мое ощущение, что в целом качество сильно повысилось, стали применяться здоровые практики. Раньше же в целом писали какой-то вырвиглазный ад. Сейчас старый код выглядит нелепо.
Есть твари дрожащие, а есть те, кто право имеет.
Мне это напоминает попытки остановить реку руками, образно говоря. Не думаю, что Китай можно уже как-то остановить, без качественных изменений внутри самого Китая.
Почти все типажи отрицательные. Похоже, автор статьи занимается банальным самоутверждением, расходимся :)
Чтобы выросли диктаторами-самодурами? :)
Такие заявления можно смело игнорировать, потому что у нас, к сожалению, отсутствует культура признания своих ошибок. Будут до последнего как болванчики всё отрицать, даже если все факты на лицо. Что политики, что госкомпании. "Проблем не обнаружено, всё хорошо, проходите мимо". Это совершенно непродуктивно и, я бы сказал, вообще подрывная деятельность во вред стране.
Ну вот я еще помню, когда правительство США запретило Kaspersky Antivirus для использования в правительстве после случая, когда работник NSA пилил эксплойт, это задетектила эвристика установленного Касперского и отослала шелл-скрипт в Kaspersky Lab для ручного исследования подозрительного кода. Инфа об эксплойте была опубликована и раздулся скандал, якобы Касперский специально тырит секретные данные США для Кремля. Потом, правда, оказалось, что отправление подозрительных программ на сервера Касперского отключается галочкой в настройках и это всё есть в доках, и реально просто обосрался сотрудник НСА, но всем уже было плевать — враг найден, тем более что Евгений Касперский учился при ФСБ, а тут как раз все ключевые слова найдены :) Поэтому и говорю, что чаще это банальная глупость, чем злой умысел.
Есть такая поговорка, "Никогда не приписывайте злому умыслу то, что вполне можно объяснить глупостью". Высшее руководство США абсолютно некомпетентно в современных технологиях/реалиях, у них та же сенильная геронтократия, что и у нас. Посмотрите слушания Конгресса по делу с участием Цукерберга. Там перлы вроде "Мистер Цукерберг, это правда, что Эпл может читать мою переписку на этой штуке?" (показывает смартфон) "Господин сенатор, во-первых, я из Фейсбук, а во-вторых, у вас в руках Самсунг" (вольный пересказ). Я не удивлюсь, что большое число санкций делается по методике бездумного нахождения ключевых слов, чтобы отчитаться о сдерживании очередного картонного врага.
Кроме векторизации и аллокации регистров, где ещё человек может обойти компилятор?
Имею в виду без jit
PHP 7+ и в режиме интерпретации быстрее Python'а