🦥Alex Fails
на опенгл наверняка порты тоже были
🦥Alex Fails
благо это очень просто сделать
Disi
аа так это готовая
Disi
я думал черепашку самому надо кодить
🦥Alex Fails
надо кодить то, как она ходит
Disi
ну софтину
Disi
с черепашкой
🦥Alex Fails
т.е. в черепашке есть небольшой скриптоязык)
Disi
как у меня в шараге на втором курсе там MFC, MySQL
🦥Alex Fails
и обычно задачи были - нарисовать
Disi
на первом был какой-то сраный паскаль
Disi
а потом как вдарило
Alex
Паскаль Ъ.
Мерль
у меня вообще информатики не было
Вот типа такой фиготени
Alex
нц 4 раз кц кц
Alex
этож вальс, ёпт.
🦥Alex Fails
о, да
🦥Alex Fails
черепашечка!
Мерль
нц 4 раз кц кц
пока а == 10 кю делать
Disi
вот эт да
Alex
да-да-да. только ку. а не кю.
Alex
не надо тут ругаться. здесь же дети.
Мерль
не надо тут ругаться. здесь же дети.
это принятое в приличном обществе ругательство
void *
Луа в чистом виде ты не найдешь нигде. Она хостится.
Не-а, в сборке sfml видел скриптец, емнип
void *
void *
95% школьников трех слов на посцале связать не могут, а ты им Си :)
Snusmumriken
>Не-а, в сборке sfml видел скриптец, емнип Там все равно есть хостящая прога на сишке, которая держит luastate.
void *
>Не-а, в сборке sfml видел скриптец, емнип Там все равно есть хостящая прога на сишке, которая держит luastate.
Но интерпретатор можно ведь считать так ой прогой, и тогда все интерпретируемые языки - встраиваемые?
void *
этого бота лучше сразу забанить
Alejandro Jeditobe
Кукла маша все
Alexey
Всем привет!
Alexey
Под винду тарантулу возможно завести, или оставить надежду?
Alex
Да можно, конечно, но зачем?
Alexey
Ну, это, процесс :)
Alexey
Я под винду zeromq для go собирал, это был квест :)
Alexey
Я просто хочу попробовать сделать брокера
Alex
Ну, если девушка временно недоступна тогда вперёд, на мины. :)
Alexey
На тарантуле
Alexey
Да не, тут не в девушке дело :)
Alexey
То есть, никто не пробовал из интереса?
Snusmumriken
То есть, никто не пробовал из интереса?
Думаю, тебе стоит повторить вопрос чуть позже, когда набежит еще чутка людей. В целом, на гитхабе есть файлы для cmake. Можешь скомпилить.
Snusmumriken
Точнее формируй запрос
Snusmumriken
Кароч, есть несколько вариантов. 1. Луа сверху. К ней подрубаем либы. Вызываем либами методы из lua/хост-программы. 2. С/С++ сверху. Экспортируем в luastate методы табличкой. Вызываем из Lua.
Maxx
зависит от "симулирует что-то" наверное. по идее, можно и через thread'ы бросать периодически куски наружу в С/С++
Maxx
luasocket вроде так работает: получив коннект, оно yield'ит наружу, а luastate пока выполняет другие коннекты. приходят данные, оно  resume'ится
Maxx
не знаю, получилось ли объяснить... =)
Мерль
Это всё из-за ̶с̶п̶а̶й̶с̶а̶ той статьи на Хабре Набижали :3
Alejandro Jeditobe
С какой той?
void *
затем же, зачем в го горутины, а в crystal - fiber'ы
void *
ну дык в crystal вроде так же
void *
там короче все вокруг event loop
void *
там можно с помощью биндингов сделать тред, но он с другими не сможет сообщаться, т.к. при любом вызове IO сегфолт, а общей памяти нет 😀
Мерль
Для чего-то асинхронного, но без io(по-крайней мере блокирющего на долго)
Мерль
Что-то в этом роде
Мерль
CSP :3
Мерль
С какой той?
Была статья, что то вроде "Пишем простую систему учёта" недавно Там упоминался этот чатик
Мерль
Честной асинхронности нет (
Мерль
Ну вот есть у тебя долгоживущие задачи Которые надо выполнять более-менее одновременно
Мерль
Я это так вижу, по-крайней мере
void *
Подпрограмма Lua представляет собой независимый поток выполнения. http://www.lua.ru/doc/2.11.html
void *
разве он заблокирован?
Мерль
Смысл в том, что тут вообще в каждый момент выполняется только одна задача https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0
void *
на одноядерных процессорах, кстати, нет различия между "настоящей" и "ненастоящей" многопоточностью 😁
Мерль
Смысл в том, что тут вообще в каждый момент выполняется только одна задача https://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0
Вот у нас есть главный поток выполнения и две корутины. В каждый момент времени выполняется только одна
Мерль
на одноядерных процессорах, кстати, нет различия между "настоящей" и "ненастоящей" многопоточностью 😁
Более того, на тех же микроконтроллерах надо делать собственный луп Об этом хорошо di halt писал
Мерль
Это мысль
Мерль
нет (
Maxx
я вижу сопрограммы как несколько точек исполнения кода (CS:IP в терминах асма), между которыми можно переключаться. используется для неблокирующего IO, например: клиент отправляет запрос в БД, и пока она ищет нужные записи, чтоб не блокировать исполнение остального луа-кода, клиент yield'ится куда-то наружу, давая возможность другому клиенту или другому запросу выполниться/обработаться. когда же приходит ответ из БД, он внедряется ровно в то место, где прервался, да ещё и с результатом в параметрах.
Maxx
т.е. поток вроде и один, но несколько клиентов работают (типа) одновременно: почти многопоточность
Maxx
угу, поток один - вытесняющая многозадачность
Maxx
ну, представь ещё веб-сервер, например. nginx и openresty. прилетают тысячи запросов в секунду. каждый бежит в БД за данными. пока БД ищет, весь поток блокируется. но если запрос на поиск слать из С-обвязки в другом потоке, а в это время обрабатывать другой запрос, то вроде как быстрее получается
Maxx
неа
Maxx
thread всегда один
Maxx
https://ru.wikipedia.org/wiki/%D0%92%D1%8B%D1%82%D0%B5%D1%81%D0%BD%D1%8F%D1%8E%D1%89%D0%B0%D1%8F_%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C
Maxx
оч похоже. только прерывает исполнение не ОС, а сама сопрограмма
Мерль
Корутины - это банальные сопрограммы
Мерль
Там нет никакого параллельного выполнения
Maxx
блииин... я ж как раз и говорю, что параллельности нет! =) она мнимая
Мерль
Есть просто переключение между контекстами