1. 성능차이
이론적으로는 C언어 프로그램의 성능이 압도적으로 높다.
JAVA의 경우 JVM에 의한 해독과정이 한단계 더 필요하기 때문에 2배 그 이상의 연산을 소요함.
2. 이식성
이식성이란, 어떤 한 플랫폼에서 작성된 프로그램이 다른 플랫폼에서 잘 동작할 수 있는지를 의미함.
C에서의 이식성 : 크로스 컴파일을 하면, 다른 플랫폼에서 동작할 수 있다는 의미
JAVA에서의 이식성 : 한번 컴파일을 해놓으면 VM이 돌아가고 있는 어떤 플랫폼에서도 동작이 가능하다는 의미
JAVA로 짜여진 안드로이드 앱은 다운받으면 곧바로 동작이 가능. 모바일은 다양한 종류의 cpu가 존재하고, 각 cpu마다 쓰는 기계어가 달라 그에 맞게 컴파일된 프로그램만 동작이 가능하지만, JAVA는 어떤 플랫폼에서도 동작이 가능하기 때문에 다양한 종류의 스마트 폰이나 플랫폼에서 동작하는 앱을 만들어 배포할 수 있음.
3. 생산성
생산성이란, 같은 기능을 하는 프로그램을 작성하는데에 개발자가 얼마나 적은 노력을 들일 수 있는가를 의미함.
응용프로그램(웹 / 앱)을 개발 할 때의 생산성은 JAVA가 C를 압도함.
+
4. 학습 용이성
기본 문법 자체는 C가 더 간단함.(변수, 배열, 함수, 반복, 조건, 구조체)
JAVA는 C의 문법 + 객체지향 문법(상속, 포함, 추상클래스, 가상함수, 권한, 생성/소멸자 등)
C의 포인터는 컴퓨터의 구조와 운영체제(특히 메모리)에 대한 전반적인 이해가 필요하여 인간과 다른 사고방식에 익숙해지기가 어려워서 어렵다고 얘기함.
JAVA는 객체지향 언어로, 많은 기능들이 클래스로 캡슐화된 라이브러리로 제공되기때문에 자바에 처음 입문하는 사람은 제공되는 기능만 잘 찾아써도 원하는 프로그램을 작성할 수 있어 JAVA를 더 쉬운 언어로 느낄 수 도 있다.
두 언어 모두 깊숙히 들어가면, 매우 방대한 양의 지식과 오랜 시간의 연습과 경험을 필요로 함.
댓글 없음:
댓글 쓰기