프로그래밍 언어란??
프로그래밍 언어는 컴퓨터 시스템을 동작하게 하는 소프트웨어를 작성하기위한 언어이다.
컴퓨터는 0과 1을 사용하는 기계이다. 사람이 이해할 수 있도록 컴퓨터와 의사소통을 가능하게 해주는 언어이다.
프로그래밍 언어의 종류
- Low-Language(저급언어)
- 기계중심의 언어이다.
- 실행 속도가 빠르다.
- 사람이 직접 이해하기 어렵다.
- High-Language(고급언어)
- 사람 중심의 언어이다.
- 컴퓨터가 이해할 수 있도록 번역이 필요하다.
C/C++
C
C언어는 현재 사용하는 모든 컴퓨터 시스템에서 사용할 수 있는 프로그래밍 언어이다.
절차 지향 프로그래밍 언어로 처리속도가 빨라 시스템 프로그래밍에 적합하다.
코드가 간결하여 다른 언어보다 상대적으로 유지보수가 쉽다.
저급언어의 특징을 가지고 있어 다른 프로그래밍 언어에 비해 배우기가 쉽지 않다.
기본 형태
1 |
|
C++
C++은 객체 지향 언어이다. 객체 지향언어의 특징에는 캡슐화, 정보은닉, 추상화, 상속성, 다형성이 있다.
C++은 기본적으로 C언어의 절차지향적 특징도 가지고 있다.
캡슐화된 객체들은 재사용이 가능하다.
상속성을 이용하면 상위 클래스의 속성과 연산을 재정의 하지않고 하위 클래스의 속성으로 사용 가능하다. 객체와 클래스의 재사용을 잘 활용할 수 있다.
C++은 처리속도가 빠르며 시간이 짧아 AI 문제 해결에 적합하다. 알고리즘을 광범위하게 사용할 수 있으며 신경망과 같은 통계 인공지능을 구성하는데 있어 효율적인 수단이다.
기본 형태
1 |
|
JAVA
JAVA는 객체 지향 언어중 하나로 초기에는 가전 제품에 탑재할 용도로 개발되었지만, 현재는 스마트폰과 컴퓨터에서 실행되는 다양한 애플리케이션을 개발할 수 있는 언어가 되었다.
객체지향 언어로 캡슐화, 상속성, 다형성 등의 특징을 가지고 있다.
함수적 코딩을 지원한다. 자바 8부터 지원되는 람다식은 같은 동작을 하더라도 코드가 간결해지는 장점이 있다.
속도가 느리다. 한 번의 컴파일링으로 기계어가 생성되는것이 아니라 JVM에 의해 기계어로 번역된 후 실행되기 때문에 C/C++에 비해 속도가 느리다.
할 수 있는것
- App 개발(Android App)
- Web Service(Java Servlet)
- GUI Application
기본 형태
1 | package helloworld; |
HTML, HTML5
HTML은 Hyper Text Markup Language는 web page를 위한 markup 언어이다.
다양한 tag를 사용하여 구조적 문서를 만들수 있다.
css로 html문서의 외관과 배치를 설정할 수 있고, javascript로 html의 문서의 동작을 제어한다.
기본 형태
1 | <!-- html5의 <b>기본 형태</b> --> |
Python
python은 다양한 플랫폼에서 사용할 수 있으며, 다양한 라이브러리를 사용할 수 있다.
들여쓰기를 이용해 블럭 구조를 만들 수 있다.
과학, 공학 분야에서 큰 수치들의 빠른 연산이 가능하다.
수학적 연산외에도 web을 구성할 수도 있다.
텐서플로우 라이브러리를 이용하여 머신러닝 연산처리를 할 수 있다.
기본 형태
1 | def hello(): |
R
R언어는 통계 계산과 그래픽을 위한 프로그래밍 언어이다.
많은 머신러닝 알고리즘이 R언어로 구현된다.
R코드를 메인 메모리에 올려서 CPU가 처리하기 때문에 최대 데이터 크기는 RAM의 크기에 따라 차이가 있다.
기본 형태
1 | help.start() //시작 페이지 |
SQL
RDBMS(관계형 데이터베이스 관리 시스템)의 데이터를 관리하기위해 사용되는 언어이다.
자료검색, 자료 관리, 데이터베이스 스키마 생성이 가능하다.
다양한 언어에서 SQL 문법을 이용한 데이터 관리가 가능하다.
기본 형태
1 | CREATE TABLE student(); //데이터를 저장할 student라는 테이블 생성 |
mobile app
- 모바일 앱을 구성할 수 있는 언어
- JAVA (Android)
- KOTLIN (Android)
- OBJECT C (Ios)
- SWIFT (Ios)
- REACT NATIVE (Android, Ios)
- react native는 android와 ios 운영체제를 동시에 개발이 가능한 Facebook의 오픈소스 프로젝트이다.
web app
- web app을 구성할 수 있는 언어
- HTML/CSS
- PHP
- PYTHON
- REACT
- JAVASCRIPT
- RUBY