안녕하세요!
오늘은 프로그래밍 언어의 종류들을 살펴볼까 합니다
여기저기서 C언어? 자바스크립트?라는 이야기들은 어렴풋이 들었지만,
정확히 어떤 의미인지 잘 몰랐는데요,,
요즘 Flutter 공부를 시작하면서,
다른 프로그래밍 언어들에 대해서도 관심이 생겨서 간단히 정리해 볼게요!
컴퓨터는 0과 1밖에 모르는 바보이기 때문에 사람과 소통하기 위해서는
따로 프로그래밍 언어를 사용해야 한다고 합니다.
우리가 외국인과 소통하기 위해 해당 나라의 언어를 배우는 것과 같죠!
프로그래밍 언어들은 각 역할에 따라 달라지고 그 종류는 수백 개가 넘는다고 합니다
하지만 사람들이 실제로 많이 쓰는 건 6~7개 정도라고 해서 그중 크게 4가지만 소개해볼게요 :)
프로그래밍 언어의 종류
1) 앱/웹 만드는 언어 = 화면을 만드는 언어
- JavaScript → 웹사이트
- Dart → 플러터 앱
- Swift → 아이폰 앱
- Kotlin → 안드로이드 앱
2) AI, 데이터 만드는 언어 = 컴퓨터의 뇌를 만드는 언어
- Python → AI 대부분이 이걸로 만들어짐
- R → 통계, 데이터 분석
3) 속도 빠른 시스템 언어 (하드웨어, 로봇 등) = 엔진을 만드는 언어
- C
- C++ -> 게임 개발, 고성능 애플리케이션에 주로 사용되는 프로그래밍 언어
- Rust -> 빠르고 안전함 / 요즘 뜨는 언어로 미래 시스템 언어로 각광
4) 회사 시스템/서버 언어 = 보이지 않는 뒷공간 관리
- Java -> 은행, 대기업 시스템에서 많은 쓰는 언어
- Go -> 구글이 만든 빠르고 간단한 언어 / 서버, 대규모 트래픽 처리에 강함
- TypeScript(JavaScript 발전형)-> 자바 스크립트의 발전형, 오류를 미리 잡아주고 안정적으로 만든 JS
언어별로 역할과 쓰임에 따라 정말 다양하죠..
가장 먼저 등장한 C언어를 시작으로 프로그래밍 언어들이 생겨났고,
자바스크립트의 등장으로 점점 프로그래밍 언어들이 쉽게 변화하고 있다고 하네요!
그래서인지 저처럼 노베이스들도 쉽게 배울 수 있는 플러터 같은 언어도 등장한 것 같아요
이 중에서도 자주 쓰이는 주요 언어들 몇 가지만 추가적으로 정리하자면..
주요 언어
1. C 언어(언어계의 근본)
- 가장 기초적이고 오래된 언어 중 하나
- 컴퓨터가 정말 좋아하는 언어라서 속도가 빠르고 가벼움
- 기계 가까운 느낌 → 메모리나 하드웨어를 직접 다루기 좋음
- 그래서 로봇, 임베디드, 운영체제(OS), 칩, 마이크로컨트롤러 등에 많이 사용
사용 예: 자동차 ECU, 로봇 센서 제어, 운영체제 커널 등
2. JavaScript (JS / 자유로운 언어)
- 웹 개발의 대표 언어
- 우리가 보는 웹사이트 움직임(버튼 클릭, 애니메이션, 채팅 기능)을 만들 때 쓰는 언어
- 요즘은 앱·서버도 JS로 만들어서 거의 만능에 가까움
사용 예: 인스타그램 웹, 유튜브 웹, 카카오톡 웹 채팅, 앱 화면 구성도 가능
3. Python(AI에 최강인 만능형 언어)
- 가장 배우기 쉬운 언어: 문법이 단순, 사람이 쓰는 말처럼 읽힘
- AI, 머신러닝 언어 1위: ChatGPT, 이미지 생성, 음성 인식 등에 사용
- 데이터 분석에 최적화: 통계, 그래프, 분석 툴이 잘 갖춰짐, 기업에서 데이터 다룰 때 가장 많이 쓰는 언어
- 엑셀 자동화, 반복 작업 처리, 웹 크롤링에 좋음
사용 예: AI / 머신러닝, 데이터 분석, 웹 서버, 업무 자동화, 간단한 앱이나 게임
그렇다면..
내가 지금 공부하는 Flutter는 무엇인가!
4. Flutter(앱 만드는 개발 도구 / 프레임워크)
- 구글에서 개발한 IOS 앱 + 안드로이드 앱을 한 번에 만들 수 있는 기술->기존에는 아이폰, 안드로이드 각각 따로 개발했음
- Dart 언어로 개발(자바스크립트처럼 앱 화면을 만드는 데 특화된 언어)
- UI(화면) 만들기가 매우 쉬움 -> 버튼, 텍스트, 애니메이션 같은 걸 위젯으로 끼워 맞추듯 조립해서 화면을 만듦
- 매우 빠른 개발 속도
Dart(Flutter의 기반이 되는 프로그래밍 언어)
- 다양한 클라이언트(웹, 모바일, 데스크탑) 애플리케이션 개발에 최적화된 언어
- 간결하고, 읽기 쉬운 문법을 가지고 있다.
- 현대적인 프로그래밍 언어 기능을 지원
- 객체 지향 프로그래밍
- 함수형 프로그래밍
- 비동기 프로그래밍
- Type Safe: 안전한 타입 체계를 가지고 있음 / 프로그래밍 할 때 다루는 데이터의 형태를 타입이라고 함
- 데이터의 타입을 정하고 나서 그 타입이 아닌 다른 타입의 값을 넣으면 오류가 발생하기 때문에 처음 설정한 타입에 맞는 데이터를 넣어야 함
- Null Safe
- null: 값이 없는 데이터를 사용해야하는 경우 컴퓨터에게 '이 데이터에는 값이 없어!'라고 알려주기 위해 사용하는 키워드
- 사용이유: 프로그래밍을 하다보면 프로그램 실행 전에는 아직 값을 정할 수 없지만, 값을 프로그램 실행 중에 정할 수밖에 없는 상황이 생김
- null에 대해 안전한 상황을 만들어 준다는 뜻으로 타입 뒤에 '?' 를 붙이면 됨
- '?' 붙이지 않아서 null을 허용하지 않는 경우는 NonNullable 하다고 함
+ 컴파일러: 컴퓨터와 사람이 서로 다른 언어로 대화할 때 통역 역할
- Compile(컴파일)+er(수행하는 사람 또는 물체)
- 컴파일: 컴퓨터의 언어(저급 프로그래밍 언어=사람의 언어와 거리가 먼 언어)와 사람의 언어(고급 프로그래밍 언어)의 간극을 줄이기 위해 나온 개념
컴파일 종류
1. Just-in-Time(JIT) 컴파일
- 프로그램 실행 중 (런타임)에 코드의 일부 또는 전부를 컴파일 하는 기술
- 장점: 바로바로 컴파일하기 때문에 실행 결과를 실시간으로 확인할 수 있다
- 단점: 실행 중에 계속 코드를 컴파일하니 상대적으로 느리다.
2. Ahead-of-Time(AOT)컴파일
- 프로그램 실행 전에 미리 컴파일 하는 기술
- 대부분의 전통적인 컴파일러가 사용하는 방식
- 장점: 한 번 컴파일 되고 나면 실행 속도가 빠르다
- 단점: 실시간으로 컴파일하는 것이 아니어서 결과를 바로 확인할 수 없다.
이렇게 내가 배우는 프로그래밍 언어까지 정리해 봤는데요
확실히 전체적으로 어떤 프로그래밍 언어들이 있고,
그중에서 내가 배우는 플러터 언어는 어떤 특징들이 있는지 알고 공부를 시작하면
더 이해가 빠를 것 같아요
그럼 본격적으로 플러터에 대해서 포스팅 시작할게요!
'플러터 앱 개발' 카테고리의 다른 글
| Chapter 4. Dart 기본 문법 C - 조건문과 반복문+주석 (0) | 2025.12.08 |
|---|---|
| Chapter 3. Dart 기본 문법 B - 연산자 (0) | 2025.12.08 |
| [Dart 기초] 개인 과제 트러블 슈팅 (0) | 2025.12.04 |
| Chapter 2. Dart 기본 문법 A - 변수와 데이터 타입 (0) | 2025.12.02 |
| Chapter 1. Dart 개발 환경 구성 (3) | 2025.12.01 |