Lua vs JavaScript
От: Arsen.Shnurkov  
Дата: 21.05.16 05:43
Оценка: :)
Зачем на свете существует Lua, если есть JavaScript,
который не менее хорош для всех, более стандартизован (ECMA-262),
занимает бОльшую долю рынка и поддерживается крупной корпорацией Oracle
(«JavaScript» — зарегистрированный товарный знак, но для ухода от проблем с торговыми марками стандарт ECMA 262 называет язык ECMAScript)
?
28 лидирующих ИТ-компаний выразили намерение использовать в своих продуктах JavaScript
как объектный скриптовый язык с открытым стандартом.
Согласно TIOBE Index, JavaScript находится на 7 месте, а Lua на 30-м

LuaJIT самый медленный
Код JS и Lua идентичен, за исключением мелких синтаксических различий.

JavaScript на два года современнее чем Lua, учёл его ошибки
Lua появился в 1993
JS появился в 1995

JavaScript используется в офисных приложениях для автоматизации рутинных действий, написания макросов
(интерпретатор JavaScript Rhino, имеется редактор и отладчик JavaScript-сценариев)

JavaScript преподаётся в школах (есть проект Computer science in JavaScript про алгоритмы и структуры данных)

даже wiki страница у JavaScript длиннее!!
Re: Lua vs JavaScript
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.05.16 05:54
Оценка: 4 (2) +5
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>LuaJIT самый медленный


Оцените объём встраиваемого интерпретатора — это основной критерий.

AS>JavaScript на два года современнее чем Lua, учёл его ошибки


Творчески их расширив, углубив, сделав коварнее и изощрённее, добавил ещё своих новых ошибок и успешно добился первого места по количеству WTF среди всех современных языков, опередив соперников на две головы.

AS>даже wiki страница у JavaScript длиннее!!


Что показывает только неоправданную сложность.
The God is real, unless declared integer.
Re[2]: Lua vs JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.05.16 06:53
Оценка: +2
Здравствуйте, netch80, Вы писали:

AS>>LuaJIT самый медленный


N>Оцените объём встраиваемого интерпретатора — это основной критерий.


На самом деле это никому не интересно. Я встраивал скриптинг в самые разные приложения. JS это сплошной чит. В начале нулевых уже была целая куча самый разных реализаций, от однострочников, до продвинутых интерпретаторов. Для бедных можно было пойти двумя вещами — наклепать свой на коленке и это работало, или взять WSH и это тоже работало.

AS>>JavaScript на два года современнее чем Lua, учёл его ошибки


N>Творчески их расширив, углубив, сделав коварнее и изощрённее, добавил ещё своих новых ошибок и успешно добился первого места по количеству WTF среди всех современных языков, опередив соперников на две головы.


JS первые лет десять ходил под стол пешком. Lua уже к релизу JS был довольно серьезным языком — см версию 2.1. https://www.lua.org/spe.html
JS только в версии ES6 худо-бедно покрывает возможности lua 2.1 С учетом того, что актуальная версия JS это ES5 а чуть не три четверти всего кода вообще на ES3 написаны...
Вобщем как раз классический пример, когда красивый и вывереный язык слил уродцу.
Re: Lua vs JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.05.16 06:57
Оценка: +1
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>Зачем на свете существует Lua, если есть JavaScript,


Правильно задавать вопрос так — почему есть JS если одновременно с рождением JS двадцать лет назад вышел lua 2.1 https://www.lua.org/spe.html
Lua 2.1 может конкурировать с ES6, хотя текущий стандарт по факту ES5 а чуть не весь код написан ажно на ES3.
Отредактировано 21.05.2016 7:11 Pauel . Предыдущая версия .
Re[2]: Lua vs JavaScript
От: Arsen.Shnurkov  
Дата: 21.05.16 09:07
Оценка:
I>Правильно задавать вопрос так — почему есть JS

это прискорбно.

у меня вопрос "что делать". Выпиливать Lua и запиливать JS? Пытаться предоставлять оба?
Re: Lua vs JavaScript
От: Kolesiki  
Дата: 21.05.16 09:55
Оценка: +5 -1
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>Зачем на свете существует Lua, если есть JavaScript,


Зачем они существуют оба, если есть нормальные, статически типизированные языки? Что такого в "вебе" делается сверхнеординарного, требующего писать на языке таймбомб?
Re[2]: Lua vs JavaScript
От: Ops Россия  
Дата: 21.05.16 10:18
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Правильно задавать вопрос так — почему есть JS если одновременно с рождением JS двадцать лет назад вышел lua 2.1 https://www.lua.org/spe.html

I>Lua 2.1 может конкурировать с ES6, хотя текущий стандарт по факту ES5 а чуть не весь код написан ажно на ES3.

Потому что поддержали браузеры. Была ли в каком-нибудь вообще поддержка Lua искаропки? Lua API?
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: Lua vs JavaScript
От: Pzz Россия https://github.com/alexpevzner
Дата: 21.05.16 11:46
Оценка: +6 -1 :))
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>Зачем на свете существует Lua, если есть JavaScript,


Потому что к тому времени, когда появились нормальные встраиваемые интерпретаторы JS, Lua уже успел занять определенную нишу.

AS>JavaScript на два года современнее чем Lua, учёл его ошибки


JS, как язык, ужасен. "Учел все ошибки" — это значит, что он не забыл их повторить?

Lua, впрочем, тоже не подарок. Уже за идею использовать слова вместо фигурных скобок и начинать индексацию массива с 1, а не 0, стоит убивать.

AS>JavaScript преподаётся в школах (есть проект Computer science in JavaScript про алгоритмы и структуры данных)


Его надо в медвузах преподавать. На кафедре психиатрии.
Re[3]: Lua vs JavaScript
От: Pzz Россия https://github.com/alexpevzner
Дата: 21.05.16 11:48
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>у меня вопрос "что делать". Выпиливать Lua и запиливать JS? Пытаться предоставлять оба?


Смотря в какой программе.
Re[3]: Lua vs JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.05.16 12:41
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>это прискорбно.


AS>у меня вопрос "что делать". Выпиливать Lua и запиливать JS? Пытаться предоставлять оба?


Это зависит от проблемы, которую ты решаешь.
Re[3]: Lua vs JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.05.16 12:46
Оценка:
Здравствуйте, Ops, Вы писали:

I>>Правильно задавать вопрос так — почему есть JS если одновременно с рождением JS двадцать лет назад вышел lua 2.1 https://www.lua.org/spe.html

I>>Lua 2.1 может конкурировать с ES6, хотя текущий стандарт по факту ES5 а чуть не весь код написан ажно на ES3.

Ops>Потому что поддержали браузеры. Была ли в каком-нибудь вообще поддержка Lua искаропки? Lua API?


Браузеры поддержали — это смешной аргумент. JS изначально писался под браузер, потому как все остальные языки надо было ембедить и приседать вокруг ихнего рантайма. Потому набор фич в JS изначально был ничтожно мизерным. Именно это и сделало возможность легкого эмбеддинга впоследствии.
Re: Lua vs JavaScript
От: PM  
Дата: 21.05.16 12:57
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>LuaJIT самый медленный

AS>Код JS и Lua идентичен, за исключением мелких синтаксических различий.

Сравнение 5-летней давности как-то не очень серьезно для наброса. Тем более, что уже тогда в комментариях выяснилось что разница нивелируется простым тюнингом сборщика мусора. Гугл по запросу "luajit vs. v8" выдаст и противоположные результаты.

AS>JavaScript на два года современнее чем Lua, учёл его ошибки

AS>Lua появился в 1993
AS>JS появился в 1995

Не верю что вы ни разу не видели видео отсюда https://www.destroyallsoftware.com/talks/wat

AS>JavaScript используется в офисных приложениях для автоматизации рутинных действий, написания макросов

AS>(интерпретатор JavaScript Rhino, имеется редактор и отладчик JavaScript-сценариев)

AS>JavaScript преподаётся в школах (есть проект Computer science in JavaScript про алгоритмы и структуры данных)


Лет 20-30 назад эта роль была у Basic. JavaScript взлетел лишь потому что был встроен в браузеры, ну и node.js помог.

Лично я так и не смог принять индексацию массивов с 1. Может, если бы в Lua была конструкция типа option base 0, то все сложилось бы иначе.
Re[2]: Lua vs JavaScript
От: Pzz Россия https://github.com/alexpevzner
Дата: 21.05.16 13:18
Оценка:
Здравствуйте, PM, Вы писали:

PM>Лично я так и не смог принять индексацию массивов с 1. Может, если бы в Lua была конструкция типа option base 0, то все сложилось бы иначе.


В lua есть такая конструкция. Но применяя ее, вы получаете несовместимый диалект языка.
Re[4]: Lua vs JavaScript
От: Ops Россия  
Дата: 21.05.16 13:23
Оценка: +1
Здравствуйте, Ikemefula, Вы писали:

I>Браузеры поддержали — это смешной аргумент. JS изначально писался под браузер, потому как все остальные языки надо было ембедить и приседать вокруг ихнего рантайма. Потому набор фич в JS изначально был ничтожно мизерным. Именно это и сделало возможность легкого эмбеддинга впоследствии.

И не говори. Lua куда только не встраивают, а вот в браузерах какая-то недоступная ему магия водится.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: Lua vs JavaScript
От: 0BD11A0D  
Дата: 21.05.16 14:58
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Потому что к тому времени, когда появились нормальные встраиваемые интерпретаторы JS


Какие именно?
Re[5]: Lua vs JavaScript
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 21.05.16 16:41
Оценка:
Здравствуйте, Ops, Вы писали:

I>>Браузеры поддержали — это смешной аргумент. JS изначально писался под браузер, потому как все остальные языки надо было ембедить и приседать вокруг ихнего рантайма. Потому набор фич в JS изначально был ничтожно мизерным. Именно это и сделало возможность легкого эмбеддинга впоследствии.

Ops>И не говори. Lua куда только не встраивают, а вот в браузерах какая-то недоступная ему магия водится.

Теоретическая возможность никого не интересует. И правильность языка тоже. JS испокон веков эмбеддится направо и налево. Только движков джаваскриптовых минимум пару десятков, каждый из которых эмбеддится.
Кроме всего этого есть клоны навроде JScript, JSctipt.NET. Пример — FiddlerScript.
Если порыть-поискать все, что относится к Ecmascript да с небольшими отклонениями, то можно прийти в ужас.
Re[2]: Lua vs JavaScript
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.05.16 17:21
Оценка: -3
Здравствуйте, PM, Вы писали:

PM>Лично я так и не смог принять индексацию массивов с 1. Может, если бы в Lua была конструкция типа option base 0, то все сложилось бы иначе.


Обычные люди считают элементы последовательности с 1, программисты — с 0, BSD'шники и шарповцы — с -1.
(Если в String.Format() первый позиционный это номер 0, то сама форматная строка это -1, не так ли?)
The God is real, unless declared integer.
Re: Lua vs JavaScript
От: tdiff  
Дата: 21.05.16 18:22
Оценка:
Здравствуйте, Arsen.Shnurkov, Вы писали:

AS>LuaJIT самый медленный


Совсем все не так просто, и на это указано в той же статье: см. что думает о этом автор luajit http://article.gmane.org/gmane.comp.lang.lua.general/75265
Re[3]: Lua vs JavaScript
От: Ночной Смотрящий Россия  
Дата: 21.05.16 19:29
Оценка: +5
Здравствуйте, netch80, Вы писали:

N>Обычные люди считают элементы последовательности с 1, программисты — с 0


А ЯП для кого вообще предназначены?

N>, BSD'шники и шарповцы — с -1.

N>(Если в String.Format() первый позиционный это номер 0, то сама форматная строка это -1, не так ли?)

Чего за бред ты придумал? В string.Format сигнатура такая:
Format(string format, object[] parameters)

format это отдельный аргумент, он не в массиве.
Re[4]: Lua vs JavaScript
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.05.16 19:47
Оценка: 1 (1) -2 :)))
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Здравствуйте, netch80, Вы писали:


N>>Обычные люди считают элементы последовательности с 1, программисты — с 0


НС>А ЯП для кого вообще предназначены?


Некоторые — для не-программистов. Например, Fortran — для математиков.

N>>, BSD'шники и шарповцы — с -1.

N>>(Если в String.Format() первый позиционный это номер 0, то сама форматная строка это -1, не так ли?)

НС>Чего за бред ты придумал? В string.Format сигнатура такая:


Смотри не на сигнатуру, а на вызов.

       //                      |      -1     |   0  |   1  |   2  |
       String r = String.Format("{0} {1} {2}", "abc", "def", "ghi");


А про BSD'шников — я имел в виду вот это:

$ ls -l /var/log/messages*
-rw-r--r--  1 root  wheel  51319 May 21 22:37 /var/log/messages
-rw-r--r--  1 root  wheel   5292 May 21 00:00 /var/log/messages.0.bz2
-rw-r--r--  1 root  wheel   4100 May 20 00:00 /var/log/messages.1.bz2
-rw-r--r--  1 root  wheel   3599 May 19 00:00 /var/log/messages.2.bz2


какой номер у текущего лога, если первый из прошлых в ротации — 0?
The God is real, unless declared integer.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.