🌳 언어 계통도 & 연결 구조 — Python·JS·C·WASM 한눈에 보기 | 코딩스타랩 Part 7-1

🌳 언어 계통도 & 연결 구조 — Python·JS·C·WASM 한눈에 보기 | 코딩스타랩 Part 7-1

🌳 언어 계통도 & 연결 구조 — Python·JS·C·WASM 한눈에 보기 | 코딩스타랩 Part 7-1

안녕하세요 코러입니다 😊
오늘은 “언어는 왜 이렇게 많고, 서로 어떻게 이어질까?”를 한 번에 정리합니다. Python → JavaScript → C로 이어지는 뿌리와, 브라우저/Node 런타임, 그리고 WebAssembly(WASM)까지! 이 지도를 이해하면 앞으로 배우는 모든 기술의 위치가 선명해져요.

🎯 핵심 키워드: 언어 계통런타임VM브라우저Node.jsWebAssembly

1️⃣ 큰 숲: 언어 계통도의 빠른 지도

CC++JavaJavaScript (웹 런타임 중심)
CPython (사람 친화 문법 + 과학/AI 생태계)
CRust/Go/Swift (현대적 시스템 언어) → WebAssembly(브라우저 속 네이티브급)

결론: “C는 뿌리, JS는 웹의 언어, Python은 사고력/AI, WASM은 성능 다리.”

2️⃣ 연결 구조: “언어 ↔ 런타임 ↔ 플랫폼”

언어주요 런타임/VM주 사용 플랫폼특징
PythonCPython, PyPy데스크톱/서버가독성·풍부한 라이브러리(데이터/AI)
JavaScriptV8(Chrome/Node), SpiderMonkey(Firefox)브라우저/서버(Node)웹 표준 · 인터랙션 최강
C/C++네이티브(컴파일)OS/엔진/임베디드고성능 · 엔진의 세계
Rust/Go네이티브(컴파일)시스템/네트워크안전·동시성·현대적
WASM브라우저 VMC/C++/Rust 코드를 웹에서 고속 실행

🧠 포인트: 언어는 혼자가 아니고 “어디에서 실행되는가(런타임)”가 함께 따라다녀요.

3️⃣ JS의 두 얼굴: 브라우저 vs Node

  • 브라우저 JS: DOM 제어, 이벤트, Canvas/웹 API 사용
  • Node.js: 파일·네트워크·서버, 빌드 도구, 패키지 관리(npm)
// 브라우저: 화면 글자 바꾸기
document.body.innerText = "Hello in Browser";

// Node: 파일 만들기
const fs = require("fs");
fs.writeFileSync("hello.txt","Hello from Node");

같은 JS라도 “플랫폼 권한”이 달라서 가능한 일이 달라요.

4️⃣ Python ↔ JS ↔ C가 만나는 다리: WebAssembly

WASM은 브라우저 속 가상 CPU 같은 존재. C/C++/Rust로 만든 고성능 코드를 웹에서 돌릴 수 있게 해요. 게임 엔진·물리 연산·이미지 처리 같은 무거운 작업에 쓰여요.

💪 미션: “왜 어떤 게임은 JS만으로, 어떤 게임은 WASM을 쓸까?” 성능이 필요한 사례 3가지를 적어보고, JS로 충분한 사례 3가지를 적어보세요.

5️⃣ “언어 선택”의 진짜 기준

  1. 결과가 어디서 돌아가야 하나? (웹/모바일/PC/서버)
  2. 속도가 얼마나 필요한가? (JS vs WASM/네이티브)
  3. 팀/생태계는 어디에 많은가? (라이브러리/튜토리얼/도구)

❓ Q&A 코너

Q1. Python도 브라우저에서 돌릴 수 있나요?
👉 네! Pyodide/Transcrypt 같은 프로젝트로 가능하지만, 실전 게임은 JS/WASM이 일반적이에요.

Q2. C를 꼭 배워야 하나요?
👉 엔진 구조를 이해하고 성능을 다루려면 도움이 커요. 초등·중등은 개념 맛보기만 해도 충분!

Q3. 인디 게임엔 어떤 조합이 좋아요?
👉 JS(Canvas)로 빠른 프로토타입 → 필요 시 WASM(물리/경로 탐색) 혼합이 효율적입니다.

📘 다음 단계 예고

다음 Part 8에서는 브라우저 이벤트 루프를 파고들어 클릭·키보드·애니메이션이 동시에 부드럽게 동작하는 원리를 게임 개발 시각으로 설명합니다.

📰 최신 글

#코러 #코딩입문 #언어계통도 #연결구조 #Python #JavaScript #C언어 #NodeJS #WebAssembly #코딩스타랩

댓글 없음

Powered by Blogger.