(스칼라) 스칼라란?

* 스칼라 코드는 짧으며 직관적이다.

val otherList = list.filter( i => i>=5);

* 스칼라에는 다양한 연산자가 존재한다.

이 연산자들은 모두 하나하나 메소드로 되어있다.

예를들어 , 리스트에는 ++라는 메소드가있따

list1 ++ list2 는 리스트1과 리스트2를 합친결과이다.

이렇게 연산자들이 직관적으로 구현되어있고, 띄어쓰기를 통해 깔끔하게 표현가능하기 때문에 스칼라의 유연성과 가독성은 상당히 높은 수준이다.


* 동시성에 강한 언어.

동시성이 뛰어난 라이브러리 아카(akka)가 있따.
아카는 동시성이 뛰어난 액터모델로 이루어져있다.
액터모델이란, 각각의 액터가 서로 간의 메시지를 통해서만 의사소통을 하고 액터를 이루는 변수나 속성은 서로 공유하지 않는 것이다.



* 객체지향 + 함수형 언어

스칼라에서는 모든 것이 객체이다.
함수의 매개변수에 함수객체를 집어넣을 수도있고, 변수에 함수를 할당할 수도 있따.


Member.members.filter(_userId === 'admin').delete

* 맥락을 읽는 언어

자바같은 경우는 자료형 하나하나 명시적으로 지정하고 매개변수를 써야하지만, 스칼라는 필요할 때
implicit 예약어 를 사용하면 명시적인 표현을 감춰버릴 수 있습니다.

* 자바와 뛰어난 연계성

자바의 라이브러리를 언제든지 import해서 사용할 수 있습니다.
또한 JVM을 사용합니다.




댓글

이 블로그의 인기 게시물

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬

(18장) WebSocekt과 STOMP를 사용하여 메시징하기