1P by GN⁺ 2일전 | ★ favorite | 댓글 1개
  • 표기법(Notation) 은 사고를 도와주는 중요한 도구로, 수학과 프로그래밍 언어 모두에서 핵심적인 역할을 함
  • APL 언어는 수학적 표기법의 장점을 프로그래밍 언어의 실행성과 보편성과 결합하려는 시도로 개발됨
  • 좋은 표기법의 특징은 간결성, 명확성, 제안성, 세부사항의 하위화, 공식 증명 가능성 등임
  • 다양한 수학적 구조(다항식, 변환, 그래프 등)를 APL로 효율적으로 표현하고 변환할 수 있음
  • 표기법의 도입과 학습은 문맥 안에서 자연스럽게 이루어져야 하며, 표기법의 구조성과 범용성 또한 중요함

사고 도구로서의 표기법

  • 화학, 식물학 등 과학 분야에서도 체계적 명명법이 학문의 발전을 촉진함
  • 조지 불은 언어 자체가 사고의 수단임을 강조했음
  • 수학적 표기법은 사고를 지원하는 언어의 대표적 사례로, 사고 부담을 줄이고 사고력을 증대시킴
  • A.N. 화이트헤드와 찰스 배비지가 수학 표기법의 중요성을 강조했음

프로그래밍 언어의 사고 도구로서의 가능성

  • 프로그래밍 언어는 범용성명확성이라는 강점을 가짐
  • 컴퓨터를 통한 아이디어 실험 및 명확한 사고 실험이 가능함
  • 그러나 대부분의 프로그래밍 언어는 수학적 표기법에 비해 사고 도구로서의 역할이 약함
  • APL은 명료성과 정밀성을 지향하여 사고를 지원하는 표기법으로 설계됨

좋은 표기법의 주요 특성

  • 문제 표현의 용이성: 문제에서 직접 파생되는 구조를 쉽게 표현할 수 있어야 함
  • 제안성: 표현된 형태가 유사하거나 확장된 문제를 암시해야 함
  • 세부사항의 하위화: 복잡한 세부사항을 단순화하여 사고를 돕는 구조 제공
  • 간결성: 최소한의 기호와 규칙으로 광범위한 표현을 가능하게 해야 함
  • 공식 증명 가능성: 표기법이 형식적 증명과 연역적 추론에 용이해야 함

APL의 기본 표기 기법 소개

  • 벡터, 행렬 등 배열 기반 구조를 자연스럽게 사용
  • 함수 및 연산자는 벡터/행렬을 요소별로 자동 적용
  • 리덕션(/), 스캔(\), 내적(.)과 같은 연산자(operators)로 함수 조합을 표현
  • , , , +, ×, * 등 기초 기호로 풍부한 수식 구성 가능
  • 모든 함수는 우측 우선 규칙을 따르며 괄호 없이 자연스러운 수식 작성 가능

문제 해결과 사고 촉진 예시

  • 삼각수, 계승 등 수학적 수열을 간단한 수식으로 표현
  • 다항식 표현과 곱셈, 미분 등 연산을 일관된 규칙으로 간명하게 처리
  • 그래프 이론(트리, 전이 클로저, 스패닝 트리)도 배열 연산으로 명확히 표현 가능
  • 순열, 부울 대수, 수 체계 변환(소수 분해) 등 다양한 분야에 확장 가능

공식 증명과 구조화된 사고

  • 모든 연산과 식은 명확히 실행 가능한 형태로 표현되므로 컴퓨터를 통한 자동 검증 가능
  • 수학적 귀납법, 완전 탐색, 항등식 열거 방식으로 다양한 공식 증명 예시 제시
  • 리덕션과 스캔의 분할(identity) 및 내적 연산의 결합성과 분배성 정식 증명
  • 뉴턴 대칭 함수, 다항식 곱셈 및 미분 공식 직접 증명

APL과 전통 수학 표기법 비교

  • APL은 함수의 명확한 정의, 일관된 배열 연산, 풍부한 기호 체계 제공
  • 모든 연산에 우선순위 규칙 대신 오른쪽 우선 실행 규칙 적용
  • 수학 기호 사용의 복잡성을 줄이고 형식적 조작(formal manipulation)을 지원
  • 구문이 간결하고 규칙이 일관되어 초보자와 숙련자 모두에게 유리함

표기법 도입과 학습 방법

  • 별도의 "언어 강의" 없이 문맥 속에서 필요한 표기만 자연스럽게 소개하는 방식을 강조
  • 구체적 문제 상황 속에서 새로운 기호를 직관적으로 학습
  • 표기법 자체의 난이도보다는, 표기법이 암시하는 다양한 가능성과 확장성을 인식하는 것이 중요함

APL 확장 가능성 및 제안

  • 복소수 처리를 포함한 함수 확장 제안
  • 넙(unique elements) 및 요약(summary) 함수 표준화 필요
  • 보다 일반화된 연산자(operator) 도입으로 벡터 미적분 등 추가 주제 지원 가능
  • 언어 설계의 명확성과 추론 능력 향상 목표

효율성과 명확성의 균형

  • 명확하고 분석 가능한 표기법을 먼저 정의한 후, 최적화를 통해 효율을 높이는 방식 권장
  • 알고리듬 명료화는 이후 최적화 및 컴파일러 최적화에도 도움을 줌
  • APL로 작성된 기본 표현은 학문적 탐구와 산업적 적용 모두에 기여 가능성
Hacker News 의견
  • 표기법은 단순히 표현을 다른 표현으로 대체하는 것이 아니라 더 깊은 의미를 가짐

    • 새로운 표기법은 문제를 새로운 방식으로 생각하게 함
    • 많은 미해결 문제들이 강력한 표기법으로 해결될 가능성이 있음
    • 수학자나 컴퓨터 과학자에게는 명백한 사실이지만, 언어학자나 교육자들 사이에서는 논란이 있음
    • 사피어-워프 가설은 언어가 사고를 결정한다는 주장임
    • 자연어는 문화적 산물이며, 학문적으로 문화와 사고를 연결짓는 것은 금기시됨
    • 교육에서도 학생들이 문제를 진정으로 이해할 수 있는 표기법을 배우지 못하게 함
  • APL의 쇠퇴는 Lotus 123과 MS Excel의 등장 때문임

    • APL은 더 큰 영향을 미칠 수 있었음
    • CS 커뮤니티는 심볼릭스, AI, LISP에 집중하고 있었음
  • 사피어-워프 가설은 언어가 사고를 제한할 수 있음을 시사함

    • 언어와 사고는 사회적 상호작용의 규칙에 의해 결정될 수 있음
    • 음악은 다른 방식으로 표현할 수 없는 것을 표현할 수 있음
  • APL을 사용한 프로젝트를 개발 중임

    • APL의 개념은 사고의 기초가 됨
    • 건축 프로그램에서 NAATOT을 가르치고 있음
    • 학생들이 자신만의 상징적 표기 시스템을 만들도록 하는 것이 꿈임
  • Freeform 노트 앱을 완성하지 못한 것이 아쉬움

    • STEM 분야의 기술적 콘텐츠에 적합한 아이디어였음
    • 예시로 옛 화학 노트를 공유함
  • "사고의 도구"라는 표현이 처음 사용된 강의임

    • APL을 배우면서 트윗에 많은 코드를 담을 수 있음을 알게 됨
    • 수학적 표기법은 보편성이 부족하고 해석이 다를 수 있음
    • 표기법이 시각화 및 문제의 인체공학과 분리되면 비용이 큼
    • 표준 표기법은 창의적 사고를 제한할 수 있음
  • 관련 자료로 Iverson의 "Notation as a Tool of Thought"를 언급함