The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Компания Microsoft опубликовала реализацию Lua VM, написанну..., opennews (ok), 17-Ноя-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


2. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Аноним (2), 17-Ноя-18, 13:16 
Так что, Lua будет жить?
Очень достойный конкурент питону, но непопулярный.
Ответить | Правка | Наверх | Cообщить модератору

3. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от Аноним (3), 17-Ноя-18, 13:37 
Да ничего принципиального нет там. Питон ничем не хуже. Я за сабж бы и не сел, если бы не awesome wm. И то - на питоне он был бы гораздо лучше.
Ответить | Правка | Наверх | Cообщить модератору

12. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Аноним (-), 17-Ноя-18, 14:21 
На Питоне есть Qtile github.com/qtile/qtile
Ответить | Правка | Наверх | Cообщить модератору

82. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +3 +/
Сообщение от аа (?), 18-Ноя-18, 10:54 
Питон ровно ничем не отличается от пхп, и перла и руби и прочих монстров, а луа у которой 200кб бинарник, ровно такой же как у awk, легко переносится хоть на ардуину с 20кб озу, так что не надо ляля
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

91. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Анонн (?), 18-Ноя-18, 14:30 
> Питон ровно ничем не отличается от пхп, и перла и руби и прочих монстров, а луа у которой 200кб бинарник, ровно такой же
> как у awk, легко переносится хоть на ардуину с 20кб озу, так что не надо ляля

Очередной Экспердус Опеннетус спешит поделиться ценнейшим мнением.
MicroPython? Не, не слышал!

> How big is MicroPython? How much memory does it take?
> TL;DR: 128K ROM/8K RAM is the recommended minimum configuration for doing
> something "real". You can easily go below (or above) that, see below.
>

Ответить | Правка | Наверх | Cообщить модератору

98. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от Аноним (98), 18-Ноя-18, 19:48 
Ага, только когда дело дойдёт до подключения нужных модулей всё "micro" улетит в никуда.
Ответить | Правка | Наверх | Cообщить модератору

125. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от нах (?), 19-Ноя-18, 14:41 
все норм, никуда не улетит - эти модули просто не подключатся, ибо с мелко-питоном несовместимы ;-)

Ответить | Правка | Наверх | Cообщить модератору

108. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 19-Ноя-18, 08:49 
>> How big is MicroPython? How much memory does it take?
>> TL;DR: 128K ROM/8K RAM is the recommended minimum configuration for doing
>> something "real". You can easily go below (or above) that, see below.
>>

Arduino Uno

Микроконтроллер ATmega328
Флеш-память      32 Кб (ATmega328) из которых 0.5 Кб используются для загрузчика
ОЗУ              2 Кб (ATmega328)
EEPROM           1 Кб (ATmega328)

Ответить | Правка | К родителю #91 | Наверх | Cообщить модератору

124. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Анонн (?), 19-Ноя-18, 13:59 

> Arduino Uno
>  Микроконтроллер ATmega328
> Флеш-память      32 Кб (ATmega328) из которых 0.5
> Кб используются для загрузчика
> ОЗУ            
>   2 Кб (ATmega328)
> EEPROM           1
> Кб (ATmega328)

Вы бы для начала определились:
> хоть на ардуину с 20кб озу

Да и дополнительно к спекам не помешал бы пример или демка не-совсем-уж-хелловорда на Луа на ЭТОЙ ардуине.


Ответить | Правка | Наверх | Cообщить модератору

148. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 20-Ноя-18, 06:49 
>> Arduino Uno
>>  Микроконтроллер ATmega328
>> Флеш-память      32 Кб (ATmega328) из которых 0.5
>> Кб используются для загрузчика
>> ОЗУ
>>   2 Кб (ATmega328)
>> EEPROM           1
>> Кб (ATmega328)
> Вы бы для начала определились:
>> хоть на ардуину с 20кб озу

Дык я и определил, что спорить с тем кто "легко переносится хоть на ардуину с 20кб озу" смысла нет :)

> Да и дополнительно к спекам не помешал бы пример или демка не-совсем-уж-хелловорда
> на Луа на ЭТОЙ ардуине.

Не видел (и не искал). Вполне пишут (в т.ч. полные новички в программировании) для Ардуин на диалекте (упрощённом) С++. ИМХО больше пользы: близость к железу даёт углублённое понимание оного.

Ответить | Правка | Наверх | Cообщить модератору

7. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +9 +/
Сообщение от Аноним (7), 17-Ноя-18, 14:01 
Lua лёгкий, а не удобный.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

11. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Аноним (11), 17-Ноя-18, 14:15 
Посмотрите на количество модов для Сталкера.
Все же многие нашли его удобным.
Ответить | Правка | Наверх | Cообщить модератору

17. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от анон (?), 17-Ноя-18, 15:04 
все плагины для World of warcraft на Lua написаны
Ответить | Правка | Наверх | Cообщить модератору

47. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от кремлебот (?), 17-Ноя-18, 17:40 
в Вампирском Машкераде был Питон. Я оба языка пробывал встраивать. Бидон был явно мощнее, но Луа проще. Там в Бидоне был миллион строк, огромная свалка библиотек. Луа была крошечной, ее можно было легко запихнуть в движок, но и делать могла почти ничего. Просто чтобы не писать свой интерпритатор.
Ответить | Правка | Наверх | Cообщить модератору

110. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от barmaglot (??), 19-Ноя-18, 09:20 
Вы просто экосистемы Lua не знаете. Посмотрите luarocks, Open-Resty.
Ответить | Правка | Наверх | Cообщить модератору

48. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +5 +/
Сообщение от Anananemail (?), 17-Ноя-18, 18:00 
На lua вся Don't starve написанна, окромя обвязки с sdl.
Аналогично лучший рогалик ToME - полностью на lua.
Супер легковесный 2д движок для луа - love2d занимает минимум памяти.

Вообще даже немного обидно что lua уделяется мало внимания. Я бы был бы не против встроенного в базовую систему FreeBSD lua интерпретатора. Занимает минимум памяти, а писать скрипты на нем гораздо проще чем на шелле. Особенно когда нужны списки/массивы.

Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

129. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Аноним (-), 19-Ноя-18, 15:42 
> На lua вся Don't starve написанна
> Аналогично лучший рогалик ToME

и обе тормозят, как моя бабка. Особенно tales of maj eyal - там просадки фпс вообще на любом железе (особенно во время автопоиска)

Ответить | Правка | Наверх | Cообщить модератору

131. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Анонн (?), 19-Ноя-18, 15:50 
> Я бы был бы не против встроенного в базовую систему FreeBSD lua интерпретатора.

https://reviews.freebsd.org/D14295
> Add Lua as a scripting langauge to /boot/loader

Базовей некуда.

Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

100. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 19-Ноя-18, 03:37 
Угу. Потому что больше ни на чём их писать невозможно. Близы встроили lua в клиент, но не встроили туда python.
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

70. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –3 +/
Сообщение от Аноним (70), 18-Ноя-18, 04:58 
Lua - нишевой язык. Кроме скриптов в играх больше почти нигде не используется. Wireshark разве что вспоминается.
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

80. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от КГБ СССР (?), 18-Ноя-18, 10:39 
https://www.lua.org/uses.html
Ответить | Правка | Наверх | Cообщить модератору

111. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от barmaglot (??), 19-Ноя-18, 09:26 
Расскажите это CloudFlare, MailRu, Taobao, они очень удивятся.
Ответить | Правка | К родителю #70 | Наверх | Cообщить модератору

151. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от InuYasha (?), 20-Ноя-18, 13:01 
> Расскажите это CloudFlare, MailRu, Taobao, они очень удивятся.

Вот этим-то ребятам как раз впору Lua обмазываться. )

Ответить | Правка | Наверх | Cообщить модератору

154. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от нах (?), 20-Ноя-18, 21:57 
я вас, б..дей, на этот пароход целый год собирал!

Ответить | Правка | Наверх | Cообщить модератору

30. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +3 +/
Сообщение от Онаним (?), 17-Ноя-18, 16:13 
Скорее он легко встраиваемый. Лёгкостью и удобством там не пахнет близко даже.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

14. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Аноним (14), 17-Ноя-18, 14:41 
у них отсчет начинается с единицы, а не с нуля. Только за это авторов луа надо бить ссаными тряпками
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

16. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +2 +/
Сообщение от Аноним (16), 17-Ноя-18, 14:53 
> у них отсчет начинается с единицы, а не с нуля

Достаточно традиционный подход. Fortran, R, Matlab, Julia тоже с единицы

Ответить | Правка | Наверх | Cообщить модератору

40. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +4 +/
Сообщение от Аноним84701 (ok), 17-Ноя-18, 16:52 
>> у них отсчет начинается с единицы, а не с нуля.
> А по-моему это е#анина, когда arr.length > 0, а arr[length] не существует.

Ох уж эта вечная война остроконечни^W приверженцев 0/1 индексов.
Смотрится особенно умильно на фоне классики:
(Внимание: особо впечатлительным фанатам "единственно верной индексации" лучше не смотреть и не читать -- возможен разрыв … э-э-э шаблона :) )
------


program pukanero;
var myarr: array[-5..10, -10..10] of Byte;
begin
    myarr[10][10] := 37;
    myarr[-5,-10] := 13;
    writeln('len:',length(myarr),',', length(myarr[low(myarr)]),
            '|',myarr[-5,-10],myarr[10,10]);
end.

https://ideone.com/8HxUl5

    Success    #stdin #stdout 0s 336KB

len:16,21|1337

Ответить | Правка | Наверх | Cообщить модератору

121. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Аноним (130), 19-Ноя-18, 11:02 
Многоли ли использующих сейчас Пасквиль?
Ответить | Правка | Наверх | Cообщить модератору

123. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от Аноним84701 (ok), 19-Ноя-18, 13:33 
>> на фоне классики
> Многоли ли использующих сейчас Пасквиль?
> Пасквиль?

Многие ли сейчас читают Достоевского или Гоголя?
Можно ли, исходя из цифр активных читателей, сделать вывод о превосходстве языковой и сюжетной части опусов Донцовой и Поселягина над произведениями Чехова или Толстого?
Стоит ли воспринимать критику "Двинацати стулиев" всерьез?
Вопросы, вопросы …

Ответить | Правка | Наверх | Cообщить модератору

149. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 20-Ноя-18, 07:08 
А примерчик ведь замечательный. Адепты превосходства скобочек {} в священной войне победили. Однако, с [] вышло ой. В Паскале индексы на уровне языка. В С это введённая пользователями абстракция. Потом абстракционисты переполняют буфер, а Керниган с Риччи виноват.
Ответить | Правка | Наверх | Cообщить модератору

156. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от neit95 (ok), 21-Ноя-18, 02:55 
Range конструкции в паскалеобразных - одна из любимых их особенностей. Особенно range case. Очень жаль, что не использовали в условиях.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

157. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от neit95 (ok), 21-Ноя-18, 02:57 
И да, о Zonnon наверное люди даже не слыхали.
Ответить | Правка | К родителю #40 | Наверх | Cообщить модератору

27. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +2 +/
Сообщение от Ag (ok), 17-Ноя-18, 15:58 
> у них отсчет начинается с единицы, а не с нуля. Только за это авторов луа надо бить ссаными тряпками

Подражателей идеи Си-шных индексов надо бить, и не ссыными тряпками, а хорошей дубиной.
В Си эта идея обоснованная, язык для системного программирования, по сути высокоуровневый ассемблер.
Но в языках общего назначения - это маразм карго-культа.
Границы индекса должны назначаться при объявлении / создании массива и быть произвольными.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

29. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –7 +/
Сообщение от pavlinux (ok), 17-Ноя-18, 16:01 
> Границы индекса должны назначаться при объявлении / создании массива и быть произвольными.

Массивы должны быть переменного размера. В прикладухе не нужно таких геморов.

А вообще применение массивов в прикладном софте немного странно,
ну кроме случаев когда сама программа создаётся для работы с массивами
(мат. пакеты, статистика, астрономия, графика, игр. движки,....)  

Ответить | Правка | Наверх | Cообщить модератору

31. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –3 +/
Сообщение от Акакжев (?), 17-Ноя-18, 16:14 
> идеи Си-шных индексов

Не нашёл индексов в ISO/IEC 9899:201x. Единственное вхождение:

6.7.9 Initialization

22 If an array of unknown size is initialized, its size is determined by the largest indexed
element with an explicit initializer. The array type is completed at the end of its
initializer list.


Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

33. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от pavlinux (ok), 17-Ноя-18, 16:25 
int A[] = {9,8,7,6}  - массив из 4-х элементов A[0],A[1], A[2], A[3]; A[0] == 9, A[3] == 6;

Шо не ясно?

int A[99] = {0} - массив из 99 элементов, всё нули.
int A[99] = {11} - так низя. Точнее можно, но нихрена не понятно, равносильно:  A[99] = {[0]=11, [1 ... 98]=UNDEFINED};
int A[] = {0};  - казалось бы сингулярность, но нет - 1 элемент, нулевой. :)

Ответить | Правка | Наверх | Cообщить модератору

38. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –2 +/
Сообщение от Акакжев (?), 17-Ноя-18, 16:48 
> Шо не ясно?

Где определение "индекс" в стандарте С.
[] суть синтаксический сахар для указателей.
Боюсь, что заимствование "идеи индексов" из С выдумали сами заимствующие.

> int A[] = {0};  - казалось бы сингулярность, но нет - 1 элемент, нулевой. :)

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

> int A[99] = {11} - так низя.

Да, надо добавить ;// и станет well-formed.

Ответить | Правка | Наверх | Cообщить модератору

41. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от pavlinux (ok), 17-Ноя-18, 16:52 
> Где определение "индекс" в стандарте С.

Ну отец, это не в Си, это в матане и линейной алгебре :)

Ответить | Правка | Наверх | Cообщить модератору

43. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –2 +/
Сообщение от Акакжев (?), 17-Ноя-18, 17:12 
В матрицах что ли? Так это в тетрадке заставляли вручную перемножаемые элементы расписывать, что бы научились. А в прикладухе зачем вот это вот всё? Там ведь даже ответ зачастую не в цифрах нужен, а в виде точки на экране.

А то ведь получается, что они для индексации элементов упорядоченного множества используется. Осталось их добавить в LISP. :)

Ответить | Правка | Наверх | Cообщить модератору

49. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от pavlinux (ok), 17-Ноя-18, 18:04 
> А в прикладухе зачем вот это вот всё?

Это ужо философия.

А нулевой индекс в массиве, патамуша массив - это куча байт, относительный адрес которых начинается с нуля.


Ответить | Правка | Наверх | Cообщить модератору

66. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Himik (ok), 18-Ноя-18, 01:23 
Не потому, что массив байт, а потому что такова прямоугольная (Декартова) система координат, которая начинается с 0. Нарушение этого правила полностью ломает общепринятую систему координат.
Ответить | Правка | Наверх | Cообщить модератору

77. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 18-Ноя-18, 08:49 
> Не потому, что массив байт, а потому что такова прямоугольная (Декартова) система
> координат, которая начинается с 0.

Напомню, что кто-то якобы увидел в языке Си некие "индексы", и перетащил их в другие языки. При чём тут абсциссы с ординатами, которые вообще-то далеко не всегда целые числа...

Ответить | Правка | Наверх | Cообщить модератору

75. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Акакжев (?), 18-Ноя-18, 08:22 
> А нулевой индекс в массиве, патамуша массив - это куча байт, относительный
> адрес которых начинается с нуля.

Потому что Вы не поняли концепцию указателей, относительно которых и происходит нулевое (или иное) смещение.

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

68. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –2 +/
Сообщение от ISO C (?), 18-Ноя-18, 02:52 
> Не нашёл индексов в ISO/IEC 9899:201x

https://port70.net/~nsz/c/c11/n1570.html#Index пожалуйста

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

74. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –3 +/
Сообщение от Акакжев (?), 18-Ноя-18, 08:21 
>> Не нашёл индексов в ISO/IEC 9899:201x
> https://port70.net/~nsz/c/c11/n1570.html#Index пожалуйста

Обманывать нехорошо.
Этот Индекс относятся не к языку.

Ответить | Правка | Наверх | Cообщить модератору

95. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от ISO C (?), 18-Ноя-18, 18:04 
>>> Не нашёл индексов в ISO/IEC 9899:201x
>> https://port70.net/~nsz/c/c11/n1570.html#Index пожалуйста
> Обманывать нехорошо.
> Этот Индекс относятся не к языку.

А к чему он относится?

Ответить | Правка | Наверх | Cообщить модератору

106. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 19-Ноя-18, 08:22 
>>>> Не нашёл индексов в ISO/IEC 9899:201x
>>> https://port70.net/~nsz/c/c11/n1570.html#Index пожалуйста
>> Обманывать нехорошо.
>> Этот Индекс относятся не к языку.
> А к чему он относится?

Попробуйте перевести... прямо. ;)


Ответить | Правка | Наверх | Cообщить модератору

89. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +1 +/
Сообщение от ISO C (?), 18-Ноя-18, 14:02 
>> идеи Си-шных индексов
> Не нашёл индексов в ISO/IEC 9899:201x.

Так может ты переводишь криво, "грамотей"?

https://port70.net/~nsz/c/c11/n1570.html#6.5.2.1 (6.5.2.1 Array subscripting)
https://translate.yandex.ru/?lang=en-ru&text=subscript

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

105. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 19-Ноя-18, 08:21 
>>> идеи Си-шных индексов
>> Не нашёл индексов в ISO/IEC 9899:201x.
> Так может ты переводишь криво, "грамотей"?
> https://port70.net/~nsz/c/c11/n1570.html#6.5.2.1 (6.5.2.1 Array subscripting)
> https://translate.yandex.ru/?lang=en-ru&text=subscript

Цитаты с определением "индекса массива", очевидно, Вы предоставить не можете. Потому что её нет. Остаётся фантазировать.

Ответить | Правка | Наверх | Cообщить модератору

107. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Акакжев (?), 19-Ноя-18, 08:31 
>>> идеи Си-шных индексов
>> Не нашёл индексов в ISO/IEC 9899:201x.
> Так может ты переводишь криво, "грамотей"?
> https://port70.net/~nsz/c/c11/n1570.html#6.5.2.1 (6.5.2.1 Array subscripting)
> https://translate.yandex.ru/?lang=en-ru&text=subscript

Создатели стандарта пользуются другим словарём.

Из словаря OxfordDictionary (En-En)
subscript [+]
1. adjective (of a letter, figure, or symbol) written or printed below the line
2. noun a subscript letter, figure, or symbol
■ Computing a symbol (notionally written as a subscript but in practice usually not) used in a program, alone or with others, to specify one of the elements of an array

Читаем: для спецификации одного из элементов массива.

"The definition of the subscript operator [] is that E1[E2] is identical to (*((E1)+(E2)))"

Переводим стандарт по смыслу: оператор синтаксического сахара для арифметики указателей.

"Индекс" ввиду отсутствия внятной семантики -- это ещё более вольная интерпретация, чем моя выше.

Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

59. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от annual slayer (?), 17-Ноя-18, 19:53 
а в каких сферах луа и питон конкурируют то?

основная популярность питона не в сфере встраиваемых языков (хоть его так тоже используют)

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

85. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Аноним (85), 18-Ноя-18, 11:22 
Например Ардуино-подобные игрушки. Вместо тяжёлого для новичков C там можно завести интерпретатор Lua и писать на ней. А вот интерпретатор питона "тянут" лишь дорогие платы помощнее.
Имхо, там подошло бы что-то вроде Vala, которая не интерпретируется, а транслируется в C код, а освоить её не сложнее C#.
Ответить | Правка | Наверх | Cообщить модератору

160. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от annual slayer (?), 21-Ноя-18, 03:15 
> Например Ардуино-подобные игрушки. Вместо тяжёлого для новичков C там можно завести интерпретатор
> Lua и писать на ней. А вот интерпретатор питона "тянут" лишь
> дорогие платы помощнее.
> Имхо, там подошло бы что-то вроде Vala, которая не интерпретируется, а транслируется
> в C код, а освоить её не сложнее C#.

а в этом жанре разве не js сейчас в топе?

Ответить | Правка | Наверх | Cообщить модератору

161. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от annual slayer (?), 21-Ноя-18, 03:16 
> Имхо, там подошло бы что-то вроде Vala, которая не интерпретируется, а транслируется
> в C код, а освоить её не сложнее C#.

мне кажется, nim подошел бы больше чем Vala

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

101. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 19-Ноя-18, 04:10 
> Очень достойный конкурент питону, но непопулярный.

Это мнение основано на опыте применения lua? Если так, то киньте в меня пожалуйста каким-нибудь гайдом, который может объяснить человеку воспитанному на типизированных языках, как можно написать на нетипизированном языке программу сложнее чем hello world. Я пытался найти подобный гайд в интернете, когда столкнулся с lua, но мне это не удалось. Я знаю, что людям как-то удаётся писать на lua программы в тысячи, и даже десятки тысяч строк, но я не знаю как. А очень хочу знать.

В смысле, у меня есть как можно привнести в lua типизацию, хотя бы динамическую, но другие то обходятся без этого. И на вопрос "как им это удаётся" я могу предположить лишь один ответ: они гениальные программисты, чья гениальность недостижима для моего понимания. Но я видел примеры кода на lua, и они в большинстве своём вовсе не похожи на код гения. Хотя, если гениальность непостижима, может я просто не вижу гениальности этого кода?

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

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

137. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +3 +/
Сообщение от Аноним (137), 19-Ноя-18, 19:34 
Я тот самый анон.
Я писал на ней игрульки (мобильные движки вроде Corona SDK, Defold...), моды к играм, программировал микроконтроллеры (Lua-node), даже писал GUI приложения для десктопа (https://github.com/pavouk/lgi).
Игрушку выложил в Google Play, но популярности она не добилась, моды до сих пор где-то валяются на каких-то форумах, микроконтроллер я вообще воспринимал как игрушку.

Могу сказать, что Lua - хороший язык, LuaJIT очень быстрая. Но если вы привыкли к языкам с жесткой статической типизацией, то lua вам просто не нужна.

Ответить | Правка | Наверх | Cообщить модератору

140. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –4 +/
Сообщение от Orduemail (ok), 19-Ноя-18, 20:52 
> Но если
> вы привыкли к языкам с жесткой статической типизацией, то lua вам
> просто не нужна.

Отлично. Я тоже сказал бы что она мне не нужна, но её встраивают куда ни попадя. Как правило не предлагая никаких альтернатив.

Ответить | Правка | Наверх | Cообщить модератору

168. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Аноним (168), 22-Ноя-18, 23:36 
Есть различные библиотеки для проверки типов (checks, annotate) и статистического анализа кода (lua lint). Действительно большой недостаток - отсутствие статических структур и некоторые чрезмерные упрощения. Например, невозможно различить отсутствие переменной/поля таблицы и равенство его nil. Или то что обычные массивы и словари объединены в одну структуру table. Или десяток способов имитировать классы, несовместимые друг с другом.
Ответить | Правка | Наверх | Cообщить модератору

169. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 23-Ноя-18, 05:13 
> Есть различные библиотеки для проверки типов (checks, annotate) и статистического анализа
> кода (lua lint).

Да, но они для версий старше 5.0, я же завязан на 5.0. Да и глупости всё это, я посмотрев, решил что реально чем возится со всей этой хнёй, проще написать компилятор типизированного языка в lua. Вплоть до того, что реализовать lisp на lua, с компиляцией lisp'а в lua. Правда lisp динамиечески типизируемый, то есть он снимет лишь часть проблем.


Ответить | Правка | Наверх | Cообщить модератору

170. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  –1 +/
Сообщение от Аноним (168), 23-Ноя-18, 06:49 
Так lua тоже динамически типизируемый. Annotate очень интересная библиотека. Там добавляются декоратором doc-строки для проверки типов аргументов функции, по которой генерируется конечный автомат. На luajit работает быстрее чем check type, реализованный на си в виде dll. Да, ещё раздражает обилие locate и end в коде. В moonscript это исправлено. Но разыменование nil - проблема больших скриптов lua. По сути это аналог null pointer exception. Здесь может помочь автоматическая инициализация всех переменных и немутирующие переменные как в функциональных языках. Но тогда это будет другой ЯП и нужно будет всё переписывать.
Ответить | Правка | Наверх | Cообщить модератору

147. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 20-Ноя-18, 04:34 
> Я тот самый анон.
> Я писал на ней игрульки (мобильные движки вроде Corona SDK, Defold...), моды
> к играм, программировал микроконтроллеры (Lua-node), даже писал GUI приложения для десктопа
> (https://github.com/pavouk/lgi).

Ну это не очень показательный проект. Это просто бинды к внешней библиотеке без попытки создать что-то своё. Но и тем не менее вопрос: а там все эти тесты-проверки типов вручную писались, или всё же автосгенерированы были? Если автосгенерированы, то что это за утилита такая замечательная? Позволяет ли она автогенерировать произвольные юзерские типы, чтобы не надо было вручную набирать бы весь этот бойлерплейт с setmetatable, check_type на каждое поле, а тупо описать тип декларативно, и получить всё остальное бонусом?

Ответить | Правка | К родителю #137 | Наверх | Cообщить модератору

152. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Аноним (152), 20-Ноя-18, 13:03 
Эта замечательная утилита называется gobject-introspection. Именно она создаёт такое многообразие биндингов к Gobject.
Если бы не она, я бы выбрал Qt.
Ответить | Правка | Наверх | Cообщить модератору

153. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 20-Ноя-18, 16:07 
> Эта замечательная утилита называется gobject-introspection. Именно она создаёт такое
> многообразие биндингов к Gobject.
> Если бы не она, я бы выбрал Qt.

Это не вариант. В моём случае нужен именно lua код, встроить C'шные модули не удастся. Если бы это было возможно, я бы вообще не парился на тему lua ни секунды.

Ответить | Правка | Наверх | Cообщить модератору

158. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от neit95 (ok), 21-Ноя-18, 03:07 
Lua же встраиваемый язык. Чистый Lua - это на поиграться. Там в стандартной библиотеки нет слишком много того, что нужно. Поэтому и недотягивает до python'а по популярности.
Ответить | Правка | Наверх | Cообщить модератору

162. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 21-Ноя-18, 03:28 
> Lua же встраиваемый язык. Чистый Lua - это на поиграться. Там в
> стандартной библиотеки нет слишком много того, что нужно. Поэтому и недотягивает
> до python'а по популярности.

Да, я понимаю. И именно этот кейс я и имею в виду. Есть приложение, в нём не хватает функциональности на мой взгляд, но там есть встроенный луа. Недостающую функциональность я оцениваю в несколько тысяч SLOC. Я написал около 1 kSLOC и даже когда этот код работает, я не верю в то, что он работает. Ну, я писал его "волнами", типа написал что-то, посмотрел, перелопатил весь код дописал ещё чутка. Посмотрел, перелопатил. И так раза три-четыре. Сейчас я смотрю на то что получилось, и думаю, что же теперь делать -- переписывать заново с учётом обретённых знаний? Тщательно избегая копипаста, чтобы туда не просочились бы косяки типа "я изменил функцию добавив туда аргумент, но исправил не все вызовы этой функции, и некоторые вызывают эту функцию с недостаточным количеством аргументов". Луа, падла такая, не просто радостно принимает такие баги, он даже не даёт никакого способа найти их.

В интернете есть статические анализаторы, но они для lua версий 5.1 и выше. Мне нужно для 5.0. Написать свой статический анализатор? По идее не сложно должно быть, lua маленький и простой язык, но с другой стороны, не сильно-то сложнее запилить маленький и простой язык со статической типизацией, который будет компилироваться в луа. И я бы давно сделал это, но для этого нужно уверенное понимание всяких нюансов lua, которые возможно обрести только через опыт программирования на луа. И поэтому собственно я и задаю вопрос: какие есть секретные тулзы для программирования на lua? Или может быть секретные приёмы? Может быть какой гайд по написанию unit-тестов для нетипизированных языков? Может быть руководство по проектированию API в нетипизированных языках? В идеале, конечно же, книжку с названием "Lua для C-программиста" или "системное программирование на lua" ("системное" -- это в смысле создания сложных систем, а не написания ядра ОС).

Ответить | Правка | Наверх | Cообщить модератору

164. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от neit95 (ok), 21-Ноя-18, 03:44 
Ох, не уверен, что смогу помочь. С функциями жрёт, т.к. для неё не баг, а фича (на сколько помню). Там даже можно несколько значений вернуть, при этом, если у вызывающего есть лишние переменные, они nil'ами будут, если же их недостаёт, ряд возвращаемых значений похерится. Точно не помню (я на нём эпизодически пишу скрипты для сборки C/C++ проектов при помощи premake), но думаю с аргументами такая же ситуация. Единственное, что могу посоветовать, книгу от автора: Роберту Иерузалимски "Программирование на языке Lua" (на русском существует). Правда она для 5.3. Не знаю, но м.б. существовало издание для 5.0, но я не интересовался. У меня её 3-е издание. На крайний случай думаю можно ориентироваться на книгу, а разницу искать в и-нете.
Ответить | Правка | Наверх | Cообщить модератору

165. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Orduemail (ok), 21-Ноя-18, 06:22 
> Ох, не уверен, что смогу помочь. С функциями жрёт, т.к. для неё
> не баг, а фича (на сколько помню).

Да там всё фича. Некоторые из этих фичей можно пофиксить колупая _G, но вызовы функций можно пофиксить, разве что, собственными реализациями funcall и defun, и вызова/объявлений всех функций через них. Да и то, этот nil, который lua пихает везде по-умолчанию, нехило так будет мешать. Придётся запретить себе использовать nil как значение, и завести новый атом означающий "отсутствие значения", такой который надо указывать явно, чтобы он был передан, и соответственно тогда возникновение nil в любом месте можно будет считать ошибкой типа "попытка доступа к несуществующей/неинициализированной переменной". И я бы сделал это, но чтобы это было бы удобно использоваться, надо написать обёртки для всех библиотечных функций. И для всех функций из разных пакетов, которые я скачиваю из интернета. Опять же надо писать парсер lua, чтобы генерить эти обёртки (не писать же их вручную!), и опять же встаёт вопрос, не проще ли написать нормальный язык, который будет компилироваться в lua.

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

Да-да. А в 5.0 ещё, если использовать эллипсис, и в качестве одного из аргументов передать nil, то все последующие аргументы пропадают. Потому что lua не может отличить неинициализированную переменную от переменной инициализированной значением nil (он даже несуществующую переменную не отличает от переменной инициализированной значением nil, хотя специальными трюками его можно отучить от этой дурной привычки), а итератор по аргументам останавливается, когда найдёт nil. Я вроде читал где-то, что в более старших версиях это пофиксили, но в 5.0 это именно так.

> Единственное, что могу посоветовать, книгу от автора: Роберту Иерузалимски "Программирование
> на языке Lua" (на русском существует). Правда она для 5.3. Не
> знаю, но м.б. существовало издание для 5.0, но я не интересовался.
> У меня её 3-е издание. На крайний случай думаю можно ориентироваться
> на книгу, а разницу искать в и-нете.

Да, я читал эту книгу. Первое её издание о 5.0. Это не то, что нужно. Вообще, в идеале, было бы круто что-то типа "Practical Lua" по аналогии с "Practical Common Lisp". Или "Learning Lua with entirely too many [somthing]" по аналогии с "Learning Rust with entirely too many linked lists". Что-нибудь, что берёт какую-то проблему, и разбирает разные подходы к её решению. Или что-то что берёт несколько проблем, и разбирает подходы к их решению. Доводя эти подходы до какого-то логического завершения. А этот Иерузалимски не парится совершенно, приводя в качестве примеров высосанные из пальца строки кода, которые не делают ничего полезного, кроме демонстрации фишки языка, которые не отвечают на вопрос, когда эту фишку языка уместно использовать, а когда проще обойтись без неё. Типа если читателю надо, пускай он сам выясняет это методом проб и ошибок. Но метод проб и ошибок -- это полгода программирования на языке, с очень скромным выхлопом в плане объёма рабочего кода. Зато груды нерабочих кусков кода, в процессе написания которых было выяснено, что подход X неудачен для решения проблем класса Y.

Впрочем... Может если посмотреть на более поздние издания, то там Иерузалимски исправился и придумал какие-то более реалистичные примеры? Я загляну на досуге.

Ответить | Правка | Наверх | Cообщить модератору

166. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от КГБ СССР (?), 21-Ноя-18, 08:29 
Посмотри эту книжку:

google.com/search?q="Lua+Programming+Gems"+2008

В ней, вроде, как раз даны примеры применения с объяснением.

Ответить | Правка | Наверх | Cообщить модератору

172. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от hdkfhsfhsiosf (?), 23-Ноя-18, 09:19 
Как вариант - написать внешний dll модуль на С/C#. Примеры есть в книге Иерусалимского и на сайте quikluacsharp.ru. Ещё вариант - через lua socket и json реализовать RPC. Я так связывал брокерский терминал quik c встроенным яп qlua (расширение lua 5.1) c luajit. C json/REST/http интерфейсом можно внешние модули на любом языке написать.
Ответить | Правка | К родителю #162 | Наверх | Cообщить модератору

155. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от neit95 (ok), 21-Ноя-18, 02:32 
Стандартная библиотека у него слабая (видимо из-за ориентации на встраиваемость). А так, если Lua + стандартную библиотеку от Python, то вообще найс.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

167. "Компания Microsoft опубликовала реализацию Lua VM, написанну..."  +/
Сообщение от Аноним (167), 21-Ноя-18, 11:26 
Ну так что, сделаем сборку LuaJIT ZverDVD с JSON и мультипоточностью?)))
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру