이 글은 이기적 정보처리기능사 실기 기본서를 기반으로 제작되었습니다.
프로그래밍 언어에 특성에 대해 알아봅시다.
이 챕터에서는 문제가 거의 출제되지 않기 때문에 가볍게 훑어보고 가봅시다.
FORTRAN
1954년에 초기 버전이 개발된 언어이다.
시스템 의존적이고, 프로그램 작성을 하기 위해선 컴퓨터 시스템 관련 지식이 많이 필요하다.
PRINT *, "Hello", "World"
COBOL
1960년에 미국 국방성에 의해 개발되었다.
단순한 입출력 구현 시에도 많은 형식적인 문장이 필요하며, 비교적 프로그램 크기가 크고 구문이 복잡하다.
순차적 방식의 언어로, 웹 응용 프로그램과 쉽게 통합할 수 있다.
자료 구조와 선언 부분과 프로그램의 실행 부분을 분리하였다.
FORTRAN과 마찬가지로 대문자로만 작성된다.
// 프로그램 부분
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLOWRD.
PROCEDURE DIVISION.
DISPLAY "HELLO WORLD".
STOP RUN.
// 원래 이 뒤에 컴파일, 실행 부분도 있지만 길어서 패스 :)
PASCAL
1971년 개발되어 1980년대 말까지 많이 쓰인 언어이다.
잘 짜인 구조와 간결성으로 인해 프로그래밍 언어로서 성공하였으나, 분리 컴파일과 문자열의 적절한 처리 등을 제공하지는 못했다.
사용자 정의 추상화 기능은 제공하나 정보 은닉 기능이 없어 현대의 프로그래밍 기법을 적용하기에는 다소 부족하다는 단점이 있다.
// pascal helloworld
program Hello;
begin
writeln ('Hello, world.');
end.
C
1972년에 개발된 언어로, UNIX 운영체제 구현에 사용되는 언어이다.
범용 언어로 개발되었으나 문법의 간결성, 효율적 실행, 효과적인 포인터 타입 제공이라는 특징으로 인해 가장 많이 사용되는 시스템 프로그래밍 언어가 되었다.
#include <stdio.h>
int main(){
printf("Hello World")
}
C++
C언어를 발전시킨 언어로 클래스, 상속 등을 제공하는 객체 지향 프로그래밍 언어이다.
대형 프로젝트 수행 시 모듈별 분리가 가능하여 개발과 유지 관리에 적합하다.
#include <iostream>
int main(int argc, char* argv[]) {
std::cout << "Hello World" << std::endl;
return 0;
}
JAVA
C++에 비해 단순하고 분산 환경 및 보안성을 지원한다.
JAVA언어는 컴파일을 거쳐야 하며, 컴파일을 통해 생성된 class 파일을 가상 머신을 통해 실행하여야 한다. ( JVM )
class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World")
}
}
JAVASCRIPT ( JS )
1995년에 개발된 객체 지향 스크립트 언어로, 웹 페이지 동작을 구현할 수 있다.
빠른 시간에 코드를 완성할 수 있고 확장성이 좋으며 배우기 쉽다는 장점이 있으나, 보안이나 성능이 다른 언어에 비해 부족하다는 단점이 있다.
JAVA와 다른 언어이다. JAVA와 관련이 없다.
console.log("Hello World!")
PERL
텍스트 처리에 주안점을 두고 개발된 인터프리터 언어로 CGI용으로도 많이 사용된다.
변수를 명시적으로 선언할 필요가 없다.
print("Hello World\n");
PYTHON
배우기 쉽고 이식성이 좋은 언어로 다양한 함수들이 많이 제공되어 스타트업과 글로벌 기업에서도 많이 사용한다.
PERL 언어처럼 인터프리터 언어이면서 객체 지향 언어, 스크립트 언어이다.
print("Hello World")
C#
2000년에 .NET 환경에 맞춰 설계된 언어다.
C와 C++의 발전된 형태로 VB(Visual Basic) 과 같이 사용자 인터페이스를 쉽게 만드는 컴포넌트 기능을 제공하기도 한다.
.NET 환경에서 실행되기 때문에 .NET 환경이 설치되어야 하고, C# 컴파일러를 필요로 한다.
Console.WriteLine("Hello World!")
GOLANG
2009년 Google에서 만든 언어로 짧게 GO라고도 부른다.
C언어와 직접적인 연관을 가지며, 내장 라이브러리가 많이 지원된다.
대체로 C언어의 문법과 유사하나 if, for, switch를 포함한 제어 구조를 가지며, 하드웨어 사양이 낮더라도 빠른 컴파일이 가능하다
// golang helloworld
import "fmt"
func main() {
fmt.Println("hello world")
}
DART
JS와 JAVA의 영향을 받아 개발되었으며, 객체 지향적인 언어이다.
백그라운드에서 작동한다는 점에서 JS와 차이를 가지고 있으며, JS와 유사하나 단순화하였다.
별도의 라이브러리 설치 없이 HTML 페이지를 수정할 수 있다.
// dart helloworld
void main(){
print("Hello World")
}
CEYLON
JAVA에 기반을 둔 언어로 모듈성을 주요 특징으로 가진다.
코드를 패키지와 모듈로 정리하여 가상 머신에서 컴파일을 수행하며, CEYLON Herd라는 저장소에서 모듈을 발행한다.
// ceylon helloworld
void run() {
print("Hello, World!");
}
해당 챕터는 기능사 실기 문제에선 거의 나올 일이 없지만 혹시 모를 상황에 대비해 공부해 가시는걸 추천합니다.
아! 이번 포스팅부턴, 마치며 부분에 다음 챕터는 어떤 내용인지 미리 알려드립니다.
다음 챕터는 "라이브러리"입니다.
다음 시간때 다시 보죠.