2013-08-24 3 views
1

slow compiler and Martin Odersky's response을 읽은 후 우리는 스칼라 언어를 사용하여 막대한 규모의 ERP 제품 (특정 산업을 대상으로 막대한 자금을 지원)을 시작할 것을 매우 염려합니다.스칼라 언어를 사용하는 대규모 ERP 시스템

아래의 응답을 기반으로 편집 됨 : 다른 모듈로 분할하는 것은 옵션입니다. 그러나 그것은 모든 대형 프로젝트에서 어떻게해야/기획해야하는지입니다. 그것은 단지 우리를위한 해결책이 될 수 없습니다.

마틴 자신이 자바 컴파일러가 스칼라보다 약 10 배 (약 2 년 전) 빠르다고 인정했습니다. (위 링크 참조) 이것은 우리에게는 무섭기 때문에 Dev의 시스템에서 빌드하는 동안 (예 : 클린 빌드를 할 때) 몇 시간을 기다릴 여유가 없습니다. 마틴은 미래에 어떠한 기적도 기대하지 않는다고 분명히 말했습니다.


유일한 옵션은 연속 편집을 사용하는 것입니다. 우리가 의도 한 IDE는 IntelliJ Idea입니다.

  1. 개발자의 컴퓨터/Ide의 성능에 어떤 영향을 미치는지 잘 모르겠습니다.
  2. 또한 저장을 클릭하면 현재 작성 중입니다. 코드 파일을 컴파일하려고합니까?

일부 안내는 정말로 감사하겠습니다.

감사
MK

+0

2010 년에 느린 컴파일러에 관한 질문이 제기되었는데,이 3 년 동안 아무 것도 변하지 않았다고 생각하십니까? – 4lex1v

+0

의견을 보내 주셔서 감사합니다. 그것은 확실히 향상되었을 것입니다. 그러나 마틴의 답변에 따르면, 그것은 앞으로도 천천히 진행될 것이며 어떤 기적도 기대하지 않을 것입니다. –

+1

음, 우리는 거대하지는 않지만 약 10 모듈, 건강 관리 RESTful 시스템 Akka + Spray를 개발 중이며, 현재 Jenkins에서 clean/compile/test 작업에 약 25 분이 걸린다 고 말할 수 있습니다. – 4lex1v

답변

2

컴파일 속도는 확실히 스칼라의 강점이 아닌 한,하지만 당신은 잠재적으로 (이 나무와 같은 의존성 작은 것들의 집합으로 대규모 프로젝트를 구성하여 영향을 얼마나 제한 할 수 있습니다 예를 들어 핵심 유틸리티, 해당 유틸리티에만 의존하는 코어 라이브러리, 코어 및 외부 데이터베이스 라이브러리에 의존하는 데이터베이스 인터페이스 등). 그런 다음 대부분의 개발주기 동안 소규모 프로젝트로 작업하고 비교적 드문 경우에는 더 큰 빌드를 예약하는 척할 수 있습니다.

나의 가장 큰 프로젝트는 매우 작습니다 (컴파일 시간은 5 분 미만, 40k LOC). 그렇지만이 방법으로도 세분화되어 완료하는 데 거의 1 분 이상 기다릴 필요가 거의 없습니다. 유지 보수에 약간의 훈련이 필요하고 일부 리팩터링 (코드의 일반적인 블록을 트리의 리프에서 재 컴파일하기 위해 루트로 복사하는 대신 복제하는 대신 루트로 이동)이 필요하지만 잘 작동합니다.