누구나 파이썬 배우기_2

2023. 8. 27. 19:19Python 배우기(누구나 쉽게)

// 프로그래밍 언어의 종류

 

최초 프로그래밍 언어는 1940년대 말부터 탄생하기 시작하였습니다.

 

1940년대 디지털 컴퓨터의 발전과 함께 프로그래밍 언어는 발전하였습니다.

 

예를 들어 처음에 만들어진 A라는 프로그래밍 언어가 있습니다. 우리는 그 A라는 프로그래밍 언어로 계산기 프로그램을 만들었습니다. 그런데 그 언어는 계산기 프로그램을 만들 때만 유용하였고, 그 외 다른 프로그램을 만들기 위해서는 너무 코드가 복잡하거나 실행 속도 너무 느린 언어였습니다.

 

그래서 그 단점을 보완하기 위해 또 다른 언어들을 쭉 만들게 됩니다. 그러나 또 불편함이 생기게 됩니다. 컴퓨터 프로그램을 만들 때는 좋은 언어로 사용하기 쉽지만 모바일 프로그램을 만들기에는 상당히 불편한 언어가 되게 됩니다.

그래서 이번엔 모바일 프로그램을 쉽게 만드는 데 유용할 수 있도록 단점을 보완한 또 다른 언어를 만들게 그 언어로 모바일 프로그램을 만들 때 사용하게 됩니다.

 

이처럼 프로그래밍 언어는 각각의 쓰임새에 맞게 발전해 왔습니다. 그로 인해 지금에는 많은 언어들이 탄생하였고 예전보다는 더 쉽게 프로그래밍할 수 있는 언어들이 만들어지게 됩니다.

 


프로그래밍 언어는 크게 저수준 언어와 고수준 언어 두 가지로 나눌 수 있습니다.

 

먼저 저수준 언어는 컴퓨터와 친화적입니다. 인간 보다는 기계가 더 정교하고 정밀하게 알아들 수 있도록 프로그래밍하는데 쓰입니다.

 

반대로 고수준 언어는 인간과 친화적입니다. 프로그래밍을 할 때 코드를 정교하게 작성하지 않고 또는 생략을 하여 간략하게 코드를 적기 때문에 인간이 사용하기에는 편합니다.

 

이 두 분류의 차이는 저수준 언어는 인간이 프로그래밍 하기에는 복잡하지만 그만큼 기계에 맞춰 작성하였기 때문에 프로그램의 오류도 적고 성능이 낮은 기계에는 딱 필요한 자원만 사용하도록 더 정밀하게 코드를 작성할 수 있는 장점이 있습니다.

 

고수준 언어는 아주 간단한 프로그래밍 언어 문법으로도 손쉽게 코드를 작성하여 프로그래밍을 할 수 있기 때문에 사용하기에는 편하지만 간략화가 되어 있기 때문에 그만큼 기계가 이해하는 데는 시간이 걸립니다. 그래서 성능이 낮은 컴퓨터보다 성능이 높은 컴퓨터를 요구합니다.

 


char name[6] = "corine"; 
int age = 21;
name = "corine" 
age = 21

 

위의 두 가지 언어를 보면 첫 번째는 C언어이고 두 번째는 파이썬입니다.

예시의 코드를 보면 변수의 이름과 변수 안에 데이터를 넣어주었습니다.

 

둘 다 name 이라는 변수에 corine 라는 데이터와 age 라는 변수에 21 이라는 숫자를 넣어주었습니다.

C언어 같은 경우는 변수의 자료형을 맨 앞에 지정해주었고, 파이썬 같은 경우는 변수의 이름과 데이터만 작성하였습니다.

지금 당장 변수가 무엇인지 모르셔도 되고 위의 코드의 내용을 정확히 알 필요는 없습니다.

 

다만 여기서 설명하는 것은 똑같은 의미의 코드를 작성하였지만 C언어가 파이썬보다 코드가 좀 더 길다는 것입니다.

즉, C언어는 기계가 더 잘 알아들 수 있도록 친절하게 세분하된 코드로 작성하였지만 파이썬은 인간이 단순화된 코드로 쉽게 작성하기만 하였기에 기계에 초점이 맞춰진 언어가 아니게 됩니다.

 

물론 위의 두 가지의 언어가 각각 저수준 언어와 고수준 언어는 아니며, 딱 정해진 기준이 없기 때문에 저수준 언어와 고수준 언어는 스펙트럼과 같은 존재입니다.

 

실제 저수준 언어는 컴퓨터만 알아들을 수 있고 인간이 이해하기에는 상당히 힘든 기계어(머신 코드), 어셈블리어 등이 있습니다.

0010011110111101 1111111111111000 
0010000000100000 0000000000001010 
0010000000100001 0000000000000010 
1010111110100001 0000000000000000 
0010000001000001 0000000000000100 
1010111110100010 0000000000000100 
0010011110111101 0000000000001000

Machine Code(기계어)

square(int): 
        push    rbp 
        mov     rbp, rsp 
        mov     DWORD PTR [rbp-4], edi 
        mov     eax, DWORD PTR [rbp-4] 
        imul     eax, eax 
        pop      rbp 
        ret

Assembly Language(어셈블리어)

 

이와 같이 기계어는 거의 사람이 한눈에 이해하기에는 어려우며 어셈블리어 또한 컴퓨터는 이해하기 쉽지만 사람이 선뜻 보기에는 어려운 언어가 됩니다.

 

 

// 파이썬을 배우는 이유

 

우리가 수많은 언어 중 파이썬을 배우는 이유는 아무것도 모르는 백지상태에서 코딩을 배우기에는 파이썬만큼 쉬운 언어가 없기 때문입니다. 물론 다른 언어가 더 익숙해져서 오히려 단순한 프로그래밍 언어가 어렵게 느껴질 수도 있지만 무엇보다도 처음 배우는 코린이로썬 매우 좋은 언어라 생각합니다.

 

 

이처럼 활용도 또한 다양한 분야에서 쓰이기에 우리는 본격적으로 파이썬을 배워나가보도록 하겠습니다.