티스토리 툴바


얼마전에 IBM Developer Works에서 호기심이 생기는 기사를 봤다.

기사 : 바쁜 자바 프로그래머를 위한 스칼라 입문 : 객체 지향론자를 위한 함수 프로그래밍

내용을 간단히 요약해보면..
cpu가 멀티코어 시대가 되었으며 때문에 2개의 cpu에서 동시에 실행하는 멀티스레드 환경이 되었다. 기존의 Lock 동기화 메커니즘을 사용하면 멀티코어 성능을 제대로 활용할 수 없다. 멀티 스레드에 완벽하게 안전한 언어가 요구된다. 함수 언어는 동기화 없이 멀티스레드에 항상 안전하다. 이렇게 서론을 띄우고 SCALA라는 언어를 소개한다.


SCALA

Scala는 다음 같은 몇 가지 강력한 장점을 가진  함수-객체 혼성 언어다. 다음은 SCALA의 특징이다.

1. 자바 바이트코드로 컴파일되고 JVM 위에서 실행된다. 자바의 풍부한 오픈소스 환경을 활용할 수 있을 뿐 아니라 별도의 이행 비용 없이 현재의 IT 환경에 통합할 수 있다.

2. 스칼라는 하스켈(Haskell)과 ML의 함수 원리에 기반을 두고 있으면서도 여전히 자바 프로그래머가 좋아하는 친숙한 객체 지향 개념을 많이 빌어왔다. 결과적으로 양쪽의 최선을 하나로 녹여냈다.

3. 마지막으로 스칼라는 자바 커뮤니티에서 Pizza와 GJ 언어로 잘 알려진 Martine Odersky에 의해 개발되었다. 참고로 GJ는 현재 Java 5 제네릭스(Generics)의 프로토타입이다. 이 같이 스칼라는 "뭔가 진지한 성과"라는 느낌을 준다. 별 생각 없이 만들어 별 생각 없이 버려지는 언어가 되지는 않을 것이다.


정리해 보자면.. 멀티스레드에 안전하다는 함수적 개념을 도입한 Java의 확정버젼?? 이렇게 해석된다. 믿을만한 사람이 개발했기 때문에 앞으로도 더 발전할 것이라는..

거참 구미가 당긴다.


1. 다운로드

한번 테스트 해보고 싶어서 스칼라 홈페이지에서 스칼라를 다운받아 봤다.
다운로드 홈페이지 : http://www.scala-lang.org/downloads/

1) 윈도우즈 환경에서는 다음의 빨간색으로 네모친놈을 다운로드 받는다.
사용자 삽입 이미지


2) 압축을 푼다. Windows installer로 설치해야 하는 줄로 예상했는데 그렇지 않다. 압축을 풀면 그것으로 설치가 끝이다.

3) 스칼라 메인 폴더를 적절한 위치로 이동시킨다.  나는 C:\scala-2.7.1.final 로 이동시켰다.

4) 내컴퓨터(마우스 뒷버튼) - 속성 - 고급 - 환경변수에 스칼라 홈과 bin path를 추가해준다.
SCALA_HOME : C:\scala-2.7.1.final
PATH에 추가 : C:\scala-2.7.1.final\bin


2. Hello World!!

1) 이제 공식 테스트 프로그램인 HelloWorld를 Scala버젼으로 타이핑해보자. (자세한 설명은 튜토리알 참고)
object HelloWorld {
    def main(args : Array[String]) : Unit = {
        System.out.println("Hello, Scala!");
    }
}


2) 컴파일 후에 실행해 보았다.
컴파일 : scalac HelloWorld.scala

3)
실행 : scala HelloWorld
사용자 삽입 이미지


JAVA로 실행 : java -classpath %SCALA_HOME%\lib\scala-library.jar;. HelloWorld
사용자 삽입 이미지

'Computer Language > Scala' 카테고리의 다른 글

[Scala] Project Euler Problem 4  (0) 2009/07/25
[Scala] Project Euler Problem 3  (0) 2009/07/25
[Scala] Project Euler Problem 2  (0) 2009/07/18
[Scala] Project Euler Problem 1  (0) 2009/07/18
Scala Eclipse Plugin 설치하기  (2) 2008/07/13
Scala(A SCAlable LAnguage) 소개  (0) 2008/07/13
Posted by cherrykyun
TAG