매킨토시 프로그래머 워크샵
Macintosh Programmer's Workshop이 글은 검증을 위해 인용구가 추가로 필요하다. – · · 책 · · (2008년 10월 (이 템플릿 하는 ) |
![]() | |
![]() 실행 가능한 MPW Shell 스크립트 | |
개발자 | 애플 컴퓨터 |
---|---|
초기 릴리즈 | 1986년 9월 24일; | 전
안정적 해제 | 3.6d7 |
운영 체제 | 클래식 맥 OS |
유형 | 소프트웨어 개발 도구 |
면허증 | 폐쇄 소스 프리웨어 |
웹사이트 | 웨이백 머신의 공식 MPW 웹사이트(2011년 5월 14일 자료 보관) |
Macintosh Programmer's Workshop(MPW)은 Apple Computer가 작성한 Classic Mac OS 운영 체제의 소프트웨어 개발 환경이다.Macintosh 개발자들에게 있어, 그것은 System 7.x와 Mac OS 8.x와 9.x의 응용 프로그램을 구축하기 위한 주요 도구 중 하나였다.당초 MPW는 애플의 전문 개발자 프로그램의 일환으로 구매가 가능했지만, 애플은 코드워리어로 대체되면서 무료 다운로드가 가능해졌다.Mac OS X에서는 Project Builder IDE로 대체되었고, 결국 Xcode가 되었다.
디자인
MPW는 68k 및 Power를 포함한 명령줄 환경과 도구를 제공했다.Pascal, C, C++ 컴파일러뿐만 아니라 PC 조립자.셸 환경은 설계상 유닉스 셸과 다소 유사하지만, 매킨토시의 문자 집합과 GUI를 중심으로 설계되어 일반적인 터미널 환경을 "워크시트" 인터페이스로 대체하여 사용자가 셸 스크립트의 임의 섹션을 선택하여 실행하거나, 리티핑 없이 명령을 재실행할 수 있다.또한, 명령줄 도구는 프로그램의 명령줄 기능에 대한 제한된 액세스를 제공하는 Commando라는 다소 표준화된 그래픽 인터페이스를 일반적으로 제공되었다.디버거는 오늘날 대부분의 IDE처럼 MPW에 통합되지 않았지만 언어 컴파일러는 디버거가 사용하는 상징적인 디버깅 정보 파일 형식을 지원했다.MPW는 SADE(Symbolic Application Deverging Environment)라는 소스 레벨 디버거를 지원했다.SADE는 MPW Tool은 아니었지만 MPW와 유사한 사용자 인터페이스를 가진 별도의 애플리케이션으로 실행되었다.
애플의 컴파일러는 다른 플랫폼에서 흔히 볼 수 없었던 몇 가지 특징을 가지고 있었는데, 예를 들어, Pascal 컴파일러는 객체 지향적인 반면, C와 C++ 컴파일러는 길이 고정 문자열(Pascal 지향 API의 경우 필요)에 대한 지원을 포함하고 있었다.
파스칼은 애플의 매킨토시 소프트웨어 개발의 원래 선호 언어였으며,[1] MPW는 처음에는 파스칼 지원만으로 출시되었다.MPW 2.0과 함께 C 컴파일러가 출시되었다.MPW C 컴파일러는 애플을 위해 특별히 고안된 그린힐스 C 컴파일러의 매킨토시 변종인 그린힐스에 의해 계약으로 작성되었으며, 리사 워크샵에서 사용할 수 있는 버전과 유사했다.[2][3]또한 원래의 MPW C 컴파일러는 캐주얼하고 유머러스한 오류 메시지("우리는 이미 이 기능을 했다")[4]와 동시에 때때로 사용자 이름을 거론하는 것으로 알려져 있다.[5]이 같은 기발함은 파워PC 전환 이후 애플이 원고를 시만텍이 작성한 컴파일러로 교체하면서부터 이어지지 않았다.파스칼 지원은 90년대 중반까지 언어의 인기가 떨어지면서 더 이상 제공되지 않았다.MPW는 항상 전문적인 청중들을 대상으로 했고, 패키지의 상당한 가격 때문에 취미 개발자들에게는 거의 사용되지 않았다. MPW가 만들어질 무렵에는 시만텍과 메트로웨르크스의 제품들과 NeXT에서 물려받아 OS X와 함께 무료로 배포된 애플 고유의 개발 도구로 대체되었다.제3자 컴파일러를 위한 포장 환경으로도 가끔 이용이 가능했는데, 이는 메트로웨르크스와 애브소프트가 모두 사용하는 관행이다.애플이 MPW 추가 개발을 공식 중단했고, 이를 실행할 OS X의 마지막 버전은 10.4 '타이거'로, 클래식 환경을 지원하는 마지막 버전이다.애플은 단종된 지 오래 된 후에도 소프트웨어를 지원하는 웹 사이트와 메일링 리스트를 유지했지만, 그 사이트는 이제 Xcode 페이지로 리디렉션된다.
MPW 셸
MPW Shell은 창뿐만 아니라 파일로의 출력 리디렉션을 특징으로 했다.파일이 열려 있으면 출력이 파일과 열려 있는 창으로 이동하게 된다.이러한 출력의 리디렉션은 이 기능을 이어받기 위해 도구가 특별히 할 필요가 없도록 파일 시스템 호출에서 상당한 패치를 필요로 했다. 즉 MPW Shell은 모든 작업을 했다.
MPW Shell 명령어는 Unix csh 언어를 기반으로 하였으나 Macintosh GUI의 주요 기능을 지원하기 위해 확장되었다.메뉴, 대화 상자(프롬프트), 새 셸 창을 만들 수 있는 간단한 명령어를 가지고 있었다.커서를 제어할 수 있었고, MPW 스크립트나 도구를 메뉴 항목에 쉽게 부착할 수 있었다.명령 키 바로 가기를 지정할 수 있다.창 크기 및 위치를 제어할 수 있다.이러한 특징들은 복잡한 제작과 포장 과정이 모두 정교한 대본에 의해 제어되는 상업적인 생산 환경에서 인기가 있었다.
이 포탄은 유닉스 제품과 몇 가지 중요한 차이점이 있었다.예를 들어, 고전적인 Mac OS는 Unix fork()에 필적할 만한 것이 없었기 때문에 MPW 도구는 쉘의 서브루틴이라고 효과적으로 불렸다; 오직 한 번에 하나만 실행될 수 있었고, 도구 자체는 다른 도구를 실행할 수 없었다.이러한 제한은 클래식한 Mac OS를 위한 "유닉스급 시스템"인 MacRelyx 프로젝트에 영감을 주었다.[6]
보고 느끼다
기능적으로 워크시트는 텍스트 편집기 문서와 xterm 창 사이의 교차점이다.각 워크시트 창은 파일에 지속적으로 바인딩되어 있다.사용자는 키보드의 Enter 키를 통해 실행할 수 있는 명령을 포함하여 창의 아무 곳이나 입력할 수 있으며, 명령 출력은 삽입 지점에 나타난다.xterm 창과 달리 MPW 워크시트는 항상 시각적 편집 모드에 있으며 사용자가 자유롭게 재구성할 수 있다.따라서 워크시트는 소프트웨어 프로젝트의 기록, 유지보수 절차 및 테스트 결과를 설명하는 통합 문서인 순전히 명령 스크립트 또는 텍스트 문서 또는 두 문서의 혼합물이 될 수 있다.상용 BBEdit 텍스트 편집기는 Mac OS X에서 "셸 워크시트"라고 불리는 기능을 유지한다.Emacs 텍스트 편집기는 플랫폼 전반에 걸쳐 작동하는 유사한 기능인 셸 버퍼를 제공한다.
기타 공구
MPW는 make의 버전을 포함했다.그것의 구문은 개념적으로 Unix made와 비슷했지만 의존성을 나타내기 위해 MacRoman long f 문자를 사용했다.더욱 중요한 것은, 쉘의 한계로 인해 make 프로그램이 도구 자체를 실행할 수 없었기 때문에, 실행할 컴파일/링크 동작의 스크립트를 작성한 다음, 실행을 위해 그것을 쉘에 전달하여 작업해야 했다.대부분의 경우 이 정도면 충분했지만, 이전 조치의 결과에 따라 즉시 결정을 내릴 수 있는 파일을 만드는 것은 배제했다.
MPW 도구로 구현되지는 않았지만, 이 패키지에는 그 역사를 통해 여러 개의 소스 레벨 디버거가 함께 제공되었는데, MC680x0 시스템에서 SourceBug와 SADE(Symbolic Application Deverging Environment)가 사용되었고, Power Mac Debugger(개발 중 R2Db로[7] 알려져 있음)는 Power Mac 디버깅 서비스를 모두 제공하였다.PC 시스템, 후자는 디버깅 중인 컴퓨터의 "디버거 너브"로 알려진 서버 프로그램을 사용한다.
MPW 도구 쓰기
MPW는 개발자들이 그들만의 MPW 도구를 만들기에 충분한 표준 C 라이브러리 세트를 포함했다.많은 유닉스 유틸리티는 거의 변경 없이 포팅될 수 있다.한 가지 난점이 유닉스와는 다른 맥 OS 뉴라인 컨벤션이었다.또 다른 하나는 Mac OS의 경로 이름 구분자 ":"이었지만, 많은 Unix 유틸리티가 "/"로 가정했다.많은 유닉스 유틸리티는 또한 경로 이름에 맥의 일반적인 관행인 내장 공간이 없을 것이라고 가정했다.
수년간 GNU 툴체인은 자유권의 일환으로 MPW에 대한 이식성 지원을 포함했다.이것은 General Magic과 몇몇 다른 개발자들이 사용하는 MPW 호스트 크로스 컴파일러를 지원하기 위해 사용되었다.
역사
MPW는 1985년 말에 릭 메이어스, 제프 패리쉬, 댄 스미스(현재의 댄 켈러)에 의해 시작되었다.그것은 매킨토시 프로그래머 시스템, 즉 MPS라고 불릴 예정이었다. (우연히 세 성이 MPS로 시작된다는 것을 주의한다.) 'MPS'는 그 결과 항상 MPW 쉘의 창작자 시그니처였다.MPW가 리사 워크샵의 후계자가 될 예정이었기 때문에, 그들은 그것을 매킨토시 프로그래머 워크샵으로 바꾸기로 결정했다.MPW가 등장하기 전에, Mac 어플리케이션들은 리사에서 교차 개발되어야 했다.
MPW 파스칼 컴파일러는 리사 파스칼 컴파일러의 후손이다.애플의 래리 테슬러는 니클라우스 위스와 협력하여 켄 도일이 리사 파스칼 컴파일러의 마지막 버전 중 하나에 통합한 오브젝트 파스칼 확장을 고안했다.이것이 MacApp을 사용하도록 설정했다.
Early contributors included Rick Meyers (project lead and MPW Shell command interpreter), Jeff Parrish (MPW Shell editor), Dan Smith (MPW Shell commands), Ira Ruben (assembler and many of the tools including Backup, PasMat, and more), Fred Forsman (Make, Print, SADE, and assembler macro processor), Al Hoffman (Pascal compiler) Roger Lawrence (Pasca오류 메시지를 포함한 L과 C 컴파일러, 켄 프리덴바흐(링커), 요한 스트랜드버그(레즈, 데레즈, 레즈디트), 스티브 하트웰(C 라이브러리), 댄 앨런(맥스버그, 편집자) 등이다.애플 숫자 그룹도 수학 도서관을 기부했다.
MPW 1.0은 1986년 9월 24일에 완성되었다.쉘 메모리 누수는 1986년 10월 10일에 수정되었고 MPW 1.0.1이 탄생하였다.MPW 2.0은 1987년 7월 20일에 완성되었다.MPW 3.0은 1988년 11월 30일에 수행되었고 완전히 새로운 C 컴파일러를 포함했다.[8]비슷한 시기에 C++ 컴파일러의 베타 버전뿐만 아니라 MacApp 2.0(Object Pascal의 경우)도 이용할 수 있게 되었다.[9]MPW 3.1과 3.2는 1993년 5월에 MPW 3.3이 출시되면서 이후 몇 년 만에 출시되었으며, 분산된 도구 지원과 점진적인 연계가 추가되었다.[10]MPW 3.4는 1995년 7월 14일에 완료되었고, MPW 3.5는 1999년 12월 17일에 완료되었다.MPW 3.6은 2001년 말 작업이 중단되었을 때 개발 중이었다.
MPW의 황혼기에, 그렉 브란체는 애플 MPW-dev 메일링 리스트를 통해 비공식적으로 MPW를 지원했다.그 목록과 그것을 호스트한 lists.apple.com 서버는 2014년 1월 17일에 폐쇄될 예정이었는데,[11] 그 결정은 나중에 번복되었다.[12]
레거시
MPW는 여전히 Mac OS X용 개발에 사용될 수 있지만, 지원은 PowerPC 기반 컴퓨터용 Carbon 애플리케이션으로 제한된다.다른 기술에 기반한 Mac OS X 애플리케이션을 개발하려면 Xcode나 다른 OS X 호환 개발 환경을 사용해야 한다.MPW는 또한 Projector라고 불리는 버전 제어 시스템을 포함했다; 이것은 현대 버전 제어 시스템으로 대체되었고 더 이상 Mac OS X에서 지원되지 않는다.
참고 항목
참조
- ^ Webster, Bruce (February 1986). "Programming Tool and the Atari ST". BYTE. p. 331. Retrieved 9 May 2015.
- ^ "Re: [Humor ] Old MPW C error messages". Archived from the original on 2014-05-28. Retrieved 2014-05-27.
- ^ Allen, Dan (1 January 1988). "Dr Dobb's – The Macintosh Programmer's Workshop". Retrieved 2021-02-21.
- ^ MPW C 오류 메시지, 1994년 5월 15일 - 로버트 렌츠
- ^ "Re: Will the last one to leave please turn off the lights?". Archived from the original on 2014-05-28. Retrieved 2014-05-27.
- ^ "MacRelix Origins".
- ^ RISC 2-머신 디버거의 줄임말;
- ^ Poole, Lon (April 1989). "Developer Developments". Macworld. Vol. 6, no. 4. p. 93.
- ^ Poole, Lon (April 1989). "C++ and MacApp 2.0". Macworld. Vol. 6, no. 4. p. 91.
- ^ Cohen, Raines (24 May 1993). "MPW 3.3 release through APDA". MacWeek. Vol. 7, no. 21. p. 12.
- ^ "Will the last one to leave please turn off the lights?". Archived from the original on 2014-05-28. Retrieved 2014-05-27.
- ^ "Reprieve!". Archived from the original on 2014-02-14. Retrieved 2014-05-27.
추가 읽기
- West, Joel (November 1987). Programming with Macintosh Programmer's Workshop. Bantam Books. ISBN 0-553-34436-6.
외부 링크
- 웨이백 머신의 공식 MPW 웹사이트(2011년 5월 14일 자료 보관)
- MPW-Dev 메일 목록, 분명히 여전히 사용 가능함
- MPW 3.0 일반 정보
- MPW 3.5 Apple FTP 미러에서 다운로드 & 업데이트
- MPW 팬/참조 페이지