개발 속도의 측정


10

프로그래밍 언어의 실행 속도를 측정하는 많은 테스트를 보았지만 개발 속도를 측정하는 테스트는 찾지 못했습니다.

동적 언어로 작업 할 때 개발 속도가 향상되는 것을 들었지만 그 증거가 있습니까? 나는 동적 언어가 효율적이지 않다고 말하려고하지는 않지만, 그러한 것이 존재한다면 과학적 연구 결과를보고 싶다.

유지 관리 시설에 대한 정보가 더 좋습니다. 어떤 언어는 다른 언어보다 쉽게 ​​디버깅 할 수 있습니까?

편집 : 나는 구문에 가까운 두 언어의 차이점에 주로 관심이 있습니다. 예를 들어, C로 프로그래밍하는 것이 일반적으로 Java로 프로그래밍하는 것보다 느릴 것입니다. 그러나 C #에서 프로그래밍하는 것보다 Java로 프로그래밍하는 것이 더 빠릅니까?


programmers.stackexchange.com/questions/10032를 참조하십시오 (그러나 이것이 중복이라고 주장하지는 않습니다).
Frank Shearar

정말 재밌어요, 고마워요! 일부 링크는 실제로 내가 찾던 것과 정확히 일치합니다.
DistantEcho

이 글
ChristopheD

답변:


6

절대적으로 프로그래밍 언어가 차이를 만듭니다. 그러나, 나는 비슷한 문법을 ​​가진 언어의 제약 조건을 고려할 때 프로그래머가 언어의 특정 측면보다 각 언어에 얼마나 친숙한 지에 대해 더 많은 차이가 있다고 생각합니다.


2

나에게 이것은 어떤 유형의 페인트 브러시가 더 빨리 페인트 할 수 있는지와 비슷합니다.

상품을 페인트하는 것을 고려하면 브러시가 클수록 페인트가 빨라집니다.

좋은 코드가 예술 형식으로 보이면 브러시 크기가 적어지고 브러시로 정확하게 수행하는 것입니다.

죄송합니다. 실제 질문에 대한 답변이 아닙니다.


실제로 두 개의 큰 브러시의 차이점에 더 관심이 있습니다. 예를 들어 파이썬이 루아보다 더 나은 개발 속도를 갖는지 또는 그 반대인지 어떻게 알 수 있습니까?
DistantEcho

1
@Niphra, 당신은 모른다. 이러한 비교에서 유효하지 않은 항목이 너무 많아서 유효한 메트릭이 될 수 없습니다.
Adam Crossland

좋은 대답이지만 화가의 기술을 무시한 경우에만
Steven A. Lowe

1

이것이 관련이 있는지 확실하지 않지만 흥미 롭습니다.

Mythical Man Month에서 Fred Brooks는 어셈블리 언어와 고급 언어를 비교하는 연구에 대해 언급합니다. 그들은 프로그래머가 매년 같은 양의 명령어를 생산한다는 것을 발견했지만, 고급 언어에 대한 명령어는 여러 어셈블리 언어 명령어와 동일했습니다. 따라서 고급 언어로 전환함으로써 프로그래머는 생산성에서 어셈블리 명령어의 평균 배수가 언어 명령어로 증가하는 것을 달성했습니다.

C와 Java / C #의 경우에도 마찬가지입니다 .C #과 Java의 실제 차이점을 모르겠습니다. 그러나 추상화 수준을 높일 때마다 생산성이 향상됩니다. 그러나 나는 그것이 기계가 실제로하는 일에 대한 통제력을 감소시킬 것이라고 생각합니다. 언어가 원하는 것을하고 있다는 것을 믿어야합니다. 예를 들어 고성능 소프트웨어에서 가비지 수집은 실행 시간과 실행 시간을 완전히 제어 할 수있는 경우를 제외하고는 허용되지 않습니다.


node.js 및 python과 같은 고급 언어를 비교할 때 다시 수행 할 연구가 오늘 있다면 흥미로울 것입니다.
SomeGuyOnAComputer 12

1

생산성이란 무엇입니까? 제품 은 무엇입니까 ? 수학적으로 말하는 사람은 아무도 모른다.

KLoC?

순환 복잡성?

기능 포인트?

비즈니스 수준을 살펴보고 비슷한 작업을 수행하는 다른 프로그래머와 백분위 수 비교를 수행 한 다음 프로그래머 당 제공되는 기능을 측정해야한다고 생각합니다. 통계적으로 의미를 측정하고 유지할 수있는 매우 정교하고 미묘한 점입니다.


0

이것이 어떻게 테스트 될지 상상해보십시오 : 동일한 언어 (프로그래머 경험과 지식의 가변성을 없애기 위해)와 다른 언어 (일부 데이터를 언어와 비교하기 위해)로 반복적으로 독립적으로 개발 된 실제 프로젝트가 필요합니다. 실험이 관리하기 어려운 크기로 빠르게 성장하는 것 같습니다.

실험을 "축소"하는 방법이나 실제로 실험을 수행하려는 시도에 대해 듣고 싶습니다.


경험은 실제로 문제이므로 초보자 또는 더 나은 사람과는 완전히 다른 프로그래밍 언어로 지식이있는 사람과 함께 일할 것입니다. 프로젝트 규모에 관해서는, 아주 작은 프로젝트만으로는 결과가 완벽하지 않더라도 결과를 얻을 수있을 것으로 생각합니다.
DistantEcho

때때로, 이야기는, 언어의 "승리"는 특정 크기 / 복잡성을 지나서 만 발생합니다. 그보다 작거나 단순한 문제의 경우, 그 언어의 놀라운 점은 분명하지 않습니다. 그렇게 말했다.
Frank Shearar

특정 "승리"가 프로그래머의 특정 복잡성 및 경험 수준을 넘어서는 것으로 기대합니다. 초보자만으로 측정하는 것이 요점을 그리워합니다. 실제로 언어를 잘 사용하려면 언어 별 경험이 필요합니다.
kasterma
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.