[[TableOfContents]] = 개요 = Martin Odersky가 만든 Object-Oriented, [FunctionalProgramming] Language. 이름은 Scalable Language라는 의미. = 특징 = * Scala 소스 코드는 [Java] ByteCode로 컴파일되어 JVM 상에서 돌아간다. * [Java]와의 문법적 유사성 * Java와의 호환성([http://www.scala-lang.org/ 공식 홈페이지]에서 언급하기로는 완벽 호환이라고 한다. Java의 API를 직접적으로 호출할 수 있다) * [:타입추론 타입 추론] * 언어 레벨에서 [Singleton]객체 지원. * 동시성 제어를 위해 [Erlang]에서 영향을 받은 ["Actor Model"]의 도입. * Trait : 구현(implementation)을 가질 수 있는 interface. * 패턴 매칭. * [http://en.wikipedia.org/wiki/First-class_function First-class function] = 통합 개발 환경(IDE) = * 언어가 복잡하거나 다양한 라이브러리를 제공함에 따라 다양한 기능을 제공하는 [IDE]가 있으면 보다 수월하게 개발을 할 수 있다. Scala는 언어 초기에 지원하는 [IDE]가 부족하여 아쉬움이 컸으나 현재는 Scala를 지원하는 IDE들이 늘어나고 있다. * [IntelliJ] * [http://scala-ide.org/ Eclipse Plugin] : 공식 사이트에서 제작 * [NetBeans] = 다운로드 = http://www.scala-lang.org/download/ = References = [http://docs.scala-lang.org/tutorials/scala-for-java-programmers.html A Scala Tutorial for Java Programmers] : 공식에서 제공하는 Scala Tutorial [http://docs.scala-lang.org/ko/tutorials/scala-for-java-programmers.html 자바 프로그래머를 위한 스칼라 튜토리얼] : 위 사이트의 한글 페이지. 대략적인 Scala의 특성들에 대한 소개가 있다. [http://twitter.github.io/scala_school/ko/index.html 스칼라 학교] : 트위터에서 기획된 스칼라 강좌 [http://www.youtube.com/watch?v=3jg1AheF4n0 O'Reilly OSCON Java 2011: Martin Odersky, "Working Hard to Keep It Simple"] [[include(틀:ProgrammingLanguage)]]