누구나 스크립팅 언어와 프로그래밍 언어의 차이점을 설명 할 수 있습니까?
또한 각각에 대한 몇 가지 예를들 수 있습니다. 나는 구글을 많이 가지고 있지만 항상 스택 오버플로에서 가장 좋은 답변을 찾습니다.
답변
스크립팅 언어는 명시적인 컴파일 단계가 필요없는 프로그래밍 언어입니다.
예를 들어, 일반적인 경우 C 프로그램을 실행하기 전에 컴파일해야합니다. 그러나 일반적인 경우에는 JavaScript 프로그램을 실행하기 전에 컴파일 할 필요가 없습니다. 따라서 JavaScript는 “스크립트”언어라고도합니다.
최신 하드웨어와 최신 컴파일 기술로 컴파일 속도가 빠르기 때문에이 라인은 점점 더 흐릿 해집니다. 예를 들어, Chrome의 JavaScript 엔진 인 V8은 브라우저 외부에서도 많이 사용되었으며 실제로 JavaScript 코드를 해석하는 대신 기계 코드로 즉석에서 컴파일합니다. (실제로 V8은 최적화 된 2 단계 컴파일러입니다.)
또한 언어가 “스크립팅”언어인지 아닌지에 대해서는 언어보다 환경에 관한 것일 수 있습니다. C 인터프리터를 작성하여이를 스크립팅 언어로 사용할 수있는 이유는 없습니다. 또한 머신 코드로 JavaScript를 컴파일하여이를 실행 파일 (및 사람들이 가지고 있음)에 저장할 수없는 이유는 없습니다. Ruby 언어는 이에 대한 좋은 예입니다. 원래 구현은 완전히 “통합”된 언어로 해석되었지만 여러 개의 컴파일러가 있습니다.
“스크립팅”언어의 몇 가지 예 (예 : 명시 적 컴파일 단계없이 전통적으로 사용되는 언어 ) :
- 루아
- 자바 스크립트
- VBScript 및 VBA
- 펄
그리고 전통적 으로 명시적인 컴파일 단계와 함께 사용되는 작은 것들이 있습니다 .
- 씨
- C ++
- 디
- Java (하지만 Java는 바이트 코드로 컴파일 된 후 런타임에 해석 및 / 또는 다시 컴파일 됨)
- 파스칼
… 그리고 당신은 두 캠프에 앉아있는 파이썬과 같은 것들을 가지고 있습니다 : 파이썬은 컴파일 단계없이 널리 사용되지만 주요 구현 (CPython)은 즉시 바이트 코드로 컴파일 한 다음 바이트 코드를 실행하여이를 수행합니다 VM 은 다시 컴파일하지 않고 사용 하기 위해 해당 바이트 코드를 파일 ( .pyc
, .pyo
)에 쓸 수 있습니다.
그건 그냥있어 매우 당신이 어떤 연구를 할 경우 더 많은 찾을 수 있습니다, 몇 가지.
답변
스크립팅 언어와 프로그래밍 언어의 차이점을 이해하려면 스크립팅 언어가 태어난 이유를 이해해야합니다.
처음에는 Excel, 단어, 브라우저, 게임 등과 같은 프로그램을 작성하기 위해 작성된 프로그래밍 언어가있었습니다.이 프로그램은 c 및 java와 같은 언어로 작성되었습니다. 시간이 지남에 따라,이 프로그램들은 사용자가 새로운 기능을 만들 수있는 방법이 필요했기 때문에 바이트 코드에 대한 인터페이스를 제공해야했기 때문에 스크립트 언어가 탄생했습니다.
스크립팅 언어는 일반적으로 컴파일되지 않으므로 의미있는 것을 작성하자마자 실행할 수 있습니다. 따라서 C ++을 사용하여 Excel을 빌드 할 수 있지만 사용자가 기능을 정의 할 수 있도록 VBA라는 스크립팅 언어가 노출됩니다. 마찬가지로 브라우저는 C ++ / Java로 빌드 될 수 있지만 javascript라는 스크립트 언어를 표시합니다 (어떻게 든 java와 관련이 없음). 게임은 일반적으로 C ++로 빌드되지만 사용자가 사용자 정의 기능을 정의 할 수 있도록 Lua라는 언어를 노출시킵니다.
스크립팅 언어는 일반적으로 일부 프로그래밍 언어 뒤에 있습니다. 스크립팅 언어는 일반적으로 원래 프로그래밍 언어의 하위 집합에서 실행되므로 컴퓨터 기본 기능에 대한 액세스 권한이 적습니다. 예를 들어 Javascript가 파일 시스템에 액세스 할 수 없다는 것입니다. 스크립팅 언어는 일반적으로 프로그래밍 언어보다 느립니다.
스크립팅 언어는 액세스가 적고 속도가 느릴 수 있지만 매우 강력한 도구가 될 수 있습니다. 스크립팅 언어의 성공에 기여하는 한 가지 요소는 업데이트의 용이성입니다. 웹에서 Java 애플릿의 시대를 기억하십니까, 이것은 프로그래밍 언어 (java)를 실행하는 것과 스크립트 언어 (javascript)를 실행하는 예입니다. 당시에는 컴퓨터가 강력하지 않았고 자바 스크립트가 성숙하지 않아서 Java 애플릿이 그 장면을 지배했습니다. 그러나 Java 애플릿은 성가신 것으로 사용자는 언어를로드하고 컴파일해야했습니다. 오늘날 애플 애플릿은 거의 멸종했으며 자바 스크립트가 그 장면을 지배하고있다. 대부분의 브라우저 구성 요소가 이미 설치되어 있으므로 Javascript를 매우 빠르게로드 할 수 있습니다.
마지막으로, 스크립팅 언어는 프로그래밍 언어로 간주되기도합니다 (일부 사람들은이를 받아들이기를 거부하지만) 여기서 사용하는 용어는 스크립팅 언어와 컴파일 된 언어입니다.
답변
모든 스크립팅 언어는 프로그래밍 언어입니다.
언어는 스크립트로 분류되거나 분류되지 않습니다. 전적으로 실행 환경에 따라 다릅니다.
환경이 해석되는 환경 인 경우이를 일반적으로 스크립팅 환경이라고합니다.
답변
차이점은 점점 더 중요 해지고 있습니다. 전통적으로 스크립팅 언어는 기존 프로그램을 확장합니다. “스크립팅”의 주요 정의는 기존 엔터티가 수행 할 명령 집합을 작성하는 것입니다. 그러나 스크립팅 언어가 독점적이고 구어체 구문으로 시작한 오늘날 요즘 가장 많이 사용되는 언어는 C와 어떤 관계가 있습니다.
나는 “해석 된 것과 컴파일 된”의 구별은 본질적인 차이보다는 기존의 프로그램 (내장 된 인터프리터로)을 확장시키는 증상이라고 생각합니다. “프로그래머는 무엇을하고 있습니까?” 하나의 프로그램이 해석되고 다른 프로그램이 해석된다는 사실은 제작자의 활동 차이를 결정하는 데 거의 도움이되지 않습니다. 그의 연극이 더 자주 읽히거나 무대에서 공연되는지 여부에 대해 극작가를 판단하지 않습니까?
답변
프로그래밍 언어 : 기계 코드로 컴파일되어 기본 운영 체제의 하드웨어에서 실행됩니다.
스크립팅 언어 : 프로그래밍 언어의 비 구조적 하위 집합입니다. 일반적으로 해석됩니다. 기본적으로 다른 작업을 “스크립트”로합니다. 주요 초점은 주로 자체 앱을 구축하는 것이 아니라 기존 앱 (예 : 브라우저 용 JavaScript, TCL 등)을 원하는 방식으로 작동시키는 것입니다.
*** 그러나 프로그래밍 언어가 인터프리터로 변환되는 상황이 있으며 그 반대의 경우와 마찬가지로 C 인터프리터를 사용하여 ‘C’스크립트를 작성할 수 있습니다. 스크립트는 일반적으로 프로그래밍 언어를 사용하여 응용 프로그램을 작성하는 응용 프로그램 동작을 제어하기 위해 작성됩니다. 그러나 파이썬의 예로서 경계가 날마다 흐려지고 있음을 명심하십시오. 언제나 언어를 사용하는 방법에 달려 있습니다.
답변
스크립팅 언어는 프로그래밍 언어의 하위 집합입니다.
- 스크립팅 언어는 사용자 (파이썬, 펄, 쉘 등)에 의해 기계 코드로 컴파일되지 않습니다. 오히려 다른 프로그램 (인터프리터라고하며 프로그램을 실행하고 동작을 시뮬레이트 함)
- 스크립팅이 아닌 일부 프로그래밍 언어 (C, C ++, Haskell 및 기타 ‘컴파일 된’언어)는 기계어 코드로 컴파일 된 후 실행됩니다.
답변
나는 당신이 “차이”라고 말하는 것이 실제로 실제 차이의 결과라고 생각합니다.
실제 차이점은 작성된 코드의 대상입니다. 누가이 코드를 실행할 것입니까?
스크립팅 언어는 소프트웨어 시스템을 대상으로하는 코드를 작성하는 데 사용됩니다. 해당 소프트웨어 시스템에서 작업을 자동화 할 것입니다. 스크립트는 대상 소프트웨어 시스템에 대한 일련의 명령이 될 것입니다.
프로그래밍 언어는 컴퓨팅 시스템을 대상으로하며 실제 또는 가상 시스템 일 수 있습니다. 명령은 기계에 의해 실행됩니다.
물론 실제 컴퓨터는 이진 코드 만 이해하므로 프로그래밍 언어의 코드를 컴파일해야합니다. 그러나 이것은 프로그램 대신 기계를 대상으로 한 결과입니다.
반면, 스크립트의 대상 소프트웨어 시스템은 코드를 컴파일하거나 해석 할 수 있습니다. 소프트웨어 시스템에 달려 있습니다.
실제 차이점이 컴파일되었는지 아닌지에 대해 말하면 V8에서 Javascript가 실행될 때와 Rhino에서 실행될 때가 아니기 때문에 문제가 있습니다.
스크립팅 언어가 매우 강력 해 졌기 때문에 더 혼란스러워집니다. 따라서 다른 소프트웨어 시스템에서 작업을 자동화하기 위해 작은 스크립트를 작성하는 것에 만 국한되지 않고 풍부한 응용 프로그램을 작성할 수 있습니다.
파이썬 코드는 인터프리터를 대상으로하므로 해당 인터프리터에서 작업을 “스크립트”라고 말할 수 있습니다. 그러나 파이썬 코드를 작성할 때 인터프리터를 스크립팅하는 것으로 보지 않고 응용 프로그램을 만드는 것으로 간주합니다. 통역사는 다른 것들 중에서 더 높은 수준으로 코딩하기 위해 존재합니다. 그래서 파이썬은 스크립팅 언어보다 프로그래밍 언어입니다.