APL (프로그래밍 언어) : 심볼로 프로그래밍?

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


Kenneth E Iverson이 1962 년에 출판 한 책의 이름을 따서 APL (Programming Language)이라는 이름이 붙여졌습니다..

APL은 최신 스프레드 시트 및 수학 소프트웨어 패키지 개발에 영향을주는 간결성을 위해 설계된 고유 한 수학적으로 기울어 진 프로그래밍 언어입니다..

APL의 역사

1950 년대 하버드 대학교 교수는 복잡한 정보 배열을 조작하는 데 유용한 수학적 표기법 시스템을 만들었습니다. 이 교수는 케네스 아이버슨.

1960 년, Iverson은 컴퓨터 시스템 엔지니어 인 Adin Falkoff의 도움으로 IBM에서 일하면서 학계에서 일하면서 개발 한 수학적 표기법을 기반으로 프로그래밍 언어를 만들었습니다..

그럼에도 불구하고이 프로그래밍 언어는 구현이 실용적이지 않지만 A Programming Language라는 텍스트에 게시되었으며 APL이 탄생했습니다..

APL은 처음에 IBM에서 컴퓨터 시스템에 대한 조사를 수행하는 데 사용되었습니다. 그러나 1960 년대에 걸쳐 APL의 수용은 그 당시 컴퓨터에서 쉽게 표현할 수 없었던 많은 그래픽 심볼을 포함하는 특이한 구문으로 제한되었습니다. 결과적으로 Iverson이 의도 한 실제 기호가 아닌 독립형 키워드 표현을 사용해야했습니다..

IBM이 APL에 사용되는 특수 기호를 생성 할 수있는 특수 유형 볼을 출시 한 1960 년대 후반에 모든 것이 바뀌 었습니다..

IBM은 APL을 IBM 메인 프레임 컴퓨터에서 사용할 수있게하여 APL을 컴퓨팅 대중에게 동시에 소개했습니다. 향후 20 년 동안 APL은 개인용 컴퓨터 하드웨어 기능이 APL 컴파일의 까다로운 특성을 따라 잡을 때까지 IBM과 다른 경쟁 하드웨어 및 소프트웨어 제조업체가 배포 한 메인 프레임 컴퓨터에서 살았습니다..

1980 년대 초, IBM은 프로그래밍 언어 APL2의 업데이트 된 버전을 출시했습니다. 여기에는 중첩 된 다차원 어레이의 개념을 포함하여 여러 가지 향상된 기능이 도입되었습니다..

1980 년까지 Ken Iverson은 더 이상 IBM에서 APL을 통제하지 못했으며, APL 구현의 경쟁 개발자 인 Sharp APL (미래의 개발에 만족 한 제품)을 방금 출시 한 APL 구현의 개발자 인 IP Sharp Associates에 합류했습니다. 아이버슨이.

IBM은 업계 표준 APL 구현으로 APL, APL2 버전을 설정하여 I P Sharp를 극복 할 수있었습니다. 오늘날까지 현대 APL 구현은 일반적으로 APL2 호환성을 인용합니다..

현대 APL

APL Wiki에 따르면 5 가지 이상의 최신 APL 구현이 있습니다.

  • IBM의 APL2 2.0은 여전히 ​​업계 표준 APL 구현으로 간주됩니다.

  • Micro APL의 APLX는 다양한 기능을 갖춘 IBM의 APL2를 기반으로합니다..

  • Dyalog는 APL 기반 개발 환경이며 가장 저렴하게 채택 된 모든 기능을 갖춘 APL 플랫폼입니다..

  • APL + Win은 APL2000의 APL 개발 환경입니다.

  • NARS2000은 APL에 관심이있는 사람들에게 APL을 무료로 사용해 볼 수있는 기회를 제공하도록 설계된 오픈 소스 무료 기능 제한 구현입니다.

APL 구문

일부 프로그래밍 언어는 의도적으로 프로그래머의 유무에 관계없이 누구나 쉽게 읽을 수 있도록 설계되었습니다..

Ruby, Python, COBOL 및 기타 여러 프로그래밍 언어는 실제로 이해되지는 않지만 영어를 잘 알고있는 사람은 누구나 읽을 수있는 구문을 사용합니다..

APL은 이러한 언어 중 하나가 아닙니다.

언어의 구문에 익숙하지 않은 사용자에게는 APL이 일련의 무의미한 그래픽 기호, 문자 및 숫자처럼 보입니다..

그러나 APL 프로그래머에게는 각 그래픽 심볼 또는 심볼 세트가 수학 함수 (대개 매우 복잡한 함수)를 나타냅니다..

고유 한 구문 외에도 중첩 다차원 배열을 사용하는 것은 프로그래밍 언어 중에서 APL을 다소 고유하게 만드는 또 다른 기능입니다..

APL의 그래픽 심볼

그래픽 기호는 기능과 연산자를 나타내는 데 사용됩니다. 사용 된 기호 중 일부는 일반적이며 쉽게 이해됩니다.

  • ≠: 같지 않음

  • > 과 <: 두 값을 비교하고 크거나 작은 값을 반환하는 데 사용

  • +, −, ÷ 및 × : 일반적인 수학 함수를 수행하는 데 사용.

많은 다른 기호의 의미는 APL이 아닌 프로그래머에게는 쉽게 알 수 없습니다.

  • ⍴ : rho, 배열의 모양을 반환하거나 배열을 재구성하는 데 사용.

  • ⌽ : 원형 스타일, 순서 또는 배열을 반대로하거나 배열을 다차원 방향으로 회전.

  • ⍋ 및 ⍒ : 등급 상승 및 등급 하락, 배열을 내림차순 또는 오름차순으로 재정렬.

APL에 사용 된 수십 개의 심볼 중 일부에 불과합니다..

초보자가 이러한 기호, 의미 및 사용법을 모두 사용하려고 시도하는 것은 압도적이지만 숙련 된 APL 프로그래머는 엄청나게 강력한 기능을 만드는 데 필요한 타이핑 감소로 인해 생산성이 크게 향상되었다고 주장합니다..

중첩 된 다차원 배열

간단한 1 차원 배열은 컴퓨터 프로그래밍에서 일반적인 데이터 유형입니다. 배열은 변수 또는 값의 모음입니다. 예를 들어, [0, 1, 2]는 값 0, 1 및 2를 포함하는 배열입니다..

다차원 배열은 테이블 레이아웃에서 여러 행의 배열 항목으로 구성됩니다. 예를 들어 위에 나열된 배열을 3 x 3 다차원 배열로 연속하면 다음과 같습니다.

012
45
678

중첩 배열은 배열에 포함 된 데이터를 향상시키는 또 다른 방법입니다. 중첩 배열에서 각 항목은 단일 값이나 변수가 아닌 추가 배열을 포함 할 수 있습니다.

APL에서 배열은 다차원 일 수 있으며 중첩 배열을 포함 할 수 있습니다. 이것은 머리를 감싸기가 약간 어려울 수 있으므로 예제를 살펴 보겠습니다..

위의 예에서 다차원 배열을 사용하여 중심 (2, 2) 위치 (4 번)의 항목을 문자 a, b, c 및 d로 구성된 새로운 다차원 배열로 바꿉니다..

012
5
678

이 배열에서 2, 2 위치의 항목이 참조되면 변수 a, b, c 및 d를 포함하는 배열이 반환됩니다..

배열이 중첩 다차원 값과 변수를 보유하는 기능은 1970 년대 후반과 1980 년대 초에 Sharp APL과 APL2에 모두 추가되었으며 APL의 주요 특징 중 하나입니다..

APL 개발 환경 설정

APL을 사용하려면 컴퓨터에 APL 기호를 생성하고 APL 인터프리터를 설치해야합니다. APL 인터프리터를 설치하려면 위에 나열된 최신 APL 구현 중 하나를 선택하십시오..

NARS2000 또는 Dyalog를 설치하는 것이 좋습니다. NARS2000은 완전 무료이지만 제한된 기능 세트를 제공합니다.

Dyalog는 무료로 다운로드 할 수 있지만 (페이지 하단으로 스크롤하여 Unregistered Version 다운로드를 선택하십시오) APL을 장기간 사용하면 등록 된 사본을 구매하고 싶을 것입니다.

APL 구현을 설치 한 후 APL로 코딩하는 데 필요한 기호를 생성하도록 시스템을 설정해야합니다. 일부 APL 구현에는 글꼴을 설치하거나 새 하드웨어를 구입할 필요없이 APL 기호를 입력하는 데 사용할 수있는 팝업 키보드 메뉴가 포함되어 있습니다.

모든 노력을 다할 준비가되지 않은 경우 다른 옵션은 브라우저에서 APL을 시도하는 것입니다. TryAPL은 Dyalog에서 만든 무료 웹 사이트로, 브라우저에서 APL 코드를 실행하여 APL 작동 방식에 대한 느낌을 얻을 수 있습니다..

APL 자료

APL에 대해 배울 수있는 가장 좋은 곳 중 하나는 APL Wiki입니다. APL 커뮤니티가 공동으로 만든이 리소스는 최신 APL 사용에 대한 풍부한 교육 리소스와 정보를 제공합니다..

학습을 시작할 준비가 되었다면 다음은 Wiki에서 찾을 수있는 가장 유용한 자료입니다.

  • 20 분만에 APL : APL이 무엇이며 무엇을 할 수 있는지 간략히 살펴보십시오.

  • APL 학습 : APL의 코딩 기본 사항을 다루는 초보자 용 자습서.

  • Hello world :이 고전적인 연습 없이는 프로그래밍 교육이 완료되지 않습니다.

  • APL의 추가 주제 : APL 학습 자습서를 완료 한 경우 APL 역량을 향한 다음 단계입니다.

  • 실습 : 이전 자습서를 통해 학습 한 경우 APL에 대한 기본 이해, 사용 방법 및 수행 할 수있는 작업이 있습니다. 다음 단계는 자신의 프로젝트 작업을 시작하는 것입니다. 그러나 그렇게하기 전에 숙련 된 APL 개발자의 워크 플로 관행에 대해 읽으십시오..

APL2000은 다른 APL 구현과 약간 다르며 약간의 추가 노력으로 .NET Framework 내에서도 사용할 수 있습니다. 관심이 있으시면 다음 자료를 통해 APL200에서 VisualAPL에 대해 자세히 알아보십시오.

  • PDF 형식의 VisualAPL 튜토리얼

  • VisualAPL 웹 캐스트.

APL 커뮤니티의 두 가지 상징적 인 리소스로는 2006 년 Bernard Legrand가 저술 한 기사와 APL에서 Conway의 Game of Life를 재현하는 연습이 포함됩니다..

Legrand의 기사 APL – 영국 APL 협회 웹 사이트 Vector at a Glimpse of Heaven at 읽을 수 있습니다.

Conway의 Game of Life에 대해 읽고, 한 줄의 APL 코드로 코드를 읽거나 프로세스를 설명하는 스크린 캐스트를 시청하여 재생성하는 방법을 배울 수 있습니다.

서적

지난 50 년 동안 APL 텍스트가 상당히 많이 쓰여졌습니다. 다음은 최고 6 가지입니다.

  • Kenneth E Iverson의 프로그래밍 언어, 모든 것을 시작한 책

  • APL : Gilman과 Rose의 대화식 접근 방식

  • Thompson과 Polivka의 깊이있는 APL2

  • Brown, Pakin 및 Polivka의 APL 2 개요

  • Reiter와 Jones의 수학적 악센트가있는 APL

  • Dyalog APL 마스터 링 : Bernard Legrand의 Dyalog APL 소개 (무료 PDF로도 제공).

결론

APL은 수학적으로 기울어 진 프로그래밍 언어로, 정의 기능에 매우 상징적 인 구문과 중첩 된 다차원 배열에 대한 지원이 포함됩니다..

APL 학습 곡선은 거의 수직이므로 APL을 배우기로 결정하면 매우 가파르게 상승합니다..

가장 큰 장점은 지금까지 설계된 가장 강력한 프로그래밍 언어 중 하나를 익히는 것입니다..

추가 자료 및 자료

코딩 및 개발과 관련된 더 많은 가이드, 자습서 및 인포 그래픽이 있습니다.

  • COBOL 소개 및 리소스 : 초기 언어이지만 COBOL은 가독성 측면에서 APL과 거의 반대입니다..

  • 포트란 리소스 : 아마도 최초의 고급 컴퓨터 프로그래밍 언어 인 포트란의 개발은 APL보다 10 년 전에.

  • 어셈블리 언어 소개 : 가장 기본적인 수준에서 컴퓨터 프로그래밍 배우기.

어떤 코드를 배워야합니까?

코딩해야 할 프로그래밍 언어에 대해 혼란 스러우십니까? 인포 그래픽, 어떤 코드를 배워야합니까?를 확인하십시오. 언어의 다양한 측면에 대해서만 논의 할뿐만 아니라“생활에 필요한 Java를 얼마만큼 돈을 벌 수 있을까요?”와 같은 중요한 질문에 답변합니다.

어떤 코드를 배워야합니까?
어떤 코드를 배워야합니까?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map