프로그래밍에있어 어떤 자연어가 유리합니까? [닫은]


21

언어 상대성 이론 은 언어가 우리가 생각하는 방식을 형성한다는 생각입니다. 내 질문은 이것이 프로그래밍에 얼마나, 그리고 어느 정도 적용됩니까?

  • 다른 자연어보다 프로그래밍에 대해 생각하기에 자연스럽고 자연스러운 언어가 있습니까? 예를 들어, 영어 이외의 언어로 다음을 더 간결하게 설명 할 수 있습니까? Select a pivot. Move all the items less than the pivot to one side of the list, and all the items greater than the pivot to the other side.
  • 중국어를 사용하는 프로그래머는 영어를 사용하는 프로그래머와 근본적으로 다른 렌즈로 프로그래밍을 보나요? 아니면 둘 다 주제에 몰두할 때 차이가 사라 집니까?
  • 어떤 프로그래밍 언어와 도메인은 한 언어로 쉽게 생각할 수 있습니까? 예를 들어, Ruby를 만든 사람 이 일본어이기 때문에 일본어를 사용하는 경우 Ruby를 더 쉽게 잡을 수 있습니까?

이 질문은 "프로그래밍 언어가 사람들이 프로그래밍에 대해 생각하는 방식에 어떻게 영향을 미치는가 "가 아니라 " 자연 언어가 사람들이 프로그래밍에 대해 생각하는 방식에 어떻게 영향을 미치는가"에 중점을두고 있습니다.

실용적으로 유리한 점에서 실용적으로 유리한 한 가지 언어는 영어 입니다. 나는 장점은 같은 영어 키워드를 선택 언어 프로그래밍과 거의 같아요 if, for, while,와 do, 단지 이탈리아어 말을하지 않는 뮤지션으로 같은 단어에 난처하지 않는 장점을 . 요즘은 프로그래밍 세계에서 영어가 링구아 프랑카이기 때문에 다른 프로그래머와 아이디어를 교환하는 것과 더 관련이 있습니다. 예를 들어, StackOverflow에서 질문을하려면 영어를 잘 알고 정답을 원한다면 잘 알고 있어야합니다. 이것은 제국주의적인 태도처럼 들리지만 실제로는 사실입니다.

그 외에도 언어의 고유 속성이 언어를 구사하는 프로그래머가 데이터 구조, 알고리즘 등에 대해 어떻게 생각하는지에 어떻게 영향을 미칩니 까? 논리와 프로그래밍에 관해 이야기 할 때 특히 간결한 언어가있어 해당 언어의 원어민이 더 빨리 생각할 수 있습니까?


2
유능한 프로그래머에게 간단히 말하면됩니다. Implement quick sort.
Josh K

답변:


3

아, Sapir-Whorf 가설 대 Chomsky Deep Structure 가설 전쟁 ...

프로그래밍은 수학입니다. 수학은 철학에 적용됩니다. 그러면 자연스런 언어가 머리를 긁지 않고 수학 개념을 정확하게 묘사 할 수있는 문제가됩니다. 다른 언어를 사용하면 어떤 언어가 아리스토텔레스 형이상학에서 쉽게 다룰 수 있습니까?

속담 '야만인'언어가있을 수 있습니다 초기 어려움이 필요한 1 차 추상화를 표현합니다. 그러나 ! -인간은 새로운 단어와 새로운 개념을 배울 수 있습니다. 고대 그리스는 철학적 인 용어로 시작하지 않았습니다. 그들은 발명 된 다음 다른 언어로 포팅되어야했습니다.

수학이 보편적이라는 것을 고려할 때, 나는 강력한 Sapir-Whorf 가설이 거짓이라고 가정합니다.


"수학은 철학을 적용한다"설명?
Frank Shearar

1
@ 프랭크 : 역사적으로 그렇습니다. '수학의 기초'를 꼼꼼하게 살펴보면, 철학적으로 근거가 있다는 것은 분명합니다. 예를 들어, 전체 직관 론의 주장.
Paul Nathan

나는 당신이 말하는 것처럼 수학적 질문이 철학적이라고 주장하지 않을 것입니다. "수학은 철학이 적용된다"는 말과는 거리가 멀다.
Frank Shearar

@ 프랭크 : 글쎄요, 수학의 기초가 철학적이라면, 기초에서 파생 된 것 또한 철학적 인 것 같습니다. 아니? 예?
Paul Nathan

1
@ 프랭크 : 끔찍 해요? 일부 교양 전공은 그의 라떼에서 sn 거리고 있습니다. :)
Paul Nathan

13

특정 자연 언어가 라틴어를 제외하고 더 나은 프로그래밍에 적합하다는 것을 모르겠습니다. 둘 이상의 언어 를 아는 것이 매우 강력 하다는 것을 알고 있습니다 .

Dijkstra는 그의 마지막 인터뷰 중 하나에서 (CACM Vol. 53 No. 8, p. 44에서 재 인쇄 된) 다음과 같이 말했다.

단일 언어를 사용하는 사람과 적어도 제 2 언어를 잘 알고있는 사람 사이에는 큰 차이가 있습니다. 왜냐하면 일반적으로 언어 구조에 대해 훨씬 더 의식하기 때문입니다. 한 언어로 된 특정 구조는 번역 할 수 없다는 것을 알게 될 것입니다.


6

터키어 는 예외없이 엄격한 규칙을 가지고 있으며 (내가 알고있는) 거의 완벽하게 중복이 없으며 문법적 성별이 없으며 단어로 영어로 문장을 표현할 수 있기 때문에 매우 흥미로운 언어입니다.

과거에 "Çekoslovakyalılaştıramadıklarımızdan mısınız?" "당신은 우리가 체코에서 만들 수 없었던 사람들 중 하나입니까?" 매우 인기가 있었고 터키어로 가장 긴 단어로 받아 들여졌습니다. 그러나 질문 접미사 (이 경우 mısınız)는 별도로 작성되므로 한 단어이지만 단어를 쓸 때 두 단어처럼 보입니다. 또한 "Çekoslovakyalılaştırabildiklerimizden miydiniz?"와 같이이 단어의 더 긴 버전을 쉽게 만들 수 있습니다. 이런 이유로이 단어는 인기를 잃었지만 터키에서는 여전히 인기있는 언어입니다.

터키어로 이야기하면 내가 달성하고자하는 것, 어떤 정보를 전하고 싶은지, 어떤 단어를 사용해야하는지에 대해 생각하게됩니다.

편집
과정 터키어의 생물학적 성별을 나타내는 단어가 있습니다. 그러나 터키어 "o"로 분리 할 수는 없습니다.

또는 스페인어로 "profesor / profesora"및 독일어 "Lehrer / Lehrerin"로 말할 수 있습니다. 터키어에서는 성별을 나타 내기 위해 영어와 비슷한 단어를 추가로 사용해야합니다.
터키어 교사는 öğretmen입니다. 여교사를 지적하려면 "kadın öğretmen"— 여교사라고 말하면됩니다. 그러나 "-in"을 추가하여 여성화하지 않으면 독일인에도 불구하고, 기본값은 남성이며, öğretmen은 성별이 없습니다.

터키어로 사용할 수없는 또 다른 것은 "el / la", "the", "der / die / das"와 같은 기사입니다. 일반적으로 컨텍스트에서 이미 사용 가능한 정보 일뿐입니다.
그러나 "this", "este / esta", "diese / dieses / diese"(예 : "bu")를 나타내는 단어가 있습니다.
이것은 특정 객체를 가리 키기 때문에 추가 정보입니다.


1
문법적인 섹스가 없다면, 작은 터키인들은 어디서 왔을까요? (그런데, 질문을 보았을 때 여기를보기 전에 터키어를 생각했습니다. 말을하지 않는 동안 나는 그것이 얼마나 규칙적인지 들었습니다.)
Randall Schulz

이 영어보다 분명히 스몰 토크의 구문은 더 가까이 터키어입니다 : smalltalk.gnu.org/blog/zuluuuuuu/smalltalk-and-turkish
프랭크 Shearar

@ 프랭크 시어러 : 스몰 토크를 배울 시간!
VikingoS는 Reinstate Monica

@Randall 슐츠 : U는 저를 얻었다;) 난 항상 용어 섹스와 성별을 섞어 ...
VikingoS는 분석 재개 모니카 말한다

일부 연구에 따르면 산스크리트어가 컴퓨터 언어와 가장 유사하다고 들었습니다. 나는 그것이 얼마나 진실인지는 확실하지 않지만 산스크리트어는 주류 언어로 결코 이륙하지 않았고, 또한 시간에 대한 기술 연구를 위해 학계에서 사용 되었기 때문에 오늘날의 자연 언어와는 다릅니다. 터키어는 내 귀에 매우 달콤하게 들리지만 (만으로도) 산스크리트어는 프로그래밍 언어 소년처럼 말하는 것이 지루합니다. 질문을받을 때 마지막으로 듣고 싶은 것은 : "남자입니까, 여자입니까?" "예"입니다.
nawfal

2

나는 당신이 사용하는 프로그래밍 언어가 문제에 대해 생각하는 방식, 변수 및 클래스 이름 등이 단지 무언가를 나타내는 문자 일 것이라고 생각합니다. 다른 문화권의 프로그래머는 구어와 배운 방식 때문에 프로그래밍에 대해 다르게 생각할 가능성이 큽니다.


1

내 의견으로는, 자연어는 코드로 실현하려는 방법이나 아이디어에 대해 이야기 할 때 전혀 중요하지 않습니다 (또는 적어도 중요하지 않아야 함).

스스로 말했듯이 코드 자체를 다루고 코드 영어 에 관한 문서 작성 하는 것이 가장 적절합니다. 그러나 코드 자체는 단지 수공예 이기 때문에 프로그래머 / 컴퓨터 과학자의 진정한 강점은 아이디어, 알고리즘 및 그와 같은 것들보다 그 위에 있습니다. 그런 다음, 그 내용이 묘사 된 언어는 실제 내용에있어 중요하지 않습니다.


0

이 주제는 한동안 관심이 많았던 주제였으며, 그 당시의 책갈피를 찾을 수없는 더 큰 슬픔이있었습니다.

나는 다른 날에 우연히 발견 된 링크를 저장했습니다. 다른 언어는 다른 현실과 동일합니까? 그것에 탄젠트가 있습니다 (주석도 읽으십시오). 일부는 흥미 롭습니다.

어쨌든 ...


-1

영어는 실제로 매우 효율적이고 간결합니다. 대부분의 언어로 번역하면 아이디어를 더 오래 표현할 수 있습니다.

또한 원시 자연 언어없다는 것이 일반적으로 인정 됩니다 . 적극적으로 사용되는 모든 자연 언어는 같은 수준의 표현력을 가지고 있습니다. 아이디어가 언어에 의해 형성되는 것은 아니지만 자연 언어가 큰 영향을 미친다고 생각하지 않습니다.


중국어를 쓰거나 말했을 때 중국어가 아마 가장 간결한 언어 일 것입니다. 번역 길이는 보통 영어의 절반 이상입니다.
Jon Purdy

4
그러나 기호의 복잡성이 그다지 높지 않습니까?
Joeri Sebrechts

중국어는 당신이 말하는 언어의 APL입니까? :)
nawfal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.