프로그래밍이란 쉽게 말해 인간이 컴퓨터와 대화하는 방법이다. 컴퓨터에 작업을 지시하고 그 결과물을 얻는 과정이다. 자연어(인간의 언어)와 기계어의 중간 과정이라고 생각할 수 있다.
기계어는 이진수로 작성되어 인간이 기계어를 파악하기란 쉽지 않고, 맥락과 의미 억양 등 복잡도가 높은 자연어를 기계어로 바로 번역하기는 매우 어렵다. 이때 기계어와 자연어 사이에서 컴퓨터와 인간 사이의 명령어 전달을 도와주는 언어체계가 바로 프로그래밍 언어다.
컴퓨터에 특정 명령을 내리기 위해서 프로그래밍 언어에 사전에 정의된 문법이 존재한다. 같은 명령일지라도, 프로그래밍 언어별로 표현 방법이 다를 수 있다.
변수는 값을 저장하고 참조하기 위해 사용되는 이름이나 식별자이다. 이때 컴퓨터와 소통하기 위해서는 값의 종류를 구분해서 입력해 줘야 한다. 이 종류를 데이터 타입이라고 한다. 데이터 타입은 프로그래밍 언어마다 약간 차이점이 있을 수 있다. 예를 들면 Dart 언어에는 데이터타입으로 정수형(Int), 실수형(Double), 문자열(String), 참거짓형(Bool), 정수형 리스트(List[int]), Map 타입이 존재한다.
프로그래밍 언어는 분기점들을 처리하는 하나의 흐름이라고 볼 수 있고, 이를 위해 제어구조와 연산자가 존재한다.
Dart 언어에서는 다음의 제어구조가 존재한다.
라이브러리란 재사용 가능한 코드와 기능의 집합이다. 라이브러리 호출을 통해 개발에 사용되는 시간을 줄이고 더 유용한 기능을 개발하는데 시간을 집중할 수 있다.
pub.dev 사이트는 Flutter 및 일반 Dart 프로그램을 위한 라이브러리 및 패키지를 포함하는 Dart 프로그래밍 언어용 패키지 관리자이다.