Является awk языком программирования или просто инструментом?

58
4

Я часто видел, как люди ссылаются на "awk" как на язык программирования. Согласно моей интуиции, все, что я понимаю об awk, это то, что это инструмент, используемый для некоторых конкретных задач.

Так почему некоторые люди называют это языком программирования?

спросил(а) 2013-05-25T18:51:00+04:00 7 лет, 5 месяцев назад
1
Решение
109

Ваша интуиция совершенно неверна! Конечно, awk - это язык программирования, и он предназначен для конкретной задачи, эти две вещи не являются взаимоисключающими. Говорит ли ваша интуиция, что php и javascript также не являются языками программирования?

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

Awk - это язык Turing Complete, сравните его с инструментом grep, у вас есть переменные, условные выражения (if, else,...), повторение (for, while,..), функции, ect. вы можете создать awk скрипт, чтобы делать все, что вам может понадобиться, но с помощью grep вы можете извлекать только текст из файла. Awk предназначен для обработки на основе текста и по-прежнему остается одним из лучших языков программирования для этого, однако вы можете написать компилятор, интерпретатор, websever, все, что вы хотели в awk но это не значит, что вам следует.

ответил(а) 2013-05-25T19:06:00+04:00 7 лет, 5 месяцев назад
92

Несмотря на то, что AWK используется в очень ограниченных зонах, он является Turing Complete и, следовательно, проходит тест, чтобы квалифицироваться как язык программирования.


Википедия определяет AWK следующим образом. Утилита AWK представляет собой интерпретируемый язык программирования, который обычно используется в качестве инструмента для извлечения данных и создания отчетов. Но все же зависит от индивидуальных пользователей, следует ли называть AWK просто служебную программу или язык программирования. Но если вы считаете, что AWK - это просто инструмент, тогда могут быть заданы серьезные вопросы о статусе многих так называемых языков, таких как HTML, XML и т.д. Также помните, что язык Perl сильно AWK от AWK.

ответил(а) 2013-05-25T19:06:00+04:00 7 лет, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема