절차지향언어
C 같은 방식으로, 진행의 흐름에 따라 코드를 작성한다.
장점으로는 흐름에 따라 진행되기에 처리 속도가 빠르다.
단점은 흐름대로 코딩 되기에 수정이 어려울 수 있으며, 프로그램을 분석하기도 어렵기 때문에, 대형 프로젝트에는 적합 하지 않다.
객체지향언어
C++, JAVA와 같은 방식으로, 각각의 객체를 만들어, 객체들을 연결하여 코드를 만든다.
장점으로는, 객체 단위로 프로그램을 작성하기 때문에, 코드의 재활용이 쉬우며, 유지보수 및 업그레이드가 쉬우며
디버깅과 업그레이드, 분석, 설계가 간단하고, 캡슐화, 다형성, 상속의 특징이 있다.
이러한 이유로 대형 프로젝트에서 유리하다.
단점으로는 처리속도가, 객체의 모든 기능을 불러와 사용하기 때문에 느리고, 설계에 많은 시간이 투자된다.