@gogolang

Страница 146 из 1630
Semyon
24.02.2017
22:00:51
вот на кложе или джаве можно

в го нет кучи полезных абстракций

например Enum как тип

Google
Roman
24.02.2017
22:01:40
вот на кложе или джаве можно
embedded, где у тебя нет памяти особо Java отчасти не годится

Semyon
24.02.2017
22:02:02
embedded, где у тебя нет памяти особо Java отчасти не годится
я щас не понял, а на го что, кто-то пишет в эмбеддед?

я открою страшную тайну

в го garbage collection

Greg
24.02.2017
22:02:22
Я пишу.

С 1.8 компиляция в MIPS32

Semyon
24.02.2017
22:02:45
С 1.8 компиляция в MIPS32
и сколько у тебя там памяти на целевой системе?

Roman
24.02.2017
22:02:47
я щас не понял, а на го что, кто-то пишет в эмбеддед?
да едрить матить, если у тебя ARM с 256 мб оперативы, на Jav'е не разгонишься особо, на Go вполне можно

Greg
24.02.2017
22:03:03
Роман правильно написал

Памяти обычно от 256MB и выше.

У меня не суровый эмбед

Google
Semyon
24.02.2017
22:03:20
Это хорошо или плохо?
копипаста — плохо для скорости разработки, отсутствие абстракций тоже

да едрить матить, если у тебя ARM с 256 мб оперативы, на Jav'е не разгонишься особо, на Go вполне можно
у меня ботик на JVM работает на сервере с 128 мегабайтами оперативы

Greg
24.02.2017
22:03:46
Это не значит, что область заканчивается ассемблером

Эмбед тоже развивается

Semyon
24.02.2017
22:04:01
работает на 200-300 RPS

есть не просит

Phil
24.02.2017
22:04:13
копипаста — плохо для скорости разработки, отсутствие абстракций тоже
1. Копипаста быстро становится рутиной 2. Отсутствие абстракций ОЧЕНЬ хорошо, когда разрабатывает больше одного человека - быстрее въезжаешь.

Roman
24.02.2017
22:04:43
бессмысленная беседа перерастающая в holy war, I'm out

Semyon
24.02.2017
22:04:45
отсутствие СЛОЖНЫХ абстракций — хоршо

Phil
24.02.2017
22:05:16
отсутствие абстракций это очень плохо для въезжания
Нет, абстракции всегда путают, пока до нутра либы дойдёшь - ежа родишь. А в Го за час становится примерно понятно, какой бы сложности не была либа

Semyon
24.02.2017
22:05:23
Фил, просто сравни абстракции "аппликативный функтор" и "перечисление"

в го нет обеих

Roman
24.02.2017
22:05:48
на последок процитирую Stroustrup'а: "есть 2 типа языков, те на которые все жалуются и те которыми никто не пользуется"

Phil
24.02.2017
22:06:20
Тебе правда нужно до нутра либы доходить, чтобы понять, что такое перечисление?
Нет, до нутра либы мне нужно дойти чтобы понять как она работает и как надо и не надо её использовать

Google
Semyon
24.02.2017
22:06:22
typdef enum { One, Two } Enumeration

я чот не понимаю, зачем тебе лезть в нутра либы для этого

Phil
24.02.2017
22:07:01
хм
Что? А как же её использовать? Подробной документации по нутру мало кто делает

Semyon
24.02.2017
22:07:12
абстракция как раз закрывает от тебя нутро, чтобы ты поменьше думал

вот массив это абстракция

ты знаешь как массивы на уровне памяти в го устроены?

я вот нет

Phil
24.02.2017
22:07:48
зачем тебе нутро для абстракции?
Для абстракции ничзачем. Абстракция только усложняет лазхание по нутру

Semyon
24.02.2017
22:07:58
дак зачем тебе лазать по нутру?

работать надо, а не по нутру лазить

Phil
24.02.2017
22:08:16
ты знаешь как массивы на уровне памяти в го устроены?
да, это всегда конечно баланс и соглашения, куда ты уже не полезешь

Semyon
24.02.2017
22:08:19
Есть очень простая абстракция Hight Order Functions

она даже в Го есть

на основе этой абстракции есть широко распространенные абстракции map, reduce и filter

то есть чтобы отфильтровать массив ты пишешь просто array.filter((x) => x > 2)

(код условный)

в го это цикл с стейт-переменной на 4 строки минимум

зачем?

Google
Roman
24.02.2017
22:10:14
зачем тебе нутро для абстракции?
Потому что абстракции текут. Потому что часто абстракции хреновые

Semyon
24.02.2017
22:10:27
я говорю о примитивных вещах, вроде HOF или мапа

Phil
24.02.2017
22:10:42
работать надо, а не по нутру лазить
А потом рвать на жопе волосы, получив драматический первоманс или сайдэффект, потому что ты просто не так использовал либу. Я то ли дебил, то ли все дебилы. Я примерно с каждой первой либой вляпываюсь в скрытые ограничения. Это даже не про Го. И часто бывали моменты, когда очень жалел, что не заглянул внутрь. А часто раздраконивал либу, потому что абстракции были хероватыми

Roman
24.02.2017
22:11:30
у тебя часто утекает абстракция hashmap?
Пиу-пиу. Доступ из разных гороутин и потекли.

Semyon
24.02.2017
22:11:47
Пиу-пиу. Доступ из разных гороутин и потекли.
ты не путаешь утечки памяти с протечками в абстракциях?

гоферы, ну вы чо

Roman
24.02.2017
22:12:32
ты не путаешь утечки памяти с протечками в абстракциях?
Нет. Точно не путаю. Тебе приходится знать как оно устроено если тебе нужна скорость.

Phil
24.02.2017
22:12:40
гоферы, ну вы чо
Да какой я гофер, я на Го две строчки пока написал. Это общая тема для всего.

Semyon
24.02.2017
22:13:00
Нет. Точно не путаю. Тебе приходится знать как оно устроено если тебе нужна скорость.
Дак может дело в реализации абстракции hashmap в го, а не в самой абстракции?

Phil
24.02.2017
22:13:08
Semyon
24.02.2017
22:13:16
в той же кложе, например, хэшмапы не текут, внезапно

Или безопасность. Или расширяемость. Или гибкость
или можно просто сделать immutable data и решить две из трёх проблем разом

правда придётся учить ужасные абстракции

Roman
24.02.2017
22:14:26
в той же кложе, например, хэшмапы не текут, внезапно
И как у них с перформансом на какой-нибудь numa? Учитывают ли они локальность ИТП?

Phil
24.02.2017
22:14:44
Мы вообще начали с того, что плохой или неплохой Го язык. Видишь, плохость "отсутствие абстракций" пока оспаривается. С копипастой я вообще проблемы не вижу

Roman
24.02.2017
22:15:57
Или магия с указателями под капотом и мучения tlb?

Google
Semyon
24.02.2017
22:15:59
за перфоманс кложи не готов ничего сказать

но под капотом

тебе надо поменять поведение накопипащенного

Roman
24.02.2017
22:17:35
но под капотом
Ну так мы приходим к тому, что абстракций хороших почти нет и если нужна скорость, то печаль-беда

Semyon
24.02.2017
22:17:59
но го, я извиняюсь, не самый быстрый язык на свете

Roman
24.02.2017
22:18:13
Вот например, как в гошечке получить пачку udp пакетов за 1 сисколл?

Semyon
24.02.2017
22:18:45
Сишечка? Плюсы? Rust?
сишечка да или раст, тоже да

кстати, в расте абстракций сильно больше :)

и он таки быстрее

в расте и алгебраические типы есть, и HOF

а ещё там есть жырная шняга Borrow Checker

который сложный, сука

и его надо учить

Roman
24.02.2017
22:19:27
Я знаю, что раст быстрее.

Но мой поинт в том, что большинство абстракций текут и они вообще плохие

Semyon
24.02.2017
22:21:05
Да я даже соглашусь с тобой, пожалуй

однако с абстракциями код писать сильно проще и быстрее получается

протечки лучше знать, конечно, но это не обязательно для kickstart

Страница 146 из 1630