@ProLua

Страница 54 из 307
Tverd
01.03.2017
09:37:56
по этому и навешивают всякие эвентлупы со своими обработчиками, комбайн такой.

Snusmumriken
01.03.2017
09:38:01
Поэтому только истинная многопоточка, только хардкор, да.

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

Tverd
01.03.2017
09:40:51
я про то, если без многопоточки... Если есть треды ОС, то все намного лучше, правда иногда и сложнее. + не везде есть треды. Я про специфические ОС.

Google
Snusmumriken
01.03.2017
09:42:25
Ну, мы не говорим про однозадачные ОС. Однозадачные остались, считай, только на мобильных телефонах и, возможно, всяком embedded-железе типа навигаторов/музыкальных центров. И то, их активно переводят на ведро, в котором есть многопоточка. Но даже если ОС не поддерживает дочерние процессы, вариант с запуском ещё одного скрипта и сокето-связи - работает.

Лучшие потоки, на моей памяти - в love2d. Там сам sdl открывает много виртуальных машин, и сам обеспечивает каналы связи. Пространство полностью разделено, что позволяет коду выполняться на разных процессорах. Где-то мутил надстройку над этим счастьем, дабы слить поток и пару его каналов (дуплексная связь с родителем), налепить колбеков на приём сообщений и так далее. Хех, костыльные эвентлупы :3

Tverd
01.03.2017
09:48:43
а на чем там основаны эвенты? в sdl

libevent?

Snusmumriken
01.03.2017
09:50:10
Хех, справка по потокам: Если что: поток - это отдельная фигня. Операционные системы делят их на два типа - "лёгкие" и "тяжёлые" потоки. Лёгкие - это программа сообщает операционной системе, мол, вот этот кусок кода можно выполнять параллельно, и ось начинает скакать между блоками кода. Они легко плодятся и имеют общую память, правда, за переключение между потоками отвечает операционная система, и они могут выполняться только на одном процессоре, единственное различие - асинхронность. Lanes выполняет именно такие потоки. Тяжёлый поток - это как будто совсем другое приложение, с которым можно общаться через общие каналы. У них нет ни одного куска общей памяти, а пересылка - только текстовыми сообщениями через пайпы-каналы. Вот эта херовина может выполняться на разных процессорах, и жрать огромную кучу памяти. Но тут лишний дискомфорт в виде невозможности работать с объектами друг друга напрямую, только через посредника, типа "читалка-отправлялка сообщений" в каждом потоке. Это очень, очень похоже на сетевое взаимодействие разных приложений. А корутины - это считай что очень много GOTO. Функция, которая может в любой момент прерваться через yeld, и продолжить своё выполнение после того как её снова вызвали Информация по lanes слегка устаревшая. В версии с появлением линды - оно переходит в состояние настоящей, тяжёлой многопоточности.

У меня кстати есть страшная штука - версия linda для luajit.

Tverd
01.03.2017
09:55:27
стоп, легкий поток это thread, тяжелый это process. Треды так же могут скакать между физ ядрами.. А вот могут ли на разных сокетах... вот вопрос конечно

Vlad
01.03.2017
09:56:05
чет посидел тут пару дней, думал будет что то типа егегей с радугой и единорогами, ав итоге все тут задвигают страшные сложные штуки

Tverd
01.03.2017
09:56:36
это типа local a = 10 ? ))))))))))

Alexander
01.03.2017
09:57:15
Tverd
01.03.2017
09:58:01
Vlad
01.03.2017
09:58:11
Ну типа?

Google
Vlad
01.03.2017
09:58:11
это типа local a = 10 ? ))))))))))

Ну да насчет простоты языка и реализуемых на нем вещей я согласен

Ну в плане что простой язык не значит простые приложения

Snusmumriken
01.03.2017
10:03:04
Да ладно, можешь задавать тупые вопросы :3 Ну, я тут просто изначально ориентируюсь на всякий лоулевел, многопоточку, использование недокументированного функционала и стрёмные байтоёбские оптимизации, типа ffi/jit и всего такого, всё ради игрушек. Но я типа чутка преподаватель, поэтому и на нубские вопросы отвечаю свободно. На луях довольно легко собирается приложение, сравнимое с самотрансформирующимся огромным боевым человекоподобным роботом, как и в питоне, например.

Vlad
01.03.2017
10:13:33
Мне бы такого преподавателя уже вижу что то типа "ну че сучары, как там компиляция говнокода идет?"

Snusmumriken
01.03.2017
10:13:51
Во-во, я примерно так и вёл, когда проходил преподавательскую практику в школе. Детишки были рады.

Vlad
01.03.2017
10:16:23
мда я все еще новый в телеграме человек нужно попрактиковаться в отправке файлов

просто решил щас пока остановиться на Lua и получить хоть какой то вменяемый результат в изучении ЯП а то были возвратно-поступательные движения и с C# и с Java немного с C++ но там далеко не ушел а тут хочу как то серьезно но с чего то небольшого

Snusmumriken
01.03.2017
10:20:56
Питон/жаваскрипт/луа. Но если ты не живёшь в Москве/Питере/Киеве/Минске, шанс найти работу чистым программистом на чём-то таком - мизерен.

Vlad
01.03.2017
10:22:53
знание ЯП и умение их применять разные вещи щас пока концентрируюсь на том что б доводить какие либо начинания до конца, проблема в том что как бы и логику прикинуть могу и алгоритмы работы в голове но вот когда дело доходит до реализации там просто беда

Snusmumriken
01.03.2017
10:22:55
Ну, если ты планируешь зарабатывать деньгу программированием и живёшь не в столице - придётся углубляться в жаву/шарп/плюсы, а скрипты останутся вспомогательным ЯП. Учиться об них очень приятно, но неудобно слезать: очень много синтаксического сахара. Меня, например, очень сильно раздражают конструкции типа: Кукарек<кококо> кукарек = new Кукарек<кококо>. Когда я хочу получить что-то простое. Поэтому, собственно, пишу на луях (jit) - очень много сахара с огромной скоростью исполнения и возможностью хардкорных сишных штук.

Tverd
01.03.2017
10:23:01
Кстати, заинтригован языком nim, уже писал модули для lua. Я к тому что у нас работу для такого языка найти еще сложнее )

Snusmumriken
01.03.2017
10:26:12


И возможность обернуть эти страшные штуки в красивую луёвую оболочку (node.js это тоже может).

Vlad
01.03.2017
10:29:44
я так пока на хороших примерах потискаю может love2d или возможно Defold

Snusmumriken
01.03.2017
10:33:38
@love2d_ru Задавай свои ответы :3

Group Butler [beta]
01.03.2017
12:52:11
Hi Yar Rick!

Tverd
01.03.2017
12:52:27
Hi-Hi )))

Group Butler [beta]
01.03.2017
12:55:46
Hi Philipp!

Philipp
01.03.2017
12:56:00
Привет, друзья-Луашники

Google
Alejandro
01.03.2017
12:56:53
Привед

Tverd
01.03.2017
12:57:30
превед

Philipp
01.03.2017
12:57:57
Никто не находил четвертую редакцию?

А то 4к дорого как-то

Tverd
01.03.2017
12:58:52
На русском ? У меня кажись только 3-я

Philipp
01.03.2017
12:58:58
Третья и у меня есть

Лучше на английском

Tverd
01.03.2017
12:59:21
Хм, а что в ней нового?

Philipp
01.03.2017
12:59:25
В принципе, ничего критичного там не поменялось, судя по оглавлению

Но всё равно взглянуть было бы интересно

Tverd
01.03.2017
13:00:35
Ну я ее даже так найти не могу... а где увидел?

Philipp
01.03.2017
13:00:56
Кстати, никто не в курсе, собираются ли в Luauit 2.1 добавлять профайлер? А то автор говорил, что выпилил тот, что был в бете

Philipp
01.03.2017
13:01:49
https://www.amazon.com/Programming-Lua-Fourth-Roberto-Ierusalimschy/dp/8590379868

Tverd
01.03.2017
13:02:39
пока не в курсе про профайлер... Да, нашел... Хитрый какой сукин сын, ну 3-я редакция приурочена к 5.3 версии, ладно. А 4-я?

Ну Роберто, ну молодец )))

Philipp
01.03.2017
13:03:25
Тоже)

Никто не хочет совместно тут поработать над проектиком на луа?

Прототипчиком игры

Alex Фэils?︙
01.03.2017
13:10:10
Можно попробовать

Philipp
01.03.2017
13:11:25
https://urho3d.github.io Вот этот движок, например

Google
Tverd
01.03.2017
13:12:45
Пробовал, там одна большая проблема и описана на форуме...

Philipp
01.03.2017
13:12:58
М?

Просто как-то с напарником искали движок, там ничего стоящего для 3Д и не нашли

Tverd
01.03.2017
13:13:23
Там на каждый чих раз в кадр приходит пачка колбеков, из-за этого фпс не фонтан.

Philipp
01.03.2017
13:13:51
В принципе, подходит всё, что ++ и Луа

Tverd
01.03.2017
13:13:58
Для 3д? не нашли? По каким критериям смотрели? Крайенджине не подошел?

Philipp
01.03.2017
13:14:07
Просто именно этим я лучше всего владею :D

Admin
ERROR: S client not available

Philipp
01.03.2017
13:14:25
Для 3д? не нашли? По каким критериям смотрели? Крайенджине не подошел?
Маловесное, с ЖИТом, поддержка луа как основного языка

Tverd
01.03.2017
13:14:34
Ну если бы мне сейчас выбирать 3д - это прямиком край

Вот тут не знаю, крайенджайн без джита?

Philipp
01.03.2017
13:15:01
Край слишком здоровый

Для спрайтового 3д

Tverd
01.03.2017
13:15:30
Эм... Кокос? там есть вроде примитивы для работы с 3д

Не, вы конечно можете юзать урху, если хватает...

)))) дело хозяйское

Для спрайтового 3д
Может love? Тут даже целый чатик по ней есть ) Хотя лично я не работал с ним

Philipp
01.03.2017
13:18:00
Лав.. Хороший, конечно, движок

Но почему-то мы от него отказались

Tverd
01.03.2017
13:18:17
ну там 3д кошерного наверно нет

Google
Philipp
01.03.2017
13:18:41
Типа того, да

А кстати, все же тут читали статьи про лабиринты, да? :D

Tverd
01.03.2017
13:19:10
Напомни, про которые?

Philipp
01.03.2017
13:19:15
Про классические

Tverd
01.03.2017
13:19:27
Если на хабре, то я вроде все читал

Philipp
01.03.2017
13:19:31
Еее

Я уже четвертую неделю

Пытаюсь дописать третью часть

И всё ленюсь ;(

Tverd
01.03.2017
13:19:59
таааак и? )

нет мотивации )))

Philipp
01.03.2017
13:20:33
Типа того

На выходных постараюсь добить

-- сказал я в четвертый раз

Tverd
01.03.2017
13:23:32
Давай так! Мы в тебя верим!!! ))) И давай так, не "надо", а "хочу"... и ответь для себя на этот момент, для чего хочешь )

Philipp
01.03.2017
13:24:29
Что я хочу... спать я хочу)

Anton
01.03.2017
13:25:18
написал на луа скриптик для нпам лет 100 назад, а щас я ваще не вкурю

луа это воопще о чём?

Snusmumriken
01.03.2017
13:25:37
Луа - это вселенная.

Страница 54 из 307