AutoIt - это язык программирования?

AutoIt - это язык программирования? В чем разница между языком программирования и языком сценариев.

Авто это кажется довольно сложным. В нем можно много чего делать. Код можно даже скомпилировать в файл .exe. Поэтому я не понимаю, почему это не считается языком программирования.


person neuromancer    schedule 20.07.2010    source источник
comment
Разница между языками сценариев и программирования в основном сводится к цели, для которой они были разработаны. Кроссоверов много, разницы нет вообще.   -  person Greg Hewgill    schedule 20.07.2010
comment
Все языки сценариев являются языками программирования, но не все языки программирования являются языками сценариев.   -  person Copas    schedule 21.07.2010


Ответы (5)


Во многих случаях языки сценариев являются языками программирования. Похоже, что AutoIt есть.

«Сценарии», кажется, применяются в этом случае, потому что они используются для автоматизации взаимодействия с графическим интерфейсом пользователя, что является обычным использованием этого термина.

person µBio    schedule 20.07.2010

Язык сценариев - это язык, который не компилируется, а интерпретируется в реальном времени.

Все языки сценариев являются языками программирования, но не все языки программирования являются языками сценариев.

person Matthew Vines    schedule 20.07.2010
comment
Итак, LISP - это язык сценариев? - person Skilldrick; 20.07.2010
comment
Я плохо разбираюсь в LISP, но быстрый поиск приводит меня к мысли, что в некоторых реализациях это язык сценариев, а в других - компилируемый язык. - person Matthew Vines; 20.07.2010
comment
Я также чувствую, что это определение языка сценариев не обязательно является стандартом. Хотя я вспоминаю из своих предыдущих курсов по CS в тот день много тестовых вопросов о скриптовых и компилируемых языках, которые следовали этому определению. - person Matthew Vines; 20.07.2010
comment
Извините, похоже, мы говорим о разных целях. Я бы сказал, что языки сценариев и интерпретируемые языки - это два типа компьютерных языков, и их диаграммы Венна сильно пересекаются, но они не являются синонимами. Я цитировал LISP как пример языка, который обычно интерпретируется, но не считается языком сценариев. - person Skilldrick; 21.07.2010

Чистый язык сценариев не может существовать сам по себе - он заставляет что-то другое делать что-то (например, JavaScript манипулирует веб-страницами).

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

AutoIt звучит как обычный язык сценариев:

AutoIt v3 - это бесплатный язык сценариев типа BASIC, предназначенный для автоматизации графического интерфейса Windows и общих сценариев.

Похоже, что его основная цель - манипулировать элементами графического интерфейса Windows, поэтому это делает его языком сценариев. Будет ли это иметь смысл, например, на веб-сервере?

Однако, как отмечает Грег, важно отметить, что термин «язык сценариев» очень плохо определен, на самом деле ничего не означает, и о нем не стоит беспокоиться.

person Skilldrick    schedule 20.07.2010
comment
AutoIt можно использовать отдельно. Вы можете скомпилировать сценарии в автономные .exes, для которых не требуется установка фреймворка на хост-компьютер. AutoIt можно использовать для написания интерфейсов графического интерфейса пользователя, установщиков приложений, сторожевых приложений, веб-серверов ... Это выходит далеко за рамки его оригинальной спецификации дизайна, являющейся инструментом автоматизации графического интерфейса. - person JohnForDummies; 21.07.2010
comment
Я не имею в виду автономность, как при работе без ее фреймворка - я имею в виду автономную работу, когда не требуется среда для работы (например, элементы графического интерфейса Windows). Но если вы говорите, что его можно использовать для написания веб-сервера, то очевидно, что для работы с ним не нужны элементы графического интерфейса, так что это удовлетворяет моему определению автономности! - person Skilldrick; 21.07.2010

Я ничего не знаю об AutoIt, но, отвечая на ваш вопрос о языке программирования и языке сценариев, Ларри Уолл очень хорошо сформулировал это в одном из своих адресов State of the Onion:

Предположим, вы вернулись к Аде Лавлейс и спросили ее, в чем разница между сценарием и программой. Она, вероятно, посмотрит на вас смешно, а затем скажет что-то вроде: «Ну, сценарий - это то, что вы даете актерам, а программа - это то, что вы даете публике». Эта Ада была умной дамой ...

Если вам интересно узнать больше, http://www.perl.com/pub/a/2007/12/06/soto-11.html

person Matthew J Morrison    schedule 20.07.2010

Языки сценариев - это языки программирования, которые используют простой синтаксис (что-то похожее на синтаксис человеческого языка)!

Синтаксис языков программирования обычно аналогичен машинному коду!

Итак, поскольку «AutoIt» - это язык программирования с простым синтаксисом, он считается языком сценариев!

Проблема с "AutoIt" ​​в том, что это 100% интерпретируемый язык, следовательно, это тоже медленный язык!

Почему?

Поскольку "AutoIt" ​​не преобразует свой файл сценария в "машинный" код, чтобы "процессор" понимал его, "процессор" постоянно будет нуждаться в интерпретаторе "AutoIt" ​​для перевода сценария, что замедляет весь процесс. !

loop, 1.000.000
var = var + a_index

Интерпретатор "AutoIt" ​​должен перевести "var = var + a_index" в "cpu" 1 миллион раз! (процесс перевода очень медленный!)

С другой стороны, в скомпилированных языках весь скрипт преобразуется в машинный код, поэтому «центральному процессору» не нужен «интерпретатор» для выполнения кода, поэтому перевод не требуется! (приведенный выше цикл может быть в 1 миллион раз быстрее на скомпилированном языке, чем на интерпретируемом языке!)

person User    schedule 29.10.2018