C++은 프로그래밍 언어로서 지난 수십 년간 소프트웨어 개발의 핵심 역할을 해왔습니다. 그러나 C++의 역사에 영광만 있지는 않았습니다. 도전과 기회, 위험이 공존하는 길이었죠. 저 역시 지난 97년, 학창 시절부터 C++을 배우기 시작했습니다. 직업 개발자가 된 다음 지금까지 써온 언어 역시 C++입니다. 어렵고 낡은 언어라며 기피 대상이던 C++ 이해도가 최근 컴퓨터 과학 기초의 중요성이 떠오르며 다시금 중요해졌다는 소식을 들으면 재밌기도 합니다. 그런 의미로 이 글에서는 C++의 과거와 현재, 그리고 미래를 살펴보려고 합니다. 그와 함께 왜 C++을 배우는 것이 여전히 중요한지도 이야기해 보겠습니다.
여러분은 서버를 어디에 배포하나요? 10년 사이, 수많은 IT 기업이 클라우드 전환을 마쳤습니다. 클라우드 환경이 가져다준 변화 중 하나는 바로 배포와 확장의 유연함입니다. 물론 과거에도 배포를 편리하게 개선하고자 하는 노력이 없었던 것은 아닙니다. 그러나 클라우드 기반 환경에서 발생하는 여러 니즈를 수용하며 유연성은 더 빠르게 발전했죠. 배포만이 아니라 다양한 접근에 대한 유연함, 트래픽 소화량 등 발전 경험 역시 축적되었습니다. 이에 따라 다른 디자인 패턴이 그래왔듯, 클라우드 디자인 사례들 역시 패턴화되었습니다. 그렇다면 클라우드 디자인 패턴이란 무엇이며, 어떻게 써야 하는지 한번 알아봅시다.
Rust. 최근 Reddit이나 HackerNews를 보면 아주 빈번하게 접할 수 있는 프로그래밍 언어입니다. 이 언어는 시스템 프로그래밍 언어로, 특히 C와 C++의 단점을 보완하고자 하는 목적에서 탄생했습니다. 더 나은 안정성과 성능, 특히 병렬 처리의 안전성을 핵심 목표로 개발되었죠. 따라서 C++을 대체할 수 있는 언어로 유명한데요. C++의 오랜 사용자 입장에서 Rust가 과연 어떤 메커니즘으로 이를 대체하고자 하는지 알아두면 좋은 시점이라고 생각했습니다. 과연 Rust는 어떤 특징이 있길래, 이렇게 인기를 얻고 있는 걸까요?