메뉴

#프로그래밍 언어

HN
Hacker News • 1일 전
IMP 3

브레인퍽(Brainfuck)으로 레이트레이서를 작성해보았다

한 개발자가 8개 명령어만 있는 난해한 프로그래밍 언어인 브레인퍽(Brainfuck)으로 실제 동작하는 레이트레이서를 처음 원칙(first principles)부터 구현한 도전기입니다. 고정소수점 Q16.16 형식으로 부동소수점을 흉내 내고, 재귀 코드를 반복형으로 변환하는 등 극도로 제한된 언어의 한계를 극복한 과정을 다룹니다. 튜링 완전한 언어라면 이론상 무엇이든 만들 수 있음을 보여주는 재미있는 사례입니다.

브레인퍽 레이트레이서 난해한 프로그래밍
HN
Hacker News • 8일 전
IMP 7

Bend – 증명으로 AI 실수를 차단하는 CPU·GPU 프로그래밍 언어

Bend는 C 수준의 속도로 네이티브 코드를 생성하고 CUDA 병렬화를 지원하며, Lean·Rocq 스타일의 증명 검사기를 통해 AI가 작성한 코드가 '법칙(LAWS.bend)'을 위반하지 않음을 수학적으로 보장하는 프로그래밍 언어입니다. AI 에이전트가 매 변경마다 1초 이내에 검증할 수 있어, 코드를 읽지 않고도 AI 생성 코드를 신뢰할 수 있게 하는 것이 핵심입니다.

프로그래밍 언어 형식 검증 AI 코딩
HN
Hacker News • 16일 전
IMP 7

async/await 설계 공간 탐구

이 글은 async/await가 언어마다 얼마나 다르게 동작하는지 체계적으로 분석한 논문을 소개합니다. 동일한 비동기 프로그램이 7개 현대 언어 런타임에서 4가지 다른 결과를 낼 정도로 의미론이 다르며, 저자들은 '열성(Eagerness)', '작업 범위(Extent)', '취소(Cancellation)' 등 9가 설계 차원을 도출해 비교합니다. 비동기 코드를 작성하는 개발자에게 자신이 쓰는 언어의 정확한 비동기 의미론을 이해하는 것이 왜 중요한지 보여주는 연구입니다.

비동기 프로그래밍 async/await 프로그래밍 언어
HN
Hacker News • 21일 전
IMP 6

Rust의 vtable 시각화: dyn Trait의 메모리 동작 원리

Rust 입문자의 실험을 통해 제네릭(정적 디스패치)과 dyn Trait(동적 디스패치)이 메모리에서 어떻게 동작하는지 설명하는 글입니다. C++의 가상 함수와 CRTP와 비교하며, Rust가 이들과 어떤 철학적 차이를 갖는지 다룹니다. vtable 구조를 직접 확인하고 싶은 개발자에게 유용한 심층 분석 자료입니다.

러스트 메모리 구조 다형성
HN
Hacker News • 40일 전
IMP 5

C 대체 언어에 반대하는 논거

C3 언어 개발자가 C를 대체하는 새 언어를 만드는 것에 반대 논거를 정리한 글입니다. 풍부한 C 툴체인 생태계, 신생 언어의 불확실성, 숙련 개발자 부족, C ABI 상호운용성 문제 등이 C 대체 언어의 현실적인 장벽입니다. 또한 '더 나은 문법'이나 '더 안전함' 같은 장점이 실제로는 과장되기 쉽다고 지적합니다.

프로그래밍 언어 C 언어 컴파일러
HN
Hacker News • 46일 전
IMP 7

코딩 에이전트에 가장 적합한 프로그래밍 언어는?

최근 동적 타입 언어나 간결한 언어가 정적 타입 언어보다 LLM 토큰을 덜 소모해 효율적이라는 주장이 화제입니다. 하지만 기존 벤치마크는 단순한 문제에만 국한되거나 테스트 설계에 오류가 있어 신뢰하기 어렵다는 비판이 제기됩니다. 실제 복잡한 작업에서는 이러한 토크 효율성의 이점이 희석될 수 있으며, 평가 방식의 개선이 필요합니다.

코딩 에이전트 LLM 프로그래밍 언어
HN
Hacker News • 47일 전
IMP 7

충분히 재미있지 않기 때문: 프로그래밍 언어가 실패하는 이유

프로그래밍 언어의 성패는 순수한 기술적 우수성보다 사회적, 경제적 요인에 의해 결정됩니다. 개발자에게 프로그래밍은 직업, 예술, 소명의 세 가지 역할을 동시에 수행해야 하며, 언어가 이 세 가지 중 어느 하나라도 불필요하게 어렵게 만든다면 대체 가능한 순간 도태됩니다.

프로그래밍 언어 개발자 문화 소프트웨어 엔지니어링
HN
Hacker News • 74일 전
IMP 7

자카드: AI가 작성하고 사람이 검토하는 코드를 위한 프로그래밍 언어

자카드(Jacquard)는 AI가 작성하고 사람이 검토하는 코드를 안전하게 실행, 검토, 시뮬레이션하기 위해 개발된 연구용 프로그래밍 언어입니다. 이 언어는 코드의 부작용(Effect)과 불확실성을 언어 수준에서 명시하여, 개발자가 전체 코드를 읽지 않고도 AI 에이전트의 행동 양상과 안정성을 파악할 수 있게 돕는 것이 핵심입니다. 향후 코드 생성을 AI가 주도하는 환경에서 인간 검토자가 직면할 신뢰 문제를 해결하기 위한 혁신적인 접근법으로 평가받습니다.

프로그래밍 언어 AI 코드 생성 소프트웨어 테스트
HN
Hacker News • 126일 전
IMP 7

LLM 시대, '지루한' 프로그래밍 언어를 써야 하는 이유

이 글은 코딩 에이전트가 더 안정적인 결과를 내기 위해서는 파편화가 덜하고 일관된 '지루한' 기술 스택을 선택해야 한다고 강조합니다. 자바스크립트나 파이썬처럼 생태계가 복잡한 언어는 LLM이 학습한 데이터마저 다양하게 파편화되어, 모델이 구식 패턴이나 엉뚱한 코드를 생성할 확률(추론의 도박)을 높입니다. 반면 Go나 Ruby on Rails처럼 강력한 컨벤션(규칙)을 가진 언어는 일관된 학습 데이터를 바탕으로 에이전트가 훨씬 더 예측 가능하고 신뢰도 높은 코드를 작성하게 만듭니다.

코딩 에이전트 프로그래밍 언어 LLM
HN
Hacker News • 137일 전
IMP 9

AI가 코드를 짜준다면, 굳이 파이썬 써야 하나?

AI 코딩 에이전트의 비약적 발전으로 파이썬이나 JS 같은 쉬운 언어보다 컴파일러 피드백 루프가 확실한 Rust, Go 같은 시스템 언어가 더 유리해졌습니다. 실제로 마이크로소프트의 TypeScript 7.0(Go 이식)부터 Ladybird 브라우저 엔진의 Rust 이식까지, 단 몇 주 만에 수만 줄의 프로덕션 코드가 재작성되며 패러다임 전환이 현실화되고 있습니다.

AI 코딩 Rust 프로그래밍 언어
HN
Hacker News • 167일 전
IMP 6

고급 언어처럼 쓰는 Rust: 고통 20%로 80%의 혜택 누리기

저자는 완벽한 프로그래밍 언어를 찾던 중 Rust의 강력한 타입 시스템과 성능에 주목합니다. 그러나 가파른 학습 곡선과 낮은 생산성이라는 단점을 극복하기 위해, Rust를 C#이나 TypeScript 같은 고급 언어처럼 다루는 접근법을 제안합니다. 이를 통해 약간의 성능 저하(10~20%)만 감수하면 Rust가 가진 장점의 80%를 얻으면서도 고질적인 개발자 경험의 어려움을 20% 수준으로 크게 줄일 수 있다고 설명합니다.

프로그래밍 언어 Rust 생산성