프로그래밍 언어와 스크립팅 언어의 차이점은 무엇입니까?


최상의 답변

Python은 스크립팅 언어이지만 완전한 객체 지향적입니다. 프로그래밍 언어. 스크립팅 언어와 프로그램의 차이점은 코드가 인터프리터에 의해 실행되는지 여부입니다. 이것이 아마도 가장 쉽게 생각할 수있는 방법 일 것입니다.

따라서 python 스크립트를 작성하면 .py 파일이 생성됩니다. 해당 파일을 실행하려면 실제로 python을 실행하고 .py 파일을 인수로 전달합니다. 다음과 같습니다.

/usr/bin/python /Path/To/MyScript.py

그러면 Python이 스크립트를 실행합니다. 다른 사람들이 언급했듯이 스크립트에 shebang 줄을 넣을 수 있지만 스크립트를 실행하는 데 사용할 인터프리터를 찾을 위치를 컴퓨터에 알려줍니다. 통역사 접근 방식에는 장점과 단점이 있습니다. 가장 큰 장점은 사용 편의성입니다. 아래 줄을 .py 파일에 넣고 Python을 통해 실행할 수 있습니다.

print("Hello world!")

Swift와 같은 언어 사용 예를 들어, C ++, C # 또는 Java를 사용하면 실제로 프로그램을 기계 코드로 컴파일하고 해당 컴파일 결과 파일은 프로그램 또는 프로그램의 일부가됩니다. 그대로 배포 할 준비가되어 있으며 실행에 필요한 다른 프로그램이 필요하지 않습니다. 통역 언어는 여러 가지 이유로 너무 빠르지 않은 경향이 있습니다. 아마 언급 할 가치가있을 것입니다.

Python이 실제로 Bash와 비교할 수 없다는 것은 맞습니다. Bash에서 많은 것을 이룰 수 있지만 언어 자체는 그다지 강력하지 않으며 프로그램이나 솔루션에 대한 전체를 작성하도록 설계되지 않았습니다. Python은 모든 기능을 갖춘 객체 지향 프로그래밍 언어이며 거의 모든 것을 작성할 수 있습니다. 따라서 둘 다 스크립팅 언어이지만 같은 리그에 속하지는 않습니다. 우선 Bash는 객체 지향적이지 않습니다. 또한 Bash를 사용하면 주로 다른 언어로 작성된 콘솔 앱을 호출하는 것입니다. 그런 다음 Bash로 결과를 구문 분석하거나 파이프를 통해 다음 콘솔 유틸리티로 보냅니다.

다음은 해석 된 스크립팅 언어의 몇 가지 예입니다.

Python, Ruby, Node JS, Powershell, vbScript, Javascript, Appescript, Bash, Perl 등

다음은 컴파일 된 강력한 형식의 언어입니다.

Swift, Objective C, C, C ++, C # , 자바

이게 문제를 해결하는 데 도움이되기를 바랍니다.

답변

Python, Ruby, JavaScript, PHP와 같은 스크립팅 언어도 프로그래밍 언어입니다. 그것들은 해석되고 동적 타이핑이 있다는 점에서 전통적인 컴파일 된 언어와 다릅니다. 객체의 데이터 유형은 언제든지 변경 될 수 있습니다. 즉, 객체의 데이터 유형이나 함수의 반환 값을 미리 정의 할 필요가 없으며 즉시 전환 할 수 있습니다.

전통적으로 스크립팅 언어는 단순 및 빠른 작업. 그러나 이것은 더 이상 사실이 아닙니다. 이제 Python, Ruby, JavaScript 및 PHP에 대규모 프로그램과 코드 기반이 있습니다. 이러한 언어 중 일부는 컴파일 된 언어에 비해 성능이 느립니다. 그러나 그것은 더 이상 사실이 아닙니다. JIT 기술을 통해 JavaScript와 PyPy는 성능면에서 큰 향상을 보였으며 PHP 7도 마찬가지입니다.

결국, 그것은 다시 표현이 필요한 용어 일뿐입니다.

웹 기술은 다음과 같습니다. 가장 간단한 것은 웹 서버가 웹 브라우저에 제공하는 정적 문서 세트와 HTML 및 CSS에 따라이를 렌더링하는 브라우저입니다. HTML은 마크 업 언어이며 CSS는 스타일을 추가하여 일관되고 사용자 정의 된 웹 페이지를 쉽게 작성할 수 있습니다. 그러나 콘텐츠는 정적이고 콘텐츠를 변경하려면 기존 HTML 콘텐츠를 수정하거나 새 HTML 콘텐츠를 작성해야합니다.

웹 콘텐츠를 동적으로 만들려면 i) CGI 또는 ii) 임베딩 중 하나를 사용할 수 있습니다. HTML 페이지 내의 코드. 이전 기술은 웹 서버 호출을 실행 파일 (C, Perl 또는 스크립팅 언어를 포함하여 다른 프로그래밍 언어로 작성)으로 만들어 전체 웹 페이지 (적절한 HTML 헤더 등)를 동적으로 생성하고 실행 가능하고 웹 브라우저로 반환합니다. 이를 위해서는 웹 서버 (HTTP)와 상호 작용하는 방법을 이해하는 라이브러리를 사용해야합니다. 지루하지만 초기 형태의 동적 웹 콘텐츠는 이런 방식으로 작성되었습니다. 후자는 다른 접근 방식을 취합니다. 웹 서버는 임베디드 코드가있는 페이지를 인식합니다 (일반적으로 PHP, JSP, Python과 같은 스크립팅 언어로 작성된 코드가 포함 된 HTML이 포함되어 있음)는 스크립팅 엔진으로 전송하여 임베디드 코드 만 실행하고 코드 실행 결과로 대체합니다 ( 나머지 HTML, CSS, JavaScript는 변경하지 않고 그대로두고) 수정 된 HTML 페이지를 서버에 반환 한 다음 웹 브라우저에 반환합니다. Python, Ruby도 이와 유사하지만 약간의 변형을 사용합니다. 이것은 서버 측 스크립팅입니다

JavaScript는 클라이언트 측 동적 코딩 / 스크립팅 언어로 시작되었습니다.모든 브라우저에는 임베디드 JavaScript 인터프리터가 있습니다. JavaScript 코드는 웹 페이지에 포함되어 웹 브라우저로 전송 될 수 있으며, 그런 다음 양식 유효성 검사와 같은 작업을 위해 클라이언트 측에서이 코드를 실행하여 DOM을 동적으로 변경합니다. 그러나 Node.js의 출현으로 JavaScript는 서버 측 스크립팅 언어가하는 일을 할 수 있습니다.

그런 다음 클라이언트 측 JavaScript 코드가 서버 측 스크립트를 실행할 수있게 해주는 기술인 AJAX가 등장하여 서버에서 결과를 가져옵니다. DOM을 채 웁니다. 이렇게하면 웹 페이지를 새로 고치지 않고도 브라우저의 드롭 다운 상자를 동적으로 채울 수 있습니다. jQuery와 같은 JavaScript 라이브러리는 클라이언트 측 스크립팅을 모듈화하고 쉽게 만들었습니다. Bootstrap과 같은 HTML / CSS 프레임 워크는 HTML5 및 CSS3에 대해 동일한 작업을 수행했습니다.

웹 애플리케이션 프레임 워크는 웹 애플리케이션 작성을 모듈화하고 단순화합니다. 모든 스크립팅 언어에는 웹 앱 프레임 워크 모음이 있습니다. Ruby에는 Ruby on Rails가 있습니다. Python에는 Django, Flask가 있습니다. PHP에는 Laravel이 있습니다. JavaScript에는 AngularJS 등이 있습니다.

웹 애플리케이션은 데이터베이스를 영구 데이터 저장소로 사용합니다. 따라서 SQL 및 Database Abstraction Layer 및 Object Relational Mapping과 같은 데이터베이스 기술을 아는 것이 필수적입니다. NoSQL 데이터베이스의 출현은 웹 개발자가 배워야 할 새로운 것을 추가합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다