@gogolang

Страница 1347 из 1630
Никита
03.09.2018
21:07:55
почему не можем? к чему это приведёт? какие последствия перезагрузки const?
Окей, выберите подходящее слово из существующих для контрактов, которые предлагаются для реализации дженериков

Roman
03.09.2018
21:08:37
С чего вдруг
с того что "2.0" звучит круто потому-что всем кажется, что много чего изменилось и язык не стоит на месте в то время как "1.17" звучит как "мы фиксим старый лисипед", хотя здравомыслящий человек поймёт, что "1.17" круче чем "2.0", потому-что не ломает совместимость

Dorian
03.09.2018
21:09:36
Так себе маркетинг

Roman
03.09.2018
21:09:58
Так себе маркетинг
вот и я о чём, поэтому я категорически против 2.0

Google
Roman
03.09.2018
21:10:23
Окей, выберите подходящее слово из существующих для контрактов, которые предлагаются для реализации дженериков
извините, причём здесь дженерики? забудьте про них хоть на минуту, здесь вопрос был в том, к каким последствиям может привести перегрузка const

Fastumkruk ✅
03.09.2018
21:11:18
Читаю чат уже пару месяцев и каждый день одно и то же. Дженерики, дженерики, дженерики!!!!!!!

Никита
03.09.2018
21:11:40
извините, причём здесь дженерики? забудьте про них хоть на минуту, здесь вопрос был в том, к каким последствиям может привести перегрузка const
Ни к каким серьезным. Это просто странно, перегружать смысл ключевого слова совсем разными задачами

Roman
03.09.2018
21:12:25
вот чего сейчас не хватает, так это scatter-gatter в языке =(

Roman
03.09.2018
21:15:31
Это вопрос не о дженериках, а о реализации какой либо новой фичи
вы так и не ответили на вопрос, как и на что перегрузка const может повлиять.

Dorian
03.09.2018
21:15:35
Не про обработку ошибок же

Vladislav
03.09.2018
21:15:42
ребят, нужен фидбэк: https://github.com/romshark/Go-2-Proposal---Immutability
А можно реальные примеры зачем это? А не абстрактные faster, better, stronger.

Никита
03.09.2018
21:15:42
Ни к каким серьезным. Это просто странно, перегружать смысл ключевого слова совсем разными задачами

Roman
03.09.2018
21:16:00
Google
Dorian
03.09.2018
21:16:25
Спокуха, щас скоро про Раст начнется

Fastumkruk ✅
03.09.2018
21:16:27
А чо тут еще писать?
Наверное новичкам помогать, новочти о го узнавать, что то стоющее.

Dorian
03.09.2018
21:16:47
Daniel
03.09.2018
21:16:49
вот чего сейчас не хватает, так это scatter-gatter в языке =(
вот это уж точно незаметно для нас впилят

Roman
03.09.2018
21:17:01
wumin
03.09.2018
21:17:15
Кто трогал go mod? Как там локальный пакет импортировать?

Daniel
03.09.2018
21:17:31
а что такое локальный пакет?

Roman
03.09.2018
21:17:58
А можно реальные примеры зачем это? А не абстрактные faster, better, stronger.
вот мне в этом и нужна помощь комьюнити, предоставить ваши примеры того, где конкретно это может пригодиться. я только начал его писать буквально на днях, собственно ищу единомышленников

Daniel
03.09.2018
21:18:09
go mod касается ровно одной вещи - поиска сорцов на диске. типа, не нужен gopath и vendor

Roman
03.09.2018
21:18:43
Ни к каким серьезным. Это просто странно, перегружать смысл ключевого слова совсем разными задачами
получается что лучше "странно что const и тут и тут", чем "сломали половину репозиторией на гитхабе, achievement unlocked!"

Daniel
03.09.2018
21:19:04
при этом практически все тулзы к отсутствию вендора и gopath не готовы

Vladislav
03.09.2018
21:19:14
вот мне в этом и нужна помощь комьюнити, предоставить ваши примеры того, где конкретно это может пригодиться. я только начал его писать буквально на днях, собственно ищу единомышленников
Ну так пропозал должен отталкиваться от того какую проблему он решает. Потом уже думать над дизайном. А не просто захотелось. Так вы можете подгонять проблемы под решение.

Daniel
03.09.2018
21:20:09
проблема простая - мы передаем в чужие либы небезопасные типы (например, слайсы) и не знаем, что там с ними будут делать. может быть - нулями заполнят

Никита
03.09.2018
21:20:17
получается что лучше "странно что const и тут и тут", чем "сломали половину репозиторией на гитхабе, achievement unlocked!"
Половину? Не думаю что в коде очень часто используют переменную с названием immutable, например)

wumin
03.09.2018
21:20:21
Например у вас в main.go package main. Рядом папка handlers с package handlers. В GOPATH я напишу для импорта github.com/me/blablabla/handlers. go mod такое не переварит.

Google
wumin
03.09.2018
21:21:58
почему не переварит?
Потому что его же нету в GOPATH

Roman
03.09.2018
21:22:18
Половину? Не думаю что в коде очень часто используют переменную с названием immutable, например)
я утрировал, це сарказм, мисьё)) но сломать даже 1 популярный фреймворк уже беда, не говоря уже о маленьких пакетах которые уже не поддерживаются, но используются в других пакетах

Daniel
03.09.2018
21:22:24
более того, могут и не специально данные попортить, а взяв сабслайс и использовав буфером

Stanislav
03.09.2018
21:23:15
нет, сегодня про immutability ? https://github.com/romshark/Go-2-Proposal---Immutability
вместе с контрактами приведет гошечку в состояние адового трындеца имхо ?

Roman
03.09.2018
21:23:40
вместе с контрактами приведет гошечку в состояние адового трындеца имхо ?
это лишь утверждение, "мнение" так сказать, только не понятно на чём сиё мнение основано

Vladislav
03.09.2018
21:25:31
а разве там не написано какую проблему он решает, или вы не читали? ? признавайтесь))
Ну вы выдумали какие-то копирования. Решили что они проблема и начали с ними бороться. С самодокументацией в принципе ок. Но это недостаточно. Ну а безопасность. Иммутабельные данные все равно можно против вас применить.

Daniel
03.09.2018
21:26:58
копирование, кстати, и правда наименьшая из проблем

просто потому, что редко применяется именно для защиты от мутаций

Roman
03.09.2018
21:27:58
копирование, кстати, и правда наименьшая из проблем
я не спорю что это не самая главная, главная проблема в данном случае это безопасность и читабельность, а потом уже копирование. но тем не менее когда можно не копировать, то зачем лишний раз копировать и лишние for циклы писать? не так ли?

Vladislav
03.09.2018
21:28:07
"выдумали копирование"? вы серьёзно?))) озвучьте тогда "как их можно против вас применить" ?
Ну если это правда блэк бокс либа в которую вы не смотрите, то она может и базу слить и ещё кучу всего.

Stanislav
03.09.2018
21:28:26
это лишь утверждение, "мнение" так сказать, только не понятно на чём сиё мнение основано
для этого было добавлено "имхо" ? окей, что такое контракты? по сути это замена тайпсвича и/или проверкой можно ли что-то сделать с этими данными (ну типа T.(type) == int). И, смотря в https://go.googlesource.com/proposal/+/master/design/go2draft-generics-overview.md, я все равно нихрена не понимаю, чем это лучше тайпсвича ? ну может на строчку-другую кода будет меньше, как и читаемости кода, кстати

Daniel
03.09.2018
21:28:54
при чем тут блекбокс? мы же не от злоумышленников защиты хотим, а от ошибок

Stanislav
03.09.2018
21:29:21
при чем тут блекбокс? мы же не от злоумышленников защиты хотим, а от ошибок
для этого голова должна на плечах быть, а не костыли в язык вставлять, имхо ?

Daniel
03.09.2018
21:29:50
от случайных модификаций данных, которые модифицировать нельзя

Google
Daniel
03.09.2018
21:30:04
это не очень частая ошибка, но очень неприятная

Vladislav
03.09.2018
21:31:06
Я бы даже сказал совсем нечастая.

Stanislav
03.09.2018
21:31:16
кстати, по примеру, просто вслушайтесь - "неизменяемый объект с динамически изменяемым размером"

брррр)

Roman
03.09.2018
21:31:50
для этого голова должна на плечах быть, а не костыли в язык вставлять, имхо ?
вы предлагаете нагрузить голову программиста нежели алгоритм компилятора? тогда зачем вы используете Go? вон куча других языков с таким-же менталитетом

для этого голова должна на плечах быть, а не костыли в язык вставлять, имхо ?
и иммутабельность это вам не костыль! почитайте про неё

Admin
ERROR: S client not available

Daniel
03.09.2018
21:33:07
разгружая голову программиста - падает его зарплата ?
падает, разгружая? коллега, русский язык должен быть русским

Stanislav
03.09.2018
21:34:04
падает, разгружая? коллега, русский язык должен быть русским
ну как водится - меньше работы и дум, начальство думает, что не работаем ?

Roman
03.09.2018
21:35:07
затем, что это быстрый язык, который позволяет сделать мне то, что мне нужно
да, так говорят JavaScript'еры, у которых нет строгой типизации, а потом переходят на Go, потому-что без неё - хреново Иммутабельность позволит вам наоборот повысить продуктивность. Вы просто не сможете допустить ошибок передавая reference через три-девять функций получив странные side-effect'ы от коварных багов. Не поленитесь прочитать пропосал, я его для вас писал, старался ?

Vladislav
03.09.2018
21:35:17
На самом деле то как вы предлагаете это сделать не поможет. Большая часть либ не начнёт внезапно использовать новый модификатор. А его отсутсвие не говорит о том, что данные обязательно будут изменяться. В общем останется как есть.

Pavel
03.09.2018
21:35:56
ну как водится - меньше работы и дум, начальство думает, что не работаем ?
да гошники 300к/сек и так зажрались, до рыночного уровня пхп надо опускать им зп)))

Google
Roman
03.09.2018
21:38:05
На самом деле то как вы предлагаете это сделать не поможет. Большая часть либ не начнёт внезапно использовать новый модификатор. А его отсутсвие не говорит о том, что данные обязательно будут изменяться. В общем останется как есть.
тогда можно вообще ничего с языком не делать! ? ведь большая часть библиотек не начнёт внезапно использовать новую фичу но если вы такого мнения, то у вас довольно не много единомышленников и язык скорее всего вопреки вашим желаниям - будет меняться в лучшую сторону, а вендоры библиотек будут постепенно добавлять поддержку новых возможностей, как это происходит в ЛЮБОМ языке и любой экосистеме

Stanislav
03.09.2018
21:38:33
чем мне нравится текущий подход в Go: 1. Хочешь, чтобы изменения увидели все? Передавай ссылку. 2. Хочешь, чтобы изменения НЕ видели все, а были доступны только вызывателю - передавай сам объект. Пропосал добавляет пункт: 3. Хочешь, чтобы изменения увидели все и не думать об архитектуре? Используй const для слайсов, структур и прочего. Вы понимаете токсичность этого подхода?

Nyan
03.09.2018
21:38:49
что-то он не изменился за 10 лет в лучшую сторону

Roman
03.09.2018
21:39:54
референс через тридевять функций - уже говнокод
чепуху несёте, мисьё. передать reference в фукцию - не имея гарантии иммутабельности - уже склонено к ошибкам. Даже если вы работаете над кодом один, про команду или open source сообщество я уже вообще молчу.

Daniel
03.09.2018
21:43:25
коллеги

ну что вы как неродные

в с++ есть слово const для параметров, и оно широко используется

в первую очередь для уберегания себя же от проблем

Roman
03.09.2018
21:44:37
Если у вас архитектура построена именно таким образом - это грустно. Как минимум мне :)
вы совершенно не поняли смысл immutability, мисьё) читайте, читайте ?

Daniel
03.09.2018
21:44:44
там, правда, возврат результата через модификацию входного параметра куда как более частое явление - традиция-с

Pawel
03.09.2018
21:45:01
блин, это же всего то на всего синтаксический сахар над вызоывами функций и методов. нету это - и на фиг оно не надо, язык меньше перегружен малозначительной ерундой, увеличивающей mental coast

Daniel
03.09.2018
21:45:21
то и у нас можно себе член отстрелить

Daniel
03.09.2018
21:46:02
я бы, если бы контролировал язык, ввел бы ключевое слово mutable

Pawel
03.09.2018
21:46:05
хочешь неизменяемость - пиши геттеры и сеттеры, не ипи моск, вот и всё

Roman
03.09.2018
21:46:08
в с++ есть слово const для параметров, и оно широко используется
++ я собственно с C++ и пришёл, там концепция иммутабельности реализована довольно хорошо. и, нет, я не собираюсь превращать Go в C++, это нонсенс. Ибо описал, что на самом деле это наоборот повышает продуктивность а не делает язык сложнее

Daniel
03.09.2018
21:46:33
чтобы параметры, которые могут мутировать, были видны всегда

а остальные бы запретил менять

Pawel
03.09.2018
21:46:40
const_cast используется ещё шире.
а ещё шире - reinterpret_cast

Daniel
03.09.2018
21:48:17
const_cast используется ещё шире.
кстати, не видал. а я за последний год килотонны c++ ghjxtk

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