1. 새로운 프로그래밍 언어를 배워야 하는 이유
프로그래머, 개발자 라면 누구라도 읽어본 책 "실용주의 프로그래머"
프로그래머의 바이블 이라고 할 수 있는 이책에서는 매년 새로운 프로그래밍 언어를 배울 것을 권장하고 있습니다.
왜? 새로운 프로그래밍 언어를 배우면 좋을까요?
"실용주의 프로그래머"에서는 매년 새로운 프로그래밍 언어를 배우라고 권하는 이유가
단순히 언어 자체를 익히는 것을 넘어서,
새로운 언어를 배우면서 각기 다른 프로그래밍 패러다임과 사고방식을 경험하고, 자신의 사고의 폭을 넓힐 수 있기 때문이라고 설명합니다.
즉, 하나의 언어에 익숙해지면 그 언어의 패러다임과 관습에 익숙해져 버리기 쉽습니다.
반면에 새로운 언어를 접하면, 그 언어만의 독특한 개념, 구조, 추상화 기법을 배우게 되고,
이를 통해 문제를 바라보는 새로운 관점을 얻을 수 있습니다.
이러한 경험은 결국 여러분이 더 유연하고 창의적인 문제 해결 능력을 갖추게 만들어 주며, 다양한 상황에서 적합한 도구와 기법을 선택할 수 있는 밑거름이 됩니다.
창의적인 프로그래머를 위한 하나의 훈련 방법이라고 할 수 있습니다.
"실용주의 프로그래머" 외에 또 다른 책에도 이런 이야기가 있습니다.
"브루스 테이트의 세븐 랭귀지" 라는 책입니다.
이책에서는 7개 언어를 7주 동안 배우는 방법에 대해서 안내하는 책입니다.
매년 새로운 프로그래밍 언어를 배우는 것이든
7주만에 7개 언어를 배우는 방법이든지
새로운 프로그래밍 언어를 배우는 것은 프로그래머의 창의성을 높여주는 것만은 확실합니다.
많은 사람들이 많이 사용하는 인기있는 프로그래밍 언어보다
잘 사용하지 않지만 한번 배워보고 싶은 프로그래밍 언어를 배워보는것도 좋은 방법입니다.
2. 추천 프로그래밍 언어 3가지
제가 추천하는 프로그래밍 언어는 다음 3가지 입니다.
비교적 최근에 만들어진 프로그래밍 언어 이며, 모두 컴파일 방식의 프로그래밍 언어입니다.
Crystal, Julia, Nim
이 세가지 프로그래밍 언어에 대해서 간단하게 말씀드립니다.
1. Crystal
공식 홈페이지 : https://crystal-lang.org/
Crystal
Crystal is a general-purpose, object-oriented programming language. With syntax inspired by Ruby, it’s a compiled language with static type-checking. Types are resolved by an advanced type inference algorithm.
crystal-lang.org
Crystal은 Ruby와 유사한 문법을 가진 정적 타입 컴파일 언어입니다.
주요 특징은 다음과 같습니다.
- Ruby와 비슷한 간결한 문법
- 정적 타입 시스템과 타입 추론
- LLVM 기반 컴파일러로 높은 성능 제공
- 내장된 동시성 지원
- C 바인딩 용이성
2. Julia
공식 홈페이지 : https://julialang.org/
The Julia Programming Language
The Julia Programming Language Download Documentation Star
julialang.org
Julia는 고성능 수치 계산과 과학 컴퓨팅을 위해 설계된 동적 프로그래밍 언어입니다.
주요 특징은 다음과 같습니다.
- 높은 성능과 동적 타입 시스템
- 과학 및 수학 컴퓨팅에 최적화
- 멀티플 디스패치 지원
- 병렬 및 분산 컴퓨팅 기능
- C, Fortran, Python 등과의 쉬운 통합
3. Nim
공식 홈페이지 : https://nim-lang.org/
Nim Programming Language
The Nim programming language is a concise, fast programming language that compiles to C, C++ and JavaScript.
nim-lang.org
Nim은 효율성, 표현력, 우아함을 목표로 하는 정적 타입 컴파일 언어입니다.
주요 특징은 다음과 같습니다.
- Python과 유사한 읽기 쉬운 문법
- 강력한 메타 프로그래밍 기능
- C, C++, JavaScript로의 컴파일 지원
- 소프트 실시간 가비지 컬렉션
- 효율적인 메모리 사용과 빠른 실행 속도
다행이 이 3가지 프로그래밍 언어는 지금까지 꾸준히 업데이트가 되고 있습니다.