Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

자바와 루비의 7가지 주요 차이점

Java에서 Ruby로 어떻게 이동합니까?

이 가이드에서는 주요 차이점이 무엇인지 배우게 됩니다. 점프를 하는 데 도움이 되도록 두 언어 사이를 사용하세요.

Java/C#에서 Ruby로 전환하려는 많은 사람들에게 매우 좋습니다.

하지만...

차이점이 궁금하시다면 이 방법도 도움이 됩니다.

해보자!

정적 입력 대 동적 입력

두 프로그래밍 언어에 대한 코드를 볼 때 타이핑 스타일은 가장 크고 눈에 띄는 차이점입니다.

상황은 다음과 같습니다. :

  • Java는 정적 입력을 사용합니다.
  • Ruby는 동적 타이핑을 사용합니다.

정확히 무슨 뜻인가요?

입력은 변수 및 메서드 인수가 작동하는 방식을 나타냅니다.

강력한(또는 정적으로) 유형이 지정된 언어는 모든 변수가 허용할 수 있는 유형(클래스)을 선언해야 합니다.

이렇게 생겼어요 :

int n = 1;

int 위치 이 경우 Integer 유형입니다. .

왜 유용한가요?

이 변수에 다른 유형의 개체를 할당하려고 하면 컴파일러에서 오류가 발생하고 프로그램이 실행조차 되지 않기 때문입니다.

즉, 작업 중인 개체의 종류를 항상 알 수 있습니다.

유연성이 떨어진다는 단점이 있습니다.

대조적으로...

동적 타이핑은 유연성에 관한 것이며 변수는 특정 유형에 묶여 있지 않으므로 유형이 변경될 수 있습니다.

예시 :

n = 1
n = "abc"

단점은 코드가 엉성하고 코드를 읽을 때 오류가 많이 발생하지 않는 경우 더 많은 오류가 발생할 수 있다는 것입니다.

이것이 주요 차이점 중 하나입니다!

다음 섹션에서 자세히 알아보세요.

구문:단순한 것과 상용구

Java는 상용구의 왕입니다.

상용구는 코드를 구문적으로 유효하게 만들기 위해 추가해야 하는 모든 "설정" 코드입니다.

결과적으로...

Java는 단순한 것을 복잡하게 만듭니다!

자바의 Hello World :

class Hello {
  static public void main() {
    System.out.println("Hello World");
  }
}

그런 다음 이것을 클래스 파일로 컴파일하고 실행해야 합니다.

2단계!

(IDE가 이를 도와줍니다.)

또 다른 차이점은 Java의 표현식은 Ruby에서 필요하지 않은 세미콜론으로 끝납니다. 대부분의 경우 Ruby에서는 괄호를 생략할 수도 있습니다.

Hello World in Ruby :

puts "Hello World"

네.

그게 다야.

Ruby가 더 깨끗한 코드를 생성하는 것 같습니다. 동의하십니까?

그 외에도...

터미널에서 단일 명령으로 이 코드를 실행할 수 있습니다!

컴파일 단계가 필요하지 않습니다.

코드 사용:내장 ​​REPL

Ruby는 irb와 함께 제공되므로 약간의 코드를 정말 빠르게 테스트할 수 있습니다.

파일을 저장할 필요도 없습니다.

또는 편집기를 여세요!

Java에는 이 기능이 내장되어 있지 않습니다. 적어도 Java 9까지는 없습니다.

파일 이름 및 파일 구성

Java는 특정 파일 명명 구조 및 구성을 강제합니다.

예를 들어 :

Hello라는 (공개) 클래스가 있는 경우 , 파일 이름은 Hello.java여야 합니다. .

Ruby에서는 그렇지 않습니다.

또한 Ruby에는 private 클래스라는 개념이 없습니다.

예외 처리

Java에는 두 가지 유형의 예외가 있습니다.

  • 확인된 예외
  • 확인되지 않은 예외

차이점?

확인된 예외를 처리해야 합니다!

그렇지 않으면 프로그램이 실행되지 않습니다.

지금 :

Ruby에는 한 가지 유형의 예외만 있습니다.

원하는 경우 처리할 수 있습니다. 통역사는 이에 대해 불평하지 않지만 결국 프로그램이 충돌할 수 있습니다.

컴파일러 및 언어 라이선스

마지막으로 라이선스에 대해 알아보겠습니다.

이것은 일반적으로 프로그래밍 언어의 문제가 아닙니다.

왜?

오픈 소스이기 때문에 한 사람이 수석 유지 관리자이자 디자이너입니다.

여기서 자바는 다릅니다.

대기업(오라클)에 해당되며 라이선스에 영향을 미칩니다.

사실 :

Java 런타임에는 두 가지 버전인 "Oracle JDK"가 있으며 (내가 올바르게 이해한다면) 버전 9부터 상용 제품입니다.

그런 다음 Oracle에도 속한 "Open JDK"가 있습니다.

하지만 오픈 소스 라이선스가 있습니다.

라이브러리 및 코드 배포

Ruby에 대해 내가 가장 좋아하는 것(또한 Matz가 가장 좋아하는 것) 중 하나는 RubyGems입니다.

HTTP 클라이언트와 같은 라이브러리 배포를 훨씬 쉽게 만듭니다.

때문에 :

  • 중앙 저장소가 있습니다
  • 언어에 통합되어 있습니다.
  • 많은 오픈 소스 보석을 사용할 수 있고 찾기 쉽습니다.

내가 아는 한, Java에는 이것에 가까운 것이 없으므로 이것이 주요 승리입니다. 루비를 위해.

요약

Java와 Ruby의 주요 차이점에 대해 배웠습니다. 정적 입력, 상용구 및 파일 이름 지정과 같은 항목을 포함합니다.

이제 올바른 결정을 내릴 수 있도록 Ruby를 더 잘 이해할 준비가 되었습니다.

읽어 주셔서 감사합니다! 🙂