Objective C 이전에 Apple 개발에 어떤 표준이 사용 되었습니까?


27

나는 Objective C가 Apple 하드웨어 개발 초기부터 사용되지 않았다고 생각합니다. 앱 개발자가 Apple II 또는 Mac Classic과 같은 이전 Apple 컴퓨터에 어떤 언어를 사용 했습니까?

답변:


35

1985 년 Larry Tesler 는 System 6 의 표준 언어가 된 Apple의 Pascal 플레이버 인 Object Pascal 을 개발했습니다 . 그것은 애플에서 개발 된 Lisa 의 1983 Pascal 변종 인 Clascal 을 기반으로 했다 .

Object Pascal은 당시 Apple의 기본 응용 프로그램 프레임 워크 인 MacApp 에서 사용되었습니다 . 1991 년에 출시 된 MacApp 3.0은 C ++로 다시 작성되었으며, Apple은 Motorola의 68K 칩에서 PowerPC로 이동할 때 C ++에 찬성하여 Object Pascal에 대한 지원을 중단했습니다.

현재 엠바 카데로 델파이 (Embarcadero Delphi ) 로 남아있는 볼랜드의 오브젝트 파스칼 은 1986 년 터보 파스칼 의 확장 으로 애플의 오브젝트 파스칼과 유사하게 시작되었습니다. Pascal의 창시자 인 Niklaus Wirth는 Apple과 Borland의 각 변종에 대해 컨설팅을 받았습니다.

반대로 Objective C는 NeXTSTEP의 주요 언어였으며 1996 년 NeXT를 구입 한 후에 만 ​​Apple에 소개되었습니다.


4
좋은 대답이지만 받아 들여진 것이므로 Pascal과 C에 대한 언급을 추가해야합니다. 처음부터 Mac Toolbox와 OS는 Pascal 호출 규칙을 사용했으며 대부분 Pascal과 함께 문서화되었습니다. 사용 가능한 많은 파스칼 컴파일러가있었습니다. 가장 인기있는 것은 아마도 Lightspeed Pascal 일 것입니다. C는 처음부터 인기가 있었고 Think가 Lightspeed C와 Lightspeed Pascal을 모두 구입했을 때 C는 아마도 인디 개발자에게 "표준"선택이었습니다. 또한 metrowerks C ++ 및 PowerPlant에 대한 언급이 필요합니다.
Caleb

1
이 답변은 어떤 언어가 아닌 개발에 어떤 프레임 워크 가 사용 되었는지에 더 의존하는 것 같습니다 . OP의 질문은 Cocoa (프레임 워크)가 아닌 Objective-C (언어)에 관한 것이었지만 MacApp (프레임 워크)에 대한 단락과 MacApp이 포팅되었다는 사실 외에는 C / C ++에 대한 언급이 거의 없습니다. 많은 응용 프로그램은 파스칼, C, 및 / 또는 C에 맥 OS 도구 상자 ++에 대해 직접 작성되었습니다. 그렇지 않으면 좋은 대답이지만 더 넓은 범위의 C / C ++가 필요합니다.
morgant December

12

애플] [은 일반적으로 BASIC 또는 6502 머신 코드로 프로그래밍되었습니다.

Lisa는 일반적으로 Pascal에서 프로그래밍되었습니다.

초기 Macintosh 앱은 Pascal로 작성되었으며, 처음에는 Lisa에서, 나중에는 Mac 자체에서 작성되었습니다.

Think Pascal은 한동안 가장 인기있는 개발 환경이자 Think C였습니다. Think C에는 경량 객체 (때로는 C +-및 그 이후의 C ++라고도 함)가있었습니다. 또한 Think Class Library라고 불리는 자체 클래스 라이브러리가 있습니다.

Apple의 MPW는 구문이 매우 다르지만 언어 (일반적으로 Pascal, C, C ++ 및 어셈블러)와 스크립트 빌드를 유닉스 환경과 비슷하게 혼합 할 수 있기 때문에 인기가있었습니다.

MacApp은 Object Pascal로 작성되었으며 누군가가 말했듯이 나중에 C ++로 옮겼습니다. PowerPC 시스템으로 전환하면서 많은 프로그래머는 개발 환경 및 C ++ 클래스 라이브러리 인 PowerPlant로 Metrowerks CodeWarrior로 전환했습니다.

Mac OS X 응용 프로그램은 Apple의 "Carbon"API를 통해 C / C ++로 작성 될 수 있지만 Objective-C는 NeXT에서 사용 된 다음 Mac OS X에 사용되었습니다. 요즘 대부분의 Mac 및 iOS 앱은 Cocoa / Obj-C로 작성되었지만 많은 C 또는 C ++ 라이브러리가 아래에 있습니다.


1
애플 ///도 파스칼로 프로그래밍되었다 (ISTR도 BASIC의 변형이 있었다). UCSD pSystem을 사용했다고 생각하지만 Apple Pascal 컴파일러도있었습니다.
TMN

애플은 /// 내가 프로그래밍 한 적이없는 유일한 애플 컴퓨터였다. 애플을위한 UCSD pSystem도 기억합니다.] [] 그러나 작성된 앱을 배포하는 좋은 방법은 없다고 생각합니다.
EricS December

8

Mac OS Classic의 표준 언어는 Pascal입니다. OS의 API 문서는 모두 파스칼 용으로 작성되었으며 수동 최적화 ASM으로 작성되지 않은 OS는 파스칼로 작성되었습니다.

PowerPC 아키텍처로 전환 한 후 C ++로 OS를 다시 작성했으며, 시스템 안정성이 눈에 띄게 감소하여 Pascal 및 C ++에 익숙한 사람에게는 놀라운 일이 아닙니다. 스티브 잡스가 돌아와서 Objective-C가 모든 사람의 목을 강요 할 때까지 API 문서는 주로 Pascal을 위해 계속 작성되었습니다.


4
"파스칼과 C ++에 익숙한 사람에게는 시스템 안정성의 현저한 감소와 함께 놀라지 않을 것입니다.": 두 언어로 작업 한 후에는 이것을 쉽게 믿을 수 있습니다. 나는 때때로 파스칼 (또는 그 객체 지향 확장)이 현재 C ++보다 덜 인기있는 이유를 궁금해합니다. 결국 개발 및 버그 수정 시간에 돈이 소요됩니다. 아마도 파스칼이 C ++과 비슷한 강력하고 컴팩트 한 커뮤니티를 구축하지 못했기 때문일 수 있습니다.
Giorgio

3
파스칼은 대부분 표준이 없었고 (표준이 너무 늦었 기 때문에) 공통 부분 집합이 너무 제한적이어서 (별도의 컴파일을 수행하기 위해 확장에 의존해야했고, 확장을 사용하여 배열을 받아 들일 수있는 서브 루틴을 작성해야했기 때문에 실패했습니다. 다양 한 길이, 당신은 확장에 의존해야 ... 이름을))
AProgrammer


4
@KeithThompson, 불행히도 많은 사람들이 파세이 확장에 대한 논증으로 그 에세이를 인용합니다. "왜 C가 내가 가장 좋아하는 프로그래밍 언어가 아닌지"라는 가상의 기사를 인용하는 것과 같다.이 클래스는 적절한 클래스와 상속의 부족에 대해 가설 적으로 이야기하고이를 C ++ 또는 Objective C에 대한 논쟁으로 사용한다.
아닌가

2
@Paulo : Heck, C ++에는 여전히 적절한 클래스와 상속이 없다고 주장합니다. 객체가 참조 유형이 아닌 값 유형 인 경우 상속의 기본 원칙 인 LSP와 OOP 자체를 처음부터 깨뜨 렸습니다. 그렇기 때문에 다른 모든 주요 객체 지향 언어 (개념을 시작한 Simula 및 "객체 지향 프로그래밍"이라는 용어를 시작한 Smalltalk 포함) 가 그렇게하지 않았습니다.
Mason Wheeler

2

... Mac (Apple II) 이전에는 대부분의 프로그래밍이 기본이었습니다. (Apple II의 모든 변형에서 IIgs까지)

또한 Metroworks CodeWarrior를 사용하여 System 7에서 C ++ 개발을 수행 한 것을 기억합니다 (물론 PowerPC 이후).


4
실제로는 아닙니다. 구식 애플은 기본으로 내장되어 있지만 오늘날의 표준조차도 성능이 떨어지고 사운드 및 그래픽에 대한 최소한의 지원으로 인해 장난감 언어로 간주되었습니다. 물론 예외가 있었지만 Apple II 시스템에서 가장 심각한 프로그래밍은 Pascal 또는 ASM에서 수행되었습니다.
메이슨 휠러

2
아-고마워 Apple II에서의 프로그래밍 경험은 일반적으로 프로그래밍에 대한 첫 노출 이었기 때문에 모두 기본이었습니다. (따라서 우리는 BASIC과 그 명령어 세트를 고수했습니다.) 나는 또한 "로고"를 기억하지만 누군가가 그것에 대해 진지한 작업을했는지는 모른다.
채드 톰슨

UCSD 파스칼은 애플이 사용할 수있는 유일한 "실제"언어였다. BASIC이 너무 느리다면, 당신은 일반적으로 곧바로 어셈블리로 갔다.
로봇 Gort

그것의 한계에도 불구하고, 나는 그 당시 "대부분의 프로그래밍"이 BASIC에서 수행되었다는 것을 의심하지 않을 것입니다.
dan04

@ dan04 : 내가 기억할 수있는 한 어셈블리는 애플 프로그래밍에 일반적으로 사용되었다. 모니터 모드로 전환하는 것은 해커가 처음 알게 된 것 중 하나입니다.
Giorgio
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.