Anonymous
а классы не глобальны или я чего то не понимаю?..
чем глобальные классы от глобальных переменных отличаются так, что переменные - зло, а классы - не зло?
Andrey
а ты точно понимаешь в чем суть класса?
Anonymous
да, класс - это описание структуры данных и методов работы с ними. Но можно создать класс State, описать в нем свои переменные, передавать в каждую функцию и возвращать из каждой функции в программе State, чтобы хоть как-то эмулировать глобальные переменные
պլհկ
отличное решение!
պլհկ
вот мы и поняли что глобальные переменные не нужны
Anonymous
Но ведь это гораздо менее удобно, чем глобальные переменные
Anton
Почему?
Anonymous
Больше кода, больше возни, в каждой функции приведение к этому типу, передача между функциями всего огромного стейта
պլհկ
вы что-то не так делаете
Anonymous
Приведение чего к какому типу?
Приведение результата работы всех функций программы к типу State
Andrey
вот есть у тебя например прогрессбар. Текстовый, простой, для цикла сишного обычного с i. Был бы у меня класс я бы сделал в нем переменную состояния, ктторая бы позволила мне перерисовывать прогрессбар всего сто раз, а не i раз. а так я использую статик глобальную переменную. Можно обернуть ее в структуру чтобы еще дополнительно обезопасить код, чтобы имена не пересекались. А были бы у меня неймспейсы была бы вообще сказка. Но в си нет ни классов, ни неймспейсов, и тем не менее глобальная переменная не сильно вредит, но были бы классы она была бы не нужна в принципе.
պլհկ
Если это троллинг, то он хорош
Anton
А в джаве какой-нибудь разве есть глобальные переменные?
Anonymous
в функциональных языках ввиду отсутствия глобальных переменных вроде всегда так делают
պլհկ
Anonymous
да и... Другого пути я просто не вижу
Anonymous
А в джаве какой-нибудь разве есть глобальные переменные?
Да, можно использовать статические переменные класса как глобальные
Anton
Но это же тоже не приветствуется
Evgεny
Если это троллинг, то он хорош
Настолько толсто, что тонко?
Anonymous
приветствуется-неприветствуется - это рекоммендации и мода, завтра какой-нибудь работник гугла напишет, что модно делать вместо функций референсы на функции, чтобы было удобно подменять функции одну на другую - и тоже будет новое "приветствуется". А мне бы как угодно извернуться, лишь бы задачу хранения данных в программе решить
Anonymous
изменяемых и доступных отовсюду данных*
Anton
Если как угодно извернуться, используй ансейф
պլհկ
>модно делать вместо функций референсы на функции, чтобы было удобно подменять функции одну на другую - и тоже будет новое "приветствуется"
Anonymous
что, уже модно? =)
Anonymous
Нет, unsafe - это здорово, там можно вообще сырыми поинтерами ворочать, но ведь в си будет то же самое, только с более удобным и минималистичным синтаксисом
պլհկ
Депенденси инжекшн называется
պլհկ
Нет, unsafe - это здорово, там можно вообще сырыми поинтерами ворочать, но ведь в си будет то же самое, только с более удобным и минималистичным синтаксисом
Совершенно верно, если на бест практисы, паттерны и безопасность плевать, то незачем себя насиловать - пишите на си
Anonymous
А если есть два потока и им надо между собой меняться данными, это в rust же как-то реализуется?
պլհկ
Каналы или мьютексы
Сергей
ещё есть scoped threads
Anonymous
lazy_static! { static ref ARRAY: Mutex<КлассМоегоСостояния> = Mutex::new(ОбъектМоегоСостояния); }
Anonymous
ну вот же она, моя глобальная переменная
Anonymous
cargo build —target=wasm32-unknown-unknown
Loo
Пздц, заберите у него ЛСД
պլհկ
У меня emscripten не устанавливается, а я хочу webassembly
Обратитесь к вашему системному администратору
Anonymous
я мой администратор, у меня 32-битная архитектура, так что ничего не попишешь
John
А можно без флуда про глобальные переменные? Лучше уже вернуться к тематическому обсуждению гомосексуальных отношений (а раст тут при том, что на нем пишут в том числе гомосексуалисты)
Anton
Ну проблемма у человека что не может придумать как извратится без глобальных переменных
Anton
Пусть сделает lazy_static с RefCell
Anton
+Option
պլհկ
+ mutex
Anton
Ну да, раз у него потоки)
Pavel
Ну да, раз у него потоки)
потоки сознания
պլհկ
Проблема у него в том что он хочет писать на си, но не может
Anton
Ага
Anton
В расте)
պլհկ
Ну так эмскриптен на вин хр не встал
Pavel
ага они 😄
Victor
После такого новички и спрашивают "где бы достать чатик для новичков а то тут гнобят"
Safort
После такого новички и спрашивают "где бы достать чатик для новичков а то тут гнобят"
В гиттере)) Но вообще, да, надо бы местным малось сбавить обороты. Собственно, для полной дичи и сделали @rustjerk
պլհկ
кому не помогли? кого загнобили?
Victor
ну можно задать вопрос Scientist на сколько ему помогли тут с глобальными состояниями )
Антон
> rust < electron based идиоты
Они хотят на Rust ядро написать, а на долю Электрона отдать только отрисовку интерфейса вроде
Loo
кому не помогли? кого загнобили?
Вот у меня тот же вопрос
Loo
Если человек приходит с конкретной проблемой и объясняет ее нормально мы поможем. Если человек приходит и несёт хуиту то как бы...
պլհկ
ну можно задать вопрос Scientist на сколько ему помогли тут с глобальными состояниями )
ему объяснили, что так делать не надо, но если очень хочется есть 2 опции 1) unsafe 2) arc, mutex, lazy_static
Konstantin
есть два стула.
Victor
ему объяснили, что так делать не надо, но если очень хочется есть 2 опции 1) unsafe 2) arc, mutex, lazy_static
про lazy_static он вроде сам нашёл в итоге. Я вообще про общий тон беседы. Понятно что "вопрошающий" сам хорош. Но тем не менее )
Артем
Тон это традиция. Как бы нужно просто привыкнуть.
Αλεχ
ну можно задать вопрос Scientist на сколько ему помогли тут с глобальными состояниями )
Глобальный стейт - зло, и за него надо расстреливать. С чем тут можно помочь?:)
Αλεχ
Αλεχ
кстати, уничижительные выпады в сторону функциональщины как бы намекают, что человек неосилил и не понимает, зачем вообще так писать
Αλεχ
не говоря про безапелляционные выводы что любая программа имеет глобальный стейт
Victor
мне-то норм =) а новичкам не очень, наверное. Приходишь ты такой... ну незнаю. В школу. а там препод такой "Да, ебать, перемножь ты эти ебучие числа столбиком нахуй. Чё мозги ебёшь?"... )
Αλεχ
и говорит, что ваше умножение в столбик говно
Αλεχ
и новомодная хрень