▲GN⁺ 2025-04-22 | parent | ★ favorite | on: 내가 제일 좋아하는 프로그래밍 문법, "파이프라이닝"(herecomesthemoon.net)Hacker News 의견 작성자는 "pipelining"이라고 부르지만, 올바른 용어는 "method chaining"이라고 생각함 Bash의 간단한 파이프라인과 비교: 각 구성 요소가 병렬로 실행되며 중간 결과가 스트리밍됨 Ruby에서는 각 줄이 순차적으로 처리되며 각 단계 사이에 완전한 배열이 생성됨 디버깅이 어려워져서 요즘은 더 명시적인 코드를 작성함 명시적인 코드는 보기에는 덜 깔끔하지만 중간 상태를 쉽게 검사할 수 있음 개인적으로 언어의 기능 세트를 작게 유지하고 빠르게 완성된 기능 세트를 달성하는 것을 지지함 그러나 Elixir의 |> 문법을 모든 언어가 채택했으면 하는 바람이 있음 Lisp 매크로는 체인된 컬렉션 연산자뿐만 아니라 호출 체인의 순서를 결정할 수 있는 일반적인 솔루션을 제공함 예를 들어, (foo (bar (baz x)))를 (-> x baz bar foo)로 작성할 수 있음 추가 인수가 있는 경우에도 처리 가능함 자세한 내용은 Clojure의 스레딩 매크로 가이드 참조 이 용어를 유창한 인터페이스라고 배웠음. 파이프라이닝은 다른 것임 파이프라인 연산자는 부분 적용의 일종으로, 여러 인수를 바인딩하여 새로운 함수를 만들고 그 출력을 다른 함수에 전달할 수 있음 부분 적용은 프로그램 작성에 매우 유용하며, 언젠가 (비-Haskell) 언어들이 이를 프로그램 구성의 기본으로 사용할 것임 R의 tidyverse 사용자들은 이미 이를 사용하고 있음 파이프라이닝은 디버깅이 어려움. 예외 처리가 어려워 파이프라인에 분기를 추가해야 함 파이프라인은 행복한 경로를 프로그래밍할 때만 유용함 SQL 문법이 불필요하게 복잡함 SQL은 이미 연산자 언어지만 역사적 이유로 제약이 많음 새로운 문법을 허용할 거라면 더 간단하게 작성할 수 있음 |> 문법은 표현력이 없고 시각적 잡음을 추가함 작성자는 "의미가 문법을 이긴다"고 주장하지만, 문법 선호에 초점을 맞추고 있음 파이프라이닝은 체인이 길어질수록 디버깅이 어려워짐 Python에 대해 비판적이지만 구체적인 이유는 제시하지 않음 "pipelining"의 정의가 명확하지 않음 effect-ts는 파이프라인과 명령형 코드를 모두 작성할 수 있게 해줌 파이프라인 작성과 제너레이터 사용에 대한 문서 제공 대부분의 커뮤니티가 명령형 스타일의 제너레이터를 선호하게 되었음 디버깅과 유지보수가 더 쉬운 것으로 보임
Hacker News 의견
작성자는 "pipelining"이라고 부르지만, 올바른 용어는 "method chaining"이라고 생각함
개인적으로 언어의 기능 세트를 작게 유지하고 빠르게 완성된 기능 세트를 달성하는 것을 지지함
|>문법을 모든 언어가 채택했으면 하는 바람이 있음Lisp 매크로는 체인된 컬렉션 연산자뿐만 아니라 호출 체인의 순서를 결정할 수 있는 일반적인 솔루션을 제공함
이 용어를 유창한 인터페이스라고 배웠음. 파이프라이닝은 다른 것임
파이프라인 연산자는 부분 적용의 일종으로, 여러 인수를 바인딩하여 새로운 함수를 만들고 그 출력을 다른 함수에 전달할 수 있음
R의 tidyverse 사용자들은 이미 이를 사용하고 있음
파이프라이닝은 디버깅이 어려움. 예외 처리가 어려워 파이프라인에 분기를 추가해야 함
SQL 문법이 불필요하게 복잡함
|>문법은 표현력이 없고 시각적 잡음을 추가함작성자는 "의미가 문법을 이긴다"고 주장하지만, 문법 선호에 초점을 맞추고 있음
effect-ts는 파이프라인과 명령형 코드를 모두 작성할 수 있게 해줌