@gogolang

Страница 1350 из 1630
Roman
03.09.2018
23:27:08
http://asciidoc.org/
ascii... слушай, а зачем?

Daniel
03.09.2018
23:27:47
Сложный составной объект, где-то в глубине которого есть огромные коллекции иммутабельных объектов.
компилятор способен же вычислить тип для любой херни, которую мы используем, так? значит, и спецификатор иммутабельности способен вычислить

Daniel
03.09.2018
23:28:33
ascii... слушай, а зачем?
реальное преймущество - штатная TOC. по-моему, есть еще что-то полезное ва районе таблиц, но я не помню

Google
Roman
03.09.2018
23:28:36
Каст const в обычный
cast это конечно хороший вопрос и уже склоняет к вопросу "можно ли защитить суицидального человека от смерти?" я думаю тот кто прям горит желанием отстрелить себе ногу - найнёд возможность это сделать однако, можешь привести пример кода? я в пропосале учту

Roman
03.09.2018
23:30:03
реальное преймущество - штатная TOC. по-моему, есть еще что-то полезное ва районе таблиц, но я не помню
если можно будет без "адка" (pun intended) автоматически транспильнуть из markdown без потерь, то посмотрю

Daniel
03.09.2018
23:31:28
каст надо бы научить спецификатор дублировать от оригинального объекта.

Roman
03.09.2018
23:32:05
Нет, не для любой. У нас уже есть "encoding/json", для чего пригодилось interface{}
вот насчёт func Function(any const interface{}) const interface{} { /*...*/ return any } надо подумать

Daniel
03.09.2018
23:32:23
Нет, не для любой. У нас уже есть "encoding/json", для чего пригодилось interface{}
а еще у нас есть easyjson, который как раз без рефлексии

Daniel
03.09.2018
23:33:16
это ты о чем?

Alexander
03.09.2018
23:33:29
const interface{} - вот это как раз то, что называется "когнитивный диссонанс". Уж начали типизировать, я считаю, так и нечего увиливать тогда

Roman
03.09.2018
23:33:30
var a [4]uint32 var b = *(*[16]uint8)(unsafe.Pointer(&a))
не, я думаю в таком случае нахер. Unsafe он и в африке unsafe))

Daniel
03.09.2018
23:33:42
вот

Roman
03.09.2018
23:34:23
но хотя... если стронний код может взять const но таки поломать твои данные... хмммм, не знаю...

Google
Daniel
03.09.2018
23:35:01
еще раз - мы не от сознательных действий защищаемся, а от ошибок

Roman
03.09.2018
23:35:27
но хотя... если стронний код может взять const но таки поломать твои данные... хмммм, не знаю...
Ровно об этом речь. И я вот не очень могу представить const struct с поинтером на саму себя

Alexander
03.09.2018
23:35:30
+1

Daniel
03.09.2018
23:36:44
да почитай его уже :)

Alexander
03.09.2018
23:37:34
блин... OK! завтра почитаю, если проснусь

Daniel
03.09.2018
23:37:42
а зачем нужны Immutable Return Values?

Roman
03.09.2018
23:37:58
А о чем пропозал-то посути, расскажи?
аааааааа, людиииии, я для вас его пишу!! ?? ну почитайте, ну ё-моё ?

Alexander
03.09.2018
23:38:21
у тебя даже и сцылко на него есть?

Roman
03.09.2018
23:38:32
ну там минут 10, хотите я read-time добавлю в заголовок точный?

Daniel
03.09.2018
23:38:40
https://github.com/romshark/Go-2-Proposal---Immutability/blob/master/README.md

Alexander
03.09.2018
23:39:06
OK! thanks. почитаю

Roman
03.09.2018
23:40:03
Ещё бы нормальные геттеры/сеттеры в го

Alexander
03.09.2018
23:40:35
аааааааа, людиииии, я для вас его пишу!! ?? ну почитайте, ну ё-моё ?
Хорошо пишешь, между прочим! Да, надо будет почитать

Daniel
03.09.2018
23:41:13
Roman
03.09.2018
23:42:11
Ещё бы нормальные геттеры/сеттеры в го
вот как раз с имутабельностью к ним на шажок ближе type Object struct { internal *Object } func (o const *Object) Get() const *Object { return o.internal }

Alexander
03.09.2018
23:43:17
ну, не был бы, но типа того :)

Google
Roman
03.09.2018
23:44:45
И это тут же был бы Python
Собственно, оттуда идея. Фактически, в зависимости от того с какой стороны знака присваивания надо вызвать либо Get, либо Set

Alexander
03.09.2018
23:45:04
а оно тут правда так уж нада?

Roman
03.09.2018
23:46:14
а оно тут правда так уж нада?
Оно хорошо ложится на возврат из ф-ии нескольких значений, например

foo.one, foo.two = fn()

Alexander
03.09.2018
23:48:01
Блин, многие и в футбол никогда толком не играли, а обсуждают это, как заведенные... То же и с разработкой языков программирования - по себе чую, я все в этом понимаю, что даже мама не горюй :)

Roman
03.09.2018
23:48:07
Вместо a, b = fn() и потом foo.Set(a), foo.Set(b)

Daniel
03.09.2018
23:49:21
https://github.com/romshark/Go-2-Proposal---Immutability/pull/3/files

слушай, а сеттеры-геттеры - это зачем?

Alexander
03.09.2018
23:51:39
Чтобы вести бухгалтерию, столько раз спросили, а саолько раз назначили

И чтобы проверить, кто это спросил, или кто назначил, например

Daniel
03.09.2018
23:52:21
Вообще?
в реальном программировании на go :)

Roman
03.09.2018
23:52:41
в реальном программировании на go :)
R/o поле структуры, например

Alexander
03.09.2018
23:52:56
не за чем :)

просто такая парадигма доступа к данным

Roman
03.09.2018
23:54:06
просто такая парадигма доступа к данным
Это может быть и вычисляемое в момент доступа

Alexander
03.09.2018
23:54:17
да

Вот по этому Роб Пайк думал, что сишники подтянутся, и был даже удивлен, что Go юзают питонисты

Roman
03.09.2018
23:57:35
И вот это n = obj.GetJobState().Current.LastUpdated выглядит ужасно

Alexander
03.09.2018
23:58:02
да :) Питонисты же и сиишники :)))

Google
Alexander
03.09.2018
23:58:56
программирование вобще выглядит ужасно

Roman
03.09.2018
23:59:36
Roman
03.09.2018
23:59:55
программирование вобще выглядит ужасно
Нууу... Я за бесплатный сахар.

Roman
04.09.2018
00:00:23
слушай, а сеттеры-геттеры - это зачем?
когда мы перед отдачей/чтением чего-либо хотим выполнить кусок логики то... собственно, нужен getter

Alexander
04.09.2018
00:00:39
бесплатный сахар, думаешь, лучше выглядит? :)

Daniel
04.09.2018
00:01:35
А для умных все есть же

Alexander
04.09.2018
00:01:59
почему тупые?

Roman
04.09.2018
00:02:08
Admin
ERROR: S client not available

Daniel
04.09.2018
00:02:17
Методы

Alexander
04.09.2018
00:02:51
Нормальные методы. Хочешь дату - спроси

Roman
04.09.2018
00:03:00
Это я понимаю. Я не понимаю, зачем тупые сеттеры-геттеры
не поверишь, для иммутабельности ? потому-что нет иммутабельных публичных полей - приходится городить unexported field + getter method я тебе как раз об этом сейчас и в review пишу

Roman
04.09.2018
00:03:42
Методы
И фигачить руками

Alexander
04.09.2018
00:04:00
аа ты чем методы фигачишь?

Roman
04.09.2018
00:04:53
аа ты чем методы фигачишь?
Сейчас руками и мне не нравится. SetFoo, SetBar, SetBaz

Alexander
04.09.2018
00:05:38
ты просто программировать не любишь?

Daniel
04.09.2018
00:06:05
И фигачить руками
Кодогенератор написать?

Roman
04.09.2018
00:07:12
Кодогенератор написать?
У тебя это универсальный ответ :( но это путь в ад

Google
Alexander
04.09.2018
00:08:08
Я вобще не понимаю, о чем речь. В Go этому никто не мешает. В Python геттеры и сеттеры - это оформлено как ООП методология. А тут никто не запрещает, вроде, знай только различие в больших и маленьких буквах

все универсальные ответы и решения - это путь в ад

Alexander
04.09.2018
00:19:40
все универсальные ответы и решения - это путь в ад
Универсальные ответа и решения были путем к цивилизации. Универсальные ответы и решения противостоят сложности. Частные решения её увеличивают.

Alexander
04.09.2018
00:20:16
чего не увеличивают?

А! её увеличивают... Кого?

Roman
04.09.2018
00:21:34
Кодогенератор написать?
зачем кодогенераторы, если можно immutable public fields? ?

@onokonem ах да, я там дописал по поводу имутабельных полей, у тебя уже отображается часть review?

Alexander
04.09.2018
00:22:49
зачем кодогенераторы, если можно immutable public fields? ?
В го уже нельзя. В го даже генерики с использованием интерфейсов нельзя завести, прийдется добавлять костыль - контракты.

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

Alexander
04.09.2018
00:23:31
зачем кодогенераторы, если можно immutable public fields? ?
Не надо fields. Если у тебя стурктура данных, которая не полносью константная на стороне пользьвателя, то ты просто не так что-то сделал

Roman
04.09.2018
00:23:50
Alexander
04.09.2018
00:24:35
да ёпрст... причём тут генерики, ну едрить-колотить-молотить-да-закалачивать
При том, что дженерики намного более тривиальная фича, нежели иммутабельность в контексте го.

Alexander
04.09.2018
00:24:42
генерики тут вобще запрещены. Можно говорить только о параметрическом полиморфизме

что даже еще хуже, по сути :)

Roman
04.09.2018
00:25:15
@nexmean вот, я вам даже ссылочку на блюдицце принесу: https://github.com/romshark/Go-2-Proposal---Immutability

Alexander
04.09.2018
00:26:08
Товарищь, прочитайте пропосал, и всё поймёте
Ты можешь пришпилить его к верху?

кисо!

Roman
04.09.2018
00:26:51
Ты можешь пришпилить его к верху?
увы, не админ, админа надо спрашивать

Alexander
04.09.2018
00:27:07
Товарищь, прочитайте пропосал, и всё поймёте
Я читал пропосал и понял, что контракты это костыль, ибо интерфейсы изначально сделаны криво без учёта того, что когда-то в языке появятся генерики.

Daniel
04.09.2018
00:27:30
а они, может, и не появятся

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