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를 더 잘 이해할 준비가 되었습니다.
읽어 주셔서 감사합니다! 🙂