검색 결과
"programming" · 111개 기사 · Hacker News
Zig Software Foundation에 추가로 40만 달러 기부 약정
Pledging another $400k to the Zig software foundation
Zig Software Foundation에 40만 달러를 추가 기부하겠다는 발표. 오픈소스 언어 생태계 지원이 이어지고 있음.
Nvidia, Rust 네이티브 GPU 프로그래밍 발표
Nvidia announces native GPU programming in Rust
Nvidia가 Rust로 GPU 커널을 작성할 수 있는 CUDA Rust 지원을 발표. 안전한 고수준 개발과 CUDA 생태계 통합을 위한 두 가지 개발 경로 제공.
됐고, 그래도 만들어라
Fuck it, make it anyway
생성형 AI가 프로그래밍과 창작의 가치를 떨어뜨린다는 불안 속에서도 즐거움과 학습을 위해 직접 만드는 일을 계속하겠다는 개발자의 에세이. 생산성 경쟁보다 자신이 원하는 방식으로 창작하는 과정의 의미를 강조.
Bend — 증명으로 AI 오류를 차단하고 CPU와 GPU에서 실행되는 언어
Bend – A language that blocks AI mistakes via proof, on CPU and GPU
Bend는 증명 기반 검증으로 AI가 생성한 프로그램의 오류를 방지하도록 설계된 프로그래밍 언어. CPU와 GPU 양쪽에서 실행되는 병렬 컴퓨팅을 지원.
그래, 그리고
Yes, and
소프트웨어 개발에서 기술과 접근법을 양자택일하기보다 필요에 따라 함께 활용하는 태도를 제안. 대립적 기술 담론을 넘어 실용적인 선택과 조합을 강조.
무작위 섬을 기하학과 CUDA 프로그래밍으로 위치 추적하기
Geolocating a random island using geometry and CUDA programming
기하학적 단서와 CUDA 병렬 연산을 이용해 정체불명의 섬 위치를 추적한 OSINT 실험. 위성사진과 지도 단서를 조합해 후보를 좁혀가는 과정을 다룸.
"코드가 결코 어려운 부분이 아니었다"는 모든 프로그래머에 대한 모욕이다
"Code was never the hard part" is an insult to all programmers
코딩 자체를 문제의 핵심이 아니라고 보는 주장에 반박하는 글. 프로그래밍의 복잡성과 장인성을 과소평가하지 말아야 한다는 논지.
Rust에서 Zig로의 재작성 진행 상황
How Our Rust-to-Zig Rewrite Is Going
Rust 기반 코드를 Zig로 다시 쓰는 작업의 진행 경과를 공유함. 언어 전환 과정에서의 실무적 이슈와 학습한 점을 정리함.
Music Theory for Programmers
Music Theory for Programmers
프로그래머 관점에서 음악 이론의 핵심 개념을 설명한 글. 코드, 스케일, 화음 같은 요소를 소프트웨어 사고방식으로 풀어냄.
C로 만든 현대적인 웹 앱
A Modern Web App in C
C 언어로 현대적인 웹 애플리케이션을 구현하는 과정을 소개함. 웹 서버와 요청 처리 등 앱의 주요 구성 요소를 C로 구축한 사례를 다룸.
Chicken Scheme 6.0
Chicken Scheme 6.0
Chicken Scheme 6.0 릴리스 노트 공개. Scheme 구현체의 새 버전과 변경 사항을 정리.
작지만 유용한 프로그래밍 요령
Small programming tricks
사소해 보이는 프로그래밍 기법이 코드 작성 속도와 유지보수성에 미치는 영향 정리. 반복 작업을 줄이고 개발 흐름을 개선하는 실용적 습관 소개.
Elm 1.0으로 가는 길
Road to Elm 1.0
Elm 1.0을 향한 진행 상황을 정리한 글. 빌드 속도 개선과 개발 경험 향상이 핵심 주제.
Async/Await 설계 공간 탐색
A Design Space Exploration of Async/Await
Python, Rust, JavaScript, C#, Swift 등에서 Async/Await의 실행 의미가 달라지는 9개 설계 차원을 분석. 작업 시작 방식·수명·예외 전파·취소 동작의 차이를 형식 의미론으로 설명.
컴파일러와 언어 설계 입문 (2021)
Introduction to Compilers and Language Design (2021)
컴파일러 구조와 프로그래밍 언어 설계의 기본 개념을 소개. 파싱, AST, 타입 시스템 등 핵심 주제를 단계적으로 설명함.
괄호 없이 함수를 호출하는 또 다른 방법
Yet another way to invoke functions without parentheses
제목과 URL만으로는 글의 구체적인 내용과 사용 언어를 확인하기 어려움. 함수 호출 문법을 변형해 괄호 없이 호출하는 방법을 다룬 글로 보임.
좋아, 내 텍스트 에디터를 직접 만들겠다
Fine, I'll build my own text editor
기존 텍스트 에디터에 만족하지 못한 개발자가 직접 에디터를 만들기로 한 경험담. 구현 방식과 설계 선택을 중심으로 다룸.
Julia 1.13 주요 변경 사항
Julia 1.13 highlights
Julia 1.13의 주요 성능 및 기능 개선 사항 소개. 이미지 객체를 마킹 단계에서 제외해 대형 패키지를 불러온 환경의 전체 가비지 컬렉션 속도 개선.
LLM 시대의 프로그래밍 학습
Learning Programming in an Age of LLMs
LLM이 보편화된 환경에서 프로그래밍을 배우는 방식과 기초 역량의 의미를 고찰. AI에 대한 유보적 시각을 바탕으로 학습 과정에서 직접 사고하고 코드를 이해하는 경험을 논의.
데이터베이스 프로그래밍을 다시 생각하기
Rethinking Database Programming
데이터베이스 프로그래밍의 기존 접근을 재검토하는 기술 글. 애플리케이션과 데이터 계층의 경계를 다시 설계하는 방향을 제안.
현대적 MUD로 아이에게 코딩을 가르치기
Teaching my kid to code with a modern MUD
현대식 MUD 환경을 활용해 아동에게 프로그래밍을 가르치는 경험담. 텍스트 기반 상호작용을 통해 학습 진입장벽을 낮추는 접근을 다룸.
폴더 프로그래밍 언어
The Folders Programming Language
폴더와 파일 시스템 구조를 계산 규칙으로 사용하는 실험적 프로그래밍 언어를 소개함. 디렉터리 조작과 파일 배치로 프로그램의 동작을 표현하는 에솔랭임.
Donald E. Knuth의 The Art of Computer Programming
The Art of Computer Programming by Donald E. Knuth
도널드 E. 커누스의 대표 저서 The Art of Computer Programming을 다룸. 알고리즘과 프로그래밍 이론의 고전적 참고서로서 위상을 다시 보여줌.
Tcl/Tk 9.1
Tcl/Tk 9.1
Tcl/Tk 9.1이 공개됨. Tcl 스크립팅 언어와 Tk GUI 툴킷의 기능 및 호환성을 개선한 최신 버전.
Nix가 내 디버거의 절반을 작성했다
Nix wrote half of my debugger
Nix를 활용해 디버거 구현의 상당 부분을 작성한 경험을 소개함. Nix의 구성 방식과 디버깅 도구 개발에서 맡은 역할을 살펴봄.
Mojo 1.0
Mojo 1.0
Modular이 Mojo 1.0을 공개함. AI 및 고성능 컴퓨팅용 언어의 안정화와 생태계 확장을 위한 이정표.
경쟁 프로그래머 핸드북 (2018)
Competitive Programmer's Handbook (2018) [pdf]
경쟁 프로그래밍에 필요한 알고리즘과 자료구조, 문제 해결 기법을 체계적으로 정리한 핸드북. PDF로 제공.
Logo 프로그래밍 언어
Logo Programming Language
Logo는 학습을 목적으로 설계된 Lisp 계열 프로그래밍 언어. 대화형 실행과 모듈성, 확장성, 유연한 자료형을 통해 작은 프로시저를 조합하며 프로그래밍 개념을 익히도록 구성.
Fortran 탄생 70주년 기념
Celebrating 70 Years of Fortran
Fortran 언어의 탄생 70주년을 기념하며 언어의 역사와 현재 생태계를 조명함.
Rust의 Never Type 안정화
Stabilizing Rust's Never Type
Rust의 never type인 `!`를 안정화하기 위한 설계와 언어 호환성 문제를 다룸.
Forth
Forth
xkcd의 Forth 주제 만화. 스택 기반 프로그래밍 언어의 특성을 유머로 풀어냄.
취미로 즐기는 프로그래밍
Recreational Programming
일이나 수익이 아닌 호기심과 즐거움을 위해 코드를 만드는 활동을 소개. 저부담 탐구와 창작이 프로그래밍의 직업적 소진을 줄이고 기술적 직관을 키울 수 있다고 설명.
Apple Neural Engine: 아키텍처, 프로그래밍, 성능
Apple Neural Engine: Architecture, Programming, and Performance
Apple Neural Engine의 구조, 프로그래밍 방식, 성능 특성을 다룬 기술 글. 온디바이스 AI 가속을 위한 하드웨어·소프트웨어 스택 분석이 핵심.
Rust 개발자가 경험한 Zig
What Zig felt like, coming from Rust
Rust로 구현했던 JSONPath 라이브러리를 Zig로 재구현하며 두 언어의 개발 경험을 비교. Zig는 단순성과 성능이 강점이지만 수동 메모리 관리, 미성숙한 생태계, 부족한 IDE 지원이 부담으로 지적됨.
Exapunks (2018)
Exapunks (2018)
Zachtronics의 프로그래밍 퍼즐 게임 Exapunks(2018) 소개. 해킹과 코드 작성 중심의 레트로 SF 테마 게임.
Bespoke: 부탁할 때 ‘please’라고 말하는 사람들을 위한 프로그래밍 언어
Bespoke: A programming language for people who say please
정중한 자연어 표현과 문장부호를 문법으로 사용하는 풍자적 정적 타입 프로그래밍 언어 Bespoke를 소개. 변수 선언·제어 흐름·함수 호출·오류 처리까지 예절 중심의 장황한 구문으로 설계.
Show HN: Wyzer Programming Language
Show HN: Wyzer Programming Language
Incremental – 증분 계산을 위한 라이브러리
Incremental – A library for incremental computations
증분 계산용 라이브러리 Incremental을 소개하는 글. 입력 변화가 있을 때 필요한 부분만 다시 계산해 효율을 높이는 접근.
Thinking in Python
Thinking in Python
Python을 사고방식 중심으로 설명하는 학습 자료. 언어 문법보다 문제 해결과 코드 작성 습관에 초점을 둔 콘텐츠.
병렬 프로그래밍의 선
The Zen of Parallel Programming
병렬 프로그래밍의 원칙과 설계 감각을 다룬 글. 동시성 처리와 작업 분할의 기본기를 정리한 내용.
그래픽스 프로그래머가 되기 위해 무엇을 배워야 하는가
What to learn to be a graphics programmer
그래픽스 프로그래밍 입문에 필요한 핵심 학습 주제를 정리한 글. 수학, 렌더링 파이프라인, 셰이더, GPU 최적화가 주요 축으로 보임.
Structure and Interpretation of Computer Programs 영상 강의 (1986)
Structure and Interpretation of Computer Programs Video Lectures (1986)
MIT의 SICP 영상 강의 자료를 모은 페이지. 컴퓨터 과학 기초와 함수형 프로그래밍 학습용 아카이브로 활용 가능함.
Rhombus Language 1.0
Rhombus Language 1.0
Racket 계열의 Rhombus Language 1.0이 공개됨. 언어 설계와 생태계 확장을 겨냥한 정식 릴리스.
The Rust on ESP Book
The Rust on ESP Book
Espressif의 ESP 계열 칩에서 Rust를 사용하는 방법을 다룬 공식 문서. 임베디드 개발자를 위한 학습 자료와 예제가 제공됨.
리습으로 가는 길: 어떤 Lisp
A Road to Lisp: Which Lisp
Lisp를 시작할 때 어떤 계열을 선택할지 정리한 글. 입문 경로와 각 Lisp 방언의 차이를 비교한다.
WangNet – 1.8MB, 의존성 없이 11개 언어로 Numberwang 판정
WangNet – 1.8 MB, zero-dependency Numberwang adjudication in 11 languages
WangNet이 1.8MB 크기와 외부 의존성 없는 구성으로 Numberwang 판정 기능을 제공. 11개 프로그래밍 언어로 구현된 유머성 소프트웨어 프로젝트.
안녕, 그리고 모든 Bikeshed에 감사
Goodbye, and Thanks for All the Bikesheds
오랜 기간 이어진 기술 토론과 사소한 논쟁 문화를 되짚는 회고성 글. 개발 협업의 관성과 소모를 풍자적으로 다룬다.
경험상 프로그래머들은 "reduce"를 좋아하지 않는다
Anecdotally, programmers dislike "reduce"
프로그래머들이 배열 집계 함수 reduce를 기피하는 경향과 그 원인을 고찰. 가독성과 유지보수 측면에서 반복문이나 다른 배열 연산을 선호하는 사례를 다룸.
프로그래밍은 특별하지 않다
Programming Isn't Special
프로그래밍을 다른 전문 업무와 본질적으로 구별되는 특별한 활동으로 보는 관점을 비판. 소프트웨어 개발 역시 일반적인 문제 해결과 협업의 맥락에서 이해해야 한다고 주장.
Modern OpenGL 학습을 위한 방대한 Learn OpenGL 튜토리얼
Learn OpenGL, extensive tutorial resource for learning Modern OpenGL
Modern OpenGL 학습용 튜토리얼 리소스가 소개됐다. 그래픽스 입문과 실습에 필요한 핵심 개념을 폭넓게 다룬다.
if는 위로, for는 아래로: 관용구의 대수학과 한계
Push ifs up and fors down: The idiom, its algebra, and its limits
조건문을 바깥쪽으로 끌어올리고 반복문을 안쪽으로 밀어 넣는 프로그램 변환 원리를 대수적으로 분석. 최적화가 성립하는 조건과 적용 한계를 설명.
10 REM"_(C2SLFF4
10 REM"_(C2SLFF4
BASIC의 REM 주석 문구를 둘러싼 미스터리를 파고드는 글. 오래된 코드와 문법의 의미를 해석하는 방식으로 전개됨.
Rust 프로그래머를 위한 C
C for Rust programmers
Rust 프로그래머 관점에서 C의 문자열, 정수형, 오류 처리, 포인터 등 주요 차이와 주의점을 정리함. C에는 Rust의 참조·차용 검사와 강제 오류 처리가 없어 프로그래머가 메모리와 오류를 직접 관리해야 함.
Zig의 Io.Threaded는 괜찮다
Zig’s Io.Threaded is neat
Zig의 Io.Threaded를 활용한 I/O 처리 방식이 간결하고 실용적이라는 기술 글. 스레드 기반 I/O 구성의 장점과 구현 감각을 정리함.
Common Lisp가 지금 최고의 프로그래밍 언어인 이유
Why Common Lisp is now the best programming language
Common Lisp의 현대적 활용 가치와 다른 프로그래밍 언어 대비 강점을 분석. 언어의 유연성과 개발 생산성을 중심으로 평가.
Everyone says assembly is untyped—everyone is wrong
Everyone says assembly is untyped—everyone is wrong
Odin의 inline assembly 설계를 통해 어셈블리도 완전히 무타입이 아니라는 주장을 제시함. 타입 정보와 제약을 통해 더 안전한 어셈블리 인터페이스를 만들 수 있다는 논점의 글.
Linux에서 Epoll vs. io_uring
Epoll vs. io_uring in Linux
Linux의 두 I/O 모델 epoll과 io_uring을 비교한 글. 이벤트 기반 처리와 최신 비동기 I/O 접근의 차이를 설명함.
Λ Snap – 어린이와 성인의 CS 학습을 위한 친근한 프로그래밍 언어
Λ Snap – An inviting programming language for kids and adults for CS study
어린이와 성인이 컴퓨터과학 개념을 학습할 수 있도록 설계된 접근성 높은 프로그래밍 언어. 교육용 프로그래밍과 개념 이해에 초점.
Odin 프로그래밍 언어 이해하기
Understanding the Odin programming language
Odin 언어의 설계와 사용법을 정리한 입문 자료가 공개됨. 시스템 프로그래밍을 겨냥한 비교적 새로운 언어의 특성과 문법을 다룸.
ACM People – Russ Cox
People of ACM – Russ Cox
ACM이 Russ Cox의 경력과 기여를 조명하는 인물 소개를 게재. 소프트웨어 생태계와 개발자 도구 분야의 영향력을 다룸.
Lisp 100줄로 만든 에이전트
An agent in 100 lines of Lisp
Lisp 100줄로 구현한 에이전트 소개. 최소한의 코드로 에이전트 동작 구조를 보여주는 예시.
The Garbage Collection Handbook: 자동 메모리 관리의 예술 2판(2023)
The Garbage Collection Handbook: The Art of Automatic Memory Management (2nd Ed) (2023)
가비지 컬렉션과 자동 메모리 관리 전반을 다룬 실무형 참고서. 2023년 2판으로 개정돼 현대 GC 기법을 정리함.
Show HN: Huzzah – AI로 코딩하는 새로운 접근
Show HN: Huzzah – a novel approach to coding with AI
AI를 활용한 코딩 방식 Huzzah를 소개하는 Show HN 글. 기존 개발 워크플로를 바꾸는 새로운 접근을 제안함.
Racket 입문
A Friendly Introduction to Racket
Racket 언어를 처음 접하는 독자를 위한 입문 글. Lisp 계열 문법과 함수형 프로그래밍의 기본 개념을 친절하게 설명함.
Paged Out #9 [PDF
Paged Out #9 [pdf]
] 프로그래밍과 해킹 주제를 다루는 Paged Out 잡지의 9호 PDF. 짧은 기술 글과 실무형 에세이를 모은 아카이브 성격의 자료.
프로그래머는 명상을 시작해야 한다
Programmers need to start meditating
프로그래머의 과도한 인지 소모와 스트레스를 줄이기 위해 명상이 필요하다는 주장임. 집중력과 판단력을 높이는 일상적 실천으로 명상을 권고함.
Sega 32X에서의 Linux. 하드웨어 동기화 프리미티브가 꼭 필요한 건 아니니까?
Linux on the Sega 32X. Who needs hardware synchronization primitives anyway?
Sega 32X 같은 제한된 하드웨어에서 Linux를 구동한 실험을 다룸. 전통적인 동기화 프리미티브 없이도 시스템을 맞춰가는 저수준 이식 사례를 보여줌.
Racket v9.3
Racket v9.3
Racket 언어의 v9.3 릴리스가 발표됨. 언어 개선과 버그 수정이 포함된 정기 업데이트 소식.
AI는 프로그래밍을 더 쉽게 만든 것이 아니라 다른 방식으로 더 어렵게 만들었다
AI makes programming differently difficult
AI가 코딩의 진입 장벽을 낮춘 대신, 검증·디버깅·설계 판단의 난도를 높였다는 분석. 생산성 향상과 별개로 개발자의 책임 범위가 더 복잡해졌다는 시각.
10년 만에 프로그래밍을 스스로 배우는 법 (1998)
Teach yourself programming in ten years (1998)
프로그래밍 학습은 단기 속성보다 장기적 축적과 반복 실습이 핵심이라는 글. 10년 단위의 꾸준한 학습을 강조함.
프로그래머를 위한 Modern Object Pascal 입문
Modern Object Pascal Introduction for Programmers
기존 프로그래머를 대상으로 Modern Object Pascal의 문법과 주요 언어 기능을 소개. 객체 지향 개발과 실용적인 코드 작성 방식 중심으로 구성.
C 프로그래머들, 가독성에 또다시 범죄를 저지르다
C programmers commit fresh crimes against readability
C 프로그래밍의 가독성을 해치는 새 관행을 풍자한 오프비트 기사. The Register의 유머성 기사로, 코드 가독성 논쟁을 다룸.
live runtime를 갖춘 프로그래밍 에이전트 Autolith
Autolith: A programming agent with a live runtime
실행 중인 런타임을 직접 다루는 프로그래밍 에이전트 Autolith 소개. 코드 생성뿐 아니라 동적 상태와 상호작용하는 워크플로를 내세움.
ZX 스펙트럼용 데모신 인트로 제작하기
Writing a Demoscene Intro for the ZX Spectrum
ZX Spectrum에서 실행되는 데모신 인트로를 제작하는 과정을 소개함. 제한된 메모리와 하드웨어 성능에 맞춰 그래픽·음향 효과를 구현하는 레트로 프로그래밍 사례임.
Smalltalk의 초기 역사 (1993)
The Early History of Smalltalk (1993)
Alan Kay가 1960년대의 객체지향 아이디어부터 Xerox PARC의 Smalltalk-71·72·76·80 개발까지 초기 Smalltalk 역사를 정리. Dynabook, 그래픽 인터페이스, 객체 기반 컴퓨팅과 아동용 프로그래밍 환경의 발전 과정도 다룸.
`Foldl`과 `Foldr`의 차이
Differences Between `Foldl` and `Foldr`
Haskell의 `foldl`과 `foldr`는 목록을 각각 반대 방향으로 순회하는 것이 아니라 연산을 왼쪽 또는 오른쪽으로 결합함. 결합 방식과 지연 평가 여부에 따라 메모리 사용량, 무한 목록 처리, 재귀 동작이 달라짐.
서평: 병렬 프로그래밍은 어려운가, 그렇다면 어떻게 해야 하는가?
Book review: Is parallel programming hard, and, if so, what can you do about it?
Paul E. McKenney의 무료 병렬 프로그래밍 교재를 동시성·메모리 모델·lock-free 알고리즘을 폭넓게 다루는 실전 자료로 평가. 방대한 내용과 과도한 내부 링크 등 전자책 편집상의 단점도 지적.
Rhombus 1.1 공개
Rhombus 1.1 is now available
Racket 계열 언어 Rhombus의 1.1 버전이 출시됨. 기능과 도구 체계가 업데이트된 새 릴리스임.
Valen의 메모리 안전성: 새로운 종류의 빌림 검사
Valen's Memory Safety: A New Kind of Borrow Checking
Valen은 여러 가변 참조가 하나의 객체를 가리킬 수 있도록 그룹 빌림 기반의 빌림 검사 방식을 제안함. 함수 시그니처로 참조 무효화 조건을 전달하고, 타입 안정적인 데이터 내부 참조는 유지할 수 있음.
Show HN: UEFI 머신에서 부팅되는 BASIC interpreter를 만들었다
Show HN: I wrote a BASIC interpreter that boots on UEFI machines
UEFI 환경에서 바로 부팅되는 BASIC 인터프리터를 제작한 사례를 소개함. 레거시 언어와 펌웨어 레벨 실행의 결합이 핵심.
Octane – React’s programming model, compiled
Octane – React’s programming model, compiled
Solod: Go는 더 나은 C가 될 수 있다
Solod: Go can be a better C
Go를 C의 대안으로 보는 주장과 설계 관점을 다룬 글. 단순성, 안전성, 생산성을 강조하는 비교 내용.
Frame – Assembly로 만든 Linux X server
Frame – Linux X server in Assembly
Linux X server를 Assembly로 구현한 Frame 프로젝트를 소개함. 저수준 시스템 프로그래밍과 성능 최적화의 극단적 사례로 볼 수 있음.
RacketCon, 토요일 개최
RacketCon Is Saturday
Racket 프로그래밍 언어 커뮤니티의 연례 행사 RacketCon이 토요일 개최 예정. Racket 생태계의 기술 발표와 커뮤니티 교류를 중심으로 진행.
90년대에 아버지에게서 배운 AI 코딩 이야기
What my dad taught me about AI coding in the 90s
90년대 개발 경험을 바탕으로 AI 코딩을 바라보는 시각을 정리한 회고형 글. 도구의 변화보다 문제 정의와 검증의 중요성이 강조됨.
90년대의 SIMD: Intel Pentium MMX 프로그래밍
SIMD in the 90s: Programming Intel's Pentium MMX
Intel Pentium MMX에서 SIMD를 활용하던 90년대 프로그래밍 기법을 다룸. 초기 벡터 연산 최적화와 하드웨어 제약을 설명.
규칙을 우회하려 할 때 그 규칙의 이유를 이해하기
Understanding the rationale behind a rule when trying to circumvent it
규칙을 피하려는 상황에서 그 규칙이 왜 존재하는지 먼저 파악해야 한다는 취지의 글. 우회 시도보다 설계 의도와 제약의 배경을 이해하는 접근을 강조.
내 세상을 바꾼 열 줄의 코드
Ten lines of code that changed my world
저자가 직접 작성하거나 차용했던 코드 중 개인적으로 의미 있는 열 줄을 회고. 초기 Pascal 프로그램부터 문자 수를 극도로 줄인 CSS 작품까지 개발 인생의 기억을 코드로 정리.
LLM 시대에도 프로그래밍을 계속 즐기는 방법
How to keep enjoying programming in a world of LLMs
LLM이 코딩 과정을 자동화하는 환경에서도 프로그래밍의 즐거움과 학습 동기를 유지하는 방법을 논의. 도구 활용과 직접적인 문제 해결 경험 사이의 균형 조명.
메모리 안전한 컨텍스트 스위칭
Memory Safe Context Switching
컨텍스트 스위칭을 메모리 안전하게 처리하는 방법을 다룸. 저수준 전환에서의 안전성 문제와 설계 포인트가 핵심.
Show HN: Decomp Academy – GameCube 게임을 원본과 일치하는 C 코드로 디컴파일하는 법 배우기
Show HN: Decomp Academy – Learn to decompile GameCube games into matching C
GameCube 게임을 디컴파일해 원본과 일치하는 C 코드로 복원하는 학습 플랫폼. 리버스 엔지니어링과 저수준 코드 분석을 다룸.
Julia로 배우는 미적분학
Calculus with Julia
Julia를 활용해 미적분의 그래프·수치·대수적 개념을 익히는 학습 노트. 입문 수준의 계산 예제와 자가 점검 문제를 제공함.
OCaml로 프로그래밍 배우기
Learn Programming with OCaml
OCaml을 통해 프로그래밍 기초를 배우는 학습 자료다. 함수형 프로그래밍과 언어 문법 입문에 초점이 있다.
Go에서 과도한 nil pointer 검사
Excessive nil pointer checks in Go
Go 코드에서 nil pointer 체크가 얼마나 과도해질 수 있는지 다룸. 방어적 코딩이 가독성과 유지보수성을 해칠 수 있다는 문제의식.
Rust 타입 시스템 속 Lisp
Lisp in the Rust Type System
Rust 타입 시스템 안에서 Lisp를 구현한 프로젝트 소개. 타입 레벨에서 계산과 표현력을 끌어올리는 실험적 접근이 핵심.
Lisp가 Forth를 따라가고, Forth가 Lisp를 따라가다
Lisp moving Forth moving Lisp
Lisp와 Forth의 설계 철학과 상호 영향 관계를 다룬 글. 두 언어의 재귀적 구조와 단순한 핵심 아이디어를 대비함.
초기 Scratch 경험이 만족스러운 커리어로 이어졌는가?
Has early Scratch experience led to fulfilling careers?
초기 Scratch 경험이 실제 진로와 직업 만족도에 어떤 영향을 줬는지 다룬 글. 어린 시절 코딩 입문 경험과 이후 커리어 성취의 상관관계를 살핌.
C를 살리려면 ABI를 지켜야 한다 (2022)
To save C, we must save ABI (2022)
C 언어 생태계를 유지하려면 ABI 호환성을 보호해야 한다는 논지. 컴파일러·라이브러리·플랫폼 간 호환성이 장기 생존의 핵심으로 제시됨.
공간 언어: 2D로 코드를 작성하기
Spatial languages: Writing code in 2D
코드를 선형 텍스트가 아닌 2차원 공간 배치로 표현하는 개념을 다룸. 시각적 구조를 활용해 프로그램을 읽고 쓰는 새로운 인터페이스를 제안함.
C 언어의 정의되지 않은 동작 줄이기
Reducing undefined behavior in the C language
C 언어에서 예측 불가능한 결과와 보안 결함을 유발할 수 있는 undefined behavior를 줄이는 방안을 다룸. 언어 명세와 컴파일러 차원의 개선 논의를 소개.
시대에 뒤처진 쿵푸 고수가 되지 말라
Don't be the out of touch Kung Fu master
John Carmack이 AI로 수작업 코딩을 비롯한 전통적 프로그래밍 기술의 실무 중요성이 낮아지고 있다고 진단. 익숙한 도구와 기법에 정체성을 묶지 말고 더 효과적인 새 기술을 받아들여야 한다는 주장.
Zig: ArrayList의 포인터 안정성
Zig: Pointer Stability for ArrayLists
Zig의 ArrayList에서 원소 포인터가 언제 안정적으로 유지되는지 다룸. 메모리 재할당과 참조 무효화 문제를 정리한 개발 노트 성격의 글임.
Clamiga: Amiga용 Common Lisp
Clamiga: Common Lisp for the Amiga
Amiga에서 동작하는 Common Lisp 구현인 Clamiga를 소개한 글. 레트로 하드웨어와 Lisp 개발 환경을 연결하는 프로젝트로 보임.
Recurse Center에서 내가 한 일
What I did at Recurse Center
필자가 Brooklyn의 프로그래밍 리트리트 Recurse Center에서 보낸 여름을 회고. 스터디 그룹, LLM 활용 프로젝트, 도구 개발과 발표 등 다양한 학습·개발 활동 정리.
Show HN: C++26 Reflection으로 구현한 아름다운 Type Erasure
Show HN: Beautiful Type Erasure with C++26 Reflection
C++26 reflection을 활용해 type erasure를 깔끔하게 구현한 프로젝트를 소개. 최신 C++ 기능으로 타입 추상화를 단순화하는 방법을 보여줌.
Mojo가 이제 오픈소스로 공개됨
Mojo is now open source!
Modular의 Mojo 언어가 오픈소스로 공개됨. 생태계 확장과 외부 기여 확대 가능성이 커짐.
NoiseLang: N=5는 Dirac delta와 같다
NoiseLang: Where N = 5 is a Dirac delta
N=5를 Dirac delta에 비유한 NoiseLang 소개. 실험적 언어 설계와 수학적 유머를 섞은 기술 글.
Born Against, 또는 취미 프로그래밍 커뮤니티가 LLM 사용에 반대하는 이유
Born Against, or why hobby programming communities are against LLM usage
취미 프로그래밍 커뮤니티에서 LLM 도구 도입을 거부하는 현상 분석. 창의성 저하와 학습 효과 감소 우려 등이 주요 원인.
존재하지 않는 날짜들 (2015)
Dates That Don't Exist (2015)
프로그래밍에서 존재하지 않는 날짜 처리의 복잡성과 함정. 윤년, 시간대 등 예외 케이스 주의.
프로그래머를 위한 논리학
Logic for Programmers
프로그래머를 대상으로 논리학의 핵심 개념을 설명하는 학습 자료. 코드와 추론에 필요한 논리적 사고를 체계적으로 다룸.
빠르고 하드한 코드
Fast and Hard Code
소프트웨어를 더 빠르고 단단하게 만드는 코드 작성 원칙을 다룬 글. 성능과 유지보수성 사이의 긴장과 실전 적용점을 짚음.