'Scala'에 해당되는 글 2건

  1. 2014.08.08 Scala Tutorial part 2
  2. 2014.08.07 Scala Tutorial part 1

오늘은 스칼라 환경셋팅에 대해 포스팅 하도록 하겠다.

스칼라 언어는 유닉스나 윈도우시스템 어디던지 설치될수 있다. 


스칼라를 설치하기 전에, 먼저 여러분의 컴퓨터에 설치된 자바버전이 1.5이상인지 확인해 봐야 한다. 


스칼라 환경셋팅에 대한 포스팅은 우분투 14.04를 기반으로 하겠다. 


STEP 1 : java 셋팅.


여러분의 컴퓨터에 설치된 자바버전이 1.5이상인지 확인해 보고 JAVA_HOME 환경변수를 셋팅하고 PATH 변수에 jdk 빈 디렉토리를 추가한다. 


잘 되었다면 명령창에 java -version 을 입력하고 enter를 치면 다음과 같은 내용을 볼것이다.




다음 java 컴파일러가 설치되었는지 확인 해 본다.  javac-version을 치면 다음과 같은 내용을 볼것이다.





STEP 2 : scala 셋팅.


우분투에서 스칼라를 설치하는 방법은 스칼라 다운로드 페이지에서 다운로드 받아 설치할 수도 있는데, 나는 우분투에서 간단한 명령으로 설치하였다.

 apt-get install scala

위와 같은 명령을 치면 스칼라가 설치된다.


이제 스칼라 버전을 확인해 보자.






나 같은 경우는 버전이 2.9.2이다. 


STEP 3 : scala 간단 테스트.


이제 설치를 해봤으니 스칼라 간단 테스트를 해보자.


아래와 같은 명령을 날리면  




scala>


이런식으로 나온다.  이제 Hello, Scala!를 출력해 볼까?





정상적으로 출력됐다면 위에 과정을 성공한 거다!.


다음에는 스칼라 문법에 대해 소개 하는 글을 가지고 돌아오겠다.


그때까지 see you soon~!


'Newbie's Log' 카테고리의 다른 글

초보 개발자의 6개월, 그리고 좌충우돌 실수담.  (0) 2014.09.15
Unity 3D란?  (0) 2014.08.29
Scala Tutorial part 1  (0) 2014.08.07
MVC(Model, View, Controller) 패턴에 대하여.  (0) 2014.08.07
AngularJS Tutorial  (0) 2014.07.29
Posted by 알 수 없는 사용자
,

회사업무중 play framework를 사용할 계기가 있어 알아보던중 scala라는 언어를 알게 되었다.


그리고 급 관심이 생겼고 scala에 대해 공부하기 시작했다.


이를 바탕으로 오늘 포스팅은 scala에 대한 간단한 소개를 하려고 한다. 


스칼라 소개는 tutorialpoint.com의 scala tutorial문서를 기반으로 번역한 글이다.


scala는 Scalabla Language의 줄임말로 하이브리드한 함수형 프로그래밍 언어이다. 


Martin Odersky가 개발했고 2003년에 처음 배포되었다. 


scala는 객체지향 언어와 함수형 언어를 통합한 것이 특징인데 JVM(자바 가상머신)위에서 컴파일 된다.


비즈니스 응용프로그램에 의지하는 많은 회사들이 개발생산성과 어플리케이션의 확장성, 전체적인 신뢰성을 끓어올리기위해 스칼라로 전환하고 있다.


여기 어플리케이션 개발자들이 스칼라를 우선적으로 선택하게 만드는 스칼라의 중요한 특징들이 있다.


1.scala는 객체 지향적이다.


scala는 모든 value들이 객체인점에서 보면 순수한 객체지향 언어이다. 

객체의 타입과 행동들에 대한 설명은 다음 포스팅에서 설명하도록 하겠다.

클래스는 다중상속을 위한 깔끔한 대체물로써 서브클래스와 유연한 mixin기반의 혼합 메카니즘으로 확장된다.-->이 말은 번역하면서도 먼말인지 몰라 영어로 추가해서 써 놓았다.

(Classes are extended by subclassing and a flexible mixin-based composition mechanism as a clean replacement for multiple inheritance.)


2.scala는 함수적이다.


또 scala는 모든 함수가 value이고 모든 value가 객체이며 그 결과 모든 함수가 객체인 면에서 함수형 언어이다.

scala는 익명의 함수를 정의하기 위한 경량화된 문법을 제공하고, 고차 함수(higher-order function)를 제공한다.

scala는 함수중첩을 허용하고 currying을 제공한다. 이러한 개념은 다음포스팅에서 자세히 설명하도록 하겠다.


3.scala는 statically typed형 언어이다.


scala는 다른  statically typed형 언어(java,c++,c)와 다르게 쓸모없는 타입 정보를 제공해주지 안는다.

대부분의 경우의 type들을 구체화해 줄 필요가 없으면 반복할 필요도 없다.


4.scala는 jvm위에서 돌아간다.


scala는 java byte code로 컴파일 되면, jvm에 의해 실행된다. 이 의미는 scala와 자바는 공통된 런타임 플랫폼을 가지고 있다는 있다는 것을 의미한다. 그래서 여러분은 자바에서 scala로 쉽게 이동할 수 있다

scala 컴파일러는 scala 코드를 java byte code로 컴파일 하는데 이것은 scala 명령어로도 실행될 수 있다. scala 명령어는 자바명령어와 비슷한데, 즉 컴파일된 scala 코드를 실행시키는 것이다.


5.scala는 자바코드를 실행할 수 있다.


scala는 scala안에서 java sdk의 모든 클래스와 자바클래스,자바오픈소스프로젝트를 사용할수 있게 해준다.



Scala vs Java


Scala는 자바와 다른 몇가지 다른 특징들이 있다.


-모든 타입이 객체

-타입 추론

-중첩 함수 

-함수는 객체

-Domain specific language(DSL) 지원

-Traits.?--> 이건 더 알아봐야 겠다.

-Closures.? --> 이것도.

-Erlang의 영감을 받은 동시성 지원?? -->이것도.



Scala Web Frameworks


Scala는 엔터프라이즈 웹 어플리케이션으로 어디서나 중요하게 사용되고 있다. 

아래가  인기있는 Scala 웹프레임워크가 있다.


1.The Lift Framework

2.The Play Framework

3.The Bowler Framework


scala를 간단하게 소개해 보았다.

다음 포스팅때는 scala 환경을 셋팅하는 것을 주제로 포스팅 하도록 하겠다.

그때까지 see you soon~!




'Newbie's Log' 카테고리의 다른 글

Unity 3D란?  (0) 2014.08.29
Scala Tutorial part 2  (0) 2014.08.08
MVC(Model, View, Controller) 패턴에 대하여.  (0) 2014.08.07
AngularJS Tutorial  (0) 2014.07.29
TDD를 위한 Library: Toast - Unit Testing for CodeIgniter  (0) 2014.06.22
Posted by 알 수 없는 사용자
,