Pull to refresh
63
0

Разработчик

Send message
Послушайте, я же не многого прошу. Просто пускай язык перестанет пытаться исправлять ошибки, которые допустил я.

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

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

Ну то есть, я конечно не против умного поведения, но тогда такое поведение должно быть либо более менее безопасным, либо хотя бы интуитивно предсказуемым. А у JS эта граница похоже плохо откалибрована.
А частичное отключение автопилота при повороте штурвала на Airbus A310 как вам?

Никак. Я в этом ничего не понимаю. Я не знаю, тривиальная это вещь, или нет. Я не знаю, принято так на других самолетах, или нет. Я не знаю, интуитивно это для пилота, или нет.

Извините, не могу ответить.
Это поведение float.

Это поведение float в JS.

Правильное поведение при переполнении чего либо выбросить ошибку переполнения.

При сложении [] + {} правильное поведение — это выбросить ошибку.

Было бы даже лучше, если бы функция sort выдавала ошибку сортировки чисел без указания метода сортировки, чем сортировала их по умолчанию как строки.

И т. д.

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

Ну то есть, если я покупаю автомобиль, я не хочу читать инструкцию, как пользоваться дверной ручкой, стеклоподъемниками или дворниками. Я хочу выполнить интуитивно понятные действия и получить предсказуемый результат.

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

В таком случае, я объясню мораль шутки, которую процитировал выше. Различий так много, что это примерно как спросить «чем математика отличается от литературы?». Проще перечислить сходства, чем различия.

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

Поэтому нет, примеров не будет. Скажу одно: если вы не испытываете дефицита функционала и настроек, работая в хроме, вивильди вам не нужен, и может даже покажется говном. Но если вы искушенный адепт старой оперы, то попробовать стоит.

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

Сейчас у меня открыто 4 изолированных инстанции вивальди (для работы, серфинга, соцсетей, чатов и видео) с общим количеством вкладок около 80. Ничего вроде бы не глючит. Оформление браузеров настроено разным цветом для удобства, разные настройки, разные наборы расширений тоже с разными настройками. Например в браузере для серфинга включены визуальные вкладки и на всех сайтах принудительно черный CSS, а в браузере для работы настроен прокси сервер.

Конкретные примеры можно?

Вспомнил шутку:
— чем трактор отличается от помидора?
— помидор красный, а у трактора двери открываются наружу


Когда года 4 назад я пересел на вивальди, на тот момент, хром даже элементарно сессии вкладок сохранять не умел из коробки. Сейчас разрыв функционала и обилия настроек только вырос.
Зачем плодить одинаковые браузеры с недоделками?

Затем, что голый хром по функционалу недалеко ушел от кухонной кастрюли. Вивильди же — настоящая мультиварка. Хром, даже обвесив расширениями, не сможет сравниться с вивальди.
Я понимаю, что это не ваши соображения, но тем не менее отвечу на них потенциальным читателям.

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

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

За то у меня был конструктор такой металлический с дырками и гайками, из которого можно было собрать только паровоз или какую-нибудь тележку. Эти неисчерпаемые глубины кастомизации навсегда заложили травму в мое детское неокрепшее сердце. Если бы у меня в детстве был майнкрафт, я бы смог в большей степени раскрыть свой творческий потенциал. Но я жевал гудрон без хлеба.

Сейчас, по сути, первое поколение, детей, которым «не скучно»

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

Никогда не понимал этих ностальгирующих, скучающих по тем временам фанатиков.

Я бегал по стройкам, жевал гудрон, прыгал с крыш в сугробы, катался с горки, играл в футбол, строил шалаши, кричал друзьям в окна «вынеси попить», у половины не было городских телефонов, приходилось идти к ним пешком, стучать в дверь со словами «а Миша выйдет?». Любая игра в войнушку выглядела так же тупо и скучно, как плавание в бассейне без воды.

Чтобы как то спастись от этой скуки, мы придумывали и вырезали из картона настольные игры. Поскольку социальных сетей и закладок с репостами не было, у нас была тетрадка с анекдотами, которая ходила по классу, и люди интересные анекдоты переписывали себе (в свои тетрадки) — жалкое зрелище.

Это было ужасно. Всем этим я занимался от скуки, потому что ничего другого не было. Я завидую современным детям, что у них есть такие интересные развлечения и средства коммуникаций.
Я тот корреспондент, из-за которого прочие вынуждены держать скайп.
Ух ты, обучите и меня такому пафосу. А то надоели все эти новомодные мессенджеры.
Возможно ещё стоит регулярные выражения в поиск добавить… Когда-нибудь.
Это вообще моя мечта.
В планах по прежнему нет возможности настраивать прокси, не меняя системные настройки?
можно использовать аргументы командной строки
Интересно, когда пройдет мода в КДПВ класть фотку тонущего контейнеровоза в постах про Kubernetes.
Хотя, в команде можно договориться

Так и вижу ситуацию, как команда разработчиков договаривается: — эй, ребята, а давайте отныне не будем делать отступы в коде, по скобочкам же все равно все понятно?

Какой-то перл не требует отступов, хоть в 1 строку пиши.
А вместо отступов нужно ставить скобочки, точки с запятой и доллары. Так себе замена. Кстати вот вам строчка из питона, которая не вызовет ошибку:
print(1); print(2); print(3)
Выглядит с моей точки зрения чрезвычайно богомерзко, но возможно это поможет вам, когда будете в очередной раз редактировать код с планшета.

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

Так вот — абсолютно во всех программах стандартом де-факто для встроенного скриптования является тот самый Питон
Кстати, это повод задуматься. Тот же LUA проще встраивается в любой инструмент, но почему-то профессионалы выбрали именно питон.

И вот есть иногда задача (вида — автоматически распаковать лежащие на стеке строки), взял, скопировал скрипт для решения с форума, а он ругается.
У меня были похожие проблемы с другими языками. Бывает хочешь скопировать листинг кода, а там строки пронумерованы, и нет кнопочки скопировать сырой текст. Или скопировал листинг, а там вместо кавычек апострофы. В обоих случаях интерпретатор ругается, но правильно ли винить языки программирования, что их синтаксис недостаточно опционален?

Оказывается, нужно было не табы, а 4 пробела.

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

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

Согласен, что ваш паттерн использования питона очень далек от разработки, и сложно таким образом оценить все преимущества. Но раз для вас эта проблема такая частая, почему бы все таки не поставить более интеллектуальный инструмент, чем notepad++? Вы же используете профессиональные инструменты типа Ida и WinDbg. Серьезно, откуда такое ограничение?

Надеюсь, я вам чем-то помог в вашем нелегком ремесле.
Это JSON, там какое-то поле может быть null, eval вывалится. Но даже если предположить, что его там не будет, ваш код просто парсит JSON, а задача другая.
Блин, слишком синтетически и скучнее)) Опишите какие аргументы на входе. Может поковыряюсь для себя.
Если вам правда будет не лень с нуля писать это на питоне

Ну гимнастики для, я бы поковырял ваш лог. Если скинете настоящий кусочек побольше. Но все 20 гигов не надо))
Вы понимаете, что я хочу сам решать, сколько и где мне отступов ставить?

Вы же понимаете, что тогда вам работа в команде противопоказана? Я как то читал код на питоне, где вместо 4 пробелов ставили 1 пробел. Мне было очень тяжело.

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

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

Представляете, из-за моей привычки не допускать жирных сигнатур пришлось попробовать, чтоб убедиться, что не ругается))
Ну и вишенкой не ожидаемая ни в одном другом языке, включая whitespace-sensitive, ошибка тута:

if foo == bar or
   foo == baz:
    continue

Вообще конечно можно вот так, если вам очень хочется:
if (foo == bar or
   foo == baz):
    continue

Но за всю карьеру питона мне ни разу не требовалось делать многострочные условия. Когда появлялась такая нужда, я старался устранить саму нужду. Это то же самое, что многострочные объявления функций, когда у вас сотня аргументов: может в каких то языках это считается нормальным, но много где это признак плохого кода/архитектуры.
А где вы там многоэтажный if и кучу безымянных выражений увидели, если не секрет?
Два условия — для питона уже куча?

В том то и дело, когда это два простых условия, двухэтажный if не требуется. И я подозреваю, что у вас там либо дофига условий, либо безымянные нечитаемые условия вида
if len(str(count(map(max(min(sort(filter(please(sudo(10)))))) >= len(str(count(map(max(min(sort(filter(20))))))

Information

Rating
Does not participate
Location
Ковров, Владимирская обл., Россия
Registered
Activity