GN⁺ 4시간전 | parent | ★ favorite | on: Principia Softwarica(principia-softwarica.org)
Lobste.rs 의견들
  • 제목은 분명 Principia Mathematica를 참조하지만, “softwarica”는 라틴어가 아님
    라틴어처럼 보이게 쓴 C 함수 호출이 foo(bar; baz]처럼 깨진 느낌이고, 더 나은 제목은 “Principia Programmatum”(프로그램의 원리)이나 “Principia Artis Programmatoriae”(프로그래밍 기술의 원리) 정도일 수 있음

    • 엄밀히 따지면 “Programmatum”도 존재하지 않고, 가장 가까운 “Programmum”은 “공표, 칙령”이라는 뜻이지 프로그램이 아님
      라틴어에는 소프트웨어나 프로그래밍을 가리키는 단어가 없으니 새 단어를 만드는 것도 괜찮음
      “Programmum/Programmatum”이 더 그럴듯하게 들리는 건 영어 “program”이 프랑스어 “programme”에서, 다시 라틴어 “programmum”에서 왔기 때문임
      프랑스어 logiciel에서 더 직접적으로 가져오면 “logique”(논리) + “iel”(matériel에서 온 접미)이고, 이를 라틴어 “logica”, “materialis/materia”와 연결해 “program”을 “logicia”, “programs”를 “logicium”으로 옮길 수도 있음
      단, 라틴어는 고등학교에서 2년 배운 정도라 확신은 없음
    • “Principia Programmatica”도 가능해 보임
    • 라틴어를 일부러 망가뜨린 게 핵심이라고 봤음
      이미 죽은 언어이고, 잘 알려진 실패한 프로젝트를 참조하는 제목이니, 오늘날 영어 책에 제대로 된 라틴어 제목을 붙이는 것 자체가 살짝 우스꽝스러움
      예전에 라틴어를 꽤 유창하게 읽던 입장에서도 그렇게 느껴짐
  • 처음엔 Plan 9 언급에서 멈칫했지만, 저자가 왜 Plan 9를 골랐는지에 대한 자세한 설명이 좋았음
    요약하면 작기 때문이고, 그 설명 자체가 책을 홍보하는 훌륭한 글처럼 읽힘

    • Plan 9 언급에서 왜 멈칫했는지 궁금함
  • 저자가 OCaml을 Plan 9로 포팅한 뒤, C에서 무슨 일이 벌어지는지 더 잘 이해하려고 사용자 공간의 큰 부분을 OCaml로 다시 쓴 점이 좋음
    그 과정에서 코드가 놀랍게도 Windows에서도 실행 가능해졌고, 누가 이 작업에 자금을 대는지도 궁금함

  • 정말 말도 안 되게 큰 작업임
    17권, 6천 쪽 이상인데 전부 지난주에 공개된 것처럼 보임
    저자에 대한 추가 맥락이나 배경을 아는 사람이 있는지 궁금함

    • 이 9fans 스레드를 보면 됨
      https://www.mail-archive.com/9fans@9fans.net/msg45156.html
      요약하면 2014년에 시작했고, 저자는 내일 현지 시간 13:45에 IWP9에서 작업을 발표할 예정임
      http://iwp9.org/#prg
    • 독자에게는 더 짧은 책 몇 권이 더 유용했을 것 같다는 생각을 떨칠 수 없음
      물론 저자는 이 과정에서 엄청나게 많이 배웠을 것 같음
  • Principia Softwarica는 프로그래머가 쓰는 핵심 프로그램들의 전체 소스 코드를 자세히 설명하면서 컴퓨터 내부 동작을 설명하는 책 시리즈임
    커널, 셸, 윈도 시스템, 컴파일러, 링커, 편집기, 디버거 등이 각각 별도 책으로 다뤄지고, 대상 운영체제는 Plan 9로 보임

    • “대상 운영체제가 Plan 9로 보인다”는 건 매우 부정확한 요약임
      페이지에 Learn Here, Apply Everywhere라고 되어 있고, Plan 9를 사용할 필요는 없다고 설명함
      작고 우아한 운영체제 하나를 이해하면 Linux, macOS, 심지어 Windows에 대해서도 깊은 직관을 얻을 수 있다는 취지임
  • 저자가 말하려는 뜻은 이해하지만, “Oberon은 Oberon 프로그램만 실행할 수 있다”는 건 Oberon 시스템의 제약이라고 보긴 어려움
    원칙적으로 어떤 프로그래밍 언어든 그 아키텍처와 런타임을 대상으로 삼을 수 있음

  • Plan 9에서 포크된 건 알겠는데, Plan 9와 Inferno 중 어느 쪽이 더 나은지 궁금함

  • 굉장히 야심찬 프로젝트로 보임
    좋은 코드, 특히 설계 선택에 대한 설명이 붙은 코드를 읽으면 더 나은 프로그래머가 된다고 믿음
    자기 분야에서 살짝 벗어난 영역의 코드라면 특히 더 그렇고, 이건 훌륭한 학습 도구가 될 수 있음