E D R , A S I H C RSS

Scala

Difference between r1.20 and the current

@@ -1,13 +1,28 @@
[[TableOfContents]]
= 개요 =
Martin Odersky가 만든 Object-Oriented, [FunctionalProgramming] Language. 이름은 Scalable Language라는 의미.
= 특징 =
* Java와의 문법적 유사성
* Java와의 호환성([http://www.scala-lang.org/ 공식 홈페이지]에서 언급하기로는 완벽 호환이라고 한다)
* [타입 추론]
* 언어 레벨에서 [Singleton]객체 지원
* 동시성 제어를 위해 [Erlang]에서 영향을 받은 [Actor Model]의 도입
= 개발 환경(IDE) =
* 언어가 복잡하거나 다양한 라이브러리를 제공함에 따라 다양한 기능을 제공하는 IDE가 있으면 보다 수월하게 개발을 할 수 있다. Scala는 언어 초기에 지원하는 IDE가 부족하여 아쉬움이 컸으나 현재는 Scala를 지원하는 IDE들이 늘어나고 있다.
* [http://www.jetbrains.com/idea/ IntelliJ]
* 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/ko/tutorials/scala-for-java-programmers.html 자바 프로그래머를 위한 스칼라 튜토리얼] : 한글 페이지. 대략적인 Scala의 특성들에 대한 소개가 있다.
[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)]]




1. 개요

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

2. 특징

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

3. 통합 개발 환경(IDE)

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

5. References

A Scala Tutorial for Java Programmers : 공식에서 제공하는 Scala Tutorial
자바 프로그래머를 위한 스칼라 튜토리얼 : 위 사이트의 한글 페이지. 대략적인 Scala의 특성들에 대한 소개가 있다.
스칼라 학교 : 트위터에서 기획된 스칼라 강좌
O'Reilly OSCON Java 2011: Martin Odersky, "Working Hard to Keep It Simple"


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


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:27:58
Processing time 0.0436 sec