GN⁺ 2024-02-12 | parent | ★ favorite | on: Awk에서 구현된 Git, Aho(github.com/djanderson)
Hacker News 의견
  • Awk의 매력:

    • Awk은 유닉스 계열 시스템에서 흔히 볼 수 있는 강력한 프로그래밍 언어임.
    • 주로 파이프된 표준 출력(stdout)에서 텍스트 조각을 추출하는 데 사용되는 한 줄짜리 명령어로 쓰임.
    • Awk을 일반적인 스크립팅 언어로 사용할 수 있으며, bash보다 더 나은 면이 많음.
    • Perl이 나오면서 shell, awk, sed의 좋은 기능을 결합하려 했지만, 결국 Perl에 대한 부정적인 인식으로 인해 사람들이 다른 언어로 이동함.
  • The AWK Programming Language, Second Edition:

    • AWK 프로그래밍 언어의 두 번째 판이 2023년 9월에 출시됨.
    • 첫 번째 판은 1988년에 출판되었으며, 온라인에서 접근 가능함.
    • 관련 토론 링크 제공.
  • Awk 코드 개선 제안:

    • 함수의 매개변수와 로컬 변수를 구분하기 위해 GNU Awk에 let 문을 추가하는 패치를 제안했으나, 프로젝트에서 거절됨.
    • 대신 GNU Awk의 이름을 바꾼 포크(fork) 버전을 만들도록 권장받음.
  • Awk의 유용성:

    • 리눅스 명령줄이 최고의 개발 환경이라고 주장할 때, Awk는 종종 그 이유 중 하나로 꼽힘.
    • Awk의 기본만 알아도 많은 작업을 수행할 수 있으며, IDE가 비효율적으로 느껴질 수 있음.
    • Awk를 배우고자 하는 사람들을 위해 Linux Fest Northwest에서 강연을 하고 YouTube에 녹화본을 올림.
  • Awk를 이용한 프로젝트 경험:

    • 매우 제한된 메모리를 가진 라우터에서 Awk를 사용해 웹 기반 위키를 만든 경험이 있음.
    • 라이브러리에 의존할 수 없어 기본적인 것들을 직접 구현하면서 위키 작동 방식과 Awk의 가능성에 대해 배움.
  • Awk의 확장성:

    • Awk에 네트워크 기능을 추가할 계획은 없지만, 다른 디렉토리에 있는 저장소로부터 git clone이나 push가 가능함.
  • GNU 유틸리티의 잠재력:

    • GNU 유틸리티와 프로그램만으로도 성능과 기능 면에서 전문화된 도구들을 능가하는 데이터베이스와 처리 도구를 만들 수 있을 것 같은 생각이 듦.
  • cppawk의 활용:

    • cppawk를 사용하면 #include를 사용할 수 있으며, AWKPATH 없이 파일에 상대적임.
    • cppawk가 없던 시절에 개발된 프로젝트에 적용하면, 전처리된 프로그램을 단일 파일로 "빌드"할 수 있음.
  • Awk의 다양한 활용 예:

    • sed-chess와 awk-raycaster와 같은 프로젝트가 Awk의 다양한 활용 가능성을 보여줌.
  • Awk와 관련된 재미있는 사실:

    • "Aho"는 일본어로 바보를 의미하는 단어임.