Scala 프로그래밍 언어는 최근 많은 개발자들의 관심을 끌었습니다. Scala 웹사이트를 대충 살펴보면 Scala가 명령형과 기능을 완벽하게 결합한 순수한 객체 지향 프로그래밍 언어라는 것을 느낄 수 있습니다. 크리스토퍼 디긴스(Christopher Diggins)는 얼마 전까지만 해도 프로그래밍 언어가 필수 언어 또는 함수 언어로 분류될 수 있었다고 믿습니다. 스칼라는 이러한 인위적인 경계를 완화하는 새로운 언어 다양성을 나타냅니다. Rupp는 자신의 블로그에서 Scala가 차세대 Java일지도 모른다고 말합니다.
Scala에는 몇 가지 핵심 사항이 있습니다. 스칼라의 값은 기본 데이터 유형(즉, 부울 값, 숫자 등)을 포함하는 객체입니다. 또한, 클래스는 하위 클래스로 분류될 수 있으며 스칼라는 믹스인 기반 믹스인 기반 위치도 제공합니다. >
단일 상속만 지원하는 언어에 비해 스칼라는 클래스 재사용에 대한 더 넓은 의미를 갖습니다. 스칼라는 새 클래스를 정의할 때 클래스에서 새 멤버 정의를 재사용할 수 있습니다(즉, 상위 클래스와의 차이점). 이를 믹스인 클래스 조합이라고 부릅니다.
스칼라에는 고차 함수(Higher Order Function), 로컬 애플리케이션(Currying), 중첩 함수( Nested Function), 시퀀스 해석(Sequence Comprehensions) 등
Scala는 정적으로 유형이 지정되어 있어 일반적인 내부 클래스는 물론 다형성 메서드(Polymorphic Method)까지 제공할 수 있습니다. Java 및 NET과 상호 운용되도록 설계되었습니다. Scala의 현재 버전은 아직 NET에서 실행할 수 없지만(이전 버전은 가능하지만) 향후 NET에서 실행할 예정입니다.
< p> Scala는 Java와 상호 운용할 수 있습니다. scalac 컴파일러를 사용하여 소스 파일을 Java 클래스 파일(즉, JVM에서 실행되는 바이트코드)로 컴파일합니다. Scala 및 Java에서 모든 Java 클래스 라이브러리를 호출할 수 있습니다. of David Rupp또한 수많은 기존 Java 라이브러리에 액세스할 수 있어 (잠재적으로) Scala로 더 쉽게 마이그레이션할 수 있습니다.
< p>이를 통해 Scala는 수많은 Java 클래스 라이브러리 및 프레임워크를 사용할 수 있습니다. Java 또는 Scala용으로 작성된 것은 이러한 Java 버전에 대해 정기적으로 테스트됩니다. Scala는 이전 버전의 Java에서도 실행될 수 있지만 공식적으로 테스트되지는 않았습니다. Test Scala는 BSD 라이센스에 따라 출시되었으며 몇 년 동안 상당히 안정적인 것으로 간주되었습니다. p>이 모든 것을 말했지만 우리는 아직 Scala를 사용해야 하는 이유에 대한 질문에 답하지 못했습니다. Scala의 디자인은 항상 개념을 통해 실행됩니다.
구성 요소를 더 잘 지원하는 언어("Scala 프로그래밍 언어" Donna Malayeri)를 만듭니다.
즉, 소프트웨어는 재사용이 가능해야 합니다. Scala는 객체 지향과 기능이라는 두 가지 다른 스타일의 핵심 개념을 통합하고 일반화하는 프로그래밍 언어를 제공하기 위해 구성 요소로 구성됩니다. 이러한 목표와 디자인을 통해 Scala는 다음과 같은 몇 가지 뛰어난 기능을 제공할 수 있습니다.
* 객체 지향 스타일
* 기능적 스타일
* 더 높은 수준의 동시성 모델
Scala는 Erlang 스타일을 결합합니다. Actor 기반 동시성이 JVM에 제공됩니다. 개발자는 이제 Scala의 기능을 활용할 수 있습니다. JVM에서 확장 가능한 동시 애플리케이션을 설계하기 위한 행위자 모델
복잡한 Java 스레딩 모델에 따라 프로그램을 작성하지 않고도 자동으로 멀티 코어 프로세서의 이점을 얻을 수 있습니다.
* 경량 함수 구문
o 상위 수준
< p>o 중첩o 커링
o 익명
* XML과 통합
o Scala 프로그램에서 직접 XML 쓰기 가능 < /p>
o XML을 Scala 클래스로 변환
* Java와 원활하게 상호 운용
Scala의 스타일과 기능이 매력적입니다 Debasish Ghosh와 같은 많은 개발자가 그렇게 생각합니다
p>
나는 한동안 Scala를 사용해 왔으며 이 언어의 혁신을 정말 좋아한다고 말할 수 있습니다 lishixinzhi/Article/program/Java/hx/201311/26873< /p>