Python, Javascript에 관해서

Nicholas·2022년 5월 5일
2

CS

목록 보기
4/6

Python :

순수객체지향프로그래밍 언어의 대명사

1989년 네덜란드 개발자 귀도 반 로섬 에 의해 개발되어 1991년도 발표.
크리스마스 주에 할게 없어서 심심해서 만들었다고 전해진다.
최근에 만들어진 언어라고 생각하는분들이 많은데 개발된지 30년이 넘어감 인기가 올라간게 최근, 인프리터 방식으로 구동된다.

특징 :

  1. 파이썬 언어는 배우기쉽다.
  2. 매우 느리다.
    • C에 비해 71배 느리다고 알려저있다.
  3. 파이썬 언어는 다른언어와 호환성이 좋다.
    • 논리적인부분은 파이썬이 담당하고 연산부분은 다른언어가 담당하는 것처럼 호환성이 좋다.
  4. PEP8이라는 언어 작성 기준에 따라 코드작성 기준이 존재
    • 들여쓰기, 줄내림, 띄어쓰기 등의 대한 기준들이 있다.
  5. 문법이 간결하고 사람의 사고체계와 닮은 구조를 가지고있어 데이터과학, 인공지능 등 과학 및 공학분야에서 널리 사용

Javascipt :

함수지향형 명령지향형 객체지향형 기반의 멀티 프로그래밍언어

넷스케이프 사에서 개발한 언어로 1995년 자사의 넷스케이프 2.0B3 버전에서부터 시작해서 발전되어왔다.
최초에는 Java랑 구문이 비슷하여 혼란이있었으나 전혀 관계없다. 다만 두 언어 다 C언어의 구문에 영향을 받았기때문에 초기에는 비슷한점이 있었다.

특징 :

  1. 운영체제에 제한받지않는다.
  2. 브라우저로 동작하기때문에 코드가 노출되 보안에 취약하다.
    • 각 브라우저로 동작함으로 브라우저가 존재하는 곳엔 다 동작한다. (PC-리눅스,윈도우 ,모바일- 안드로이드, ios)
  3. 코드작성에 있어 국제표준안이 존재(ECMA)
    • 현재는 ECMAScipt6(2015년발표) 표준기준
  4. 과거에는 프론트엔드에서만 사용되다 Node.js로 인해 백엔드 분야에서도 많이 사용된다.
  5. C언어의 영향을 많이 받은 언어여서, 그 흔적들이 아직 남아있음.
    • {}(중괄호), ;(세미콜론), 호이스팅 등

Python/JS 공통점 :

1. 둘다 인터프리터 언어이다 :

코드들을 컴파일해서 실행파일로 만들어서 사용하지 않고 인터프리터가 차례로 읽어내려가며 실행시키는 언어

python : 파이썬 인터프리터
javascipt : 웹브라우저 엔진

2. 동적타입언어이다

동적타입언어: 런타임 시작시에 변수타입을 결정하는 언어

(대표적인 언어 : Python, JavaScript, Ruby, Objective-C, PHP 등)

  • 장점 : 런타임전까지 변수타입에 대한 결정을 하지 않아 유연성이 높고 변수타입일일이 명시해주지 않기때문에 빠르게 작성가능.
  • 단점 : 런타임하기전에는 변수타입에 대한 오류를 발견할 수 없다.

정적타입언어 : 컴파일 하기전에 변수타입을 미리 결정하는 언어

(대표적인 언어 : Java, C, C++, C#, Scala 등)

  • 장점 : 변수타입에 대한 오류를 미리 발견할 수 있고, 컴파일전에 미리 변수타입을 결정하기때문에 속도가 빠르다.
  • 단점 : 코드작성시 일일이 변수타입을 결정해야 함으로 번거로움이 있다.

Python/JS 차이점

1. 작성규칙 :

  • Python : 공백에 민감하다.
  • Js : 공백이 아무상관없다. 다만 ;(세미클콜)으로 구문을 구분한다.

2. 활동분야

  • Python: 백엔드 분야에서 다양한 라이브러리(djano,flask 등)를 이용해 많이쓰이지만 프론트엔드에서는 잘 사용되지않는다.
  • JS: 웹/모바일 개발에 있어서 프론트엔트(react) 백엔드(Node.js) 가리지않고 모두다 사용한다.

3. 비동기프로그래밍 가능여부

  • Python: 비동기프로그래밍을 지원하지 않아 코드의 순서대로만 실행가능하다
  • JS : WEP API엔진으로 인해 비동기 프로그래밍을 지원한다. 비동기 프로그래밍의 지원여부에 따라 속도차이가 있다.

4. 배포

  • Python: 일반인에게 배포하기 어렵다.
    (파이썬이 설치되어있는곳에서 실행가능)
  • JS: 일반인에게 배포하기 쉽다.
    (브라우저만 있으면 실행가능)

5. 디버깅

  • Python:파이썬 자체에 모듈들을 활용해 디버깅이 매우 우수하다.
    (상세한 오류내용과 위치를 표시해준다)
  • JS: 각 브라우져의 개발자도구의 도움을 받아야한다.
profile
WEB Developer

0개의 댓글