문법 보면 val/var 식별자: 형식 같은 기본 문법도 그렇고 OOP랑 FP 합치고 static 키워드 날리고 싱글톤 오브젝트로 대체하는 것도 그렇고 companion object도 그렇고 ADT도 그렇고 data class도 그렇고 다 스칼라에서 가져온 거 같은데
implicit conversion 없애고 extension method 추가한다든가 옵션 모나드 클래스 대신 nullable notnull 강제 명시하는 방법을 쓴다든가 스칼라의 러닝 커브를 낮추려고 한 게 보임
근데 행보도 JVM 기반으로 시작해서 JS 추가적으로 지원하고 네이티브 시도하는 걸 보면 똑같음
스칼라는 옛날에 닷넷 프레임워크 지원하다가 구현 문제로 버린 흑역사가 있지만
implicit conversion 없애고 extension method 추가한다든가 옵션 모나드 클래스 대신 nullable notnull 강제 명시하는 방법을 쓴다든가 스칼라의 러닝 커브를 낮추려고 한 게 보임
근데 행보도 JVM 기반으로 시작해서 JS 추가적으로 지원하고 네이티브 시도하는 걸 보면 똑같음
스칼라는 옛날에 닷넷 프레임워크 지원하다가 구현 문제로 버린 흑역사가 있지만
흔한 21세기 언어네
companion object랑 sealed class 알면 왜 내가 스칼라를 꼽았는지 알 거임
나도 코틀린 보고 러닝커브 낮춘 스칼라라고 생각했었어