- 질문 게시판입니다.
Date 20/05/15 14:56:52
Name   T.Robin
Subject   JS와 Python 중 뭘 공부할까요?
안녕하세요. T.Robin입니다.

최근 뭔가 바람이 불어 다른 언어를 좀 공부해보고자 하는 마음이 들었습니다. 배운게 도둑질이라고, 그동안 그나마 각잡고 했던 거라고는 C++과 Object Pascal이 전부인 터라 요즘의 수요를 따라잡기는 쉽지 않겠다는 생각이 들더군요. 비록 제 개발품 코드 중 일부에 Javascript가 좀 들어가긴 했지만 그건 그냥 위아래 지워놓으면 C 코드라고 해도 믿을 정도 수준의 기본적인 수준이고, Python도 예전에 데이터 읽어서 엑셀파일 만들어내는 CLI 프로그램 하나 만든게 전부라 양쪽 모두 기본 문법이나 좀 알까 뭔가 제대로 해봤다고 말하기엔 민망합니다. -_-;

하여간 이래저래 생각하고 고민한 끝에 Javascript나 Python 중 하나를 공부해보고자 합니다. 기본적으로 Python이면 backend 또는 AI 특화 쪽이고 Javascript면 full stack 지향이라는 것 정도는 알고 있습니다만 둘 중 어느쪽을 딱히 특별하게 희망하지는 않고 있습니다. 이런 경우 둘중에 무엇을 먼저 공부하는게 더 좋을까요?



0


둘 다 요새 진짜 많이 쓰는거라 우열을 가리기가 어렵지만... 웹앱서비스용도로 활용하실예정이면 자바스크립트, 그외에 다른것들은 다 파이썬이라 파이썬이 좀 더 범용적이실지도
T.Robin
그런데 JS에는 풀스택을 돌릴 수 있는 node.js란 궁극기가 있단 말이죠...... 파이썬은 클라이언트 단에서 JS에 비교할만한게 안 보입니다만.
파이썬은 쟝고랑 조합해서 많이 쓸거에요. js를 하실거라면 바닐라js도 써보셔야하지만 타입스크립트는 요새 거의 필수에요. 아주 작은 프로젝트가 아니라면 ts는 거의 무조건 쓰셔야할겁니다.

게다가 js를 사용한다고 해서 바닐라js로 모든걸 다 구축하지는 않고, 프론트는 전통의 jquery부터 시작해서 요샌 react vue.js angular 3대장(사실 리액트가 거의 대장주지만)을 기본적으로 사용하게 되고, node.js도 백엔드 구축할때 거진 express 쓰죠. 둘 다 ts는 기본적으로 사용하고.. 그래서 실제로는 서비스/... 더 보기
파이썬은 쟝고랑 조합해서 많이 쓸거에요. js를 하실거라면 바닐라js도 써보셔야하지만 타입스크립트는 요새 거의 필수에요. 아주 작은 프로젝트가 아니라면 ts는 거의 무조건 쓰셔야할겁니다.

게다가 js를 사용한다고 해서 바닐라js로 모든걸 다 구축하지는 않고, 프론트는 전통의 jquery부터 시작해서 요샌 react vue.js angular 3대장(사실 리액트가 거의 대장주지만)을 기본적으로 사용하게 되고, node.js도 백엔드 구축할때 거진 express 쓰죠. 둘 다 ts는 기본적으로 사용하고.. 그래서 실제로는 서비스/규모에 따라서 바닐라js로만 만드는 경우는 거의 없다고 보신다면 될거같아요. js는 npm module도 그렇고 node.js 특성상 작은 코어 위에 여러가지를 덕지덕지덕지 붙여서 만듭니다. 그만큼 편리하기도 한데 npm module 관리하는거 피곤해서 싫어하는 분들도 많아요 ㅎㅎ

그리고 중요한점이 node.js로 만든 백엔드 서버가 성능이 딱히 딸리는건 아니지만, 퍼포먼스가 무척 중요한 서버로는 추천하지 않습니다. 보통 그래서 대형 서비스의 백엔드를 마이크로서비스에 가까운 형태로 만들때 중요한 엔터프라이즈 서버는 여전히 자바로 구축한 백엔드를 쓰고 몇 가지 변경이 자주일어나고 퍼포먼스가 엄청 중요하진 않은 기능들을 담당하는 api 서버에 node.js를 많이 써요. 물론 규모가 작으면 저희처럼 백엔드 node.js 하나로 다 처리하기도 합니다만 ㅎㅎ 커질수록 스까쓰는거같더라구요
T.Robin
JS쪽은 잠깐 관심가지고 파봤던게 있습니다. 어쩌면 아실지도요.
https://quasar.dev/
저는 구조상으로 vue.js를 선호합니다.

Java를 무시하는건 아닙니다만, 퍼포먼스가 극단적으로 중요한 서버라면 역시 C & C++이죠. 직접 측정해보시면 아시겠지만, JVM이 차지하는 RAM과 CPU가 생각보다 꽤 되는 수준입니다(뭐 node.js쪽도 만만찮긴 합니다만......). C계열에 보면 간단하게 합체(?)시키는 것만으로 임베디드 웹서버를 만들어주는 라이브러리들이 몇몇 있습니다. 제가 쓰는건 이거군요: https://github.com/civetweb/civetweb
ㅎㅎㅎ 맞습니다 그래서 풀스택을 말씀하실때 node.js를 메인 백엔드로 쓰실게 아니라면 js의 장점은 조금 줄어드는게 아닌가 싶었습니다 ㅎㅎ 사실 이런걸 다 차지하고서라도 로빈님께서 웹서비스 혹은 프로그래시브웹앱 형태의 프로젝트를 생각하신다면 JS는 거의 필수긴 합니다. 결국 웹개발을 위해 보시는건지 ai 머신러닝 데이터사이언스 이런거 찾으시는지에 따라 전자라면 js 후자라면 파이썬 추천드리고 싶습니당
[
지금까지 나열된 언어들중(C/C++ 제외)에서는 자바/코틀린이 웹서버로 성능은 가장 좋습니다, 그래서 저렇게 답변주신 것 같아요. 여기엔 없는 것으로 저는 Rust / Go중에 하나 추천합니다. C++ 하시니 Rust는 조금 보셨을수도 있겠네요. 물론, python / js보다 힘들거란 단점은 있겠지만... 뭘 하던 C++보단 나을겁니다ㅎㅎ 개인적으론 python / js보다 더 재밌기도 했구요.

대충은 공부가 목적이라고 생각이 되는데요, 그런 측면에서 Rust / Go가 python / js에 비해서 현 트렌드들이 많이 접목된 언어라고도 생각합니다.

추가로 아래의 책들이 언어를 선택하는데 ... 더 보기
지금까지 나열된 언어들중(C/C++ 제외)에서는 자바/코틀린이 웹서버로 성능은 가장 좋습니다, 그래서 저렇게 답변주신 것 같아요. 여기엔 없는 것으로 저는 Rust / Go중에 하나 추천합니다. C++ 하시니 Rust는 조금 보셨을수도 있겠네요. 물론, python / js보다 힘들거란 단점은 있겠지만... 뭘 하던 C++보단 나을겁니다ㅎㅎ 개인적으론 python / js보다 더 재밌기도 했구요.

대충은 공부가 목적이라고 생각이 되는데요, 그런 측면에서 Rust / Go가 python / js에 비해서 현 트렌드들이 많이 접목된 언어라고도 생각합니다.

추가로 아래의 책들이 언어를 선택하는데 도움을 줄 수 있겠다는 생각이 듭니다.
Seven Languages in Seven Weeks: http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788968481857
폴리글랏 프로그래밍: http://www.kyobobook.co.kr/product/detailViewKor.laf?barcode=9788968480867
T.Robin
추천 감사드립니다. 기회 되는데로 한번 보겠습니다.
kaestro
둘다 방향성 있게 쓰시려는게 아니면 파이썬이 좀더 쓰기 편하니까 좋지 않을까요
T.Robin
확실히 Python이 편하게 쓰긴 좋아 보이더군요. 요즘 JS 코드 보면 이게 코드인지 암호인지 잘 모르겠습니다(......).
os레벨도 많이 만지시고, cpp하시니 python은 금방 슥삭 적응하실거같은데 -_-; 뭘 더 투자해서 배우실 내용은 없을거 같습니다
웹 서비스도 몇번 하셨다고 본거 같은데, js 추천드립니다. 재밌어요 옛날의 그 js가 아닙니다.
어쩌면 ts랑 더 잘어울리실 수도 있을것 같네요
T.Robin
TS는 뭔가 거부감이 들더군요. 제가 Java에 대해 가지는 본능적인 거부감(?)과 같은 종류의 그 무엇 같습니다(전 하나의 환경에 뭔가 다른 환경을 덧씌우는 것에 대해 거부감이 있습니다).
무슨말씀이신지 잘 이해는 못했지만, es6나 ts는 babel과 같은 webpack으로 브라우저 및 각 환경에 맞춰 변환되기 때문에
태생적으로 문법에 맞춰 쓴 코드가 그대로 사용되는 경우는 없습니다 크크... 본능이 거부할 수 밖에 없는 구조입니다.

js계 배울때 본능이 거부하는 가장 큰 요소가 callback지옥과 promise와 같은 비동기처리,
그 외에도 클로저, 이벤트 버블링, 렉시컬 스코프 등에서 발생하는 지독한 가독성때문인데,
이런 독특한 구조가 (반드시 부하와 지연이 발생하는) 네트워크와 연계된 거대한 ... 더 보기
무슨말씀이신지 잘 이해는 못했지만, es6나 ts는 babel과 같은 webpack으로 브라우저 및 각 환경에 맞춰 변환되기 때문에
태생적으로 문법에 맞춰 쓴 코드가 그대로 사용되는 경우는 없습니다 크크... 본능이 거부할 수 밖에 없는 구조입니다.

js계 배울때 본능이 거부하는 가장 큰 요소가 callback지옥과 promise와 같은 비동기처리,
그 외에도 클로저, 이벤트 버블링, 렉시컬 스코프 등에서 발생하는 지독한 가독성때문인데,
이런 독특한 구조가 (반드시 부하와 지연이 발생하는) 네트워크와 연계된 거대한 서비스를 부드럽게 만들어주고
node와 같은 JS런타임을 더욱 효과적으로 만들어주긴 합니다.
그래서 웹개발을 하신다면 js는 어차피 한번 훝고가야됩니다. 도전해보세요!
T.Robin
TS는 Java(JVM)이나 C#(.Net Framework)처럼 동작시 layer를 덧씌우는 느낌이라(TS→JS) 좀 거부감이 든다는 이야기였습니다. 그래서 전 초반부에 LLVM도 좀 부담스러웠어요. 뭐냐 저 변태스런 구조는...... 이란 느낌이었죠. -_-
(아시는 내용이겠지만) 웹개발이라면 덧씌우는게 좋습니다. 아무래도 HW/OS를 고려하지 않아도 되니까요. 최근에는 docker같이 OS를 interface화 해주는 것들도 나오고요.

저도 대학원 시절 C/C++ 하다가 지금은 JVM언어인 자바/코틀린을 사용하는데, 처음엔 상당한 거부감이 들었습니다만 지금은 괜찮습니다ㅎㅎ
그냥 Java가 너무 못난 언어였구나... 하는 정도....??
https://www.youtube.com/watch?v=mYgWbOup4UA
코딩, 어떤 언어부터 배워야하나? (Which Programming Language to Learn First?)


여기서 JS와 파이썬을 비교하고 있긴 합니다.

파이썬은 매트릭스 계산이 들어가는 프로젝트(=데이터 계산)에서 유용하게 쓸 일이 있습니다. 자바스크립트는 잘 모르겠지만, 데이터를 다룰 일이 아니라면 C++, 자바스크립트가 좋지 않을까 생각합니다.
T.Robin
걸어주신 URL의 데이터는 잘 봤습니다.

제 생각과 비슷하긴 합니다만, 그 외에 고려해야 할 것들이 좀 더 있긴 하군요. 특히나 JS의 그 지옥과 같은 문법은 정말 많은 사람들을 나락으로 떨어뜨리는지라......
공기반술이반
파이썬이요!

최근에 아는 분 요청으로 웹크롤링 프로그램을 Python/셀레니움/크롬드라이버 로 만들어봤는데
업무자동화같은거 하는데는 JS보다 훨씬 범용성있다고 생각합니다!
T.Robin
전 C++로 웹 크롤러를 만들어본 적이 있습죠(먼산).
wxWidgets에 보면 wxWebView라고 재미있는 녀석이 있습니다(웃음).
공기반술이반
오....와우.....
ㄷㄷㄷ

여튼 위에 까먹고 안쓴말을 하자면

어느 페이지에 접속해서 로그인을 완료하기위해 제가 쓴 코드가 10라인.
끗입니다. 람다이런것도 없고 그냥 임포트해서 클래스 인스턴스 만들고
멤버함수 몇개 호출하는걸로 끝나요..ㅎㅎ
토끼모자를쓴펭귄
저도 요즘 업무자동화에 관심이 많은데 오토핫키 배워볼까 생각중입니다. 그런데 파이썬이 더 낫나요?
T.Robin
오토핫키는 그냥 사람이 하는 일을 자동화하는 거고...... 굳이 분류하자면 RPA(Robotic Process Automation)쪽에 더 가깝죠. 이쪽은 태생이 태생이라 한계가 좀 있습니다.

파이썬은 아예 프로그래밍 언어에요. 원하면 프로그램을 직접 만들 수 있습니다. GUI도 직접 만들 수 있고요(Tkinter라건가, wxPython이라던가, PyQt나 PySide라던가......). 대신 난이도는 이쪽이 훨씬 어렵습니다.
토끼모자를쓴펭귄
난도와 범용성 둘 중 어느 쪽을 택하냐 이네요..
그저그런
별 생각 없으면 파이썬요. 만능 추천 언어 ㅋㅋ
T.Robin
어째 계속 파이썬으로 기우는 것 같군요.
그저그런
별다른 조건 없을때 추천하기 사장 무난하니까유 ㅎㅎ
풀스택개발자라 Java, C#, Golang, JS, Python을 같이 다루고 있는 입장에서 말씀드려보자면,
혼자 공부 시작하시는거면 둘 다 배워보셔도 되요. 저는 두 개 같이 했었어요.
현업 니즈상 필요에 맞게 프레임워크를 선택하고 진행되다보니, 어느 하나만 쓸때도 있고 둘다 쓸 때도 있고 그런거 같아요.
T.Robin
전 C++로 풀스택 개발이라...... ToT
백엔드(CivetWeb)부터 GUI(Qt)까지 혼자서 쿵작쿵작하고 있습니다.

결국 둘다로군요. 그래도 우선순위는 정해야 될 것 같습니다.
C++ 풀스택...ㅠㅠ 매우 어려운 길ㅜㅜ
T.Robin
생각보다 어렵지 않습니다. 일단 단일 언어잖아요.
그냥 둘다하세요
T.Robin
시간이 되면 둘다 하겠습니다만, 아시다시피 개발자란 항상 시간에 쫓기는 사람인지라...... 우선순위는 둬야 될 것 같습니다. 하나에 집중한 뒤 다른 하나를 하는 형태가 되어야 할 것 같습니다.
뭘 할 수 있을지는 몰라도 지금 시대는 AI가 짱인거 같습니다.
AI로 업그레이드 심심이 만들어주세요
T.Robin
제 실력이 일천하여 AI는 아직 AI의 A자도 모릅니다...... OTL
레코드
제가 JS 와 파이썬을 주력으로 하고 있는데, 개인적으로 사용할 수 있는 뭔가를 만드는 일을 하시면 JS, 데이터 다루는 걸 하시면 파이썬을 하시면 좋을 거 같아요. 파이썬으로 장고나 플라스크로 백엔드 만드는 것도 요즘은 그리 대세는 아닌 것 같아요. node.js 개발자가 node.js 를 대체할 새로운 프레임워크를 개발중이기도 하고.. 웹 때문에 언어로서의 발전은 JS 가 빠르기도 하고요.
질문자는 아니지만 궁금해서 질문드립니다.

웹 분야의 프로젝트를 하지 않는 경우에도 자바스크립트를 선택할 매력이 있을까요?
손나은
딱히 없습니다.
레코드
웹 아니면 Javascript 보다는 Python, Kotlin (혹은 Java), C# 같은 걸 하는 게 훨씬 나은 거 같아요.
칸나바롱
스크립트 작성하기는 제일 편하긴 합니다..
직장인 의무법정교육(성희롱/보안 교육) 들을 때 쉽게 패스할 수도 있습니다.
T.Robin
사실 개인적으로 쓰는 것+데이터 다루는걸 동시에 하고 있습니다(......).
제 주특기 중 하나가 데이터를 메모리에 통채로 올려서 offset 단위로 갖고노는 거에요(......).
호라타래
뉴비가 아니라 토끼겅듀신데 ㅠㅠㅠ
T.Robin
저 개발 2년차인데요......
칸나바롱
파이썬 보다는 ts가 낫습니다.. 파이썬은 패키지 깔다가 돌아버릴것 같음..
T.Robin
TS 보니까 C++마냥 template을 선언한다던지 하는게 있는 것 같더군요.
뭐지 이거......
js 추천드립니다. 파이썬은 금방 하실거 같고, 개인 프로젝트로 진행하기에는 재미가 좀 떨어질거 같습니다.
T.Robin
파이썬은 예전에 잠깐 써봤는데, 기초 문법은 반나절이면 끝나더군요. 파이썬 문법도 모르는 상태에서 사흘만에 엑셀로 보고서 만드는 프로그램을 만든 적이 있습니다.
칸나바롱
언어 자체를 공부하시고 실무에도 쓸려면 러스트 추천합니다
목록
번호 제목 이름 날짜 조회 추천
공지 질문 게시판 이용 규정 11 토비 15/06/19 25063 4
16799 의료/건강저류낭종이 외부 충격에 의해서 떨어져 나갈 수 있나요? 化神 25/06/17 82 0
16798 홍차넷(해결)홍차넷에서 누군가 소련 망하는 과정 책을 추천했었는데요 13 + 골든햄스 25/06/16 508 0
16797 의료/건강중수골 경부 골절 관련 질문입니다. 4 + [익명] 25/06/16 268 0
16796 기타자동차 문짝 교체는 어딜 가야 하나요 4 세모셔츠수세미떡 25/06/15 338 0
16795 가정/육아이혼 생각 중인 금요일 밤 23 [익명] 25/06/13 1528 0
16794 기타YES24 카트 비우는 것 좀 도와 주시겠습니까? 7 호미밭의파스꾼 25/06/13 620 1
16793 과학극한의 엄밀한 정의를 할때 30 물리물리 25/06/11 925 0
16792 가정/육아창틀 및 방충망 수리 9 OshiN 25/06/11 394 0
16791 IT/컴퓨터모니터 편광 필름 추천 부탁드립니다 4 토비 25/06/11 227 0
16790 IT/컴퓨터유선이어폰 수리 업체 추천 부탁드립니다. 5 나루 25/06/10 524 0
16789 의료/건강[긴급]오후에 국소마취 수술이 있는데 6 [익명] 25/06/10 778 0
16787 IT/컴퓨터폰 번이 문의입니다 7 나단 25/06/09 370 0
16786 법률좋은, 혹은 유능한 변호사? 어떻게 아나요? 8 덕후나이트 25/06/09 790 0
16785 IT/컴퓨터윈도우즈가 비정상 작동하고 있습니다. 마우스 클릭이 안됩니다. 10 매뉴물있뉴 25/06/08 472 0
16784 경제위알못 질문드립니다 4 헬리제의우울 25/06/08 344 0
16783 기타[TV 구매] 온라인? 오프라인? 9 와이 25/06/08 373 0
16782 여행외국인 친구가 서울에 놀라왔습니다. 맛집 추천 부탁 드립니다. 9 NIKES 25/06/07 701 0
16781 기타대전 맛집을 가고싶읍니다. 5 쉬군 25/06/07 483 0
16780 교육공부하는 방법, 공부하는 습관을 들이는 방법을 쓴 책이 있을까요? 11 오구 25/06/06 914 1
16779 의료/건강4일+째 변을 보지 않고 있습니다? 18 Velma Kelly 25/06/06 725 0
16778 IT/컴퓨터단어 차단 설정? 2 reika 25/06/06 399 0
16777 가정/육아전동 칼갈이 써보신분 있으신가요? 2 수퍼스플랫 25/06/05 359 0
16776 법률집세 미납 관련질문 3 [익명] 25/06/05 418 0
16775 게임8세 아이(조금느린)가 할만한 게임을 추천받고 싶습니다. 19 쉬군 25/06/05 572 0
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글