185 похожих чатов

У нас в джаве не нужно напрямую работать с памятью!

забудьте о ней, все за вас сделает gc! что? хочешь попрограммировать в несколько потоков? о, ну тогда тебе просто необходимо изучить java memory model, без этого никуда!🤦‍♂️

30 ответов

68 просмотров

Дак с этим никто и не спорит, в js тоже куча проблем и в го, и в расте, да в любом другом языке. Поэтому эти языки и развиваются, да бывает ломая обратную совместить.

Михаил-Малюк Автор вопроса
6aKa
Дак с этим никто и не спорит, в js тоже куча пробл...

я про то, что поиски преимуществ языка должны исходить из его преимуществ, а не недостатков. поэтому ответ на вопрос "зачем нужен эрланг?" должен начинаться с "вот ЭТО на нем делать удобнее/дешевле/быстрее/нужное_вписать чем на моем языке". я ж не просто так привел джаву - по написанию многопоточного кода Э ее заруливает просто в сухую, в одну калитку. если представить себе ситуацию, когда у меня будет множество объектов, которые не контролируемо влияют друг на друга в относительно реальном времени, то я с ужасом думаю, как это реализовать на джаве, а вот эрланг по прикидкам подходит идеально. остается вопрос - много вокруг таких проектов? или в основном формошлепство, круды, и прочие веб-сервисы "запрос-ответ"? вот тебе и ответ и где Э хорош, и почему он в жопе

Михаил Малюк
я про то, что поиски преимуществ языка должны исхо...

"множество объектов, которые не контролируемо влияют друг на друга в относительно реальном времени" это массово что вообще обычно? бэкенд игр?

Михаил-Малюк Автор вопроса
j j
"множество объектов, которые не контролируемо влия...

ну, вот да, игрушка - множество объектов на поле, это все горит, взрывается, толкается, и так далее. все это надо быстро, то есть в памяти, все это надо в непредсказуемых комбинациях, при чем сразу 😁в модель эрланговых акторов ложится как будто идеально

Михаил Малюк
я про то, что поиски преимуществ языка должны исхо...

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

Михаил-Малюк Автор вопроса
6aKa
Можете просто пример такой задачи привести, где на...

да вот, чуть выше первое что в голову пришло - бэк онлайн игрушки, где все влияет на все. решать такое на жабе я б поопасался, перекидыавать данные между потоками в ней это больно, и получаются просто полотна бойлерплейта для защиты от дедлоков и прочих прелестей жизни, и то оно периодически взрывается. в Э решение выглядит ну, почти очевидным. хотя я в Э любитель, тут пусть более опытные товарищи подскажут, может я не прав

Михаил Малюк
да вот, чуть выше первое что в голову пришло - бэк...

С#? Swift? Rust? Почему все сравниваем с жабой? Есть и другие языки.

Михаил-Малюк Автор вопроса
6aKa
С#? Swift? Rust? Почему все сравниваем с жабой? Ес...

да я ж не мешаю, сравни с чем захочется🤷🏻‍♂️

6aKa
С#? Swift? Rust? Почему все сравниваем с жабой? Ес...

Эрланг пытаются затащить в финтех хоть тушкой хоть чучелом, а там царит жаба. 😁

Михаил-Малюк Автор вопроса
Сергей Елин
Эрланг пытаются затащить в финтех хоть тушкой хот...

в техстеке одного синего банка его нет, есть только элик, но написано ли на нем что-то я хз

j j
там царит scala

Это всё равно JVM. Так-то и котлина хфатает.

Сергей Елин
Эрланг пытаются затащить в финтех хоть тушкой хот...

Скорее еликсир пытаются затянуть в финтех, и то через крипту

j j
там царит scala

Да ничего там не царит, финтех -- шырокая неоформившаяся отрасль без стабильного тулинга какого-то. Знаю людей, успешно продавшых финтех-проекты на го и на ноде, про питон ужэ и вспоминать особо ненужно.

Д. П.
банк

банк в смысле "веселая игра в мобильном приложении", не АБС

Михаил Малюк
да вот, чуть выше первое что в голову пришло - бэк...

Ну к сожалению (а вернее к счастью) все это пишется не так: ты собираешь все инпуты а потом считаешь положение мира через 1 фпс которое отправляешь во все аутпуты. Никакой пересылки сообщений между акторами, имитирующими бизнес сущности там не надо и оно вредно.

Михаил-Малюк Автор вопроса
Źmićer Rubinštejn
Ну к сожалению (а вернее к счастью) все это пишетс...

предположим у меня есть игровой объект - огонь. рядом другой игровой объект - ледышка. огонь горит, ледышка должна таять. огонь эмитит сообщение "тепло", ледышка его поглощает и тает по-разному в зависимости от интенсивности огня, расстояния до него, и прочее. и таких объектов много, они перемещаются и все такое. вот ЭТО нужно посчитать, и разослать игрокам, и в ЭТО нужно докинуть их инпуты.

Михаил Малюк
предположим у меня есть игровой объект - огонь. ря...

Ага. Вот все эти объекты лежат в массивчике и обсчитываются за раз физическим движком

Михаил-Малюк Автор вопроса
Źmićer Rubinštejn
Ага. Вот все эти объекты лежат в массивчике и обсч...

что такое "физический движок" в данном случае?

6aKa
Можете просто пример такой задачи привести, где на...

Бэкенд, роутинг сообщений (от WhatsApp до MQTT). В целом любая задача где есть много бизнеслогики и всё равно нужен какой-то realtime

Михаил Малюк
что такое "физический движок" в данном случае?

Функция которая получает на вход массив таких объектов и мутирует их, генерируя новое состояние мира через 1 фпс

Михаил-Малюк Автор вопроса
Źmićer Rubinštejn
Функция которая получает на вход массив таких объе...

ну так речь вроде о том и идет как такую штуку написать, и был бы тут полезен Э :)

Михаил Малюк
ну так речь вроде о том и идет как такую штуку нап...

Ну так ты предлагаешь вместо куска памяти передавать в такую штуку что - пачку пидов акторов? Которые не общитываются кем-то централизованно а начинают друг другу сообщения посылать?

Михаил Малюк
ну так речь вроде о том и идет как такую штуку нап...

По-моему тут антиполезен Erlang. Акторы в эрланг это даже близко не Entity в видеоиграх. Первые создавались для равномерной нагрузки, отказоустойчивости и распределённости. Вторые нужны для то что бы деревьями мутабельных объектов управлять как можно быстрее. В играх нужны качества второго решения, а не первого

Михаил-Малюк Автор вопроса
Źmićer Rubinštejn
Ну так ты предлагаешь вместо куска памяти передава...

я не настолько безумен, что бы делать, к примеру, одну пулю отдельным актором :) отдельные акторы скорее для того, что бы порезать один большой кусок памяти на отдельные кусочки, и обрабатывать параллельно, а сообщения между акторами - те самые воздействия, которые эмитят игровые объекты

Михаил Малюк
я не настолько безумен, что бы делать, к примеру, ...

Возможно, что и придется, если бомба, например, когда детектор коллизий обнаружит столкновение, он ей событие пошлет, а она должна будет взорваться.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта