[Java] 1. Java, Js와의 비교 [240827]

2024. 8. 27. 17:20공부/DGTP TIL

  1. java
    • 가전제품 같은 전자기기에 탑재하기 위해 개발 / 웹앱에서 가장 널리 사용. 안드로이드를 비롯한 모바일 기기용 소프트웨어 개발에도 널리 사용됨
  2. 특징
    • 객체지향, 메모리 관리를 위한 가비지 컬렉터, JVM(컴파일러 언어로서의 특징) - 운영체제에서 독립적임, 
    • 안드로이드 개발 - java와 코틀린과 함께라면 
    • DB처리 - 웹에서 CRUD처리를 위해
    • 동적 웹 서버 개발 - 사용자의 행동 선호도 관심사에 따라 달라지는 웹 콘텐츠 개발
  3. Java와 JS의 비교
    • 용도에 따른 차이
      • Java의 경우 다양한 분야에서 사용되며, 강력한 멀티스레딩 기능과 높은 안정성 때문에 대규모 시스템 구축에 용이하다.
      • JS의 경우 웹브라우저에서만 사용되다 Node.js를 기반으로 서버사이드에서도 사용할 수 있게 되었다. 웹개발에 있어서 거의 기본이 되는 언어로 프론트 백 모두 활용 가능하여 비교적 소규모 프로젝트에 적합하다.
        (또는, 재빠른 개발에 유리하다?)
    • 문법과 실행 환경
      • Java는 컴파일러 언어로, 소스코드를 바이트코드로 변환한 후 JVM에서 실행한다. 이로 인해 운영체제에서 독립적이다. 엄격한 타입 시스템과 클래스 기반 객체지향 프로그래밍을 지원한다.
      • JS는 인터프리터 언어로, 웹 브라우저에서 직접 실행된다. 이는 동적 웹페이지의 빠른 구현에 도움이되며, 여기저기서 끌어온 다양한 업데이트로 매우 빠르게 발전해나가고 있다. / TS라는 수퍼셋 언어도 존재하며, 더욱 안정적이고 엄격한 개발을 지원하고 있다. 
    • 성능
      • Java는 일반적으로 JS보다 빠른 실행 속도를 가지며, 강력한 멀티스레딩 기능을 이용한 병렬 처리로 대규모 시스템에서 높은 성능을 발휘한다.
      • JS는 실행 시점에 해석되기 때문에 Java보다 실행 속도가 느리다. 그러나 엔진 최적화와 여러 기술의 발전으로 성능이 크게 향상되고 있다. 
    • 커뮤니티 지원
      • 오랜 역사와 강력한 기업지원 덕분에 강력한 생태계를 구축한 Java
      • 가장 인기 있는 언어로서 막대한 생태계를 가진 JS 
    • 정리
      • Java의 경우 모바일에서 강점을 가지며, 엔터프라이즈급 웹 서비스에서 안정성과 보안성, 강력한 멀티스레딩을 통해 우위를 가지고 있습니다.
      • Js의 경우 동적 웹 페이지의 빠른 구현과 백/프론트 모두 커버 가능하다는 강점이 있습니다. 또한, 다양한 라이브러리와 프레임워크를 통해 부족한 부분을 보완하고 있습니다.