Является ли Lua языком, который не-разработчик может выучить быстро? - PullRequest
10 голосов
/ 13 мая 2010

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

Ответы [ 6 ]

8 голосов
/ 13 мая 2010

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

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

7 голосов
/ 13 мая 2010

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

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

3 голосов
/ 14 мая 2010

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

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

2 голосов
/ 13 мая 2010

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

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

1 голос
/ 17 мая 2010

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

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

1 голос
/ 13 мая 2010

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

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

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

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

...