GIST 개발자의 밤 2023
목차
발표 자료 (Polyglot_Developer.pdf)
소개 #
안녕하세요, 저는 현재 GIST에서 컴퓨터 과학을 전공하고 있습니다. 하지만, 재학 중에 우리의 주요 전공과목에서는 프로그래밍 언어가 파이썬과 C에만 집중되어 있다는 점이 항상 아쉽게 느껴졌습니다. 때때로는 Rust, Golang, Zig 같은 모던 프로그래밍 언어가 등장하는 트렌드와 대비되는 듯 했습니다. 그래서, 오늘은 “다중 언어 개발자(Polyglot Developer)“의 개념을 소개하고, 프로그래밍 및 개발 세계에서 여러 언어에 능통한 것이 왜 중요하며, 그 이점에 대해 공유하고자 합니다.
Polyglot Developer 란? #
Polyglot Developer(다중언어 개발자)란, 말 그대로 여러 프로그래밍 언어에 능숙한 개발자를 말합니다. 단순히 문법을 아는 것뿐만 아니라 각 언어의 뉘앙스, 강점 및 약점을 이해하는 것을 포함합니다. 이를 통해 개발자는 프로젝트 요구사항에 따라 각 작업에 가장 적합한 도구를 선택할 수 있습니다.
Polyglot Developer의 장점 #
- 다양한 문제 해결 능력: 여러 언어를 이해함으로써 개발자는 다양한 관점에서 문제에 접근할 수 있으며, 이는 더욱 혁신적이고 효율적인 솔루션으로 이어질 수 있습니다.
- 적응성: 한 언어에서 두 언어로의 전환은 어려울 수 있지만, 네 언어에 능숙해지면 다섯 번째나 여섯 번째 언어를 배우는 것이 훨씬 쉬워집니다. 이러한 적응성은 언어에만 국한되지 않고 새로운 프레임워크와 기술에도 확장됩니다.
- 지속적인 관련성: 기술 산업은 끊임없이 진화하고 있습니다. 다중 언어 개발자가 되어 산업의 변화하는 요구사항에 빠르게 적응할 수 있도록 함으로써, 당신은 계속해서 관련성을 유지하고 수요가 있을 수 있습니다.
저의 새로운 언어 학습에 대한 접근 방식 #
저와 같은 경우에는 새로운 언어를 탐구하기로 결정할 때마다 특정 과정을 따릅니다:
- 기초 이해: 깊이 파고들기 전에, 해당 언어의 기본 문법과 구조를 잡아야 합니다. 그리고 가장 중요하게, 이 언어의 목적을 알아야 합니다.
- 약점 찾기: 모든 언어는 강점과 약점이 있습니다. 저는 새로운 언어의 약점을 식별하고 이를 어떻게 완화할 수 있는지 이해하려고 노력합니다.
- 비교 분석: 저는 새로운 언어를 파이썬과 자바스크립트 같은 이미 익숙한 언어와 비교하는 것을 좋아합니다. 이는 새로운 언어의 독특한 특징을 이해하는 데 도움이 됩니다.
- 실제 프로젝트: 실제로 해보면서 배우는 것을 믿습니다. 그래서 종종 새로운 언어로 작은 프로젝트나 도전을 시작합니다. 이는 언어를 더 잘 이해하는 데 도움이 될 뿐만 아니라 그 강점과 약점을 식별하는 데에도 도움이 됩니다.
예를 들어, Rust와 Golang을 탐험할 때는 각각의 메모리 안전 기능과 동시성 모델을 깊이 파고들었습니다. 그리고, 파이썬과 자바스크립트와 비교함으로써 그들이 제공하는 독특한 이점을 더 잘 이해할 수 있었습니다.
결론 #
Polyglot Developer가 되는 것은 단순히 도구상자에 도구를 추가하는 것이 아닙니다. 이는 프로그래밍 세계를 좀 더 종합적으로 이해하고 끊임없이 진화하는 기술에 대비하는 것을 의미합니다. 그러므로 여러분이 아직도 Polyglot Developer가 되어야 할지 고민하고 있다면, 도전해 보세요. 얻게 될 경험과 통찰은 그 노력의 가치가 있을 것입니다.
+) 각 언어를 어떻게 파고들고, 비교하고자 했는지는 해당 발표 자료에 첨부되어 있습니다