물론, 당신이 당신의 삶에서 본 모든 것이 Objective C라면, 그 구문은 유일한 가능한 것처럼 보입니다. 우리는 당신을 "프로그래밍 처녀"라고 부를 수 있습니다.
그러나 많은 코드가 C, C ++, Java, JavaScript, Pascal 및 기타 언어로 작성 되었기 때문에 ObjectiveC가 모든 언어와 다르지만 좋은 방식은 아닙니다. 이유가 있었나요? 다른 인기있는 언어를 살펴 보겠습니다.
C ++는 C에 많은 추가 기능을 추가했지만 원래 구문을 필요한만큼만 변경했습니다.
C #은 C ++에 비해 많은 추가 기능을 추가했지만 C ++에서보기 흉한 부분 만 변경했습니다 (예 : 인터페이스에서 "::"제거).
Java는 많은 것을 변경했지만 변경이 필요한 부분을 제외하고는 익숙한 구문을 유지했습니다.
JavaScript는 ObjectiveC가 할 수없는 많은 일을 할 수있는 완전히 동적 인 언어입니다. 그래도 제작자는 다른 세계와 다르기 위해 메서드를 호출하고 매개 변수를 전달하는 새로운 방법을 발명하지 않았습니다.
Visual Basic은 ObjectiveC와 마찬가지로 순서없이 매개 변수를 전달할 수 있습니다. 매개 변수의 이름을 지정할 수 있지만 일반적인 방법으로 전달할 수도 있습니다. 무엇을 사용하든 모두가 이해할 수있는 일반적인 쉼표로 구분 된 방법입니다. 쉼표는 프로그래밍 언어뿐만 아니라 일반적으로 책, 신문 및 서면 언어에서 일반적인 구분 기호입니다.
오브젝트 파스칼은 C와는 다른 구문을 가지고 있지만 그 구문은 실제로 프로그래머가 읽기가 더 쉽습니다 (컴퓨터가 아니라 컴퓨터가 생각하는 것을 누가 신경 쓰는지). 그래서 아마도 그들은 탈락했지만 적어도 그들의 결과는 더 좋습니다.
파이썬은 파스칼보다 더 읽기 쉬운 다른 구문을 가지고 있습니다. 그래서 그들이 그것을 바꾸고 다르게 만들었을 때, 적어도 그들은 우리 프로그래머들에게 더 좋게 만들었습니다.
그리고 ObjectiveC가 있습니다. C에 몇 가지 개선 사항을 추가했지만 자체 인터페이스 구문, 메서드 호출, 매개 변수 전달 등을 개발했습니다. 나는 왜 그들이 +와-를 바꾸지 않았는지 궁금합니다. 그래서 더하기는 두 개의 숫자를 뺍니다. 더 시원했을 것입니다.
Steve Jobs는 ObjectiveC를 지원함으로써 망쳤습니다. 물론 그는 더 나은 C #을 지원할 수 없지만 최악의 경쟁자에 속합니다. 따라서 이것은 실제적인 것이 아니라 정치적 결정입니다. 기술은 정치적 이유로 기술 결정을 내릴 때 항상 어려움을 겪습니다. 그는 자신이 잘하는 회사를 이끌고 프로그래밍 문제는 실제 전문가에게 맡겨야합니다.
그가 iOS를 작성하고 ObjectiveC 이외의 다른 언어로 라이브러리를 지원하기로 결정했다면 더 많은 iPhone 용 앱이있을 것이라고 확신합니다. 열렬한 팬, 버진 프로그래머 및 스티브 잡스를 제외한 모든 사람에게 ObjectiveC는 우스꽝스럽고 추하고 혐오스러운 것처럼 보입니다.