개발 일기

자바와 파이썬의 차이점 본문

Java&Spring/Java

자바와 파이썬의 차이점

flow123 2021. 10. 28. 16:54

* 이 글은 조인석님의 강의를 듣고 정리한 내용입니다. slideshare에 공유해주신 내용을 캡쳐했습니다. 

파이썬과 자바의 대표적인 차이

 

파이썬은 전형적인 interpreted 언어이고, 자바는 컴파일 언어라는 것이다.

 

파이썬은 파이썬 소스코드가 번역기를 통과하면 바로 실행이 된다.

자바스크립트 역시 interpreted 언어에 해당한다. 사용자가 웹 브라우저를 만나는 과정을 보자. 웹 브라우저에 내장되어 있는 자바스크립트 엔진안의 번역기가 자바스크립트를 해석해주고, 사용자는 화면을 볼 수 있다.  여기서 Interpreted 언어란 컴파일러를 거쳐서 기계어로 변환되지 않고 바로 실행되는 프로그래밍 언어를 뜻한다 (위키백과) 스크립트 언어라고도 한다.

 

반면, 자바는 컴파일 언어다 (c, c++도 대표적인 컴파일 언어다) 컴파일 언어는 기계어로 컴파일 되어야만 실행시킬 수 있다. 자바는 컴파일러와 인터프리터가 모두 구현되어 있다.

아래 슬라이드를 보면, 자바 언어는 자바 compiler 를 통과하고 나면, .class라는 Bytecode가 생긴다. Bytecode 생긴 다음, JVM (자바 가상머신)이 run 하는 환경에서 번역기 통해서 class 가 실행된다. 

 

 

 

그러면, 자바와 파이썬 중 어느 언어가 더 빠를까?

 

당연히 자바일 것 같지만, 의외로 파이썬이다. 파이썬은 high level language기 때문에, 느리다고 하는 데 왜 더 빠른걸까?

 

위의 슬라이드에서 보면, 파이썬은 코드를 변환하는 단계가 하나다.

반면 자바는 단계가 더 복잡하다.

사실 Compiler 에서 Bytecode 로 가는 단계, 즉 실행속도 자체는  자바가 파이썬보다 빠르다.

하지만 앞단에서 소스가, compile 되는 시간 소요가 크다 (컴파일시간)

특히  소스코드와 프로젝트가 커질 수록, 코드가 한 줄 한 줄 바뀔 때마다 컴파일러가 도는 시간을 무시할 수 없을 것이다.

 

 

자바와 파이썬의 비교

(1)Hello World

 

 

여러 룰이 있지만, 대표적으로는

 

-class 명과 파일명이 같아야 한다.

-모든 자바 application은 main 함수가 있어야만 실행이 가능하다.

-명령어 종료시 세미콜론

 

(2) Split()

 

 

 

 

 

 

파티썬은 꼭 타입 변환을 해줘야 한다.

 

 

Intstream 은 range와 비슷한 함수다.

 

(3) Java와 Python의 런타임 비교

 

결론적으로 파이썬은 쉽고, 범용적인 사용이 가능하다. 진입 장벽도 낮다.

빨리 만들어서 PoC 를 빨리하고 싶을 때, 유리하다.

중요한 건 비즈니스 value 다. (최신 기술, 속도가 아니라)

 

자바는 상대적으로 배우기 어렵다. 배워야 할 것도 많다. 빨리 실행하는 데 유리하다.

 

 

런타임과 컴파일의 차이? 

런타임(Run time)과 컴파일타임(Compile time) :: 컴공관련 지식 공유 (tistory.com)

 

 

 

출처: 조인석: 파이썬 vs 자바

 

 

 

 

https://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%ED%94%84%EB%A6%AC%ED%8A%B8_%EC%96%B8%EC%96%B4

'Java&Spring > Java' 카테고리의 다른 글

classpath:/static/ 경로 설정  (0) 2021.11.27
인텔리제이 Application properties 파일  (0) 2021.11.26
TIL - 스프링 프로젝트 에러 일기  (1) 2021.11.25
Java의 생성자 작용 원리  (0) 2021.11.24
반복문  (0) 2021.10.23
Comments