Является ли Lua языком, который не разработчик может быстро изучить?

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

6 ответов


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

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


язык Lua имеет активный и обычно дружественный к новичкам сообщество. Он имеет долгую историю использования на границе между не-программистами и программистами. The справочник по языку руководство и стандартный учебник являются одними из лучших письменных примеров, которые я видел в своей карьере. Полный текст справочного руководства находится в режиме онлайн, а первое издание программирование в Lua также, хотя второе издание PiL отражает различия в языке, которые произошли после того, как PiL был впервые опубликован и стоит инвестиций, чтобы купить.

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


Я считаю, что Lua-это более простой язык для изучения, чем многие другие, такие как Ruby и Python (и, очевидно, Perl). Луа грамматика и синтаксис являются более последовательными, чем Руби, например, в Ruby у вас так много зарезервированных ключевых слов, плюс всякие символы (фигурные скобки для блоков и труб для локальных переменных и т. д.), Плюс он дает вам слишком много вариантов (можно использовать фигурные скобки для блоков, или вы можете использовать ключевые слова DO и End для начала и конца блока).

Я считаю это для не-программистов Lua намного проще, особенно по причинам, изложенным выше. Что касается программистов, я читал, что многие люди говорят то же самое, и я согласен: программирование в Lua очень приятно. Я считаю, что это также из-за того, что я сказал выше.


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

Я также считаю, что вы можете написать очень простой, простой в использовании API в Lua, и вы также можете создать очень сложные API, которые могут включать объектно-ориентированные понятия (например, различие между ними . и:) или функциональные API с закрытиями и передачей функций в качестве аргументов функций и т. д. Сможет ли пользователь правильно использовать и понимать язык для выполнения задачи, во многом зависит от API столько же или больше, чем язык.


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

У меня в голове возникает ситуация, когда тестер сделал опечатку и написал другое, но почти незаметное имя переменной. Новая переменная будет создана с заданным значением, но старая переменная не будет изменена. Такого рода вещи могут быть довольно трудно отладить когда люди не осознают этого.


вероятно, потому, что он очень похож на Python:

количество университетов, использующих Python в вводных курсах Comp Sci, вероятно, является самым высоким из любого языка (эмпирически через google). Второй, вероятно, Java и Scheme.

количество библиотек Python является астрономическим. И количество людей, которые знают язык довольно высока, таким образом, если вы нанимаете нового человека есть хороший шанс, что они видели язык раньше.

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