~/VibeHandbook
무료 PDF

챕터 10 · 05

나머지 언어들에 대한 짧은 한마디

이것들을 마주치게 될 텐데, 때로는 그중 하나가 정확히 맞는 답이다:

각 언어가 주로 어디에 사는지 그려 보면 도움이 된다. 소프트웨어에는 층이 있다 — 브라우저에서 도는 것(프론트엔드), 서버에서 도는 것(백엔드), 폰에서 도는 것(모바일) — 그리고 대부분의 언어에는 자기 텃밭이 있다:

        ┌──────────────────── 코드 실행 위치 ──────────────────────┐
        │                                                          │
   프론트엔드             백엔드                  모바일           │
   (브라우저)             (서버)                  (휴대폰)         │
        │                    │                      │              │
   ┌────┴────┐        ┌──────┴──────┐         ┌─────┴─────┐        │
   │ JS / TS │        │ JS / TS     │         │ Swift     │ iOS    │
   │ 유일한  │        │ Python      │         │ Kotlin    │ Android│
   │ 진짜    │        │ Go          │         │ JS / TS   │ (React │
   │ 선택지  │        │ Rust        │         │           │ Native)│
   │         │        │ Java / C#   │         └───────────┘        │
   └─────────┘        │ PHP / Ruby  │                              │
                      └──────┬──────┘                              │
                             │                                     │
                        ┌────┴────┐                                │
                        │   SQL   │  ◀── 데이터베이스. 위의        │
                        │(database)│      어떤 backend에서나 접근  │
                        └─────────┘                                │
        └──────────────────────────────────────────────────────────┘
  • Java / C#: 대기업의 일꾼들. 성숙하고 안정적이며 도구가 풍부하게 갖춰져 있어, 큰 기업 백엔드나 Android(Java/Kotlin) 또는 Windows/.NET 생태계(C#)에 이상적이다. AI는 둘 다 잘 다룬다. 1인 바이브 코더로서는 기존 엔터프라이즈 스택 안에서 일하거나 Android/Windows를 겨냥해 만드는 게 아니라면 이것들이 필요한 경우가 드물다.
  • Swift / Kotlin: iOS(Swift)와 Android(Kotlin) 앱을 위한 네이티브 언어. 진짜 모바일 앱을 App Store나 Play Store에 출시한다면 이것들을 건드리게 될 가능성이 높다. AI 지원은 탄탄하지만 웹 언어보다는 약하고, 모바일 개발에는 추가적인 마찰(기기, 앱 스토어 규칙, 빌드 도구)이 따른다.
  • PHP / Ruby: 웹의 구세대이지만, 여전히 웹의 거대한 한 조각을 조용히 돌리고 있다. PHP는 WordPress를 돌리고, 따라서 전체 웹사이트의 큰 비율을 떠받친다. Ruby on Rails는 데이터베이스 기반 앱을 빠르고 일관된 의견으로 만드는 방식으로 남아 있다. 둘 다 학습 데이터가 풍부해서 AI가 잘 다룬다 — 하지만 오늘날 입문자가 가장 먼저 손을 뻗는 것은 드물고, 보통은 새로 시작하기보다 기존 코드베이스 안에서 일하기 때문에 고르게 된다.
  • (구조적 질의 언어): 범용 언어는 아니지만, 앱이 데이터를 저장하는 순간 마주하게 된다. 데이터베이스에 질문을 던지는 언어라고 생각하면 된다 — "이번 주에 가입한 사용자를 전부 보여줘" 같은. SQL은 데이터베이스에 질의한다. 다른 언어들 대신 SQL을 고르는 게 아니라 — 무엇을 고르든 그 옆에 함께 산다. 다행인 점: AI는 SQL 작성에 탁월해서, 원하는 데이터를 평범한 말로 묘사하면 AI가 쿼리를 만들어 준다.

오프라인으로 보고 싶으세요?

책 전체를 PDF나 EPUB으로 무료로 내려받으세요.