Nikolay Markov
так зачем тебе питон, если JavaScript тебе роднее да ещё и V8 зачастую быстрее питонского runtime'а
да и вообще, если один только Javascript тебе как родной, при этом тебя заставляют писать бэк - то с тобой что-то не так, ну либо с менеджментом :)
Roman
да и вообще, если один только Javascript тебе как родной, при этом тебя заставляют писать бэк - то с тобой что-то не так, ну либо с менеджментом :)
всё зависит от проекта. Если там пукалка какая-то то бизнес задача будет решена в срок, коряво, но решена. Если вы каждую бизнес задачу будет решать "идеально" то вы обанкротитесь) но таки да, в перспективе стоит учить Go и медленно и постепенно на него переходить для повышения квалификации
Roman
На работе регулярно использую 3 языка, ещё 2 языка использую как хобби. Брат жив, зависимость есть.
вот я тоже планирую Rust постепенно параллельно изучать, ибо возвращаться в C++ совсем не хочу для тех задач для которых Go не подходит, мурашки по телу от такой мысли
саша
дождаться когда Rust выстреллит и все
Если бы все только ждали, то он бы никогда не выстрелил.
Alexander
дождаться когда Rust выстреллит и все
😂 если на стене висит руст, то к концу пьесы он обязательно выстрелит
Anonymous
Если бы все только ждали, то он бы никогда не выстрелил.
а что проблему Пуанкаре на Rust решили?😂 Doker ,кубернетес ,эластик?
Roman
Go'шная продуктивность порой скорее иллюзия продуктивности. Потому-что Go далёк от "безопасносго" языка. Можно впилить в программу segfault'ов, data race'ов, необработанных ошибок и прочие прелести, которые потом сожрут много времени на дебагинг. Да, можно и нужно использовать линтеры и анализаторы кода (errcheck, megacheck etc.). Mожно и нужно использовать race detector, но кто же использует его в продакшне учитывая его неимоверный performance & memory overhead? Нужно следовать правильному стилю (не допускать mutable shared state и т.д.) Но порой таки жить легче и продуктивность повышается, когда ты можешь быть уверен, что всего этого не будет в продакшне, если компиляция прошла успешно
Roman
А я юнит тесты пишу....😞
testing более подвержен ошибкам, нежели концепция ownership & borrowing, но писать код в таком стиле то ещё "удовольствие", к этому надо привыкнуть)
Vadim
Юнит тесты для частей. Чтобы быть уверенным, что они не сломаны + короткий дебагинг для целого.
Vadim
Я не люблю баги в продакшн отправлять.
Roman
Я не люблю баги в продакшн отправлять.
никто не любит. но тесты пишут люди, а люди не алгоритмы) 1. тесты могут содержать ошибки 2. тесты могут упустить некоторые критичные ситуации о которых тестировщик не знал/забыл
Vadim
никто не любит. но тесты пишут люди, а люди не алгоритмы) 1. тесты могут содержать ошибки 2. тесты могут упустить некоторые критичные ситуации о которых тестировщик не знал/забыл
Чтобы неправильный тест прокатил, надо, чтобы и код был неправильный и тест. И при этом код давал тот же неправильный ответ, что и тест.
Daniel
и этио распространенная ситуация, кстати
Vadim
и этио распространенная ситуация, кстати
Для этого можно писать допустим два теста на ветку
Vadim
и этио распространенная ситуация, кстати
С таким вообще не встречался. Но раз вы встречались, возможно, я не прав
Daniel
обычно тест и реализацию пишет один человек
Daniel
и если он неправильно понял спеку - он напишет одинаково неправильные и реализацию, и тест
YᑌᖇIY
и если он неправильно понял спеку - он напишет одинаково неправильные и реализацию, и тест
легко писать: - не правильный тест, к правильной реализации спеки - правильный тест, к не правильной реализации спеки - не писать тест, который покрывает "граничные условия" правильно реализованной спеки, но условия в спеке не описали - писать тест, который покрывает граничные условия и правильно реализует спеку, но имеет "сайд эффект", который возможно выявить в интеграционном тесте, но которого часто нет если компилятор ЯП не позволяет сделать какие-то критичные ошибки - это всегда лучше потому что человек даже при условии наличия тестов, наличия код ревью, наличия QA всегда может сделать ошибку, которая совсем не очевидна и проявляется только в продакш и только при определенных условиях (входных данных, только определенных ответах внешнего сервиса, тольк в строго определенное время/период и т.д.) . чем больше компилятор "поможет не сделать ошибку", тем лучше, это вполне очевидно.
саша
1. Процент в квадрате уменьшается. 2. Есть такая хрень как покрытие
Даже 100% покрытие не даёт никаких гарантий. Тесты нужны только для поиска ошибок. Как средство доказательства их отсутствия тесты никуда не годятся.
YᑌᖇIY
Даже 100% покрытие не даёт никаких гарантий. Тесты нужны только для поиска ошибок. Как средство доказательства их отсутствия тесты никуда не годятся.
еще тесты нужны, как средство написания кода для правильной спеки и удобного/быстрого запуска/отладки этого кода
саша
Там где действительно нужна безопасность обычно используется формальная верификация. Если же у вас из средств отлова ошибок только тесты, то безопасность вам нужна только где-то сбоку и только для галочки.
YᑌᖇIY
посмотрел что такое "формальная верификация"... и понял, что "жизнь прожита почти зря" :)
саша
В будущем, когда в IT появится какая-то инженерная культура, формальной верификации, я уверен, станет намного больше.
Roman
1. Процент в квадрате уменьшается. 2. Есть такая хрень как покрытие
полное покрытие кода тестами это порой иллюзия отсутствия багов. самые страшные баги, которые могут годами проходить незаметно - определяются скорее не тем что "все строчки были вызваны", а скорее в совокупности того "какие строчки были вызваны в каком порядке", но такой информации покрытие, насколько мне известно, не предоставляет.
Roman
тесты не могут 100% гарантировать абсолютное отсутствие багов. Да, хорошо написанные тесты значительно сокращают их вероятность, но всегда стоит иметь ввиду, что сокращение количества путей к достижению определённых ошибок - эссенциально
Anonymous
Интересуешься блокчейном, его разработкой и уязвимостями? Есть уникальная возможность обсудить все вопросы с ведущими хакерами мира. Все они будут 9 октября в Чернобыль-туре в рамках конференции HackIT 4.0 в Киеве, которая пройдет с 10 по 11 октября. Promo code telegramfollower даст тебе скидку -30% Поспеши! Осталось всего три дня до закрытия регистрации в Чернобыль - https://hacken.live/2OcJTAd
Anonymous
HackIT
🏁Александр
в шаббат? 🙂
🏁Александр
хоть бы проблему описал
YᑌᖇIY
шабат уже по средам?
ivan
шабат уже по средам?
Так суббота же
YᑌᖇIY
с 9 по 11 октября?
Anonymous
Привет
Roman
немного обновил "статейку" https://twitter.com/romshar/status/1046073533967859712
🎉
HackIT
И потом облучишься, и проживёшь пару лет. Хотите хайпа, но с чувством юмора плохо?
🎉
Как говорил знакомый прапорщик, лучше перебздеть...
Cat
слушайте, а где pro.go?
Anonymous
там же где go.pro
Cat
это спам go pro?
Anonymous
朝の日差し ✙
Груздь жеж
Nathan
слушайте, а где pro.go?
умерло то сообщество, с голоду
Co(n)stantine👨‍🔬
🏁Александр
слушайте, а где pro.go?
его закрыли, потому что владелец пропал и канал поддеживать нельзя без него
Cat
хм, странно
Nathan
надо было на j2e писать :)
🏁Александр
я это и написал выше
надо. больше. подробностей
🏁Александр
в следующий раз 🙂
🏁Александр
а все люди которые там были, они тут
🏁Александр
поэтому машинное масло в компот уже завтра
Dk
А какой язык какой характер даёт? Если, допустим (я не уверен), Go даёт зло, а Haskell (опять же, я не уверен) даёт добро (потому, что "учите хаскелл во время добра"), то в каком соотношении это проявляется? А Python как влияет на человека?
Dk
Извините, я совсем нуб
Dk
Мне кажется, python даёт тягу к флуду
🏁Александр
питонист! хватайте его
Slava
очень даже от группы, в этой группе стараются порядок поддерживать, а в той был ад и спарта
.
Что обсуждают?
.
Скинь чат заодно )0
.
Сенкс
Sebor▂▅▇█▓▒░
Ну с сишешкой конечно же!
doc
по сравнению со спидами
Anonymous
на расте апишка - боль)
Andrew
На расте - боль.
Andrew
:)
Andrew
https://habr.com/post/338268/
Anonymous
там дальше всё понятно становится)
Anonymous
rust быстрее на совсем чуть чуть
Anonymous
еще не особо понятно как там этот hyper устроен в плане асинхронности - один тред, много тредов, много грин тредов