LINUX.ORG.RU
ФорумTalks

Претензии хейтеров к Питону

 ,


1

2

По результатам чтения ЛОР.

1) Отступы «легко ломаются при копипасте и редактировании». Этот пункт выглядит как форма фобии, все хейтеры ее упоминают, но нет ни одного воспроизводимого практического примера, когда что-то сломалось с отступами, и поэтому не понятно, есть проблема или нет. Может просто настроить редактор или взять правильный?

2) GIL. Для некоторых применений (numpy) это не проблема.

3) Нет многострочных лямбд. Но есть локальные функции и list comprehensions.

Что еще?

Я не говорю, что Питон надо толкать во все ниши, но просто некоторые высказывания ЛОРовских аналитиков звучат в таком стиле: «что, Питон? Посмотрел. Не_как_в_моêм любимом_языке. Закрыл. Нинужно.» А чего стоят однострочные комментарии экспертов типа «в 21м веке язык без фичи Х - не язык»...

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

Да. Но на питоне тебе джун/говнокодер потоки начнёт порождать, что совсем не тру. А в руби проблемы просто не возникнет.

WitcherGeralt ★★
()
Ответ на: комментарий от fornlr

Ну если не получается пересилить себя и не писать говнокод, то лучше вообще заниматься чем-то другим.

oldstable
()
Ответ на: комментарий от oldstable

Так действительно, порог входа довольно низкий, любой говнокодер справится.

Справится с чем - написать сегфолт? Порог входа не этим меряется.

tailgunner ★★★★★
()
Ответ на: комментарий от dem

Я так понимаю вы про это:

fn to_int(text: &str) -> Option<i32> {
    text.parse().ok()
}

fn main() {
    println!("{:?}", to_int("1"));    // Some(1)
    println!("{:?}", to_int("text")); // None
}
RazrFalcon ★★★★★
()
Ответ на: комментарий от Esper

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

Скажи это kernel developers.

euZ3meep
()
Ответ на: комментарий от dem

Ты ведь уходишь от ответа

А замена private на public это что?

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от RazrFalcon

Ага про это. Что будет:

fn to_int(text: &str) -> Option<i32> {
    text.parse().ok()
}

fn main() {
    println!("{:?}", to_int("1") * 10);    // Some(1)
    println!("{:?}", to_int("text") * 10); // None
}
dem ★★
()
Ответ на: комментарий от RazrFalcon

Не надо так. Хотя без ADT по другому никак.

Подробнее...

dem ★★
()
Ответ на: комментарий от dem

Тогда, естественно, никто не знает, что вернет функция.

tailgunner ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Я тебе больше скажу есть еще код

return requests(url).get()

И тут никакая типизация вас не спасет.

dem ★★
()
Ответ на: комментарий от dem

Так а кто мешает тебе сделать так, чтобы была прога и чтобы умножалось на 10 корректное значение, а не None?

EXL ★★★★★
()
Ответ на: комментарий от dem

Что с ним не так? Прекрасный процессор, даже Solaris под него гарантируют поддерживать еще 15 лет.

Deleted
()
Ответ на: комментарий от dem

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

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Но даже в питоне нехер позволять вылетать исключениям откуда попало на самый верх

Тут я готов поспорить. Есть у тебя сервер который с помощью REST пишет в СУБД Число.

Вот ты стартанул, подключаешься к СУБД и тут ОШИБКА. Дальше должен быть основной цикл событий которые пишут INSERT.

Твои действия.

dem ★★
()
Ответ на: комментарий от dem

Да я ЗАДАЮ вопрос. Как мне сделать чтоб этот код собрался и работал корректно?

Побуду капитаном, но если код некорректный, то как его не собирай — он не будет корректным.

Deleted
()
Ответ на: комментарий от WitcherGeralt

Ну и соответствующий кодответа бросить, разумеется, если всё плохо.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от dem

Что вы будете делать получив None

Отче наш, иже еси на небесах...

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от dem

Я вообще не знаю Rust, но судя по прочитанному обсуждению – через конструкцию if let? Или вы действительно уверены в том, что в Rust нельзя умножить число (полученное вызовом функции, которая может ещё None вернуть) на 10?

EXL ★★★★★
()
Ответ на: комментарий от WitcherGeralt

И что? То что твоя программа не работает заметят через 10 лет. Или ты просто как у нас на работе обрушишь кластер...

dem ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.