Swift 언어 소개

  • 프로그래밍 언어, 스위프트를 이해하기 전에, 컴퓨터에 대한 기본적인 이해를 해보자.

컴퓨터란 무엇일까?

  • 컴퓨터는 어떠한 데이터를 처리해서 사용자가 원하는 정보를 제공해주는 기기이다.
swift-and-computer

컴퓨터 시스템이란?

  • 컴퓨터는 하드웨어와 소프트웨어로 나눠 볼 수 있다.
swift-and-computer

하드웨어란?

  • 다시 하드웨어는 메인보드, 파워, CPU, RAM, HDD, 그래픽카드, ODD 등으로 나눠 볼 수 있다.
  • 메인보드는 컴퓨터의 모든 부품을 연결해주는 회로 같은 역할을 한다.
  • 파워는 전원을 공급해주는 역할을 한다.
  • CPU 컴퓨터의 두뇌 같은 역할을 하고, 중앙 처리 장치라고 부르기도 한다.
  • 컴퓨터의 주요 기능인 연산 처리 작업이 여기서 이뤄진다고 할 수 있다.
  • RAM은 기억장치 중 하나로써 CPU가 연산 처리를 할 때 값을 임시로 저장하는 역할을 한다.
  • 단, RAM에는 전기가 공급될 때만 저장을 할 수가 있어 전원이 꺼지면 저장된 값이 사라진다.
  • 그래서 HDD라는 또 다른 기억장치가 존재하는 것이다.
  • HDD에는 전원 없이도 저장을 할 수가 있어서 어떠한 값을 영구적으로 저장할 수 있다.
  • 요즘은 HDD 대신 성능이 좋은 SSD를 사용하기도 한다.

소프트웨어란?

  • 다시 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 나눠볼 수 있다.
  • 운영체제는 시스템 소프트웨어로써 하드웨어와 응용 소프트웨어를 관리한다.
  • 응용 소프트웨어는 응용 프로그램 또는 앱이라는 이름으로 더 많이 들어봤을 것이다.
  • 운영체제에서 실행되는 모든 소프트웨어를 의미한다.

프로그램 vs 프로세스

  • 둘 다 자주 들어본 단어일 것이다.
  • 두 단어는 비슷하면서도 미묘한 차이가 있다.
  • 프로그램은 저장 장치에 저장된 명령어 집합을 의미하는 것이고,
  • 프로세스는 램에서 실행 중인 프로그램을 의미하는 것이다.

프로그래밍과 프로그래밍 언어

  • 프로그래밍이란 위에서 다룬 프로그램을 만드는 행위이다.
  • 프로그래밍 언어는 프로그램을 만들기 위해 사용되는 언어체계를 뜻한다.
  • 프로그래밍 언어에는 저급 언어와 고급 언어가 있다.
  • 저급 언어에는 기계어와 어셈블리어가 있다.
  • 기계어는 0과 1로만 이뤄진 언어이고
  • 어셈블리어는 기호로 나타낸 언어로 기계어보다 인간이 더 쉽게 작성할 수 있다.
  • 저급 언어는 하드웨어가 바로 인식할 수 있기 때문에 속도가 빠르지만,
  • 인간이 프로그래밍 하기 어렵다는 단점이 있다.
  • 우리가 일반적으로 알고 있는 프로그래밍 언어가 고급 언어이다.
  • 인간 즉, 개발자가 쉽게 개발하고 작성할 수 있도록 만들어진 언어이다.
  • 결국, 개발자가 고급 언어로 프로그래밍을 하고
  • 컴파일러를 통해 기계어로 변환해서 컴퓨터 하드웨어가 인식하게 되는 것이다.

프로그래밍 언어 스위프트

swift-and-computer
  • 스위프트는 애플이 자사의 제품을 위해 개발한 프로그래밍 언어이다.
  • 기존에 사용하던 프로그래밍 언어인 오브젝티브 C와 공존하기 위해 개발되었다.
  • 하지만 점점 스위프트가 오브젝티브 C를 대체해가는 추세이다.
  • 스위프트는 자연어에 근접한 문법 체계 갖고 있고,
  • 스크립트 언어의 특성을 갖고 있는 등 매우 강력하면서도 유연하다는 특징이 있다.
  • 스위프트는 진입 장벽이 높았던 오브젝티브 C와는 달리, 개발자가 조금 더 쉽게 접근할 수 있도록 개발되었다.
  • 또한, 스위프트를 오픈소스로 공개함에 따라 앱 개발 외의 목적으로도 사용할 수 있다.