
Roman
29.09.2018
13:55:23
выходные же)

Никита
29.09.2018
13:55:31
Вон Си++ метил в эту область
Удалось?)

Google

Никита
29.09.2018
13:56:01
Каждой задаче свой инструмент

Roman
29.09.2018
13:57:23
Удалось?)
вполне, на нём можно что угодно написать (насколько это разумно это уже другой вопрос, главное что можно)
3D rendering, GUIs, APIs, DSPs, drivers, an operating systems kernel (maybe?)

Vladimir
29.09.2018
13:58:06

Alexander
29.09.2018
13:59:11

Roman
29.09.2018
14:00:02

Никита
29.09.2018
14:00:50
Так что не получается нормально писать на Го?
Чем он не general purpose

Vladimir
29.09.2018
14:01:02

Roman
29.09.2018
14:01:12
написать то можно, но работать будет так-себе

Vladimir
29.09.2018
14:02:23

Nikolay
29.09.2018
14:02:57

Roman
29.09.2018
14:03:03

Google

Никита
29.09.2018
14:03:21
Так можно отключить GC, если его задержки мешают

Nikolay
29.09.2018
14:04:15
дело не в gc, дело в отсутствии гарантий по времени

Roman
29.09.2018
14:04:18

Alexander
29.09.2018
14:04:33

Roman
29.09.2018
14:04:49

Никита
29.09.2018
14:05:16

Nikolay
29.09.2018
14:05:23

Никита
29.09.2018
14:06:12

Roman
29.09.2018
14:07:25
ну да, к сожалению..
я за "the right tool for the right job", но порой это жуткий context switch, другие библиотеки, другие парадигмы, другие инструменты, сильно понижает продуктивность
поэтому зачастую языки использую не по назначению, чисто ради сохранения продуктивности и воизбежание просадки

Nikolay
29.09.2018
14:10:27

Roman
29.09.2018
14:10:35

Nikolay
29.09.2018
14:11:10
хотя я до сих пор хочу втащить клавиатурой тем, кто приводит аргумент "зато весь стек на одном языке"

Roman
29.09.2018
14:12:07

Nikolay
29.09.2018
14:12:33
с куда более взрослой экосистемой

Roman
29.09.2018
14:13:32

Oleh
29.09.2018
14:14:19

Nikolay
29.09.2018
14:14:31

Roman
29.09.2018
14:14:34

Google

Roman
29.09.2018
14:15:15

Oleh
29.09.2018
14:15:19
Ну лан

Alexander
29.09.2018
14:16:07

Nikolay
29.09.2018
14:16:14

Roman
29.09.2018
14:18:30

Vladimir
29.09.2018
14:24:12

Alexander
29.09.2018
14:25:28

Alexander
29.09.2018
14:26:41

Vladimir
29.09.2018
14:27:08

Roman
29.09.2018
14:33:59
Go'шная продуктивность порой скорее иллюзия продуктивности. Потому-что Go далёк от "безопасносго" языка. Можно впилить в программу segfault'ов, data race'ов, необработанных ошибок и прочие прелести, которые потом сожрут много времени на дебагинг.
Да, можно и нужно использовать линтеры и анализаторы кода (errcheck, megacheck etc.).
Mожно и нужно использовать race detector, но кто же использует его в продакшне учитывая его неимоверный performance & memory overhead?
Нужно следовать правильному стилю (не допускать mutable shared state и т.д.)
Но порой таки жить легче и продуктивность повышается, когда ты можешь быть уверен, что всего этого не будет в продакшне, если компиляция прошла успешно

Vadim
29.09.2018
14:51:48


N
29.09.2018
14:52:53
Go'шная продуктивность порой скорее иллюзия продуктивности. Потому-что Go далёк от "безопасносго" языка. Можно впилить в программу segfault'ов, data race'ов, необработанных ошибок и прочие прелести, которые потом сожрут много времени на дебагинг.
Да, можно и нужно использовать линтеры и анализаторы кода (errcheck, megacheck etc.).
Mожно и нужно использовать race detector, но кто же использует его в продакшне учитывая его неимоверный performance & memory overhead?
Нужно следовать правильному стилю (не допускать mutable shared state и т.д.)
Но порой таки жить легче и продуктивность повышается, когда ты можешь быть уверен, что всего этого не будет в продакшне, если компиляция прошла успешно
любое частное мнение имеет право на жизнь, хоть я и не согласен в корне с иллюзиями и тд - все легко меряется и кто хотел уже померял


Roman
29.09.2018
14:57:03
А я юнит тесты пишу....?
testing более подвержен ошибкам, нежели концепция ownership & borrowing, но писать код в таком стиле то ещё "удовольствие", к этому надо привыкнуть)

Vadim
29.09.2018
14:59:18
Юнит тесты для частей. Чтобы быть уверенным, что они не сломаны + короткий дебагинг для целого.
Я не люблю баги в продакшн отправлять.

Roman
29.09.2018
15:00:52
Я не люблю баги в продакшн отправлять.
никто не любит.
но тесты пишут люди, а люди не алгоритмы)
1. тесты могут содержать ошибки
2. тесты могут упустить некоторые критичные ситуации о которых тестировщик не знал/забыл

Vadim
29.09.2018
15:01:52

Daniel
29.09.2018
15:04:58
и этио распространенная ситуация, кстати

Google

Vadim
29.09.2018
15:07:24

Daniel
29.09.2018
15:09:54
обычно тест и реализацию пишет один человек
и если он неправильно понял спеку - он напишет одинаково неправильные и реализацию, и тест

Vadim
29.09.2018
15:10:48

Admin
ERROR: S client not available


Yo
29.09.2018
15:17:47
и если он неправильно понял спеку - он напишет одинаково неправильные и реализацию, и тест
легко писать:
- не правильный тест, к правильной реализации спеки
- правильный тест, к не правильной реализации спеки
- не писать тест, который покрывает "граничные условия" правильно реализованной спеки, но условия в спеке не описали
- писать тест, который покрывает граничные условия и правильно реализует спеку, но имеет "сайд эффект", который возможно выявить в интеграционном тесте, но которого часто нет
если компилятор ЯП не позволяет сделать какие-то критичные ошибки - это всегда лучше
потому что человек даже при условии наличия тестов, наличия код ревью, наличия QA всегда может сделать ошибку, которая совсем не очевидна и проявляется только в продакш и только при определенных условиях (входных данных, только определенных ответах внешнего сервиса, тольк в строго определенное время/период и т.д.) .
чем больше компилятор "поможет не сделать ошибку", тем лучше, это вполне очевидно.


Alexander
29.09.2018
15:18:41

Yo
29.09.2018
15:20:03

Alexander
29.09.2018
15:21:14
Там где действительно нужна безопасность обычно используется формальная верификация. Если же у вас из средств отлова ошибок только тесты, то безопасность вам нужна только где-то сбоку и только для галочки.

Yo
29.09.2018
15:25:38
посмотрел что такое "формальная верификация"... и понял, что "жизнь прожита почти зря" :)

Alexander
29.09.2018
15:26:48
В будущем, когда в IT появится какая-то инженерная культура, формальной верификации, я уверен, станет намного больше.

Roman
29.09.2018
15:30:07
1. Процент в квадрате уменьшается. 2. Есть такая хрень как покрытие
полное покрытие кода тестами это порой иллюзия отсутствия багов.
самые страшные баги, которые могут годами проходить незаметно - определяются скорее не тем что "все строчки были вызваны", а скорее в совокупности того "какие строчки были вызваны в каком порядке", но такой информации покрытие, насколько мне известно, не предоставляет.

Alexander
29.09.2018
15:31:41

Roman
29.09.2018
15:32:32
тесты не могут 100% гарантировать абсолютное отсутствие багов. Да, хорошо написанные тесты значительно сокращают их вероятность, но всегда стоит иметь ввиду, что сокращение количества путей к достижению определённых ошибок - эссенциально

[Anonymous]
29.09.2018
15:52:15
Интересуешься блокчейном, его разработкой и уязвимостями?
Есть уникальная возможность обсудить все вопросы с ведущими хакерами мира.
Все они будут 9 октября в Чернобыль-туре в рамках конференции HackIT 4.0 в Киеве, которая пройдет с 10 по 11 октября.
Promo code telegramfollower даст тебе скидку -30%
Поспеши! Осталось всего три дня до закрытия регистрации в Чернобыль - https://hacken.live/2OcJTAd

Александр
29.09.2018
15:53:16
в шаббат? ?
хоть бы проблему описал

Google

Yo
29.09.2018
16:01:11
шабат уже по средам?

Ivan
29.09.2018
16:01:49

Yo
29.09.2018
16:02:40
с 9 по 11 октября?

Zборни бой без травма
29.09.2018
16:20:13
Привет

Roman
29.09.2018
16:29:08
немного обновил "статейку"
https://twitter.com/romshar/status/1046073533967859712

Marlik
29.09.2018
18:16:47
И потом облучишься, и проживёшь пару лет. Хотите хайпа, но с чувством юмора плохо?

anatolii
29.09.2018
18:25:40

Marlik
29.09.2018
18:26:50
Как говорил знакомый прапорщик, лучше перебздеть...

Sergey
29.09.2018
18:31:55
слушайте, а где pro.go?

『Ark』∞
29.09.2018
18:32:29
там же где go.pro

Sergey
29.09.2018
18:34:11
это спам go pro?

Kirill
29.09.2018
18:36:14

Dmitry
29.09.2018
18:36:44
Груздь жеж

Nathan
29.09.2018
18:39:41

?
29.09.2018
18:41:41