2017-04-08 3 views
6

"Programming Ruby"책에서는 루비가 파일 기반 소스 코드를 가지고 있다고 말합니다.파일 기반 소스 코드 란 무엇입니까?

Smalltalk와 같은 진정한 객체 지향 언어를 사용하십시오. 익숙하지 않은 구문을 버리고보다 일반적인 파일 기반 소스 코드로 이동하십시오. [...] 당신은 루비로 끝납니다. 언어 파일 기반의 소스 코드를 가지고하는

http://docs.ruby-doc.com/docs/ProgrammingRuby/

은 무엇을 의미합니까?

+8

유명 켄트 벡 (Kent Beck) (http://www.azquotes.com/quote/847274) : "소스 코드가 파일에 포함되어 있으며, 기이 한 방법, 70 년대 방법!" –

답변

13

이것은 소스 코드가 파일을 기반으로한다는 것을 의미합니다. 예를 들어 Intentional Domain Workbench에서는 원본 텍스트가 없습니다. 소스는 시맨틱 트리이며 파일이 아닌 데이터베이스에 저장됩니다. 스몰 토크에는 원본 텍스트도 없습니다. 클래스와 메소드는 다른 객체와 마찬가지로 객체이며 다른 객체와 마찬가지로 가비지 수집 객체 메모리에 저장됩니다. 객체 메모리는 컴퓨터가 들어갈 때 RAM이 디스크에 직렬화되는 방식과 비슷하게 디스크에 직렬화되고 다시 읽혀집니다 최대 절전 모드로 전환하면 프로그램이 실제로 실행을 멈추지 않고 시스템이 실행되는 동안 시스템의 실시간 개체를 편집 할 수 있습니다. (LISP는 비슷합니다.)

루비에서는 프로그램이 중단 될 때마다 모든 것이 버리고 프로그램이 시작될 때 모든 것이 다시 빌드됩니다. 파일이 "죽었습니다", 라이브 객체로 구성되지 않습니다. 프로그램을 편집 할 때 라이브 시스템이 아닌 "죽은"파일을 편집합니다. 이것이 바로 "파일 기반 소스 코드"가 의미하는 것입니다.