복붙노트

[SCALA] 스칼라 : 릴리스 간 바이너리 호환성

SCALA

스칼라 : 릴리스 간 바이너리 호환성

왜 다른 릴리스 간 스칼라 바이너리 호환은?

해결법

  1. ==============================

    1.특징은 인터페이스 등으로 친절하지만 그들은 구현을 포함 할 수 있기 때문에, 특성이 컴파일하는 방식과 관련이있다. 매우 쉽게 당신이 구현과 함께 특성에 새로운 방법을 추가 할 때, 당신이 있기 때문에 재 컴파일 모든 것을, 소스 호환성을 중단하지만 바이너리 호환성을 아프게하지 않는 변경을하는 것입니다, 그래서 이것은을 만드는 구현 그래서 그들은 그 특성이 구현이 의지 픽업. 이도 아마 다른 문제지만, 나는 그들이 대부분 같은 라인을 따라 것 같아요.

    특징은 인터페이스 등으로 친절하지만 그들은 구현을 포함 할 수 있기 때문에, 특성이 컴파일하는 방식과 관련이있다. 매우 쉽게 당신이 구현과 함께 특성에 새로운 방법을 추가 할 때, 당신이 있기 때문에 재 컴파일 모든 것을, 소스 호환성을 중단하지만 바이너리 호환성을 아프게하지 않는 변경을하는 것입니다, 그래서 이것은을 만드는 구현 그래서 그들은 그 특성이 구현이 의지 픽업. 이도 아마 다른 문제지만, 나는 그들이 대부분 같은 라인을 따라 것 같아요.

  2. ==============================

    2.스칼라 고유의 특성이 언급과 같은 기능을하고, 적극적으로 진화하고 있다는 사실에 대한 JVM 지원의 부족.

    스칼라 고유의 특성이 언급과 같은 기능을하고, 적극적으로 진화하고 있다는 사실에 대한 JVM 지원의 부족.

  3. ==============================

    3.당신이 그 원인이 문제가 특정 언어 문제를 이해하려면 여기 배경은, 바로 Odersky에서,이에있다 :

    당신이 그 원인이 문제가 특정 언어 문제를 이해하려면 여기 배경은, 바로 Odersky에서,이에있다 :

    http://www.scala-lang.org/node/9346

    당신이 문제에 새로운 및 응용 프로그램에 미칠 수있는이 영향을 이해하려면 그것은 데이비드 폴락에서이 게시물과 함께 가치가 독서이다 :

    http://lift.la/scalas-version-fragility-make-the-enterprise

  4. ==============================

    4.그것은 여전히 ​​상대적으로 젊고 적극적인 개발을 겪고 있습니다.

    그것은 여전히 ​​상대적으로 젊고 적극적인 개발을 겪고 있습니다.

    이 애타게 기다려온 된 새 릴리스에 약간의 변화와 많은 문제와 그 도움이 있지만, 그들이 이전 버전과 호환 할 수 없었습니다.

    일이 종류의 업데이트에 대한 제한의 때문에, 자바는 오히려 천천히 변화, 보통 쓴 끝에 역 호환성을 유지하려고합니다. 때때로 이것은 진보의 길에 서 있지만 큰 회사는 안정적인 언어를 사랑 해요.

    스칼라는, 다른 한편으로는, 학자의 작은 그룹의 손에, 그리고 그들이 (또는 테이크) 변화에 좀 더 자유가 그래서는 (아직) 널리 산업에 사용되는 아니에요.

  5. ==============================

    5.나는 japi 준수 검사기 1.6 스칼라에 대한 지원을 구현 스칼라의 모든 버전 (모두 binary- 및 소스 호환성)에 대한 이전 버전과의 호환성의 분석을 수행했습니다.

    나는 japi 준수 검사기 1.6 스칼라에 대한 지원을 구현 스칼라의 모든 버전 (모두 binary- 및 소스 호환성)에 대한 이전 버전과의 호환성의 분석을 수행했습니다.

    그래서 지금 당신은 세부 사항의 주요 변경 내용을 볼 수 있습니다. 보고서는 여기에 있습니다 : http://abi-laboratory.pro/java/tracker/timeline/scala/

    당신은 스칼라의 최신 버전에서 변경 사항을 모니터링 할 수 있도록 보고서는 매일 업데이트됩니다.

  6. ==============================

    6.아니, 음. 귀하의 사실을 똑바로 가져옵니다. 때문에 우리가 2.7.2.3b1 기능을 사용하여 입지를 굳힌 레거시 코드와 함께했던 대규모 고객 기반의 나를 위해 진짜 구호를했다> 2.7.2.3b2 - 2.7.2.3b1에서가 재 컴파일 필요 *가 없었다.

    아니, 음. 귀하의 사실을 똑바로 가져옵니다. 때문에 우리가 2.7.2.3b1 기능을 사용하여 입지를 굳힌 레거시 코드와 함께했던 대규모 고객 기반의 나를 위해 진짜 구호를했다> 2.7.2.3b2 - 2.7.2.3b1에서가 재 컴파일 필요 *가 없었다.

    *주의 할 - 당신은 바보 scala.collection._ 또는 scala.xml._ 코드를 사용하지 않는

  7. from https://stackoverflow.com/questions/2053265/scala-binary-incompatibility-between-releases by cc-by-sa and MIT license