Difference between r1.26 and the current
@@ -1,16 +1,28 @@
[[TableOfContents]]
= 개요 =
= 개요 =
Martin Odersky가 만든 Object-Oriented, [FunctionalProgramming] Language. 이름은 Scalable Language라는 의미.
= 특징 = * Java와의 문법적 유사성
* Java와의 호환성([http://www.scala-lang.org/ 공식 홈페이지]에서 언급하기로는 완벽 호환이라고 한다)
* [타입 추론]
* 언어 레벨에서 [Singleton]객체 지원
* 동시성 제어를 위해 [Erlang]에서 영향을 받은 [Actor Model]의 도입
* Trait
= 개발 환경(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] : 공식 사이트에서 제작 * [https://netbeans.org/ NetBeans]
* [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라는 의미.
3. 통합 개발 환경(IDE) ¶
- 언어가 복잡하거나 다양한 라이브러리를 제공함에 따라 다양한 기능을 제공하는 IDE가 있으면 보다 수월하게 개발을 할 수 있다. Scala는 언어 초기에 지원하는 IDE가 부족하여 아쉬움이 컸으나 현재는 Scala를 지원하는 IDE들이 늘어나고 있다.
- IntelliJ
- Eclipse Plugin : 공식 사이트에서 제작
- NetBeans
- IntelliJ
5. References ¶
A Scala Tutorial for Java Programmers : 공식에서 제공하는 Scala Tutorial
자바 프로그래머를 위한 스칼라 튜토리얼 : 위 사이트의 한글 페이지. 대략적인 Scala의 특성들에 대한 소개가 있다.
스칼라 학교 : 트위터에서 기획된 스칼라 강좌
O'Reilly OSCON Java 2011: Martin Odersky, "Working Hard to Keep It Simple"
자바 프로그래머를 위한 스칼라 튜토리얼 : 위 사이트의 한글 페이지. 대략적인 Scala의 특성들에 대한 소개가 있다.
스칼라 학교 : 트위터에서 기획된 스칼라 강좌
O'Reilly OSCON Java 2011: Martin Odersky, "Working Hard to Keep It Simple"