24
프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어 (주)비즈머스 교육자료 [BEA-CM-101]

프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Embed Size (px)

DESCRIPTION

프로그래밍 언어의 정의, 그리고 종류와 주요 프로그래밍 언어에 대해 소개하고 이를 설명하는 내용으로 초급 개발자(신입사원)에 대한 기초 교육을 위한 자료입니다.

Citation preview

Page 1: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

ì  프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어 (주)비즈머스 교육자료 [BEA-CM-101]

Page 2: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

ì  프로그래밍 언어의 정의와 종류 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Page 3: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

프로그래밍 언어의 정의  

언어의 정의?   •  생각,  느낌 따위를 나타내거나 전달하는 데에 쓰는 음성,  문자 따위의 수단  

프로그래밍의 정의?  •  컴퓨터에서 실행되는 프로그램을 만드는 일  •  프로그램의 작성 방법의 결정, 프로그램의 작성을 위한 코딩, 프로그램 작성 후 테스트 등의 일련의 과정을 의미하는 경우가 많음  

프로그래밍 언어란?  

•  컴퓨터에서 실행되는 프로그램을 만들기 위해서 사람의 생각을 컴퓨터가 처리할 수 있도록 그 내용을 전달하거나 명령하기 위해 사용하는 문자로 된 수단  

•  광의의 개념으로는 문자로 된 수단을 사용하여 프로그램을 쉽게 작성할 수 있도록 도와주는 프로그래밍 소프트웨어(Visual  Basic,  Delphi,  PowerBuilder)까지 포함하기도 함  

Page 4: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

프로그래밍 언어의 종류  

프로그래밍 언어를  보는 관점  

•  프로그래밍 언어를 사용하는 개발자 측면에서 보는 관점(사용자 측면)  •  프로그래밍 언어에 의해 만들어진 프로그램을 실행하는 매체의 측면에서 보는 관점(실행 측면)  

사용자 측면에서의 종류   실행 측면에서의 종류  

•  언어가 기계어와 관계 되어 있는 수준의 깊이로 나누는 방법으로 관계가 1:1  수준에 가까울 수록 저수준  

•  고수준 언어 (또는 고급 언어)  ;  High  Level  Language  

•  저수준 언어 (또는 저급 언어)  ;  Low  Level  Language  

•  프로그램을 실행하는 주체에 따라 나누는 방법으로 컴퓨터가 직접 실행하느냐 또는 매개체를 이용하느냐 등에 따라 구분  

•  컴파일러 언어 (Compiler  Language)  

•  인터프리터 언어 (Interpreter  Language)  

•  스크립트 언어(Script  Language)  

세대에 따른 분류  

•  1GL  :  기계어 프로그래밍  •  2GL  :  어셈블리 프로그래밍  •  3GL  :  고수준언어 프로그래밍  (FORTRAN,  C,  C++,  Java 등의 구조적 프로그래밍)  

•  4GL  :  초고수준언어 프로그래밍  (Table  Driven,  Report  Generator,  Database  Query 등 비절차적 프로그래밍 기법 도입)  

•  5GL  : 인공지능 프로그래밍  (Prolog,  OPS5,  Mercury  등)    

Page 5: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

사용자 측면에서의 구분(1)  

저수준언어  (Low  Level  Language)  

•  어셈블리어와 통상적으로 같은 것을 지칭하는 의미로 사용됨  •  통상 기계어(machine  language)와 일대일로 대응하는 언어.    사용자보다는 컴퓨터 측면에서 개발한 언어라 할 수 있으며,  보통 사용하는 자연 언어보다 수준이 낮다.  

#include  <stdio.h>    int  main  {        prinW(“hello  world!\n”);        return  0;  }  

PUSH  EBP  MOV    EBP,  ESP  SUB    ESP,  40H  PUSH  EBX  PUSH  ESI  PUSH    EDI  LEA  EDI,  [EBP-­‐40H]  MOV  EAX,  0CCCCCCCCH  REP  STOS  DWORD  PTR  [EDI]  PUSH  OFFSET  STRING  “hello  world!\n”  (0042001C)  CALL  PRINTF(00401060)  ADD  ESP,4  XOR  EAX,EAX  POP    EDI  POP  ESI  POP  EBX  ADD  ESP,  40H  CMP    EBP,  ESP  CALL  __CHKESP  (004010E0)  MOV  ESP,  EBP  POP  EBP  RET  

Page 6: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

사용자 측면에서의 구분(2)  

고수준언어  (High  Level  Language)  

•  기계어와 비교해서 보다 사람이 이해하기 쉬운 프로그래밍 언어로 기계어와 1:1이 이 아닌 n  :  1  수준의 대응관계를 가지는 언어이다.  

•  자연 언어에 가까운 구문 규칙을 갖추고 있어 이식성이 높은 것이 특징이며 FORTRAN,  ALGOL,  PASCAL,  C,  C++  Objeckve  C,  Java 등이 고수준언어에 속한다.  

FORTRAN  

program  helloworld          print  *,  “Hello,  World!”  End  program  helloworld  

PASCAL  

program  helloworld(output)  begin          WriteLn(‘Hello,  World!’)  end.  

C++  

#include  <iostream>    int  main()  {          std::cout  <<  “Hello,  World!\n”;  }  

Java  

public  class  HelloWorld  {          public  stakc  void  main(String[]  args)  {                  System.out.println(“Hello,  World!”);          }  }  

Page 7: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

실행 측면에서의 구분(1)  

컴파일러 언어  (Compiler  Language)  

•  컴파일 방식에 의해 프로그램을 생성하고 실행은 컴퓨터에서 이루어지는 언어  •  소스코드 자체로는 실행될 수 없고 컴파일 후 만들어진 Object  Code가 수행 프로그램이 됨  

•  일반적으로 고수준 언어에 의해 작성된 소스코드의 각 문장을 적당한 일련의 기계어 명령으로 바꾸어 주며 프로그램 전부를 실행 전에 일괄적으로 기계어로 번역함  

장점  

•  한번 컴파일 하면 컴파일된 프로그램을 그대로 사용가능하며 처리시간이 매우 빠름  

단점  

•  한 줄의 소스코드가 많은 기계어로 번역되기 때문에 상대적으로 큰 기억용량(스택)이 필요함  

•  FORTRAN  :  수학 및 과학 분야 연산, 수퍼컴퓨팅 알고리즘 작성  •  COBOL  :  사무용 프로그램 개발용 언어  •  PASCAL  :  과학 분야 프로그램 개발용 언어  •  C  :  실행속도가 매우 빠른 범용 개발 언어  •  Java  :  자바 가상 머신을 컴퓨터로 하고 이에 따라 컴파일을 하여 실행하는 범용 개발언어  

컴파일러 언어의 종류  

Page 8: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

실행 측면에서의 구분(2)  

인터프리터 언어  (Interprekve  Language)  

•  유사코드를 컴퓨터에 상주해 있는 인터프리터가 해석해 실행하는 프로그램  •  소스코드를 하나씩 통역하여 이것을 실행한 뒤 그 다음 문장으로 이동하여 통역/실행하는 처리를 반복하는 프로그램을 인터프리터라고 하며 이를 이용한 개발 언어를 인터프리터 언어라고 함  

장점   단점  

•  인터프리터에 의해 해석되면서 실행되기 때문에 처리에 많은 시간이 소요되어 컴파일러 언어에 비해 비효율적임  

•  실제로는 인터프리터와 컴파일을 혼합한 형태(가상머신과 컴파일의 혼합 형태 등)로 진화된 언어가 많아서 순수한 인터프리터 언어라고 구분할 수 있는 언어는 많지 않음.  

•  BASIC,  Python,  Ruby,  Java,  Forth 등이 있음  •  광의로는 Scripkng  Language인 ASP,  ECMAScript 기반의 언어,  PHP 등의 언어도 인터프리터 언어의 한 종류로 볼 수 있음  

인터프리터 언어의 종류  

•  한 줄 씩 해석하여 실행하기 때문에 기억장소가 많이 필요하지 않다 자원효율적임  

•  플랫폼 비의존적이고 자료형과 범위가 동적으로 설정될 수 있어 유연함  

Page 9: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

실행 측면에서의 구분(3)  

스크립팅 언어  (Scripkng  Language)  

•  스크립팅 언어란 스크립트로 만들어진 프로그램이 특정한 런타임 환경 하에서 컴파일 대신 인터프리트 되고 자동화되고 실행되어지도록 하는 언어를 말함  

•  일반적으로 웹 브라우저에서 실행되는 웹페이지, 런타임 환경에서 실행되는 소프트웨어, 운영체제 및 임베디드 시스템의 쉘 등이 해당된다.  

장점   단점  

•  단독으로 실행될 수 없기 때문에 별도의 런타임 환경을 구축해야 하고 경우에 따라 많은 리소스가 필요할 수 있음  

•  Job  Control  Languages  &  Shells  :  Shell  Script,  Unix  Shell,  DOS  Script  등  •  GUI  Scripkng  :  Office  Macro  등  •  Applicakon-­‐specific  Languages  :  Emacs  Lisp,  QuakeC  •  Extension/Embeddable  Languages  :  ECMAScript,  AckonScript,  Perl,  PHP,  ASP,  Python  

인터프리터 언어의 종류  

•  특정 실행 환경 상에서 실행되기 때문에 플랫폼 독립적임  •  고수준언어로 프로그램 작성이 직관적으로 이루어질 수 있음  

Page 10: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

ì  주요 프로그래밍 언어 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Page 11: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

Python  

Python  

•  파이썬은 일반적인 목적으로 널리 사용되는 고수준 언어임  •  다양한 플랫폼에서 쓸 수 있고 라이브러리가 풍부하며 객체지향, 구조적 프로그래밍, 함수적 프로그래밍, 동적 타이핑 등 다양한 형태의 프로그램 개발이 가능함  

•  현대의 파이썬은 인터프리터 언어처럼 동작하지만 실제로는 소스코드를 컴파일하여 바이트 코드를 만들어 냄으로써 수행 속도를 개선하고 있음  

•  인터프리터 언어와 컴파일 언어의 혼합  

History  

•  1991년에 최초로 개발되어 22년 이상 사용되어 오고 있음  •  디자이너 :  Guido  van  Rossum  •  프로그램 언어 관리 및 개발 :  Python  Sovware  Foundakon  •  최신 버전 :  3.3.2  (2013년 5월 15일 배포),  2.7.6  (2013년 11월 10일 배포)  •  최신의 트랜드를 반영하고 기존 파이썬의 기능 중 지원이 필요없거나 또는 지저분하게 쌓여 있는 기능을 빼고

새로운 버전으로 전환하는 단계로 3.x 버전은 계속 지속될 버전. 향후 5년 이상의 장기적인 전환계획을 통해 전환을 완료할 예정으로 당분간 버전이 두가지로 운영될 것으로 보임  

Page 12: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

Ruby  

Ruby  

•  동적 객체지향 스크립트 프로그래밍 언어로 순수 객체 지향 언어  •  Mulk-­‐paradigm,  Object  oriented(객체지향),  Imperakve(명령형),  Funckonal(함수지향),    Refleckve(동적타입, 반영지향)  

•  Irb라는 인터프리터로 간단하게 실행 가능.  •  Ruby는 인터프리터의 이름이기도 하며 rb라는 소스파일을 직접 실행시킴  

•  인터프리터 언어  

History  

•  1995년 최초 개발  •  디자인 및 개발 : 마츠모토 유키히로  •  최신 버전 :  2.0.0-­‐p247  (2013년 6월 27일)  •  굉장히 직관적이고 간단한 형태의 문법을 가지고 있어 배우기 쉽고 특히 일본 개발자가 개발한 언어여서 그런지 일본에서 인기가 많은 편이다. 크게 인기를 끌고 있지는 못하지만 2005년 Ruby  on  Rails가 인기를 모으면서 다시 주목을 받고 있다.  

Page 13: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

Fortran  

Fortran  

•  매우 간결하고 엄격한 구문 형식을 지닌 언어로 최초의 3세대 언어  •  수학, 과학 분야 등 복잡한 계산 처리에 강하며 현재도 슈퍼컴퓨터 프로그램 개발 등에 널리 사용되고 있는 프로그래밍 언어임  

•  컴파일 언어  

History  

•  최초 개발 :  1957년  •  디자인 :  John  Backus(존 베커스)  •  개발 :  IBM  •  최신 버전 :  Fortran  2008  (ISO/IEC  1539-­‐1:2010)  –  2010년 •  문장이 비교적 간단 명료하고 수정이 용이하다는 장점이 있으나 다른 언어에 비해 파일의 입출력 처리가 비효율적이고 수치데이터가 아닌 데이터의 표현과 처리에 한계가 있다는 점 등이 단점임  

Page 14: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

COBOL  

COBOL  

•  경영, 회계,  기업/기관 관리 시스템을 개발하기 위한 목적으로 개발된 언어  •  Common  Business-­‐Oriented  Language의 약자  •  많은 분야에서 널리 사용되어 왔고 아직도 코볼 기반의 프로그램이 많이 남아 있지만 구식 언어라는 인식이 강해 차세대 시스템 구축의 주요 대상이 됨  

•  Procedural,  Object-­‐Oriented  

•  컴파일 언어  

History  

•  최초 개발 :  1959년  •  디자인 :  Grace  Hopper(버그라는 용어의 창시자, 최초의 컴파일러 창시자 -­‐  UNIVAC, 미 해군 준장)  •  최근 버전 :  COBOL  2002  (2002년)  •  기계독립적이고 영어문장과 비슷한 문장을 사용하기 때문에 초보자도 쉽게 사용할 수 있고 대용량의 파일 등의 입출력 시 효과적이라는 단점이 있지만 프로그램 문장이 길어 소스코드가 길어진다는 단점이 있고 수학적 계산 처리에는 약함  

•  COBOL의 영향을 받고, 문법도 비슷한 언어 중 ABAP 이라는 언어가 SAP 애플리케이션을 중심으로 사용되고 있어 명맥을 유지하고 있음  

Page 15: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

BASIC  

BASIC  

•  베이직은 프로그램을 보다 쉽게 가르치기 위한 교육용으로 개발되었으며 Beginner’s  All-­‐purpose  Symbolic  Instruckon  Code 의 약자임  

•  Unstructured,  나중에 다음으로 변화 –  Procedural,  Object  Oriented  •  초기의 프로그래밍 언어로 개인용 컴퓨터인 애플,  IBM,  Microsov 등의 PC에 사용됨으로써 널리 퍼지게 됨  

•  인터프리터 언어 -­‐> 컴파일 언어  

History  

•  최초 개발 :  1964년  •  디자인 :  John  George  Kemeny  •  최근 버전 : 기존 버전의 베이직은 쓰이지 않으며 현재는 Visual  Basic.Net 등으로 변화됨  •  배우기가 쉽고 메모리 용량이 적은 컴퓨터에서도 사용하기가 쉽지만 처리속도가 느리고 플랫폼에 종속적이라는 단점을 가지고 있다.  

Page 16: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

C  

C  

•  어셈블리언어와 고수준언어의 장점을 고루 갖추고 있는데 굳이 레벨로 나누자면 중간 수준 언어로 구분할 수 있음  

•  C++,  C#,  Objeckve-­‐C,  Java 등의 기반이 된 언어임  •  Imperakve,  Procedural,  Structured  

•  컴파일 언어  

History  

•  최초 개발 :  1972년  •  디자인 :  Dennis  Ritchie  •  개발 :  Bell  Labs    •  최근 버전 :  C11(2011년 10월, ANSI  C)  •  다양한 컴퓨터 기종에서 별도의 이식 없이 컴파일 후 실행이 가능하며 실행속도가 매우 빠르고 효율적이다. 또한 하드웨어 접근이 가능하여 제어 프로그램 개발에도 효과적이다. 하지만 배우기가 비교적 어렵고 보고서 포맷을 많이 요구하는 응용분야에 적합하지 않다.  

Page 17: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

C++  

C++  

•  대규모 응용프로그램을 만드는데 있어 최적의 객체지향 프로그래밍 언어로 간주되고 있는 언어로서 C언어의 확장판  

•  C 언어에 객체지향 프로그래밍을 위한 여러가지 기능을 덧붙여 강력  •  Mulk-­‐paradigm,  Procedural,  Funckonal,  Object-­‐oriented,  generic  

•  컴파일 언어  

History  

•  최초 개발 :  1983년  •  디자인 :  Bjarne  Stroustrup  •  개발 :  ISO표준위원회에 의해 표준라이브러리가 만들어지고 이를 응용해 다양한 벤더에서 C++ 컴파일러 등을 개발/배포함(예를 들어 Visual  C++)    

•  최근 버전 :  ISO/IEC  14882:2011(2011년)  •  캡슐화, 정보은닉, 상속, 다형성 등 객체지향언어로서의 유용한 특징을 많이 보유하고 있어 많이 사용되지만 익히기는데 많은 노력이 필요하다는 단점을 가지고 있음  

Page 18: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

C#  

C#  

•  C++의 컴퓨팅 파워와 비주얼 베이직의 프로그래밍 편의성을 결합하기 위한 목적으로 개발된 객체지향 프로그래밍 언어  

•  C++에 기반을 두고 있으며 마이크로소프트의 .Net  플랫폼과 작업하도록 설계됨  •  Mulk-­‐paradigm,  Structured,  Imperakve,  Funckonal,  Object-­‐oriented,  Generic,  Event-­‐driven,  Refleckve,  Concurrent  

•  컴파일 언어  

History  

•  최초 개발 :  2000년  •  디자인 :  Microsov  •  개발 :  Microsov  •  최근 버전 :  5.0  (2012년 8월 15일)  •  Refleckon  Programming 등의 도입으로 생산성을 높일 수 있는 개발언어로 평가 받고 있으며 마이크로소프트는 C#도 하나의 표준으로써 자리 잡도록 하기 위해 ECMA와 협력하고 있음  

Page 19: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

Java  

Java  

•  C++와 유사하지만 고급 프로그래밍 언어들이 가진 객체지향프로그래밍의 특징적 요소 중 모호하고 난해한 요소 등을 삭제함  

•  한대의 컴퓨터 또는 분산환경에서도 실행되는 프로그램을 만들 수 있도록 설계  •  Java  Virtual  Machine이라는 실행환경 상에서 실행  •  Mulk-­‐paradigm,  Structured,  Imperakve,  Object-­‐oriented,  Generic,  Refleckve  

•  인터프리터 언어의 특징을 가진 컴파일 언어  

History  

•  최초 개발 :  1995년  •  디자인 :  James  Gosling  &  Sun  Microsystems  •  개발 :  Oracle  Corporakon  •  최근 버전 :  Java  Standard  Edikon  7  Update  45(1.7.45)  (2013년 10월 15일)  •  C++과 더불어 전세계적으로 가장 많이 사용되는 언어로 프로그래밍 언어 뿐 아니라 JVM을 기반으로

하는 플랫폼을 제공하여 Embeded  System,  가전, 모바일 등의 모듈로도 활발하게 사용되고 있음  •  개발자인 제임스 고슬링은 하루에 자바 커피를 10잔 이상 마시는 예찬론자이기도 해서 자바라는 이름을 커피 원산지인 인도네시아 섬의 이름에서 따온 것으로 유명함  

Page 20: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

JavaScript  

JavaScript  

•  자바를 응용하여 사용하기 쉽게 만든 스크립트 언어  •  표준 HTML 문서에 사용되어 인터렉티브한 웹페이지를 만들 수 있도록 함  •  최근의 웹브라우저는 모두 자바스크립트를 지원하기 때문에 웹페이지 개발 언어로서 많이 사용됨  

•  Mulk-­‐paradigm,  Scripkng,  Object-­‐oriented,  Imperakve,  Funckonal  

•  스크립팅 언어(주로 클라이언트 사이드)  

History  

•  최초 개발 :  1995년  •  디자인 :  Brendan  Eich(모질라 재단의 이사회 멤버이자 모질라 회사의 CTO)  •  개발 :  Mozilla  Foundakon  •  최근 버전 :  1.8.5  (2011년 3월 22일)  •  넷스케이프와 더불어 웹브라우저의 새로운 세상을 연 언어. 서버 사이드 자바스크립트도 있으나 현재는 웹브라우저에서 실행되는 클라이언트 사이트 자바 스크립트가 가장 많이 사용됨  

•  자바 스크립트의 사용성 제고, 확장성을 위해 다양한 모듈(jQuery,  JSON  등)이 개발되어 활용되고 있음  

Page 21: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

ActionScript    

AckonScript  

•  액션과 스크립트라는 단어를 합성하여 만든 이름에서와 같이 플래시 오브젝트에 인터렉티브 기능을 넣기 위해 만든 스크립트 언어  

•  자바스크립트의 표준버저인 ECMAScript를 기반으로 만듦  •  Mulk-­‐paradigm,  Scripkng,  Object-­‐oriented,  Imperakve,  Funckonal  

•  스크립팅 언어  

History  

•  최초 개발 :  1998년  •  디자인 :  Gary  Grossman  •  개발 :  Macromedia  -­‐>  Adobe  Systems  •  최근 버전 :  3.0  (2006년 6월 27일)  •  플래시가 많이 사용될 때는 굉장히 각광을 받은 언어였으나 HTML5의 출현 및 대중화와 더불어 점점 그 인기가 줄어들고 있는 추세임.  

•  Adobe는 HTML5를 지원하고 Java 기반으로 RIA  WEB  애플리케이션을 개발할 수 있는 ColdFusion에 더 힘을 쏟고 있는 상황임  

Page 22: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

PHP  

PHP  

•  HTML에 포함되어 동작하는 스크립트 언어로 JSP 등과 마찬가지로 서버 측에서 실행되는 서버 사이드 스크립트 언어임  

•  Imperakve,  Funckonal,  Object-­‐oriented,  Procedural,  Refleckve  

•  스크립팅 언어  –  서버 사이드  

History  

•  최초 개발 :  1995년  •  디자인 :  Rasmus  Lerdorf  •  개발 :  The  PHP  Group  •  최근 버전 :  5.5.5  (2013년 10월 17일)  •  쉬운 사용 방법, 빠른 속도,  MySQL에의 최적화 등으로 인해 웹 기반 애플리케이션 구축에 가장 많이 사용하는 프로그래밍 언어  

•  오픈소스로 진행되는 웹 기반 프로그램은 대부분 PHP로 작성되어 있다고 해도 과언이 아님  

Page 23: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

Copyright����������� ������������������  :����������� ������������������  Bizmerce����������� ������������������  Co.����������� ������������������  Ltd,����������� ������������������  All����������� ������������������  right����������� ������������������  reserved����������� ������������������  주식회사����������� ������������������  비즈머스����������� ������������������  

ETC.  Server  Side  Script  

ASP  •  동적인 대화형 웹 서버 응용프로그램을 작성하고 실행하기 위해 사용할 수 있는 마이크로소프트의 서버 측 스크립트 언어  

•  .Net 기술의 발표와 웹 기반 애플리케이션의 ASP.Net 프레임워크 적용이 구체화 되면서 더이상 ASP는 버전업이 되지 않음  

JSP   •  동적인 대화형 웹 서버 응용프로그램을 작성하고 실행하기 위해 사용할 수 있는  Java의 서버 측 스크립트 언어  

[참고]  ASP.Net은 프로그래밍 언어가 아니라 웹 애플리케이션을 실행할 수 있는 플랫폼임.  ASP.Net은 웹 애플리케이션을 실행하기 위한 환경을 말하고 실제 웹 애플리케이션의 개발은 C#,  Visual  Basic.Net 등으로 하게 되어 더이상 ASP가 필요없게 됨  

Page 24: 프로그래밍 언어의 기본 개념과 주요 프로그래밍 언어

ì  작성일 :  2013년 11월 13일  

ì  최종수정일 :  2013년 11월 13일  

ì  작성자 : 박동혁 김현준 정유진  

ì  본 자료는 “주식회사 비즈머스” 직원 교육용 자료로  허가없이 무단 사용을 금합니다.    

교육자료 (BEA-­‐CM-­‐101)    •  SW  구현 Level  1  •  프로그래밍 부문 001  

주식회사 비즈머스