스크립트와 프로그램의 차이점은 무엇입니까?
스크립트와 프로그램의 차이점은 무엇입니까? 대부분의 경우 스크립트가 실행되고 있다고 들었는데, 프로그램이 아닙니까? 나는 조금 의아해합니다.
나는 다른 견해를 가지고 있습니다.
"스크립트"는 외부 또는 독립적 인 방식으로 일부 시스템에서 작동하는 코드이며 시스템 자체를 비활성화하지 않고 제거하거나 비활성화 할 수 있습니다.
"프로그램"은 시스템을 구성하는 코드입니다. 프로그램의 코드는 모듈 방식으로 작성 될 수 있으며 우려 사항을 잘 분리하여 작성할 수 있지만 코드는 기본적으로 시스템 자체의 내부 및 종속성입니다.
스크립트는 종종 해석되지만 항상 그런 것은 아닙니다. 프로그램은 종종 컴파일되지만 항상 그런 것은 아닙니다.
저에게 가장 큰 차이점은 프로그램이 실행되는 동안 스크립트가 해석 된다는 것입니다 (즉, 소스가 먼저 컴파일되고 해당 컴파일의 결과가 예상 됨) .
Wikipedia는 이것에 대해 나와 동의하는 것 같습니다.
스크립트 :
"스크립트"는 일반적으로 다른 언어로 작성되며 최종 사용자가 작성하거나 최소한 수정하는 애플리케이션의 핵심 코드와 다릅니다.
스크립트는 종종 소스 코드 또는 바이트 코드에서 해석되는 반면 스크립트가 제어하는 응용 프로그램은 전통적으로 원시 기계 코드로 컴파일됩니다.
프로그램 :
이 프로그램에는 컴퓨터가 명령을 실행하는 데 직접 사용할 수있는 실행 가능한 형식이 있습니다.
사람이 읽을 수있는 소스 코드 형식으로 실행 가능한 프로그램이 파생 된 (예 : 컴파일 된) 동일한 프로그램
일반적으로 스크립트는 가볍고 빠르게 구성된 일회용 도구입니다. 일반적으로 컴파일되지 않고 해석됩니다. Python 및 bash 는 스크립트를 빌드하는 데 사용되는 언어의 예입니다.
프로그램은 C 또는 C ++와 같은 컴파일 된 언어로 구성되며 일반적으로 이러한 이유로 스크립트보다 더 빠르게 실행됩니다. 큰 도구는 종종 스크립트가 아닌 "프로그램"으로 작성됩니다. 작은 도구는 스크립트로 더 쉽게 개발되지만 스크립트가 커질수록 다루기 어려워 질 수 있습니다. 응용 프로그램 및 시스템 언어 (프로그램 / 응용 프로그램을 빌드하는 데 사용되는 언어)에는 이러한 성장을보다 쉽게 관리 할 수있는 도구가 있습니다.
일반적으로 텍스트 편집기에서 스크립트를보고 어떤 역할을하는지 볼 수 있습니다. 실행 가능한 프로그램으로는 그렇게 할 수 없습니다. 후자의 명령은 특수 도구 없이는 인간이 이해하기 매우 어렵게 만드는 바이트 코드 또는 기계 언어로 컴파일되었습니다.
위의 "자주"와 "보통"의 수에 유의하십시오. 용어는 모호하며 때때로 교차합니다.
보다:
스크립트도 프로그램이지만 (소스 코드)를 숨기는 불투명 한 레이어가없는 반면 프로그램은 옷이있는 반면, 디 컴파일 할 수없는 경우 소스 코드를 볼 수 없습니다.
스크립트 를 실행 하려면 다른 프로그램 이 필요 하지만 프로그램에는 필요하지 않습니다.
일반적으로 "프로그램"은 컴퓨터가 특정 작업을 수행 할 수 있도록 작성된 일련의 명령입니다 .
"스크립트"는 스크립팅 언어로 작성된 코드입니다. 스크립팅 언어는 다른 소프트웨어 응용 프로그램을 제어하기 위해 코드를 작성할 수있는 일종의 프로그래밍 언어에 불과 합니다 .
실제로 프로그래밍 언어에는 두 가지 유형이 있습니다.
ㅏ. 스크립팅 언어
비. 컴파일 된 언어
이것을 읽으십시오 : 스크립팅 및 컴파일 된 언어
스크립트는 일반적으로 해석됩니다 (다른 실행 파일에 의해).
프로그램은 일반적으로 기계 코드 또는 바이트 코드 (Just-in-time 컴파일 프로그램의 경우)로 구성된 자체 권한 (라이브러리 종속성이있을 수 있음)에있는 독립 실행 형 컴파일 된 실행 파일입니다.
내 관점에 따르면 스크립트와 프로그램의 주요 차이점은 다음과 같습니다.
스크립트는 다른 기술과 함께 사용할 수 있습니다. 예 : HTML 내에서 PHP 스크립트, 자바 스크립트 등을 사용할 수 있습니다.
프로그램은 다른 기술에 절대 포함될 수없는 독립 실행 형 코드 덩어리입니다.
내가 어떤 곳에서든 틀렸다면 나를 바로 잡으십시오.
스크립팅 대 프로그램 현실에는 실제로 두 가지 차원이 있습니다.
언어가 특히 문자열 연산에서 posix 쉘 및 특히 bash와 같은 매크로 프로세서와 경쟁 할만큼 충분히 강력합니까? 일부 기능을 실행하는 데 bash보다 낫지 않다면 그것을 사용하는 데 별 의미가 없습니다.
언어가 편리하고 빠르게 시작됩니까? Java, Scala, JRuby, Closure 및 Groovy는 모두 강력한 언어이지만 Java에는 많은 상용구가 필요하고 모두 필요한 JVM은 시작하는 데 너무 오래 걸립니다.
OTOH, Perl, Python 및 Ruby는 모두 빠르게 시작되고 강력한 문자열 처리 (및 거의 모든 기타 처리) 작업을 수행하므로 때때로 비판적이지만 쉽게 잠식되지 않는 "스크립팅"을 차지하는 경향이 있습니다. "세계. 그들은 또한 전체 전통적인 프로그램을 잘 실행하는 것으로 나타났습니다.
림보에 남겨진 것은 스크립팅에 사용되지 않지만 잠재적으로 그럴 수있는 자바 스크립트와 같은 언어입니다. 업데이트 : 이것은 작성된 이후 node.js 가 여러 플랫폼에서 릴리스되었습니다. 다른 소식에서는 질문이 종결되었습니다. "좋아."
프레임 워크 또는 기타 유사한 스키마는 작업을 수행하기 위해 스크립트를 실행 / 해석합니다. 프로그램은 작업을 수행하기 위해 기계에 의해 컴파일되고 실행됩니다.
IMO Script-프로그램이 실행해야하는 명령의 종류-하드웨어가 실행해야하는 명령의 종류
.NET / JAVA 바이트 코드가이 정의에 의해 스크립트라고 생각하지만
스크립트 : 다른 시스템 프로그램을 제어하고 실행하며 응용 프로그램도 예약 할 수있는 "스크립팅 언어"명령어 세트가 포함되어 있습니다.
프로그램 : 컴파일러로 프로그램을 컴파일 할 때 특정 작업을 수행하는 명령어 세트가 포함되어 있습니다.
참고 URL : https://stackoverflow.com/questions/2286552/difference-between-a-script-and-a-program
'programing tip' 카테고리의 다른 글
xcode에서 탭을 활성화 하시겠습니까? (0) | 2020.11.05 |
---|---|
'행렬에 값 X가 포함되어 있습니까?'에 대한 함수 (0) | 2020.11.05 |
Chrome에서 Javascript 실행 추적-어떻게? (0) | 2020.11.05 |
플라스크에서 세션 시간 제한을 만드는 쉬운 방법이 있습니까? (0) | 2020.11.05 |
PhpStorm 폴더 내용 또는 전체 프로젝트 트리를 새로 고치는 방법 (0) | 2020.11.05 |