대소문자를 구분하는 프로그래밍 언어의 장점이 있나요?[복제하다]

StackOverflow https://stackoverflow.com/questions/521349

문제

저는 개인적으로 프로그래밍 언어가 대소문자를 구분하는 것을 좋아하지 않습니다.

(대소문자 구분의 단점이 요즘에는 좋은 IDE로 보완된다는 것을 알고 있습니다.)

그래도 대소문자를 구분하는 프로그래밍 언어에 어떤 이점이 있는지 알고 싶습니다.많은 인기 언어의 디자이너가 대소문자를 구분하도록 선택한 이유가 있나요?

편집하다:중복 많은 언어가 대소문자를 구분하는 이유는 무엇입니까?

편집하다:(제가 몇 년 전에 이런 질문을 했다는 게 믿기지 않습니다.)

도움이 되었습니까?

해결책

이것은 선호도입니다. 나는 사례 민감도를 선호하며, 이런 식으로 코드를 읽는 것이 더 쉽다는 것을 알았습니다. 예를 들어, 변수 이름 "myvariable"은 "myvariable", "myvariable"및 "myvariable"과 다른 단어 모양을 갖습니다. 이것은 두 식별자를 구별하는 것을 한 눈에 더 간단하게 만듭니다. 물론, 당신은 또는해서는 안됩니다 매우 드물게 경우에만 다른 식별자를 만듭니다. 이것은 가능한 식별자의 수를 늘리는 명백한 "이점"보다 일관성에 관한 것입니다. 어떤 사람들은 이것이 단점이라고 생각합니다. 나는 어떤 경우에도 민감도가 나에게 어떤 문제도 주었을 때를 생각할 수 없다. 그러나 다시, 이것은 선호도입니다.

다른 팁

대소문자 구분은 어떤 문자가 서로 동등한지 알아낼 필요 없이 문자 시퀀스를 직접 비교할 수 있기 때문에 본질적으로 구문 분석 속도가 더 빠릅니다(비록 약간이지만).

클래스/라이브러리의 구현자가 코드에 케이싱이 사용되는 방식을 제어 할 수 있습니다. 사례는 또한 의미를 전달하는 데 사용될 수 있습니다.

코드는 더 동일하게 보입니다. 기본 시대에는 이들은 다음과 같습니다.

PRINT MYVAR
Print MyVar
print myvar

유형 검사를 사용하면 Case Sensitivity를 사용하면 철자와 인식되지 않은 변수가 없습니다. 코드에 고정 된 버그가 둔감하고 유형이없는 언어 (Fortran77)와 제로 (0)와 대문자 O가 편집기에서 동일하게 보였습니다. 언어는 새로운 객체를 만들었으므로 출력에 결함이있었습니다. 사례에 민감하고 입력 한 언어를 사용하면 이런 일이 일어나지 않았을 것입니다.

컴파일러 또는 통역사에서, 사례에 민감하지 않은 언어는 일치를 테스트하기 위해 모든 것을 상단 또는 소문자로 만들어야하거나 다른 방식으로 둔감 한 일치 도구를 사용해야하지만 이는 컴파일러에 대한 소량의 추가 작업 일뿐입니다.

플러스 사례에 민감한 코드는 다음과 같은 특정 선언을 허용합니다.

MyClassName MyClassName = New MyClassName ()

그리고 사례 민감도가 좋은 다른 상황.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top