
Александр
28.09.2018
12:02:38
я думаю потому что у меня процессор не последнего поколения
и память DDR3 1600

Roman
28.09.2018
12:03:40

Yo
28.09.2018
12:04:09

Google

Алексей
28.09.2018
12:05:45
написать .dll то можно и в C++ ?
Но интерфейс у неё будет чисто сишный. А его ещё и сделать надо, он автоматически не делается. Либо делать крестовый интерфейс, но тогда применение этих dll сильно ограничивается. То есть даже с другой версии крестового компилятора могут возникнуть проблемы.

Daniel
28.09.2018
12:09:42
вы, я надеюсь, не забываете GOMAXPROCS=1 ставить?

Artem
28.09.2018
12:11:10
нужен гайд, как делать тру бенчи

Александр
28.09.2018
12:29:57

Zver
28.09.2018
12:45:45

Kirill
28.09.2018
12:47:55

Alexander
28.09.2018
12:48:56

Никита
28.09.2018
12:49:10
Кстати на счёт иммутабельности, вместо того чтобы вводить ключевое слово, почему бы не ввести ее в виде иммутабельных типов? Например i_int8/int8i

Eduard
28.09.2018
12:50:50

Alexander
28.09.2018
12:51:00
имхо, ключевое слово читабельнее и универсальнее

Алексей
28.09.2018
12:51:08

Alexander
28.09.2018
12:54:15

Google

Alexander
28.09.2018
12:54:38
Иммутабельность — свойство конкретного биндинга

Daniel
28.09.2018
12:55:21
Биндинга?

Roman
28.09.2018
12:57:04
Кстати на счёт иммутабельности, вместо того чтобы вводить ключевое слово, почему бы не ввести ее в виде иммутабельных типов? Например i_int8/int8i
1. в пропосале не описывается введение нового ключевого слова а перегрузка ключевого слова const:
4.4 Why overload the const keyword instead of introducing a new keyword like immutable etc.?
https://github.com/romshark/Go-2-Proposal---Immutability#44-why-overload-the-const-keyword-instead-of-introducing-a-new-keyword-like-immutable-etc
2. потому-что тогда тебе придётся свои типы вручную писать в двух вариантах, мутабельный и немутабельный. Это можно делать уже сейчас, например оборачивать все типы интерфейсами и работать только через интерфейсы. Где-то использовать мутабельный интерфейс (с Write методами) а где-то немутабельный (только Read методы)). Но сколько же это boilerplate кода...

Alexander
28.09.2018
12:57:30

Алексей
28.09.2018
12:58:15

Andrei
28.09.2018
12:58:31

Jentry
28.09.2018
12:58:59

Alexander
28.09.2018
12:59:29

Алексей
28.09.2018
13:02:30

Roman
28.09.2018
13:02:54

Алексей
28.09.2018
13:03:01
Достаточно взглянуть на тот же питон.

Roman
28.09.2018
13:03:10

Jentry
28.09.2018
13:03:42
const указатели это совсем другое.
Если я правильно понял, ты предлагаешь по имени проверять доступ к данным, тогда ты должен либо 1) запретить передачу по указателю 2) boxing мета-инфы типа вместе с ним (python way?)

Roman
28.09.2018
13:04:07

Alexander
28.09.2018
13:04:25
Вот смотрите, в JS есть иммутабельные биндинги - const, а вот const указателей нет и по этому гарантии const в JS ничего не стоят, ибо почти все данные ссылочные.

Andrei
28.09.2018
13:05:43

Алексей
28.09.2018
13:05:44

Roman
28.09.2018
13:07:00
const указатели это совсем другое.
указатель это тип.
*T
иммутабельный указатель это тоже тип.
const *T
указатель на иммутабельный объект это тоже тип.
* const T
и иммутабельный указатель на иммутабельный тип - тоже тип.
const * const T
2.9.1. Pointer Examples
https://github.com/romshark/Go-2-Proposal---Immutability#291-pointer-examples

Google

V
28.09.2018
13:07:28
привет c++
только там const *T - это указатель на иммутабельный тип
вроде

Roman
28.09.2018
13:09:01

Andrei
28.09.2018
13:12:00

Daniel
28.09.2018
13:12:00
Опять вы оптимизируете производительность до замеров

Andrei
28.09.2018
13:13:08
в общем я предвижу reject пропозола с формулировкой «это не нужно», в общем, как и всегда

Subbotin
28.09.2018
13:13:23
Оба достаточно большие

Daniel
28.09.2018
13:13:59
Можно

Alexander
28.09.2018
13:13:59

Daniel
28.09.2018
13:14:15

Roman
28.09.2018
13:14:32

snip
28.09.2018
13:14:49

Andrei
28.09.2018
13:16:07

snip
28.09.2018
13:16:32

Roman
28.09.2018
13:16:49
Опять вы оптимизируете производительность до замеров
я не оптимизирую, то что интрерфейсы не бесплатные, как и впрочем копии, каждому должно быть понятно...
у меня лишь возникает вопрос: зачем? если этого можно добиться без лишней кодогенерации, копий и интерфейсов и НЕ терять производительность вовсе

Andrei
28.09.2018
13:17:50

snip
28.09.2018
13:20:12

Google

Andrei
28.09.2018
13:20:55

snip
28.09.2018
13:21:29
Про иммутабельность в том или ином виде разговоры идут давно, никто не говорит что это не нужно

Alexander
28.09.2018
13:23:26

snip
28.09.2018
13:25:00
Его много но он очень легко читается, когда тыс каждый день ревьювишь тонны кода это становится очень ценным

Subbotin
28.09.2018
13:26:06

Alexander
28.09.2018
13:26:29

Admin
ERROR: S client not available

Subbotin
28.09.2018
13:28:39
Чето ещё наверняка но меньше
Ну есть конечно SQL. Тот тоже хорошо читается
Раст например гораздо более сложен и замысел автора гораздо менее очевиден
Но там может нехватка знания языка

Alexander
28.09.2018
13:33:39
Хорошо читаются декларативные языки, например тот же SQL. Го же не даёт никаких возможностей даже для того, чтобы написать декларативный DSL, для обработки, например, итерируемых объектов.

Subbotin
28.09.2018
13:35:36
Ну я пытался освоить, написал пару простеньких хелловордов на базе libp2p но упёрся как раз в то что очень тяжело читать чужой код и забросил

Roman
28.09.2018
13:36:14

snip
28.09.2018
13:36:53

Google

Roman
28.09.2018
13:39:25

Alexander
28.09.2018
13:40:25

Александр
28.09.2018
13:40:31
да за живое вас задело
прямо бомбит

Subbotin
28.09.2018
13:40:48

Andrei
28.09.2018
13:41:15

Subbotin
28.09.2018
13:41:20

snip
28.09.2018
13:41:29

Roman
28.09.2018
13:41:48

Andrei
28.09.2018
13:42:47
если уж на просьбу добавить в стандартную поставку го нормальный пакетный менеджер еще год назад был только один ответ - «это не нужно», у иммутабельности под любым соусом сейчас нет никаких шансов пройти в язык

snip
28.09.2018
13:43:06

Александр
28.09.2018
13:43:07

Alexander
28.09.2018
13:43:12
В инженерии все давно поняли, что людям доверять нельзя.

Subbotin
28.09.2018
13:44:06

Alexander
28.09.2018
13:44:38

Subbotin
28.09.2018
13:44:45
Именуй все таблицы и переменные как a, b, c, d

Roman
28.09.2018
13:45:38

Subbotin
28.09.2018
13:47:00