кандидат отвернулся в угол и отвечал на сложные технические вопросы
Читал историю, как семья усыновила неблагополучного подростка из тюрьмы. За обедом он сразу хватал со стола свою тарелку с едой, отворачивался с ней к стене и быстро поглощал содержимое. Несколько месяцев заняло у него отвыкание от этой привычки. Может, и кандидат прошёл через какие-то специфические места лишения свободы?
На интервью как-то, посреди вполне адекватного технического диалога, внезапно спрашивают: «А вы кто по национальности?» Я от неожиданности впадаю в лёгкий ступор: «Русский… — Да? У вас мало русского во внешности.» Я от неожиданности впадаю в следующую стадию ступора — мне всегда казалось, что у меня самая что ни на есть рязанская рожа, в которой, наоборот, трудно найти что-нибудь нерусское. «Да вы не подумайте, мы тут не националисты какие-нибудь, — говорят интервьюеры, — просто хотели посмотреть, как вы поведёте себя в неловкой ситуации. Так-то у нас тут очень интернациональный коллектив — вот и Рахим есть, и Абдулла, и Ли Суй Хуэй...»
Вроде, пишут, флаг линтера есть, флага компилятора нет. Но это не точно, точнее не могу сказать, мои попытки изучать Rust были весьма вялые и спорадические.
Есть, конечно — даже Штаты, даже небо, даже Аллах там, судя по их публицистике и кинематографу, присутствуют комплексы национальной неполноценности, усугубленные комплексами национального величия (и этим они похожи на Россию): «ааа, мы такие рас3.14здатые все, а сами не можем сделать нормальный автомобиль, не можем собрать нормальный телевизор». В Японии (при том, что нет проблем ни с изготовлением автомобилей, ни со сборкой телевизоров) полно компаний и организаций с названиями вроде «Ниппон-то» да «Ниппон-се» (если на местный манер), либо «Japanese Something of Japan» (если на иностранный манер).
не способна справиться с «тут закрываются сразу 3 блока, вам какой?»
В PyCharm, последовательно нажимая Ctrl-W, выделяем сначала «самый внутренний» блок, затем блок уровнем выше, затем ещё выше, и т. д. — это, думаю, должно быть удобнее просмотра попапа с показом начал. Вообще же, если редактор умеет правильно фолдить питоновский код, значит, структуру блоков он уже понимает, и задача написания плагина, который всё то же сделает одним хоткеем и без фолдинга должна быть достаточно тривиальной.
Этот случай не имеет отношения к синтаксису: это семантика типов и операций с ними.
Ой, да назовите, как хотите, у меня нет настроения заниматься буквоедством — семантика так семантика. Я про ошибки вида «структуру данных поменял, в десяти обработчиках исправил, в одиннадцатом забыл», и т. д., вплоть до банальных опечаток в именах переменных. IDE и линтеры, вроде бы, что-то ловят, но «не всё, конечно» — задолбать задолбают, а гарантий никаких.
У меня почему-то проблем с визуальным разделением блоков как раз нет. Code folding работает, если что, во всех адекватных редакторах — можно свернуть блок, выделить строку, развернуть блок — выделенным окажется и всё содержимое. Навигацию хоткеями по блокам я, кажется, тоже где-то видел, но вот не помню, где именно (и правда ли видел).
Странно, ни разу не видел такого. Можно примеры?
Дык как раз всякая мелочь типа 2 + «3», когда код рефакторили, рефакторили, да не вырефакторововали. В итоге получается как в известной шутке: «Вы раз за разом стреляете себе в ногу, но всё время попадаете между пальцами.»
Имеется в виду необходимость писать с кучей именованных параметров со значениями по умолчанию?
Ну либо внутри функции парсить args и kwargs. Либо даже просто один-два параметра надо переопределить (чтобы работало и для 2 + 3, и для «2» + «3») — проверять типы переменных вручную в рантайме.
нужно разбираться в структурах данных и алгоритмах
Нет. (...) Нужно знать, что оно есть и найти правильную библиотеку.
Так а где противоречие? Понять, что именно тебе нужно — это уже означает разбираться в вопросе. Зачастую достаточно даже меньшего — примерно представлять, в каком направлении копать, а далее найти нужное решение — дело техники и нескольких минут: идёшь на форум и пишешь «нужен компонент, который сажает льва в клетку»
В питоне, в переменной может быть все что угодно. Сейчас там число, чуть позже строка, а потом массив.
Не так. В Питоне переменная, по-сути, является нетипизированной ссылкой на строго типизированный объект. Т. к. эта «ссылка» нетипизированна, её в любой момент можно перенаправить на строго типизированный объект совершенно другого типа. Возможно, вы именно об этом и пишете далее («объект владеет переменной»), но тут уж, скорее, дело в отсутствии объявления переменных как такового. Впрочем, строго статически типизированный Rust позволяет наобъявлять что-то вроде
let x = 3;
let x = "blah";
И ничего, как-то живут с этим.
В смысле как dynamic_cast с++?
В смысле, в языке с нестрогой типизацией вы запросто можете сложить вместе строку и массив целых чисел. Например, Javascript:
let msg = 'fuck my brain' + [1, 2]
Питон такой содомии, всё же, не допускает.
Питон хорош для маленьких поделок, на один, два, три листа кода. А вот с объемными проектами гарантированно будут проблемы.
Да ну, нет. Объёмные проекты требуют дисциплины, пиши их хоть на чём. Питон, конечно, позволяет некоторый пофигизм, по-сравнению с С++ каким-нибудь, но с «объёмными проектами» там встают проблемы уже несколько иного порядка, на фоне которых все эти вот мелочи вроде «переменная владеет объектом или объект владеет переменной» вообще ни о чём.
Неудобно как неудобная обувь.
Пишу последние несколько лет, в основном, на Питоне. Мне, наоборот, удобно — даже если заранее знаю, что надо будет С++, зачастую мне быстрее и удобнее всё равно сперва написать прототип на Питоне. Что бесит, несмотря на мою любовь к Питону?
Форматирование. К нему привыкаешь, без него Питон не был бы Питоном, оно снимает вопрос, оставлять фигурную скобку или переносить (но при этом усугубляет холивар «табы vs. пробелы»).
Размытая и неявная грань между «ссылкой» и «значением». Некоторые объекты (большинство) передаются по ссылке всегда. Некоторые объекты передать по ссылке нельзя вообще никак.
Сам синтаксис языка провоцирует совершать множество мелких ошибок, которые в C++ или Java спалил бы еще IntelliSense. А тут давай, до свиданья, в смысле, до рантайма.
Иногда не хватает перегрузки функций — то, что легко и изящно делается на этапе объявления в таком неуклюжем языке, как C++, в минималистичном Питоне выглядит каким-то извращением.
insight
(the ability to have) a clear, deep, and sometimes sudden understanding of a complicated problem or situation. «It was an interesting book, full of fascinating insights into human relationships.»
По-моему, автор поста несколько чересчур вольно употребил в нём понятие «инсайты», если принять во внимание, что для аудитории в описываемых ситуациях не было ничего сложного. Но смысл всё же ясен: вот в повествовании изложены факты, и все они по-отдельности мне понятны, и сопоставить одно с другим я в состоянии, и… и чо?.. и ничо, картинка не складывается, общего понимания нет. Я думал-думал, ходил вокруг, курил контекст, читал дополнительную литературу и внезапно словил инсайт и понял, всё сложилось: «Блин, действительно, не надо было банкомату брать прикуп на мизере!». А современник Пушкина, какой-нибудь граф Орлов-Белобровов понял бы всё то же самое, не успев ещё дочитать абзац, и даже не удивился бы — ну, разве что, тому, что кому-то это было не очевидно: «Что, правда три дня над этим думали? Да вы, сударь, балбесъ.» Потому что у графа этот «инсайт» был изначально. Хотя для него он и не особо-то инсайт. А «inside joke» — это несколько другое. I got an insight into their relationships, and now I can understand their inside jokes.
Это когда автору не нужно описывать ситуацию, потому что одной-двумя простыми фразами можно как бы сослаться на уже сформированный у читателя гештальт.
Ррротападъём! Ррравняйсь! Смирррна! Вольна. К выполнению научно исследовательских работ пррриступить!.. Рядовой Пупкин, почему иконки на рабочем столе не выровнены? Равняйсь-смирна! Все достали нитку, будем выравнивать иконки. — Товарищ старший лейтенант, их можно автоматически выровнять в два клика. — Отставить. Мне нужно не чтобы иконки были ровные, а чтобы вы зае**лись!
О, прикольно. Можно ещё попробовать прикрепить ко всему этому тепловизор и совместить картинку, типа Хищник. Я как-то пытался присобачить SeekThermal на HoloLens, получилось не очень, но как раз вот кошек и пр. живность оно палит на ура (конечно, не на нагретом за день асфальте и т. п.).
За право употребления данной цитаты давно пора ввести обязательный экзамен по истории британского колониализма, и потом в госучреждении квоту получать: «Я, нижеподписавшийся имярек, прошу разрешить мне употребить цитату про свободу и безопасность в статьях, текстах и постах с (дата) по (дата) в кол-ве 5 (пяти) раз. Обязуюсь цитировать только в официально утверждённом переводе, без сокращений и упущений. С ответственностью за искаженное либо неполное цитирование ознакомлен. Иначе да обрушится на мой нежный зад карающая длань правосудия.»
Надо как-то усугубить дополнительными религиозными терминами: пост (это, наверное, когда зарплату сокращают или задерживают), молитва (типа стандап-митинга?), исповедь (беседа один на один), причастие (большой митинг, когда все причащаются корпоративных ценностей), отпевание (зачитывание приказа об увольнении), соборование (когда под присмотром охранника собираешь личные вещи в коробку)… Вызывает менеджер подчинённого: «Ну что, чадо, раб корпоративный, предавался ли греху и соблазну, давал ли в афедрон?» Тот, потупя глаза: «Грешен, батюшка менеджер...» — «Ну, что же, вот тебе отходная...» — (вызывает охранников) — «Отпойте раба божия на выход из храма.»
Ну, не знаю. С одной стороны, приходится по чём зря гуглить Фаренгейта. С другой стороны, учитывая потуги авторов оригинала на художественность изложения, кажется вполне уместным оставить в тексте оригинальные единицы. «За двести миль оттуда, в Национальной Лаборатории Внутренних Исследований, учёные погрузили анальный зонд на три фута девять дюймов и намерили 37 °F. „Срань господня!“ — восклицает Джонни, залпом осушая галлон виски.» «Купец Толстопузов проехал три версты до трактира, где откушал пол-пуда икры.» «Флагман королевского флота Её Императорского Величества прошёл триста ярдов со скоростью восемь узлов.» Переведи всё это в SI, и сразу колорит пропадёт.
Ох, этот тошнотворный американский стиль повествования, согласно которому оное повествование надо столь же щедро, сколь и бессмысленно пересыпать ничего не значащими именами и географическими названиями…
«Послушай, парень,» — говорит Крэйг «Крэйзи» МакНафферсон Jr., третий вице-президент по связям и сношениям компании Мазерфакерз Вери Хеви Индастриз из Маунтин-Даунтин в Южной Дакоте, Майклу О'Майгоду, ковбою, чьё ранчо расположено возле деревеньки Шит-Крик в Северной Каролине, — «я надеру тебе задницу.» Столкнувшись со столь необычной проблемой, Майкл обратился за консультацией к Брэду Пэрэноиду, адьюнкт-профессору клинической патопсихологии из госпиталя Джона Гопникса в Миннесоте. «Когда собираешься надрать кому-то задницу,» — объясняет ассистент профессора, доцент Батч Баттхол, из своего кабинета на третьем этаже восьмого корпуса западного кампуса с видом на бассейн и кафетерий — «всё может пойти не так. Возможно, тебе самому надерут задницу.»
Читал историю, как семья усыновила неблагополучного подростка из тюрьмы. За обедом он сразу хватал со стола свою тарелку с едой, отворачивался с ней к стене и быстро поглощал содержимое. Несколько месяцев заняло у него отвыкание от этой привычки. Может, и кандидат прошёл через какие-то специфические места лишения свободы?
На интервью как-то, посреди вполне адекватного технического диалога, внезапно спрашивают: «А вы кто по национальности?» Я от неожиданности впадаю в лёгкий ступор: «Русский… — Да? У вас мало русского во внешности.» Я от неожиданности впадаю в следующую стадию ступора — мне всегда казалось, что у меня самая что ни на есть рязанская рожа, в которой, наоборот, трудно найти что-нибудь нерусское. «Да вы не подумайте, мы тут не националисты какие-нибудь, — говорят интервьюеры, — просто хотели посмотреть, как вы поведёте себя в неловкой ситуации. Так-то у нас тут очень интернациональный коллектив — вот и Рахим есть, и Абдулла, и Ли Суй Хуэй...»
Вроде, пишут, флаг линтера есть, флага компилятора нет. Но это не точно, точнее не могу сказать, мои попытки изучать Rust были весьма вялые и спорадические.
Есть, конечно — даже Штаты, даже
небо, даже Аллахтам, судя по их публицистике и кинематографу, присутствуют комплексы национальной неполноценности, усугубленные комплексами национального величия (и этим они похожи на Россию): «ааа, мы такие рас3.14здатые все, а сами не можем сделать нормальный автомобиль, не можем собрать нормальный телевизор». В Японии (при том, что нет проблем ни с изготовлением автомобилей, ни со сборкой телевизоров) полно компаний и организаций с названиями вроде «Ниппон-то» да «Ниппон-се» (если на местный манер), либо «Japanese Something of Japan» (если на иностранный манер).В PyCharm, последовательно нажимая Ctrl-W, выделяем сначала «самый внутренний» блок, затем блок уровнем выше, затем ещё выше, и т. д. — это, думаю, должно быть удобнее просмотра попапа с показом начал. Вообще же, если редактор умеет правильно фолдить питоновский код, значит, структуру блоков он уже понимает, и задача написания плагина, который всё то же сделает одним хоткеем и без фолдинга должна быть достаточно тривиальной.
Ой, да назовите, как хотите, у меня нет настроения заниматься буквоедством — семантика так семантика. Я про ошибки вида «структуру данных поменял, в десяти обработчиках исправил, в одиннадцатом забыл», и т. д., вплоть до банальных опечаток в именах переменных. IDE и линтеры, вроде бы, что-то ловят, но «не всё, конечно» — задолбать задолбают, а гарантий никаких.
У меня почему-то проблем с визуальным разделением блоков как раз нет. Code folding работает, если что, во всех адекватных редакторах — можно свернуть блок, выделить строку, развернуть блок — выделенным окажется и всё содержимое. Навигацию хоткеями по блокам я, кажется, тоже где-то видел, но вот не помню, где именно (и правда ли видел).
Дык как раз всякая мелочь типа 2 + «3», когда код рефакторили, рефакторили, да не вырефакторововали. В итоге получается как в известной шутке: «Вы раз за разом стреляете себе в ногу, но всё время попадаете между пальцами.»
Ну либо внутри функции парсить args и kwargs. Либо даже просто один-два параметра надо переопределить (чтобы работало и для 2 + 3, и для «2» + «3») — проверять типы переменных вручную в рантайме.
Так а где противоречие? Понять, что именно тебе нужно — это уже означает разбираться в вопросе. Зачастую достаточно даже меньшего — примерно представлять, в каком направлении копать, а далее найти нужное решение — дело техники и нескольких минут
: идёшь на форум и пишешь «нужен компонент, который сажает льва в клетку»Не так. В Питоне переменная, по-сути, является нетипизированной ссылкой на строго типизированный объект. Т. к. эта «ссылка» нетипизированна, её в любой момент можно перенаправить на строго типизированный объект совершенно другого типа. Возможно, вы именно об этом и пишете далее («объект владеет переменной»), но тут уж, скорее, дело в отсутствии объявления переменных как такового. Впрочем, строго статически типизированный Rust позволяет наобъявлять что-то вроде
И ничего, как-то живут с этим.
В смысле, в языке с нестрогой типизацией вы запросто можете сложить вместе строку и массив целых чисел. Например, Javascript:
Питон такой содомии, всё же, не допускает.
Да ну, нет. Объёмные проекты требуют дисциплины, пиши их хоть на чём. Питон, конечно, позволяет некоторый пофигизм, по-сравнению с С++ каким-нибудь, но с «объёмными проектами» там встают проблемы уже несколько иного порядка, на фоне которых все эти вот мелочи вроде «переменная владеет объектом или объект владеет переменной» вообще ни о чём.
Пишу последние несколько лет, в основном, на Питоне. Мне, наоборот, удобно — даже если заранее знаю, что надо будет С++, зачастую мне быстрее и удобнее всё равно сперва написать прототип на Питоне. Что бесит, несмотря на мою любовь к Питону?
А хрен его знает. Но звучит хорошо, заумно, будучи употреблено как метонимия в контексте дискурса.
По-моему, автор поста несколько чересчур вольно употребил в нём понятие «инсайты», если принять во внимание, что для аудитории в описываемых ситуациях не было ничего сложного. Но смысл всё же ясен: вот в повествовании изложены факты, и все они по-отдельности мне понятны, и сопоставить одно с другим я в состоянии, и… и чо?.. и ничо, картинка не складывается, общего понимания нет. Я думал-думал, ходил вокруг, курил контекст, читал дополнительную литературу и внезапно словил инсайт и понял, всё сложилось: «Блин, действительно, не надо было банкомату брать прикуп на мизере!». А современник Пушкина, какой-нибудь граф Орлов-Белобровов понял бы всё то же самое, не успев ещё дочитать абзац, и даже не удивился бы — ну, разве что, тому, что кому-то это было не очевидно: «Что, правда три дня над этим думали? Да вы, сударь, балбесъ.» Потому что у графа этот «инсайт» был изначально. Хотя для него он и не особо-то инсайт. А «inside joke» — это несколько другое. I got an insight into their relationships, and now I can understand their inside jokes.
Ррротападъём! Ррравняйсь! Смирррна! Вольна. К выполнению научно исследовательских работ пррриступить!.. Рядовой Пупкин, почему иконки на рабочем столе не выровнены? Равняйсь-смирна! Все достали нитку, будем выравнивать иконки. — Товарищ старший лейтенант, их можно автоматически выровнять в два клика. — Отставить. Мне нужно не чтобы иконки были ровные, а чтобы вы зае**лись!
Тов. Сталин: (смотрит на фраги) «Про**али раш. Всё ясно. Некст. Я афк.»
Фюрер *НСДАП*: «ГГ изи.»
Тов. Сталин: «Раки, хватит фидить!»
Тов. Жуков: «Всё норм, я затащу.»
Фюрер *НСДАП*: «ЛОЛ!»
Красноармейцы: «Да они там, по ходу, читеры?»
Тов. Жуков: «Пацаны, фармим, мы сильнее в лейте.»
Тов. Сталин: «Раки, хватит фидить!!!»
Фюрер *НСДАП*: (смотрит на фраги) «Всё ясно. Некст. Я афк.»
Немцы: «Да он там, по ходу, грифер?!»
Тов. Жуков: «ГГ.»
Тов. Сталин: «ГГ.»
Немцы: «Киньте репорт Фюреру. Сука, слил катку.»
давал ли в афедрон?» Тот, потупя глаза: «Грешен, батюшка менеджер...» — «Ну, что же, вот тебе отходная...» — (вызывает охранников) — «Отпойте раба божия на выход из храма.»«Послушай, парень,» — говорит Крэйг «Крэйзи» МакНафферсон Jr., третий вице-президент по связям и сношениям компании Мазерфакерз Вери Хеви Индастриз из Маунтин-Даунтин в Южной Дакоте, Майклу О'Майгоду, ковбою, чьё ранчо расположено возле деревеньки Шит-Крик в Северной Каролине, — «я надеру тебе задницу.» Столкнувшись со столь необычной проблемой, Майкл обратился за консультацией к Брэду Пэрэноиду, адьюнкт-профессору клинической патопсихологии из госпиталя Джона Гопникса в Миннесоте. «Когда собираешься надрать кому-то задницу,» — объясняет ассистент профессора, доцент Батч Баттхол, из своего кабинета на третьем этаже восьмого корпуса западного кампуса с видом на бассейн и кафетерий — «всё может пойти не так. Возможно, тебе самому надерут задницу.»