Apple의 새로운 프로그래밍 언어 소개: Swift

올해 WWDC에서는 iOS 8과 OS X Yosemite에 초점이 너무 많이 맞춰져 행사의 가장 큰 뉴스였어야 하는 것이 오히려 과소 평가되었습니다. Apple은 Swift 프로그래밍 언어를 세상에 소개했습니다. 이것은 최종 사용자에게 거의 뉴스가 아닙니다. 그러나 개발자 커뮤니티에서는 게임 체인저가 될 수도 있습니다. 특정 프로그래밍 언어는 다른 프로그래밍 언어에 비해 분명한 이점이 있으며, 일부는 더 빠르고 일부는 더 효율적이며 일부는 더 깨끗하고 일부는 매우 간단합니다. Apple은 Google의 Go(Golang) 및 Microsoft의 .Net Framework에 이어 자체 프로그래밍 언어를 만든 가장 최근의 회사입니다. Swift 프로그래밍 언어는 Objective C의 전임자에 충실하면서 이러한 언어에서 배웠다고 주장합니다. Apple은 가장 빠르고 강력한 고급 프로그래밍 언어를 만들었다고 주장합니다. 설명하겠습니다.

프로그래밍 언어가 필요한 이유는 무엇입니까?

‘일’을 수행하는 장치를 얻는 방법에는 여러 가지가 있습니다. 최신 웨어러블 장치에서 기존 컴퓨터에 이르기까지 모든 장치는 구식 기계 언어, 원시 바이트 코드/어셈블리 언어로 작성, 각 명령을 손으로 작성하는 방식을 사용하여 작업을 수행하도록 만들 수 있습니다. 또는 지루함을 줄이는 데 도움이 되는 고급 언어에 의존할 수 있습니다. 그렇기 때문에 개발자 언어를 가능한 한 일반 언어에 가깝게 만드는 데 더 중점을 둡니다. 우리는 Swift라는 이름이 보는 것보다 더 많은 개발자를 끌어들이는 것을 이해하지만, Apple 제품의 미래 세대를 제어할 기술을 이해하는 데 도움이 되도록 설명을 단순화할 것입니다.

빠른 입문서: 전자 장치는 문자 그대로 인류에게 알려진 가장 멍청한 것입니다. 모든 프로그래밍이 없으면 단순한 장식품으로 전락할 것입니다. 그들에게 실제 기능을 제공하는 것은 프로그래밍입니다. 아주 기본적인 수준에서 전자공학은 행동에 따라 행동해야 하고 그들이 무엇을 해야 하는지, 그것이 우리가 펀치 카드로 하고 나중에는 기계어로 하던 일을 말해야 합니다. 그런 다음 우리는 상대적으로 더 자연스러운 방식으로 기계와 통신할 수 있도록 하는 언어를 개발하기 위해 시간을 내서 앞으로 나아갔습니다(예, 코드는 실제로 더 간단한 버전입니다). 코드를 작성하면 컴퓨터가 이해할 수 있는 것으로 컴파일된 다음 실행됩니다. 요약하자면 코드 컴파일-실행입니다.

왜 스위프트인가?

이제 가장 적절한 질문이 “왜?”라고 상상할 수 있습니다. C 언어는 70년대에 나온 언어로 당시 상당한 새로운 영역을 개척했고, 그 후 파생된 언어인 Objective C가 80년대에 나왔습니다. Apple은 그 이후로 이 플랫폼을 개발에 사용해 왔습니다. 논리에 따르면 “고장난 것이 아니면 고치지 마십시오”라고 되어 있으며 30년 연속 작동하고 있다면 무엇이 문제일 수 있습니까? 글쎄요. Apple은 수십 년 동안 Objective C를 사용해 왔습니다. 더 빠르고, 더 강력하고, 더 쉬운 것을 위한 시간입니다. 스위프트를 입력합니다.

에 따르면 공식 전자책 on Swift(iTunes에서 무료로 사용 가능) “Swift는 C 호환성의 제약 없이 C 및 Objective-C의 장점을 기반으로 하는 iOS 및 OS X 앱을 위한 새로운 프로그래밍 언어입니다. Swift는 안전한 프로그래밍 패턴을 채택하고 최신 기능을 추가하여 프로그래밍을 더 쉽고 유연하고 재미있게 만듭니다. 성숙하고 많은 사랑을 받는 Cocoa 및 Cocoa Touch 프레임워크가 뒷받침하는 Swift의 깨끗한 슬레이트는 소프트웨어 개발이 작동하는 방식을 다시 상상할 수 있는 기회입니다.”

스위프트가 왜 중요한가요?

Apple이 진심 어린 혁신을 믿기를 바라는 만큼 “스크립트” 언어에 대한 아이디어가 있었습니다. 기존의 code-compile-execute 매개변수를 사용하려면 컴파일된 후에만 코드가 실행되는 것을 볼 수 있어야 합니다. 컴파일은 코드가 무엇을 할 수 있는지 정확히 보여줍니다. 코드에 오류가 있는 경우 컴파일 시 비정상적인 동작이나 충돌이 발생합니다. 그런 다음 코더의 작업은 오류가 있는 위치를 추적하고 수정한 다음 다시 시작하는 것입니다. 이 프로세스는 힘들고 시간이 많이 걸리지만 프로그래밍 세계에서 항상 겪어온 일입니다. 일이 항상 그래왔던 방식입니다. 스크립팅 언어는 줄 단위로 실행되므로 작성하는 동안 결과를 볼 수 있으므로 나중에 오류가 있는지 코드를 검토할 필요가 없습니다. 프로세스를 더 빠르고 훨씬 쉽게 만듭니다.

지금까지 스크립팅 언어는 그 능력이 제한적이었습니다. 예를 들어 Python을 사용하면 엄청나게 빠르지만 제한된 기능으로 더 간단한 작업으로 제한됩니다. Forumla1 자동차처럼 경주용으로 적합하지만 식료품을 사기에는 적합하지 않습니다.

게임을 만들고 싶다면 Python은 최고의 환경이 아닙니다. 그러나 Objective-C는 (또는 Windows를 사용하는 경우 C++)입니다. 이제 Swift는 Objective-C, Rust, Haskell, Ruby, Python, C#, CLU 및 나열할 수 없을 정도로 많은 다른 것들로부터 영감을 받아 두 세계(사실상, 많은)의 최고를 약속합니다(참조: Swift 개발자/전문가 크리스 래트너). Swift는 위에서 좋은 것은 지키고 나쁜 것은 잃는다고 주장합니다. 주요 벤치마크에서 실행은 Python보다 빠르고 Objective-C보다 훨씬 빠르므로 시작이 좋습니다.

다른 기능은 무엇입니까?

Swift는 또한 스크립팅 언어처럼 실시간으로 결과 컴파일을 볼 수 있는 “playground”라는 실시간 시각적 환경을 제공합니다. 이는 앱 디자인에 따라 전체 프로세스를 몇 분으로 단축할 수 있습니다. 문제가 발생하면 원인을 즉시 파악하고 바로 해결할 수 있기 때문입니다. 이는 인쇄물에서 실수를 수정하는 것과 진행하면서 빨간색 밑줄이 그어진 단어를 수정하는 것과 같은 프로그래밍입니다. 복잡한 앱을 더 빠르게 만들 수 있습니다.

조금 더 깊어집니다. 고급 언어의 경우 기본 기능에 관계없이 클래스와 라이브러리를 선언하고 액세스하여 함수를 사용해야 했습니다. C++에서 코드에서 기본 입력, 출력 및 데이터 유형을 사용하려면 가 필요합니다. 그러나 Swift에서는 그 어느 것도 필요하지 않습니다. Swift는 각 데이터 유형 및 io(입력/출력) 기능에 필요한 것을 관리하고 해당 라이브러리 자체를 사용하므로 라이브러리를 선언할 필요가 없습니다. 따라서 “Hello world”와 같은 간단한 것을 인쇄하는 것은

#include<stdio.h>
int main(void)
{
  printf("Hello Worldn");
  return0;
}

간단한:

println("Hello, world")

컴파일해야 하는 전체 코드입니다. 또한 코드가 두려운 “;”을 사용하지 않는다는 것을 알 수 있습니다. 최후 진술의 보편적인 표시로.

단점은 무엇입니까?

이제 Swift의 존재는 Objective-C와 그 모든 방식의 즉각적인 죽음을 의미하지 않습니다. 앱은 여전히 ​​Objective-C를 사용하여 만들 수 있으며 기본 Objective C 사용자는 이러한 환경에 유사점이 있기 때문에 완전히 소외감을 느끼지 않을 것입니다. 물론 Apple은 새로운 프로그래밍 언어를 개발하는 데 4년을 보냈기 때문에 현재와 미래에 Swift를 추진하고 지원하는 데 집중할 것입니다. 아마도 언젠가 그들은 Apple 프로그래밍 언어의 연대기에서 Objective-C를 지울 것입니다. 그러나 그날은 오늘이 아닙니다. 새로운 언어가 나왔다면 배우기 쉽고 훨씬 빠른 언어인데 왜 Objective-C를 고집할까요?

물론 몇 가지 우려 사항이 있습니다. 즉각적인 업계의 격변입니다. 사람들에게 iPhone 앱을 만드는 방법을 가르치는 일을 중심으로 전체 경력이 만들어졌고, 그 경력과 학생들은 즉시 쓸모없게 되었으며, 그 면에서 많은 구조 조정이 있을 것입니다. 우리는 또한 Swift(Swift를 사용하여 이미 생성된 Flappy Birds)에 대한 새로운 초기 어댑터를 얻을 것입니다. 이는 좋은 점이기도 하고 나쁜 점이기도 합니다. 새로운 혈액이 유기체에 주입되는 것은 좋은 일이지만, 이 새로운 혈액이 경험이 부족하고 제대로 만들어진 앱으로 시장을 범람할 것이라는 나쁜 점은 없습니다.

우리는 곧 Apple의 금속 프레임워크, 특히 iOS 게임에서의 장점과 단점에 대해 논의할 것입니다.

결론

WWDC 컨퍼런스에서 새로운 하드웨어가 발표되지 않은 이유가 궁금하시다면 하드웨어만으로는 그 뒤에 있는 소프트웨어가 작동하지 않을 때까지 아무 것도 할 수 없다는 이전 진술을 다시 참조하십시오. 이것은 말 그대로 역사상 가장 큰 뉴스였습니다. 우리는 미래에 모든 하드웨어의 얼굴을 바꿀 소프트웨어에 대한 새로운 핸들을 얻게 될 것입니다. Swift를 얻으려면 Xcode 6 베타와 개발자 ID가 필요합니다.

여기에서 스위프트 받기