A+는 APL 프로그래밍 언어에서 파생된 배열 프로그래밍 언어이다. 1988년 모건 스탠리(Morgan Stanley)의 아서 휘트니(Arthur Whitney)가 개발하기 시작했으며, 이후 모건 스탠리의 연구원들에 의해 확장 및 유지보수되었다.
주요 특징은 다음과 같다.
- 배열 지향: APL의 강력한 배열 연산 기능을 계승하여, 대량의 수치 데이터를 효율적으로 처리하는 데 특화되어 있다.
- 함수형 프로그래밍 요소: 일급 함수(first-class functions) 개념을 지원하며, 함수를 인자로 전달하거나 결과로 반환하는 고차 함수 작성이 가능하다.
- 그래픽 사용자 인터페이스(GUI) 내장: X 윈도우 시스템(X Window System) 환경에서 동작하는 위젯 툴킷을 언어 차원에서 기본 제공하여, 금융 데이터 시각화 및 분석 도구 개발에 용이하다.
- 동적 타이핑 및 인터프리터 방식: 변수 타입 선언 없이 실행 시점에 타입이 결정되며, 인터프리터를 통해 즉각적인 코드 실행과 테스트가 가능하다.
- 의존성 관리: 모듈 시스템을 통해 코드의 캡슐화와 재사용을 지원한다.
역사적으로 A+는 월스트리트의 투자 은행 및 금융 기관에서 대용량 시계열 데이터 분석, 리스크 관리, 트레이딩 시스템 구축을 위한 내부 도구로 널리 사용되었다. 1990년대 후반부터 2000년대 초반까지 모건 스탠리에서 적극적으로 개발 및 배포되었으나, 이후 오픈 소스화(BSD 라이선스)되면서 커뮤니티 주도로 유지보수가 이루어졌다.
후속 언어로는 아서 휘트니가 A+ 개발 후 퇴사하여 만든 K 언어가 있으며, K는 A+의 설계 철학을 계승하면서도 더 간결한 문법과 고성능 컬럼형 데이터베이스(kdb+)와의 통합으로 금융권에서 더 폭넓게 채택되었다. 현재 A+는 역사적 의의가 큰 언어로 평가받으며, 특정한 레거시 시스템 유지보수 외에는 신규 프로젝트에서의 채택 사례는 드문 편이다.