All streams
Search
Write a publication
Pull to refresh
5
0
Вася Кузнецов @kvas

User

Send message
О, то есть получается этот модуль вообще никому никогда не предлагали импортировать в нормальные приложения, и чуваки в твиттере либо не в теме либо специально FUD распускают. Вот так и возникают легенды про «другие языки, где всё ужасно».

Не исключено, что моя выборка Руби-проектов и Руби-программистов была нерепрезентативна, и моё убеждение про то, что в сообществе Руби больше одобряют магию и хитрые хаки, а в сообществе Питона больше заботятся о читаемости текста, не соответствует действительности. А вам, на основании вашего опыта, как кажется?
Понятно что библиотека маргинальная, и что все поняли что это была плохая идея (надо было ввести новый тип с другим поведением вместо того чтобы менять поведение обычных чисел). Тем не менее, сам факт что такой модуль смог попасть в стандартную библиотеку говорит о том, что в какой-то момент многие считали что это ок. И уже не так важно что больше они так не считают, историю растащили по Твиттерам и теперь куча людей думает что почти все программисты на Руби невменяемы.
Вот тут коллеги как раз подкинули пример забавной Руби-магии. Импортируем модуль из стандартной библиотеки и математика во всём интерпретаторе начинает работать иначе.
Да, в вашем примере это хорошая перегрузка, от которой код становится более читабельным и понятным. Более спорна перегрузка >> и << для складывания чего-нибудь в контейнер или очередь. А вот перегрузить + для добавления узла (или поддерева) в дерево — это уже весьма спорно, так как операция некоммутативна, а обычно + должен быть коммутативен (хотя конечно есть + для некоммутативной конкатенации строк, но к нему все уже более-менее привыкли).

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

С вашим другим комментарием я в основном согласен, кроме пожалуй частей про преимущества Руби перед другими языками. По-моему в плане самого языка Питон и Руби мало отличаются и если выбирать язык для проекта скорее имело бы смысл смотреть на доступные библиотеки и опыт команды. А если анализировать негатив и его причины — я думаю тут дело вообще не в языке, а в том как программисты из этих сообществ воспринимают друг друга. Это скорее социологический вопрос чем программистский.
Я бы назвал магией всё, что меняет базовую семантику языка или ожидаемое поведение стандартных классов. Например перекрытие арифметических операций, всякие __getattr__/__setattr__ в Питоне, метаклассы, манкипатчинг и т.п.

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

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

В итоге мы имеем весьма сходные языки, но сильно отличающиеся сообщества. Мне кажется Питонисты не одобряют культуру сообщества Руби а не язык как таковой.

Вот если бы какой-нибудь хороший человек, работающий в Гугл, слил все эти книги Wikileaks, а они, в свою очередь, передали бы их Library Genesis или какому-нибудь подобному проекту, это было бы счастливым концом всей истории. Так просто подумалось :)

Что мне нравится или не нравится вообще не важно. Идея в том что можно минусовать комментарий если я считаю что то, что в нем написано, неверно. Но это не повод минусовать карму, если человек не хамит, не переходит на личности и аргументирует свою позицию. Таким образом мы не наказываем людей за необычность их идей если они цивилизованно ведут дискуссию.

На лепре кстати эта проблема решается разделением рейтинга и кармы. Так можно минусовать комментарии если не согласен но это не влияет на карму. А карму минусовать именно "за поведение".

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

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

Да, я тоже думал о пропуске ходов. Например белые ходят пешкой квантово f2-f3 / f2-f4, а на следующем ходу конём g1-f3. Конь запутывается с пешкой и на первой доске остаётся на месте. Тем временем чёрные делают второй ход и на первой доске получается позиция где белые сходили один раз а чёрные два.

Проблема в том, что некоторые доски оказываются в позициях, которые невозможны в обычных шахматах. Но вообще вы правы, такая интерпретация правил тоже возможна.

Я почитал отчёт, на который тут ссылаются, там цифра в 0.1% взята из Stern Review. В Stern Review эта цифра действительно есть, но это грубая оценка сверху вероятности вымирания, которая им нужна для расчётов дискаунтинга. Они её просто берут с потолка и говорят "вероятность вымирания мала, возьмём например 0.1% в год". Получается что либо авторы "Global Catastrophic Risks 2016" сами не читали Стерна, либо специально его неверно процитировали чтобы раздуть панику. Сами решайте стоит ли им верить после этого.

Дзен-комментарий. Я согласен и по сути, но форма тут просто прекрасна!
Обычно лямбда или лямбда функция — это программистский слэнг, означающий «анонимная функция». Изначально это пошло из лямбда-исчисления, где вычисления представляются в виде лямбда-форм, которые по сути дела являются анонимными функциями. Во многих языках программирования ключевое слово lambda используется для определения анонимных функций, поэтому их стали называть лямбдами, иногда даже в языках где такого ключевого слова нет.

Стрелочные функции — это анонимные функции, так что да, их можно называть лямбдами. Но в JavaScript'е есть ещё обычные анонимные функции, которые тоже в общем-то лямбды, несмотря на их развесистый синтаксис. Возможно поэтому тут используется более специфичный термин «стрелочные функции».
Это прекрасно! С удовольствием почитал. Вам надо написать книгу про программу «Приап».
Чужих не берут в свой бизнес.

Поэтому выбрать профессию отличную от своей семьи в EU очень не просто.

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

Насчёт открыть свой бизнес — я знаю людей, которые открыли свой бизнес, и не знаю никого кто серьёзно хотел бы, но не смог открыть свой бизнес (опять же, рассматриваю людей с гражданством EU или видом на жительство, без этого согласен что будет сложно).

Не исключено что на юге Испании ситуация в корне отличается, но для всего Евросоюза ваше утверждение по-моему неверно.
Куда чужих не берут? И что свой открыть? Я сам просто живу в EU и никогда не слышал чтобы у кого-то тут были проблемы с выбором профессии (кроме разве что тех, у кого нет разрешения на работу).
Вроде есть, но зачем оно нам? Почему не использовать простой и понятный Unix, который в стопятьсот раз проще и не контролируется одной компанией с весьма сомнительными намерениями. Я понимаю люди делали всякие L4 и Plan9, двигали прогресс, но в случае с Windows, мне кажется что всему прогрессивному человечеству станет гораздо лучше когда мы пройдём этот печальный этап. Я не специалист по архитектуре Windows, и возможно где-то глубоко внутри неё и есть что-то разумное, доброе и вечное, но с точки зрения пользователя, администратора и разработчика я вижу сплошные проблемы и неудобства.
Космические корабли уже много лет бороздят просторы и всё такое, но к сожалению немалая часть человечества продолжает мучаться с виндой и прочим майкрософтовским говнософтом. Когда же уже это закончится наконец?

Я не в том смысле, что автор не молодец. Автор молодец, конечно, но как подумаешь сколько времени и сил можно было бы сэкономить если бы не «в корпоративном секторе Windows на сервере, да и на рабочих станциях — нередко обязательная программа».

Information

Rating
Does not participate
Location
Германия
Date of birth
Registered
Activity