Rust에는 이미 이름 있는 인자가 있습니다
Rust에 이름 있는 인자, 기본 인자, 오버로딩이 없어도 구조체와 Option, Default, 트레이트, 열거형, 반복자로 비슷한 API를 만들 수 있다는 글입니다. 저자는 호출 규칙을 늘리는 대신 기존 타입 시스템을 조합하자고 주장하며, Reddit에서는 이 방식의 명료함과 보일러플레이트 부담을 두고 논쟁이 이어집니다.
AI, 개발 도구, 오픈소스, 보안과 인프라의 변화와 이용 조건을 설명하는 최신 기사와 해설입니다.
Rust에 이름 있는 인자, 기본 인자, 오버로딩이 없어도 구조체와 Option, Default, 트레이트, 열거형, 반복자로 비슷한 API를 만들 수 있다는 글입니다. 저자는 호출 규칙을 늘리는 대신 기존 타입 시스템을 조합하자고 주장하며, Reddit에서는 이 방식의 명료함과 보일러플레이트 부담을 두고 논쟁이 이어집니다.
Guile Scheme의 PEG 문법으로 Org 문서를 AST로 파싱한 뒤 SXML을 거쳐 HTML로 렌더링하는 라이브러리 OrgWebAlchemy를 소개합니다. 중첩 목록과 인라인 마크업처럼 정규식만으로 다루기 까다로운 문법을 처리하며, 아직 Org 전체 기능을 지원하지는 않습니다.
파이썬 변수는 값을 담는 상자가 아니라 객체에 붙는 이름이며, 대입은 이름을 객체에 연결합니다. 글은 가변성, 기본 인수, 복사, 참조 카운팅과 순환 참조 수거 등 객체 모델을 코드 예제로 설명합니다.
Castle Game Engine의 Object Pascal 입문서가 스트림 기반 입출력, 제네릭 컨테이너, 객체 복사를 설명합니다. FPC와 Delphi 사이의 호환성을 고려한 컨테이너 선택부터 TPersistent.Assign의 상속 규칙까지 코드 예제로 다룹니다.
Ed Nather가 1983년에 쓴 글로, 기계어만으로 프로그램을 짜고 드럼 메모리의 회전 타이밍까지 맞춘 프로그래머 멜의 일화를 들려줍니다. 명령어 주소를 직접 수정해 반복문을 만들고 주소 오버플로를 분기 명령으로 활용한 사례가 중심입니다.
AI 에이전트로 26개 넘는 프로젝트를 만든 저자가 Stanford의 초급 Python 과정에 지원하며 처음 직접 코드를 작성합니다. 프로그램은 작동했지만 GPT가 틀린 NBA 기록을 자신 있게 답하면서, 코드 작성과 답 검증이 서로 다른 기술임을 보여줍니다.
JSON 라이브러리는 보통 먼저 JSON AST를 만든 뒤 도메인 데이터로 변환합니다. 이 글은 Haskell의 지연 평가와 비트셋을 이용해 중간 표현을 생략하는 파서를 구현하고, 마이크로벤치마크에서 약 3배 빠른 결과를 얻었습니다.
Zig 개발자 Andrew Kelley가 Zigtoberfest에서 제안한 학습 경로를 소개합니다. 시스템과 의존성을 깊이 이해하고, 빌드와 실행 동작을 직접 설계하며, 프로젝트를 완성하는 과정이 Zig뿐 아니라 소프트웨어 엔지니어로 성장하는 데 도움이 된다고 설명합니다.
errval은 TypeScript에서 오류를 명시적으로 반환하고, 호출부에서 처리하도록 돕는 라이브러리입니다. 오류 타입을 호출에서 추론하고 `match`의 누락된 분기를 컴파일 오류로 잡습니다. 실패 경로 벤치마크와 오류 생성 방식도 공개했습니다.
Futhark는 배열을 복사하지 않고 갱신하는 기능의 안전성을 보장하려고 소비(consumption)와 별칭(alias)을 타입 검사에서 추적합니다. 이 글은 추상 타입과 고차 함수가 추적 규칙을 복잡하게 만드는 과정을 설명하고, 자기 별칭(self-aliasing) 처리와 매개변수성(parametricity)을 활용하는 설계안을 제시합니다.
GeaStack은 TypeScript와 CSS로 작성한 앱을 여러 운영체제와 ESP32 같은 임베디드 기기에서 실행하는 도구 모음입니다. 중심에는 TypeScript를 C++로 정적으로 컴파일하는 컴파일러가 있으며, 저장소에는 앱 예제와 빌드·플래시 절차가 정리돼 있습니다.
Emily M. Bender와 Nanna Inie는 소프트웨어에 사고력·감정·행위 의도가 있는 듯한 표현을 줄이고, 시스템 기능과 이를 사용하는 사람을 드러내는 대체 표현을 제안합니다. ‘환각’을 ‘바람직하지 않은 출력’으로, ‘AI 에이전트’를 ‘확률적·검증되지 않은 소프트웨어 조작기’로 바꾸는 식입니다.
C3 0.8.4는 매개변수 리플렉션과 계약 기능을 확장하고, 스택 보호 옵션과 iOS 타깃 지원을 추가한 릴리스입니다. 0.9.0에서 문법을 동결하기 전 마지막 키워드 변경을 시험하며, 표준 라이브러리와 컴파일러의 여러 기능 및 버그 수정도 포함합니다.
새 프로그래밍 언어가 초기에 결정해야 할 설계 원칙을 정리합니다. 들여쓴 여러 줄 문자열, 파일 경로와 확장자, 후행 쉼표, 키워드와 숫자 리터럴, 개발·배포 환경, 버전 관리, 빌드 시스템과 파일 감시까지 생태계와 호환성을 좌우하는 세부 사항을 짚습니다.
Steve Klabnik이 Rust에 named parameter, optional/default argument, function overloading을 넣을 때 생기는 복잡성을 살펴봅니다. coding agent 시대에는 named parameter만 다시 검토할 여지가 있지만, 패턴·함수 포인터·trait·평가 순서 같은 문제가 남아 있다고 설명합니다.
Java .class 파일의 첫 4바이트를 식별하는 매직 넘버 0xCAFEBABE의 유래를 다룹니다. Java라는 이름보다 먼저 정해졌으며, 재미와 기억하기 쉬운 형태를 고려해 선택했다는 당시 개발자의 설명과 다른 시스템의 유사한 값도 소개합니다.
Evocation은 Forth에서 파생한 64비트 amd64용 언어이자 자기 호스팅 컴파일러입니다. 주석이 달린 hex dump로 바이너리 생성 과정을 감사할 수 있는 자기 부트스트래핑 구조를 갖추고 있으며, 현재 컴파일에는 최대 10분이 걸립니다.
깨끗한 코드가 항상 코드의 의도와 배경까지 설명하지는 않습니다. 글은 정규식의 의미, 47이라는 제한값의 이유처럼 코드에 담기 어려운 정보를 주석으로 남겨야 하며, 코드가 명백한 부분에는 주석을 쓰지 말자고 주장합니다.
jevchat은 Jev에게 매 단계마다 다음에 올 문자나 토큰을 묻고, 확률 분포에서 하나를 뽑아 답변을 이어가는 채팅 도구입니다. 알파벳과 탐색 전략을 바꿔가며 문자 단위 샘플링, 이진 탐색, 빔 서치 등을 실험할 수 있지만 API 비용은 상당히 비현실적입니다.
Rust에 named argument와 optional argument를 추가하자는 pre-RFC 성격의 글입니다. Dart, C#, TypeScript의 문법과 Rust의 구조체·builder 패턴을 비교하고, 가독성·보일러플레이트·API 확장성 문제를 해결할 설계 후보와 반론을 함께 정리합니다.