본문 바로가기

CS

자바스크립트, 파이썬

자바스크립트

백엔드 개발에 주로 사용되는 파이썬과 달리 자바스크립트는 웹 애플리케이션의 백엔드와 프론트엔드 모두에 사용됨.

자바스크립트는 대표적인 스크립팅 언어로 웹 사이트와 앱 프로세스를 자동화 해 사용자가 더 쉽게 작업을 수행하게 한다. 브라우저에 동적 기능을 제공하는 언어로, 웹 개발, 사용자 대면 기능 및 서버 구축에 사용됨

 

파이썬

파이썬은 문법이 간결하고 인간의 사고 체계와 닮은 표현 구조로 '배우기 쉬운' 프로그래밍 언어로 알려져 있다. 이와 함께 파이썬은 데이터 과학, 인공지능(AI), 기계학습(ML), 컴퓨터 과학 교육, 컴퓨터 비전 및 영상 처리, 의학, 생물학, 천문학 등 과학적이고 전문화된 응용 분야에서 널리 사용되는 뛰어난 기능으로 전 세계에서 가장 선호되는 프로그래밍 언어 중 하나임.

단순성, 유연성, 다기능성을 가진 프로그래밍 언어이며 최근 가장 인기 있는 프로그래밍 언어 중 하나임.

 


1. 선호도

 

소프트웨어 개발 분야에 종사하기를 희망한다면 어떤 프로그래밍 언어를 배울지 선택하는 것은,

미래에 더 잘 고용되고 인기 있는 프로그래머가 될 것인지에 부분적으로 영향을 미침.

지난 몇 년 간 자바스크립트와 파이썬 모두 가장 빠르게 성장하는 프로그래밍 언어로 여겨졌다. 또한 두가지 프로그래밍 언어는 고용 시장에서 선호되고 있고, 파이썬은 품질 보증 및 소프트웨어 엔지니어링의 엔트리 레벨부터 고급 시스템 학습 및 데이터 과학 영역에 이르기까지 다양한 영역의 일자리가 있다. 자바스크립트는 주니어 프론트엔드 개발자, 시니어  설계자와 풀스택 엔지니어로 취업 기회가 열려 있다.

 

2. 학습

 

코딩에 익숙하지 않은 사람들은 비교적 사용하기 편하고 학습 곡선이 짧은(진입장벽이 낮은) 언어를 선택하는 것이 좋음.

초보자는 프로그래밍 언어 또는 문법이 얼마나 친숙하게 다가오는지에 따라 언어를 선택하고 싶어 한다.

이는 장기적으로 보았을 때 최선의 방법은 아니지만, 프로그래밍 학습의 첫발을 떼는 데에는 도움 됨

이 점에서는 파이썬이 자바스크립트보다 더 높은 점수를 받는다. 파이썬은 초보자 친화적으로 설계되었으며, 기능과 변수가 간단하고 이해하기 쉽다. 반면 자바스크립트는 클래스 정의와 같은 복잡성 때문에 파이썬보다 더 가파른 학습 곡선을 가짐.

 

3. 확장성


프로그래밍 언어의 확장성은 그것을 사용할 수 있는 프로젝트의 종류를 결정하게 하고 확장성은 크게 두 가지 나뉜다.

1) 다수의 사용자를 처리할 수 있는 기능.

2) 서버 활용률을 최소화하며 대용량 볼륨을 처리할 수 있는 용량.

이 관점에서 자바스크립트와 파이썬은 흥미로운 차이점을 보이는데,

- 자바스크립트는 비동기 프로그래밍을 지원하며

- 많은 사람들이 동시에 사용하는 모든 종류의 웹 앱과 서비스를 엄격하게 실행할 수 있도록 확장성이 뛰어남.

반면 파이썬 구조는 

- 비동기 프로그래밍을 지원하지 않아 확장성이 낮음.

- 하지만 비동기 프로그래밍을 지원하는 코루틴(co-routine)을 지원하는데,

   코루틴은 볼륨이 증가하도록 원활하게 작동하도록 기능을 제공해 파이썬의 낮은 확장성을 보완한다.

유튜브, 인스타그램와 같은 세계적인 서비스가 파이썬을 기반으로 구축되었다는 점에서, 올바른 접근 방식을 통해 파이썬의 확장성을 달성할 수 있다는 점을 확인 할 수 있음. 즉 어떤 도구를 사용하는지보다는 도구의 잠재력을 최대한 활용할 수 있는 능력이 중요.

 

4. 활용성


프로그래밍 언어를 어떤 분야에 활용할 수 있는지도 언어를 선택하는 데 중요한 요소. 

 

- 자바스크립트는 백엔드 서버 작업과 프론트엔드 기능 모두에 적합,

- 파이썬은 전자에 집중.

- 파이썬은 웹 개발뿐만 아니라 인공지능(AI), 머신러닝(ML)과 같은 최첨단 분야에 대한 응용이 광범위함.

- 또한 금융/핀테크와 같은 영역에서도 유용하게 사용됨.

5. 메모리 관리


아마추어 개발자들이 기억해야 할 사실 중 하나는 

- 파이썬 : 메모리 관리 방식과, 이것이 매우 제한적이라는 것을 염두에 둬야 한다는 것.

- 자바스크립트는 메모리 관리 프로세스의 많은 부분을 자동화해 필요에 따라 리소스를 할당하고 확보.

- 메모리 누수 가능성은 남아 있기 때문에 특히 고객 대상 제작물을 이 언어로 코딩할 때 발생할 수 있는 성능 문제를 인식해야 함.

 

 

 

 

프로그래밍 언어의 주요 개념



프로그래밍 언어는 모두 계산을 일련의 단계로 풀어서 상세히 설명하기 위한 표기법.

언어에는 구문 규칙, 문법적으로 무엇이 맞고 무엇이 틀리는지 정의하는 규칙이 있는데, 이로 인해 프로그래밍 언어는 문법 면에서 까다롭다. (우리가 어려워 하는 이유)


이론상으로는 특정 프로그램이 구문상 정확한지, 만약 그렇다면 그 의미가 무엇인지 구체적이며, 모호함이 없어야 하지만 항상 이렇게 이상적이지 않다. 프로그래밍 언어는 대체적으로 단어로 정의 되고, 자연 언어로 작성된 다른 문서와 마찬가지로, 단어의 정의에는 모호성이 있어서 다르게 해석할 수 있는 여지가 있다.

ex) 자바스크립트로 프로그래밍을 할때, 브라우저간의 차이, 브라우저 버전의 차이에 따른 코드의 차이 등이 있다.

반대로 파이썬은 크게 두가지 버전이 있는데 일단 대부분 호환은 되지만약간의 차이가 존재한다. 

다행히 파이썬 버전2는 버전 3으로 대체되면서 이런 문제는 사라지고 있다고 한다.


컴퓨터의 언어의 세 가지 측면.


첫 번째, 언어 그 자체다. 즉, 컴퓨터에 산술 연산을 수행하고, 조건을 검사하고, 계산을 반복하라고 지시하는 문장,
두 번째, 다른 이들이 작성했지만 프로그램을 만들 때 사용할 수 있는 코드 라이브러리.
세 번째, 프로그램 실행 환경에 접근하는 기능.

                브라우저에서 실행되는 자바스크립트 프로그램은 사용자에게서 입력을 받고,

                 사용자가 버튼을 누르거나 타이핑하는 이벤트에 반응하며,

파이썬은 실행되는 컴퓨터 상의 파일 시스템에 접근할 수 있는 점이 파이썬과 자바 스크립트의 차이로, 브라우저에서 실행되는 자바스크립트는 브라우저에 따라 제한적으로 지원되는 기능.

'CS' 카테고리의 다른 글

인터넷 프로토콜  (0) 2022.08.23
WIFI 이름, cellular phone, 3G- LTE- 4G- 5G  (0) 2022.08.19
운영체제  (0) 2022.08.15
가상 운영체제와 가상 머신  (0) 2022.08.12
자유로운 소프트 웨어  (0) 2022.08.10