PHpullh

LANGUAGE FIT, NOT HYPE

언어는 문법보다 문제와 시스템 맥락으로 고르세요

카드를 하나씩 열어 제품 목표, 팀의 운영 방식, 플랫폼 제약에 맞는 언어인지 확인하고 시스템 활용법과 면접 답변까지 연결해 보세요.

언어를 고르는 순서가 뒤집혀 있을 때

언어 선택 논의가 길어지는 자리에는 공통점이 하나 있습니다. 무엇을 만들 것인가보다 무엇으로 만들 것인가를 먼저 정하려 한다는 점입니다. 순서가 뒤집히면 결론이 나지 않습니다. 문법 취향과 커뮤니티 인상만 남고, 정작 그 언어를 쓰게 될 제약 조건은 논의에 들어오지 않기 때문입니다.

실무에서 언어는 대체로 먼저 정해집니다. iOS 앱의 시스템 기능을 깊게 쓰기로 했다면 Swift는 선택이 아니라 전제이고, 데이터가 관계형 데이터베이스에 있다면 SQL을 피할 방법은 없습니다. 이때 남는 질문은 "무엇을 쓸까"가 아니라 "이 제약 안에서 무엇을 얼마나 깊게 알아야 하는가"입니다.

플랫폼이 정하는 언어와 팀이 정하는 언어

언어는 두 부류로 나뉩니다. 하나는 플랫폼이 정해 주는 언어입니다. Apple 플랫폼의 Swift, Flutter의 Dart, 관계형 데이터베이스의 SQL이 여기 속합니다. 이 부류는 비교 대상이 사실상 없고, 대안을 찾는 시간보다 그냥 배우는 시간이 짧습니다.

다른 하나는 팀이 정하는 언어입니다. 서버를 무엇으로 쓸지는 대체로 열려 있고, 그래서 논쟁이 붙습니다. 이쪽에서는 언어 자체의 우열보다 이미 팀이 잘 아는지, 채용이 되는지, 운영 도구가 갖춰져 있는지가 결정적입니다. 기술적으로 더 나은 선택이 조직적으로 더 나쁜 선택이 되는 일은 흔합니다.

이 구분을 해 두면 학습 우선순위가 정리됩니다. 플랫폼이 정해 주는 언어는 깊게, 팀이 정하는 언어는 옮겨 다닐 수 있을 만큼 익히는 편이 효율적입니다.

깊이의 기준

"이 언어를 할 줄 안다"의 기준을 문법 암기에 두면 판단이 어긋납니다. 실무 기준으로는 세 가지가 갈림길입니다. 첫째, 실패했을 때 어디를 보는지 압니다. 스택 트레이스를 읽고, 로그를 어디에 남길지 정하고, 디버거를 붙일 줄 아는 정도입니다. 둘째, 의존성을 관리할 줄 압니다. 패키지를 넣고 빼고 버전을 고정하는 흐름입니다. 셋째, 테스트와 배포 경로를 압니다. 이 셋이 되면 문법의 빈칸은 필요할 때 채워집니다.

반대로 이 셋이 비어 있으면 문법을 아무리 알아도 혼자서는 한 발짝도 못 나갑니다. 언어를 여러 개 얕게 아는 상태가 위험한 이유가 여기 있습니다. 각 언어의 문법은 익숙한데 어느 언어로도 문제를 끝까지 밀고 갈 수 없는 상태가 됩니다.

각 언어의 실제 사용 맥락은 아래 카드에서, 문법과 예제는 심층 가이드에서, 같은 개념이 언어별로 어떻게 달라지는지는 언어 비교에서 확인하실 수 있습니다.

iOS·macOS 제품팀, Apple 플랫폼 기능을 깊게 쓰는 팀

Swift

Swift는 Apple 생태계 안에서 제품 품질과 플랫폼 기능을 함께 가져갈 때 강하다

백엔드·데이터·분석을 넘나드는 모든 제품 개발자

SQL

SQL은 모든 서비스 개발자가 시스템의 데이터 흐름을 이해하기 위해 익혀야 하는 언어다

선택할 때 먼저 물을 세 가지

  1. 제품이 가장 많이 닿는 플랫폼과 사용자 경험은 무엇인가?
  2. 팀이 견뎌야 할 운영 부담은 응답 시간, 변경 속도, 데이터 정확성 중 어디에 있는가?
  3. 기존 팀의 도구·채용·배포 환경을 고려해도 새 언어의 이점이 남는가?

정답 언어는 하나가 아닙니다. 작은 기능을 끝까지 만들어 보고, 관측·테스트·배포까지 경험한 뒤 선택을 검증하세요.

새 언어를 시작하기 전에 확인할 것

언어를 하나 더 배우기로 했다면, 시작 전에 확인해 두면 시간을 아끼는 항목이 있습니다. 공식 문서가 얼마나 정돈돼 있는지, 패키지 관리와 빌드 도구가 하나로 수렴하는지, 그리고 에러 메시지가 원인을 알려주는지입니다. 이 셋이 갖춰진 언어는 혼자서도 진도가 나가고, 그렇지 않으면 문법과 무관한 곳에서 시간이 샙니다.

반대로 학습 초기에 크게 중요하지 않은 것도 있습니다. 성능 지표, 유행 순위, 그리고 문법의 우아함입니다. 이것들은 이미 그 언어로 무언가를 만들어 본 뒤에야 판단할 수 있는 항목이고, 시작 시점의 결정에는 거의 영향을 주지 않습니다.