는 Chapter 1 of Programming in Scala에서 인용 : 스칼라 - 액터 모델이 OO와 함수형 프로그래밍을 혼합의 예는 왜?
은 ... 스칼라 함수 값이 객체입니다. 기능 유형은 서브 클래스에 의해 상속 될 수있는 클래스 있습니다. 이 학술 능률이보다 더 아무것도 보이지 않는다 수도 있지만, 확장 성을위한 깊은 결과를 초래한다. 사실 이전에 표시된 배우의 개념은 기능과 객체의 통일없이 구현 을 수 없었다.
나는 저작자 개념이 객체 지향 및 함수형 프로그래밍을 통합하지 않으면 구현 될 수 없다고 말하는 이유를 이해하지 못합니다. 누군가 설명 할 수 있을까요? 저자는 배우 개념이 통합 OO 및 기능없이 구현 될 수 없다고 이유를
actor {
var sum = 0
loop {
receive {
case Data(bytes) => sum += hash(bytes)
case GetSum(requester) => requester ! sum
}
}
}
액터 모델이 처음 얼랑에 구현에 성장 언어, [스칼라가있다] .. 낚시 줄에 미끼로 더주의해야한다 가장 명확하게 OO 언어가 아닙니다. 필자는 저자가이 책에서 논의 된 특정 구현만을 언급하고 있다고 생각한다. – wingedsubmariner
저작자의 "판매"포인트는 언어 내에서 최상위 클래스 값 (즉, 언어의 다른 값과 같은 * 기능 및 * 조작 기능 *의 능력)을 가지므로 얼랑 액터 개념을 다시 구현함으로써 덕분입니다 동일한 * 구문 * 및 * 의미 론적 *에 가깝게 구현할 수 있었지만, 일등 함수가 없으면 불가능했습니다. – didierc
@wingedsubmariner : 사실이 아닙니다. 배우 모델은 1973 년 Carl Hewitt에 의해 고안되었고, 첫 번째 Actor Language는 1975 년 Carl Hewitt가 만든 PLASMA입니다. Erlang은 80 년대에 만들어졌습니다. 실제로 얼랑 (Erlang)의 설계자는 그들이 설계 한 후에도 실제로 배우 모델에 대해 알지 못했습니다. 조 암스트롱 (Joe Armstrong)이 자신의 논문을 썼을 때만 그들은 배우 모델을 독자적으로 다시 발명했다는 것을 깨달았습니까? –