http://cafe.naver.com/bfzoneimprovised/484224
안녕하세요. 연야입니다. 아직 갓고딩이여서 전문적으로 올려드릴수는없지만 최대한 힘내서 해보겠습니다.
흠흠..
현재, 컴퓨터의 보급율이 높아지면서, 이제 컴퓨터는 우리의 친숙한 친구라고도 불릴수가있습니다. 카페를가보면 사람들이 휴대용 컴퓨터 (노트북) 을 들고다니면서 여러 업루를 신속하게 처리하고, pc방에가보면 많은사람들이 컴퓨터로 게임을 즐기고있습니다. 그만큼 컴퓨터는 떼놓을수가 없는존재인데요.
여러분들이 하시는 게임,문서등이있는데요. 대부분은 모두 그존재들을 '프로그램'이라고 부릅니다. 쉽게 알려드리자면, 버블파이터나 포토샵,또는 인터넷 익스플로러도 프로그램에 해당이됩니다.
cmd 라는 프로그램을 아시나요?
cmd 라는 프로그램은 이렇게생겼습니다. 예전 즉 1990년대까지만해도 우리가 쉽게쓰는 윈도우라는 운영체제가아닌, cmd 라는 dos 운영체제를 사용하고있었습니다. 이 운영체제를 사용하기위해서는 명령문(instruction)을 써야하지요. 하지만 명령문을 쓰는것은 굉장히 복잡하고 어렵습니다. 그래서 마이크로소프트가 컴퓨터 초보도 편하게쓸수있게 윈도우라는 운영체제를 개발한것이지요.
여기서 미리알려드리자면, 우리가 배울것은 위에 말씀드린것처럼 명령문입니다. 즉 프로그래밍, 코딩(프로그래밍을 한다는것)을 배우면 할수있게된다는거지요.
저러한 명령문들이 집합되있는걸 "프로그램" 이라고합니다. 버블파이터를 보시면, 캐릭터들이 움직이거나 총을쏘면 그레이더에 맞춰지게되는데, 그것도 전부 프로그래밍을이용한것입니다. 물론이쪽은 게임 프로그래밍이라는 다른 형식이있기에 이쪽분야에 관심이 있으신분은 프로그래밍을 배우시고, 게임프로그래밍쪽으로 넘어가시면 될거같습니다.
좀더간단히 설명해드리자면
프로그램 안에 명령문이 존재한다고 알아두시면됩니다.
일상생활에서 사용하는 언어들이있지요. 한글, 영어, 중국어, 일본어등등이있습니다. 이런 언어를 자연어 ( natural language ) 라고합니다. 자연어는, 사람이 이해하기 쉽게 만들어진 언어입니다. 지금 제가 글쓰고있는것도 자연어지요.
이와같이, 컴퓨터 안에있는 프로그램도 전문 프로그래머들이 프로그래밍 작업을 통하여 만든것인데, 프로그래머들이 프로그램을 만들기 위해 컴퓨터에서 사용하는 프로그램을 프로그래밍 언어라고 부릅니다.
프로그래밍 언어는 크게 저급 언어와 고급언어로 분류를합니다.
1.저급언어
컴퓨터가 쉽게 이해할수 있는 언어, 즉 컴퓨터에 중점을 두고 구성된 기계 중심의 언어입니다. 저급 언어는 프로그램 실행 속도가 고속이며, 컴퓨터 기종에 따라 사용하는 언어가 다르고 컴퓨터 기종 간에 호환성이 없습니다.
컴퓨터는 0과 1로만 이루어져있는데 01010101010101010101 이런언어가 저급언어라고 생각하시면 편합니다.
1) 기계어
위에 설명해드렸다시피 컴퓨터는 디지털 시스템이므로 0과 1밖에 인식을 못하게 되있습니다. 기계어는 명령어와 데이터를 0과 1로 나타내어서 컴퓨터의 동작을 지시하는 것이지요. 기계어는 컴퓨터가 바로 이해가 가능하기때문에 실행 속도가 빠르다는 장점이있지만, 기종마다 사용되는 문법이 다 다르고 2진수 형태로 되어있기때문에 명령어 작성 및 이해하기가 어렵다는 단점이 있습니다.
2) 어셈블리어
기계어를 쉽게 사용하기 위해서 기게어와 1: 1 형식으로 대응시켜 기호화한 언어입니다.어셈블리어는 CPU(컴퓨터중앙처리장치)
개발사에 따라 기능이 서로서로 다르며, 동일한 CPu에 대해서도 다른 어셈블리어가 있을 수도 있습니다.
기게어의 수치에 따른 표현 대신에 인간이 알기 쉬운 표기법을 사용하며 덧셈 명령은 ADD , 전송 명령은 MOV 등의 표현을 사용합니다.
다이해 안하셔도됩니다. 그냥 " 아. 컴퓨터가 이런 언어들이 있구나 " 라는 느낌만 이해하셔도 충분히 진행하실수있습니다.
2 고급언어
일상생활에서 사용하는 자연어와 유사하기 떄문에 배우기 쉽고 컴퓨터 기종에 관계없이 활용할 수 있는 장점이있습니다
(단, 영어로 가능합니다. 한국어로 프로그래밍을하면 오류가 뜨게됩니다)
1) 절차 중심 언어
작업의 처리 과정을 하나하나 명시해서 프로그램을 작성하는 언어로서 1960년대부터 사용되어 왔지만 요즘에는 사용이 줄어들고있습니다.
1 포트란 ( FORTRAN : FORmula TRANslation )
최초로 개발된 고급 프로그램 언어로서, 과학 기술 계산 및 공학 분야의 수치계산에 이용됩니다. 규격이 간단하고 배우기쉽습니다 ( 어렵습니다 )
2 알골 ( ALGOL : ALGOrithmic Language )
표준화된 알고리즘 언어로서, 과학 기술 계산에 이용됩니다. 구조가 명료하고 구문표기법으로 형식문법을 최초로 사용한 언어입니다.
3 코볼 ( COBOL : COmmon Business Oriented Language )
영어 회화체 형태로 프로그램 논리를 기술한 프로그래밍 언어로 사무 처리용 언어입니다.
4 피엘원 ( PL/I : Programming Language One )
COBOL, FORTRAN, ALGOL 등의 장점을 모은 언어이며 대수적인 연산자를 이용하여 수학 계산 및 자료 처리를 합니다.
5 파스칼 ( Pascal )
체계적인 프로그래밍 지식을 교육하고, 안정된 소프트웨어의 효율적인 구현을 위해 개발된 알골(ALGOL)의 후속 언어입니다. 구조적인 프로그래밍 기법을 사용합니다
6. C언어 (중요)
유닉스(UNIX) 운영체제를 위하여 개발된 언어이며, 수치해석 , 텍스트 처리 데이터베이스등 거의 모든 분야의 프로그램에 사용된다
7. 리스프 ( LISP : LISt Processing )
메사추세스 공과 대학(MIT)의 인공지능 그룹에서 APL과 FORTRAN의 영향을 받아 개발했으며, 기본 자료 구조가 연결 리스트로서 되부름을 많이 사용하는 인터프리터 언어입니다 ( 지금은 아실필요가 없습니다 )
8. 베이직 ( BASIC : Beginner's All Purpose Symbolic Instruction Code ) 확실히 이게편하긴해요
대표적인 인터프리터 언어이며 프로그래머가 배우기 쉬운 매우 간단한 언어입니다.
오늘날에는 프로그래머가 더욱 쉽게 프로그래밍할 수 있도록 개발 환경을 통합하여 윈도우 운영체제 환경에서 사용가능하도록 만든 비주얼 베이직을 이용합니다.
2) 객체 지향 언어 *중요
객체(Object)는 데이터(속성)와 함수를 갖습니다. 객체 지향 프로그램이란 이러한 오브젝트(객체)를 만들수 있는 프로그램을 의미합니다. 클래스는 같은 속성과 행위를 가진 것으로 분류를 해놓은 것입니다. 함수는 객체 지향 언어에서 메서드 라고 불립니다. 어떤 과제를 처리하기위하여 객체 간에는 메세지를 주고 받습니다. 메세지를 받은 객체는 동작을 실행합ㄴ디ㅏ. 객체 지향 언어에는 ADA, C++, JAVA, PYTHON 등이있습니다.
3) 사용자 중심 언어
4세대 언어(4GL)이라고 합니다. 4세대 언어가 처음으로 선보이게 된 것은 1973년경입니다. 4GL은 프로그래밍 언어나 기법에 숙달되지 않은 일반 프로그래머들도 쉽게 프로그래밍할수 있는 종합적인 소프트웨어 도구를 제공하며, 자주 사용하는 명령에 쉽게 접근할 수 있도록 질의어 중심으로 만들어진 언어입니다
오늘 강의는 여기까지입니다. 지금 이글을보고 이해가 안되는분이나 뭔말인지 모르겠다라는 분들이 많으실겁니다. 하지만 계속 내용을 보고 읽다보면 이해가 됩니다. 만약 계속 봤는데도 이해가안됬다. 그러면 네이버 지식인을 한번찾아보세요. 그러고도 이해가 안된다면, 학원을 다니시면서 전문적으로 배우셔야 합니다.
ㅎㅎ;; 아직 프로그래밍에는 한발짝도 다가가지않았습니다. 제가 강의글을 맨날올려드릴수는없겠지만 , 짬이날때마다 한번씩 올려드리도록 하겠습니다.