오픈 소스
easy to code: high-level programming language
high-level programming language | low-level programming language |
---|---|
사용자 친화적 | 기계 친화적 |
디버깅이 쉽다 | 디버깅이 비교적 어렵다 |
유지보수가 쉽다 | 유지보수가 비교적 어렵다 |
플랫폼 독립적 (portable) | machine-dependent |
complier나 interpreter가 필요 | assembler 필요 |
객체지향언어: 단위 모듈(객체) 중심
인터프리터 언어
컴파일러 언어 | 인터프리터 언어 |
---|---|
전체 코드 기계어 최적화 실행 | line by line으로 실행: 코드의 각 line bytecode 실행 |
실행속도 빠름 | 실행속도 상대적으로 느림 |
상대적으로 많은 메모리 사용 | 상대적으로 적은 메모리 사용 |
C, C++, Java, C# | Python, Scalar |
다양한 라이브러리가 존재
동적 타이핑 언어: 변수의 자료형이 런타임에 결정됨
동적 메모리 할당: 변수가 값으로 주어지는 순간에 메모리가 할당됨
data type | size | 표현 범위 (32-bit platform) |
---|---|---|
string | 1byte | - |
int | 4byte | |
long | ||
float | 8byte |
참고문헌