2025년 뜨는 기술 10가지, 지는 기술 10가지
컨텐츠 정보
- 조회 791
본문
밀물과 썰물처럼 진자는 흔들린다. 특히 프로그래밍 분야에서는 소프트웨어 제작을 위한 기술과 기법이 지속적으로 발전하면서 아이디어가 왔다가도 금세 사라진다.
어떤 프로그래밍 언어, 라이브러리, 플랫폼, 도구는 인기를 끌며 거부할 수 없는 존재가 되기도 한다. 이런 언어가 언급되면 기획 회의에 참석한 모든 사람이 테이블 위로 뛰어올라 환호성을 지른다. 바로 호감을 잃고 한숨을 쉬거나 멍한 표정을 짓는 사람도 있다. 모두가 신발만 쳐다보는 경우도 있다. 바로 일주일 전만 해도 엄청나게 뜨거웠을지 모르지만 그때는 그때고 지금은 지금이다.
기술 발전에 따라 많은 관심을 얻거나 그만큼 빨리 식은 트렌드 목록을 선별했다. 한 가지 접근 방식의 부상은 종종 다른 접근 방식의 몰락과 함께 진행되기 때문에 쌍으로 배열했다. 한 철학자는 “주어진 모든 것의 이면에는 반드시 잃는 것이 있다”라고 썼다. 음양의 법칙이다.
이 목록은 절대적인 것이 아니다. 전 세계가 한 가지 기술을 사랑한다고 해서 그 반대의 시대도 끝났다는 의미는 아니다. 또한 모두가 한쪽으로 몰려 앉아서 배를 전복시켜야 한다는 의미도 아니다. 유행이 지났다고 해서 아이디어의 가치가 사라지지도 않는다.
또한 어떤 개념이 유행한다고 해서 트렌드를 따르기 위해 코드 기반을 뜯어고치거나 기술 스택을 갈기갈기 찢어야 한다는 의미도 아니다. 햄릿에서 폴로니우스가 “무엇보다도 네 자신에게 진실하라”고 조언한 것처럼 말이다.
이 모든 것을 염두에 두고 떠오르는 프로그래밍 트렌드 10가지와 쇠퇴하는 프로그래밍 트렌드 10가지를 살펴보자.
뜨는 기술 : 송환
지는 기술 : 클라우드 비용
한때 클라우드는 많은 골칫거리를 해결할 수 있는 완벽한 솔루션처럼 보였다. 랙, 에어컨, 네트워크 등 모든 것을 다른 사람이 관리해 주었으니까 말이다. 신용카드 번호를 입력하기만 하면 1페니 단위로 책정된 기계 사용료 청구서를 받을 수 있었다. 이제 페니는 화폐도 아니지만, 클라우드 회사는 여전히 소수점 오른쪽 숫자를 사랑한다.
안타깝게도 CFO는 곧 각각의 티끌이 모여 태산 같은 비용이 된다는 사실을 알게 되었다. 아주 빠르게 말이다. 그리고 클라우드 비용이 급증하자 기업은 통제 방법을 찾기 시작했다.
이제 클라우드 비용에는 ‘송환‘이라는 유행어가 생겼고 많은 팀이 스프레드시트를 작성하면서 진지하게 고민하기 시작했다. 이 방법은 안정적이고 일관된 워크로드에 가장 적합하다. 업무량이 급증하거나 간헐적으로 실행되는 작업은 컴퓨터를 간헐적으로 가동할 수 있는 클라우드에 맡기는 것이 가장 좋다.
워크로드의 일부 또는 전부를 온프레미스 서버로 이전하는 기업은 막대한 비용을 절감하고 있다. 물론 골치 아픈 문제도 있지만 적어도 클라우드 요금은 통제할 수 있다.
뜨는 기술 : AI 파트너
지는 기술 : 페어 프로그래밍
프로그래머가 사용할 수 있는 AI 기반 도구가 수도 없이 많다. 깃허브 코파일럿, 젯브레인의 AI 어시스턴트, 인텔리코드 등은 가장 눈에 띄는 도구 중 일부에 불과하다. 그리고 모두 전문 모델이다. 또한 구글 제미나이, 챗GPT 같은 범용 대형 언어 모델에서도 매우 스마트한 답변을 얻을 수 있다. 혁신은 계속되고 있으며 이러한 언어 모델이 어디까지 발전할지 알 수 없을 정도다.
한계는 있다. 언어 모델에서 100개의 정답을 얻을 때마다 30~40개는 사소하거나 때로는 중대한 방식으로 틀린 답을 얻었다. 가장 최악이었던 것은 존재하지도 않고 앞으로도 존재하지 않을 API 호출을 아키텍처의 한계로 존재한다고 착각한 것이었다. 철자 오류인지 궁금해서 몇 시간 동안 일반 문서를 샅샅이 뒤지기도 했다.
인공지능의 등장 외에도 여러 가지 이유로 두 사람이 함께 프로그래밍하는 일은 점점 사라지고 있는 것 같다. 아마도 두 일정을 동기화해야 하는 번거로움 때문일 것이다. 원격 근무의 증가 때문일 수도 있다. 아니면 전형적인 내향인 프로그래머에게 너무 많은 사회성이 요구되기 때문일 수도 있다.
하지만 AI가 페어 프로그래밍처럼 완전히 급진적이고 교묘하게 전복적인 티셔츠를 알아차릴 수 있을까? 사내 소프트볼 게임에서 AI가 공을 칠 수 있을까? 인간 코딩 친구의 독특한 매력은 AI가 비동기식 워크플로와 원격 근무 문화를 지원한다면 문제가 되지 않을 수도 있다.
뜨는 기술 : 러스트
지는 기술 : C/C++
오랫동안 프로그래머는 가장 빠른 소프트웨어에 C 언어 또는 그 사촌인 C 를 사용했다. 이러한 언어는 여전히 투명성과 효율성의 모델이다. 컴파일러는 각 키 입력을 바람처럼 실행되는 간결한 기계 코드로 변환한다.
하지만 인간이 빠른 코드를 쉽게 작성할 수 있다는 것은 실수하기 쉽다는 뜻이기도 하다. 때로는 그 엄청나게 빠른 코드에 컴퓨터를 다운시킬 수 있는 결함이나 버그가 포함된다. 아무리 뛰어난 C 또는 C++ 프로그래머라 할지라도 뿌리 깊은 버그가 있는 소프트웨어를 만들 수 있으며, 이런 버그는 찾아내기는커녕 고치기도 어렵다. 이것이 바로 백악관의 코딩 천재들이 바이든 대통령에게 C 또는 C++ 사용에 대해 명시적으로 경고하라고 권한 이유일 것이다.
미국 백악관은 러스트 같은 메모리 안전 언어를 채택할 것을 제안했다. 러스트의 개발자는 프로그래머가 쓰레드 저글링, 동시성 코드를 작성할 때 무엇이 잘못될 수 있는지 주의 깊게 살펴봤다. 이들은 복잡한 데이터 구조의 여러 면을 제어하기 위해 쓰레드가 경쟁할 때 최악의 악성 버그를 방지하는 데이터 모델을 개발했다. 그런 다음 메모리 안전 모델을 따르는 프로그래머가 가장 위험하고 최악의 숨겨진 오류 모드를 피할 수 있도록 러스트에 적용했다.
그래서 지금 러스트는 뜨겁다. 프로그래머는 다른 러스트 개발자가 더 안전하고 안정적인 동시 코드를 더 빠르게 생성하는 것을 보고 있다. 그래서 수십 개의 쓰레드 사이에서 수십억 바이트를 저글링할 수 있는 소프트웨어를 만들기 위해 메모리 안전 차용 개념을 사용하는 가장 좋은 방법을 배우기 위해 추가 시간을 투자하고 있다. 더 나은 코드를 생산하고 있으며, 이것이 궁극적으로 인기의 원동력이다.
뜨는 기술 : 와즘
지는 기술 : 인터프리터
사람이 높은 수준의 코드를 작성하면 컴파일러가 이를 CPU에서 실행되는 기본 명령어로 변환한다. 그렇다면 이 컴파일은 언제 이루어져야 할까?
지난 수십 년 동안 사람이 읽을 수 있는 코드를 사용자의 컴퓨터로 전송하는 아이디어가 선호되어 왔다. 브라우저의 성능이 향상됨에 따라 프로그래머는 사용자의 컴퓨터에 직접 배포할 수 있는 자바스크립트를 만드는 데 점점 더 많은 시간을 할애했다. 한때는 일부 양식 제출을 테스트하는 용도로만 사용되었다. 오늘날 사람들은 전체 생산성 제품군을 작성하고 소스 코드를 배포한다.
지난 몇 년 동안 웹어셈블리 또는 줄여서 와즘(Wasm)으로 불리는 새롭고 간단한 언어가 주목을 받고 있다. 이제 개발자는 컴파일 버튼을 누르기만 하면 훨씬 더 작고 빠른 코드를 생성할 수 있다. 또 와즘은 CPU의 명령어 집합에 훨씬 더 가깝기 때문에 더 짧은 시간에 실행을 준비할 수 있다. 복잡한 최적화나 JIT 컴파일러 트릭을 사용할 필요가 없다.
또한 다른 언어(C++, 코볼, 파이썬, 러스트 등)를 와즘으로 쉽게 컴파일할 수 있어 브라우저에서 실행되는 소프트웨어를 만들 때 자바스크립트 이외의 다른 언어를 사용할 수 있다는 사실에 대한 만족도도 높다. 서버 측 팀도 마이크로서비스와 일부 매크로 서비스에 와즘을 도입하고 있다. 복잡하고 기능이 풍부한 코드를 쉽게 배포할 수 있는 방법이 되고 있다.
뜨는 기술 : CPU
지는 기술 : GPU
GPU가 유행이 지난 것이 아니라 너무 비싸다는 것이 문제다. 미국 야구 감독 요기 베라는 뉴욕의 한 유명 레스토랑에 대해 “너무 붐벼서 더 이상 아무도 가지 않는다”고 말한 적이 있다. 사람들이 자신의 워크로드를 벤치마킹하고 비용을 계산하는 것도 마찬가지다. GPU가 20배 더 빠르다고 해도, 가격이 30배 더 비싸다면 일반 구형 프로세서를 고수하는 것이 합리적이다. 최신 Arm 칩 중 상당수는 일부 머신러닝을 최대한 빠르게 실행하도록 설계되었다. 과학적인 결정이 아니라 경제적인 결정이다.
뜨는 기술 : 영지식 증명
지는 기술 : 디지털 서명
많은 이가 디지털 서명이 제공하는 보증을 포기하는 것이 아니라 영지식 증명이 더 많은 프라이버시와 더 복잡한 의미를 제공할 수 있다는 것을 인식하고 있다. 디지털 서명은 일부 비트가 변경되지 않았다고 주장하는 전부 아니면 전무의 명제이다. 영지식 증명은 데이터 자체를 공개하지 않고도 복잡한 데이터 관계에 대해 다른 사람들을 안심시킬 수 있다. 물론 수학적, 계산적으로 더 복잡하지만, 향후 계산 시간과 공간을 절약할 수 있다. 아비트럼(Arbitrum)이나 폴리곤(Polygon) 같은 최신 블록체인 중 일부는 이러한 장점을 활용해 거래 비용을 낮추고 있다.
뜨는 기술 : 신뢰할 수 있는 원장
지는 기술 : 튜링-완벽한 원장
복잡하고 혼란스러운 암호화폐의 세계에 너무 많은 것을 읽어내는 것은 위험하지만, 지난 몇 년 동안 비트코인의 가치는 이더리움보다 빠르게 성장해왔다. 첫 번째는 코인의 소유권을 주로 추적하는 비교적 간단한 시스템이다. 비트코인 프로토콜로 코인을 전송하는 것 이상을 할 수 있으며, 트랜잭션을 인코딩하는 데 사용되는 언어인 스크립트에 더 많은 옵코드를 추가하자는 이야기도 있지만, 몇 가지 추가 기능은 거의 사용되지 않다. 대부분의 에너지는 안정적인 원장을 유지하는 데 사용된다.
이더리움은 더 복잡하다. 이더리움 블록체인이 추적하는 디지털 계약은 튜링 완전성이라는 놀라운 엔지니어링의 업적을 달성할 수 있다. 프로그래머는 모든 알고리즘을 이더리움 샌드박스에서 실행할 수 있으며, 이는 계산을 신중하게 측정하고 무한 루프와 같은 버그를 방어한다.
몽상가들이 이더리움 프로토콜을 실행하는 다양한 체인에 정교한 소프트웨어 제국을 건설하는 것에 대해 이야기하는 동안, 현장의 개발자는 ‘온체인’ 작업량을 최소화하기 위해 노력하고 있다. 모든 거래에 이더리움이 필요하고 암호화폐 비용이 상승하면, 더 많은 워크로드를 ‘오프체인’으로 옮겨 일반적이고 오래된 컴퓨터에서 일반적이고 오래된 운영체제를 실행하는 것이 더 실용적이다.
해결 방법은 있다. 현재 이더리움 또는 이더리움과 유사한 프로토콜을 실행하는 수십 개의 체인이 있으며, 이들의 비용은 훨씬 저렴할 수 있다. 하지만 여전히 많은 프로그래머는 많은 작업에서 신뢰할 수 있는 원장만 있으면 충분하다고 생각한다. 두 시스템의 상대적인 비용은 일반적인 수요를 대략적으로 보여주는 지표다. 항상 과대 광고와 어리석은 꿈으로 인해 흐려지기는 해도, 여전히 사람들이 시스템에서 무엇을 필요로 하는지에 대한 척도가 될 수 있다.
뜨는 기술 : 그래프QL
지는 기술 : REST
REST가 죽은 것은 아니다. 단지 API로 더 많은 일을 하고 싶을 뿐이며 그래프QL이 이를 위한 방법일 뿐이다. 그래프QL은 REST와 마찬가지로 JSON으로 데이터를 반환한다. 그래프QL은 많은 REST 호출과 마찬가지로 HTTP POST로 시작한다. 다만 그래프QL 구문을 사용하면 몇 번의 키 입력만으로 매우 복잡한 쿼리를 지정할 수 있다. 따라서 프로그래머가 원하는 것을 더 간단하게 요청할 수 있으며, 약간 다른 API를 원할 때 수행해야 하는 서버 측 작업의 양을 줄일 수 있다.
뜨는 기술 : 정적 사이트 생성기
지는 기술 : 단일 페이지 앱
URL이 정적 텍스트와 이미지로 가득 찬 웹 페이지를 가리키던 시절을 기억하는가? 그런 다음 단일 페이지 웹 앱이 등장해 전체 페이지를 새로 고치지 않고도 콘텐츠를 동적으로 가져오는 영리한 자바스크립트로 모두 대체했다. 그런데 시계추가 다시 돌아가고 있고 모든 멋진 프로그래머는 정적 사이트 생성기를 만들고 있다. 마치 하이브리드와 같다. 모든 데이터를 하나의 파일에 넣은 다음 템플릿에 데이터를 고정하는 코드를 작성한다. 데이터 테이블의 각 행에 해당하는 각 정적 URL에 대해 하나의 HTML 파일이 생성된다.
많은 이가 이러한 정적 사이트가 매우 빠르다고 생각하며 실제로도 그렇다. 다만 워드프레스나 드루팔 같은 오래된 동적 시스템도 최신 데이터로 생성된 정적 페이지로 캐시를 가득 채우는, 거의 같은 방식으로 작동했다는 사실은 비밀로 하자.
뜨는 기술 : 데이터베이스 구성
지는 기술 : 소프트웨어 프로그래밍
오래 전 프로그래머는 다음 세기에는 프로그래밍이 어떻게 될지 모르지만 포트란이라고 불릴 것이라는 농담을 하곤 했다. 오늘날에도 여전히 데이터베이스를 구축하고 있지만, 우리가 생각하는 ‘데이터베이스’는 이제 몇 배 더 정교하고 강력해졌다. 기성 데이터베이스는 일관성과 속도 사이에서 유연한 절충안을 제공하면서 여러 대륙에 걸쳐 스스로 동기화된다. 서버리스 혁명의 대부분은 이제 많은 클라우드 데이터 저장소가 매우 강력해져서 꽤 멋진 웹 앱을 구축하기 위해 몇 개의 if-then-else 절만 작성하면 된다는 사실을 깨닫는 데 기반을 두고 있다.
dl-itworldkorea@foundryco.com
관련자료
-
링크
-
이전
-
다음






