1. 개요

Martin Odersky가 만든 Object-Oriented, FunctionalProgramming Language. 이름은 Scalable Language라는 의미.

2. 특징

  • Scala 소스 코드는 Java ByteCode로 컴파일되어 JVM 상에서 돌아간다.
  • Java와의 문법적 유사성
    • Java와의 호환성(공식 홈페이지(http://www.scala-lang.org/)에서 언급하기로는 완벽 호환이라고 한다. Java의 API를 직접적으로 호출할 수 있다)
  • 타입 추론
  • 언어 레벨에서 Singleton객체 지원.
  • 동시성 제어를 위해 Erlang에서 영향을 받은 Actor Model의 도입.
  • Trait : 구현(implementation)을 가질 수 있는 interface.
  • 패턴 매칭.
  • First-class function(http://en.wikipedia.org/wiki/First-class_function)

3. 통합 개발 환경(IDE)

  • 언어가 복잡하거나 다양한 라이브러리를 제공함에 따라 다양한 기능을 제공하는 IDE가 있으면 보다 수월하게 개발을 할 수 있다. Scala는 언어 초기에 지원하는 IDE가 부족하여 아쉬움이 컸으나 현재는 Scala를 지원하는 IDE들이 늘어나고 있다.

4. 다운로드

5. References

A Scala Tutorial for Java Programmers(http://docs.scala-lang.org/tutorials/scala-for-java-programmers.html) : 공식에서 제공하는 Scala Tutorial
자바 프로그래머를 위한 스칼라 튜토리얼(http://docs.scala-lang.org/ko/tutorials/scala-for-java-programmers.html) : 위 사이트의 한글 페이지. 대략적인 Scala의 특성들에 대한 소개가 있다.
스칼라 학교(http://twitter.github.io/scala_school/ko/index.html) : 트위터에서 기획된 스칼라 강좌
O'Reilly OSCON Java 2011: Martin Odersky, "Working Hard to Keep It Simple"(http://www.youtube.com/watch?v=3jg1AheF4n0)


언어의 종류
머신 친화적C가족
MachineLangaugeAssemblyCC++Objective-CObjective-C++씨앗
체지향함수형 언어
SmallTalkJAVAC#LispHaskellScala
스크립트언어
JavaScriptCoffeeScriptPerlLuaPHPPythonPyPyRubyShellScriptMATLAB
미분류
ErlangGoJOCamlScalaRCSSMLAdaProlog
ScratchRustless
[http]프로그래밍 언어 목록


Retrieved from http://wiki.zeropage.org/wiki.php/Scala
last modified 2021-02-07 05:27:58