2013-05-25 2 views
1

나는 사람들이 종종 "awk"를 프로그래밍 언어로 참조하는 것을 보았습니다. awk에 대해 이해할 수있는 모든 직관에 따르면, 그것은 특정 작업에 사용되는 도구라는 것입니다.awk는 프로그래밍 언어인가 아니면 도구인가?

그런데 왜 사람들이 그것을 프로그래밍 언어라고 부릅니까?

+0

프로그래밍 언어를 어떻게 정의합니까? 파이썬은 프로그래밍 언어입니까? – anishsane

+0

물론 '파이썬'은 프로그래밍 언어이며 'awk'입니다. –

+1

그들은 프로그래밍 언어이기 때문에 프로그래밍 언어라고 부릅니다. 일반적으로 사용되는 많은 툴은 Perl, Python, Ruby, Awk, Tcl/Tk 등의 프로그래밍 언어를 포함합니다 ... –

답변

6

직감이 완전히 잘못되었습니다! 물론 awk은 프로그래밍 언어 인 이고은 특정 작업을위한 디자인입니다.이 두 가지는 상호 배타적 인 것이 아닙니다. 귀하의 직감은 phpjavascript도 프로그래밍 언어가 아닙니다라고합니까?

하나의 작업 또는 밀접하게 관련된 작업 집합을 수행 할 수있는 도구를 사용하면 프로그래밍 언어에서 계산이 가능한 도구를 만들 수 있습니다.

Awk도구grep과 비교하는 Turing Complete 언어, 당신은 변수, 조건문 이 (만약, 다른 ...), 반복 (위해 잠시 ..), 기능, ect. 당신은 무엇이든을 할 수있는 awk 원본을 창조 할 수있다 그러나 grep로 당신은 파일에서서만 텍스트를 추출 할 수있다. Awk은 텍스트 기반 처리를 위해 설계되었으며 여전히 최상의 프로그래밍 언어 중 하나입니다. 그러나 컴파일러, 인터프리터, websever를 쓸 수는 있지만 awk에서 원하는 것이지만 반드시 그런 것은 아닙니다.

4

매우 제한된 영역에서 AWK가 사용 되더라도 Turing Complete이므로 프로그래밍 언어로 자격이 부여됩니다.

위키 피 디아는 다음과 같이 AWK을 정의합니다. AWK 유틸리티는 일반적으로 데이터 추출 및보고 도구로 사용되는 해석 된 프로그래밍 언어입니다. 그러나 여전히 유틸리티 프로그램이나 프로그래밍 언어 인 AWK에 전화할지 여부는 개인 사용자에 달려 있습니다. 그러나 AWK이 도구 일 뿐인 경우 HTML, XML 등과 같이 많은 언어의 상태에 대해 심각한 질문을 할 수 있습니다. PerlAWK의 영향을 크게 받았음을 기억하십시오.

+1

XML과 HTML은 언어입니다. 그들은 정상적인 의미에서 완전한 프로그래밍 언어는 아니지만 (용어의 의미있는 사용에는 '도구'도 아닙니다). –