다른 (음성) 언어로 코딩 알고 있는가? 이 코드는 : If

이것은 제가 항상 궁금해했던 것인데, 온라인 어디에서도 언급 된 내용을 찾을 수 없습니다. 예를 들어 일본의 상점에서 코드를 작성하면 영어로 읽을 수 있습니까? 아니면 C, PHP와 같은 언어에 일본어 번역이 있습니까?

내가 묻는 것은 세계의 모든 코더가 내가하는 것과 똑같은 예약어를 사용하기에 충분한 영어를 알고 있는가?

이 코드는 :

If (i < size){
    switch
        case 1:
            print "hi there"
        default:
            print "no, thank you"
} else {
    print "yes, thank you"
}

현재 영어로 표시되는 것과 똑같이 표시되거나 영어를 사용하지 않는 다른 사람이 “if”, “switch”, “case”, “default”, “print”및 ” 다른 사람의 모국어로?

편집-예, 이것은 심각합니다. 언어의 지역화마다 키워드가 다른지 몰랐습니다. 또는 전혀 다른 현지화가있는 경우에도 마찬가지입니다.



답변

내가 잘 이해했다면 실제로 질문은 “세계의 모든 코더가 내가하는 것과 똑같은 예약어를 사용할만큼 충분한 영어를 알고 있는가?”입니다.

글쎄 .. 영어는 여기서 주제가 아니라 프로그래밍 언어 예약어입니다. 10 년 전에 시작했을 때는 영어에 대한 실마리가 없었고, 그게 무슨 뜻인지 몰랐을 때에도 프로그래밍 언어를 배우면서 간단한 것을 프로그래밍 할 수있었습니다 (영어). 사실 이것은 제가 영어를 배우는 데 도움이되었습니다.

예를 들면. 나는 “iteración”(물론 반복)을하는 것을 알고있다.

 for( i = 0 ; i < 100 ; i++ ) {}

나에게 “for”, “;” 그리고 “++”는 단순한 외국어 또는 기호입니다. 나중에 “for”가 “para”를 의미하고 “while”이 “mientras”등을 의미한다는 것을 알게되었지만 그 동안 영어를 알 필요는 없었지만 제 경우에는 “C”를 아는 것이 필요했습니다.

물론 더 많은 것을 배우고 싶을 때는 영어를 배워야했습니다. 문서가 그 언어로 작성 되었기 때문입니다.

그래서 대답은 : 아니오, 나는 내 모국어로 등을 볼 수 없습니다. 나는 그것들을 영어로 보았지만, 그것들이 차례로 프로그래밍 언어를 의미하는 다른 어떤 의미도 나에게 의미하지 않았습니다.

bash : case .. esac의 switch 문과 같습니다. “esac”이란 무엇입니까? bash에서 switch 문의 끝입니다.

이것이 우리가 “추상화”라고 부르는 것 같아요


답변

Java 언어에서 일부 메소드는 JavaBeans 규칙으로 인해 영어를 사용하여 (적어도 부분적으로) 이름이 지정되어야합니다.

이 규칙에서는 getX () 및 setX () 메서드 쌍을 통해 X 속성을 설정해야합니다. 여기 프랑스어-캐나다에서 일부 개발자는 프랑스어로 코드를 작성해야하므로 다음과 같은 비극이 발생합니다.

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}


답변

참고 문헌을 찾는 데 문제가 있지만 세 가지 이야기가 생각납니다.

Lisp 해커는 “cdr”및 “car”와 같은 의미없는 기능을 비 모국어 프로그래밍과 비교하여 방어합니다.
http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg01171. HTML

Yukihiro Matsumoto ( “Matz”)가 Ruby를 개발하기 시작했을 때 모든 문서를 일본어로 작성했지만 영어 키워드를 사용 했습니다!. 몇 년 동안 Ruby에 대한 영어 문서가 없었으며 언어를 사용하는 미국인은 거의 없습니다. 그러나 지금은 세계적 수준의 언어이며 일본에서 태어났다는 사실은 역사적 관심사 일뿐입니다. 히라가나에서 키워드를 사용했다면 인기를 얻기가 훨씬 더 어려웠을 것입니다.

에세이를 한 번 읽었습니다. 다른 사람이 찾을 수 있을지도 모르지만, Google은 오늘날 도움이되지 않습니다. 단어가 실제로 영어가 아니기 때문에 키워드 번역이 잘못되었다는 뜻입니다. 전문 용어입니다. (위의 예를 사용하기 위해) parapourfor 가 영어로 가지고있는 정확한 의미를 가지고 있지 않을뿐만 아니라 프로그래머가 아닌 사람들에게는 “for loop”라는 문구가 흔들림이 없습니다. 미국인조차도 새로운 의미를 배워야합니다. 따라서 단어의 피상적 인 의미를 다른 언어로 번역하는 것은 실제로 도움이되기보다는 다국어 말장난을 만드는 것과 비슷합니다.


답변

나는 전에 일본어로 프로그래밍하는 것에 대해 너무 많이 생각하지 않았지만 여기에 질문의 코드 샘플을 사용합니다.

영어로 된 변수와 함께 일본어로 된 언어 명령문 만 사용 :

// In Japanese, it makes more sense to put the keywords/modifiers as
// postfix expressions rather than prefix expressions.
(i < size)か {
     (l[i])は {
     1だ:
         「もしもし。」を書く;
     省略時値:
         「いいえ、いいですよ。」を書く;
     }
} ない {
     「はい、ありがとうございます。」を書く;
}


답변

많은 사람들이 이미 지적했듯이 대부분의 프로그래밍 언어에서는 몇 가지 키워드 만 배워야하므로 영어 (또는 귀하의 언어가 아닌 다른 언어)로되어있는 경우에는 그다지 중요하지 않습니다. 그것은 당신이 어떤 구조와 연관시키는 상징 일뿐입니다. 예를 들어, VB에는 “THEN”이 있는데, 많은 C 스타일 언어에서 “{“가되고 가독성에 큰 차이를 만들지 않습니다 (글쎄요, 적어도 그것이 제가 보는 방식입니다. 원어민).

그러나 때때로 일이 복잡해질 수 있고 (자연적) 언어의 선택이 중요한 곳은 이름 지정 식별자입니다. 변수, 함수, 클래스 등의 이름이 언어 장벽으로 인해 의미있는 이름이없는 경우 가장 간단한 코드를 따르는 것이 다소 어려울 수 있습니다.

누군가가 블로그에서 가져온 Actionscript의 짧은 스 니펫을 내게 준 적이 있습니다. 이름은 독일어로되어 있고 제가 그 언어를 한 마디도하지 못하기 때문에 var_123, var_562 또는 func_333이라고도 불릴 수 있습니다 (그리고 아마도 이름을 기억하거나 적어도 복사 및 붙여 넣기없이 맞춤법을 올바르게 입력 할 수 있습니다.) 이것은 짧고 독립적 인 스 니펫이기 때문에 온라인 번역기를 사용하여 변수와 함수에 내 모국어 (스페인어)로 의미있는 이름을 부여한 후 모든 것이 명확 해졌습니다. 요점은 코드가 실제로 간단하지만 언어 장벽을 극복했을 때 너무 많은 (불필요한) 추가 노력없이 만 이해할 수 있다는 것입니다.

그 이후로 저는 식별자 이름 지정에 영어를 사용하도록 전환했습니다. 당신이 좋아하든 그렇지 않든, 그것은 프로그래밍, 엔지니어링 및 일반적으로 기술적 인 것들을위한 “koine”입니다. 대부분의 API는 영어로 작성되었으며 대부분의 문서도 마찬가지입니다 (그리고 찾을 수있는 최고의 리소스는 영어로도 제공됩니다). 제쳐두고, 상호 작용할 가능성이있는 코드와 코드가 더 일관되게 유지되며 스페인어와 같은 다른 언어보다 간결하고 간결한 경향이 있다고 생각합니다 (그렇지 않으면 자연스러운 선택이 될 것입니다).

물론, 영어를 조금이라도 이해하지 못한다면 문제는 그대로 남아 있기 때문에 완벽한 해결책은 아닙니다. 그러나 여러 국가에서 온 많은 개발자를 고려할 때 코드 및 물론 다른 수단을 통해 의사 소통하는 공통 언어가 영어가 될 가능성이 있습니다. 따라서이 문제에 대한 완벽한 해결책은 아니지만 영어를 선택하는 것이 아마도 최선의 선택 일 것입니다.


답변

프로그래밍 언어는 키워드와 표준 클래스 이름을 정의하며, 사용자 정의 유형, 변수 및 함수에도 영어 이름을 지정하는 것이 가장 좋습니다 (원어민이 아니므로 ;-).

예, 모든 것이 잘되면 코드를 읽을 수 있습니다.

그러나 Java 및 Perl과 같은 언어는 식별자에 대한 전체 유니 코드 집합을 허용하므로 누군가가 자신의 클래스 이름을 간지로 작성하면 문제가 발생할 수 있습니다.

업데이트 : Perl의 경우 라틴어로 Perl을 작성할 수 있는 농담 모듈 이 있습니다. 그러나 그것은 정말로 그저 농담입니다. 아무도 이와 같은 것을 심각하게 사용하지 않습니다.

두 번째 업데이트 : 지역화 된 프로그래밍 언어에 대한 아이디어는 그다지 우스꽝스럽지 않습니다. Excel의 매크로 언어는 지역화되어 있지만 운 좋게도 파일에 하나의 표준 언어 (영어)로 저장되어 있으므로 지역화는 일반 언어 위에있는 레이어 일뿐입니다. 이러한 것들은 작은 “프로그램”에만 의미가 있으며 “실제”프로그램의 경우 유지 관리가 어려워집니다.


답변

실제로 존재 하는 일부 비 영어 기반 프로그래밍 언어 (위키 백과)

저는 노르웨이 사람이지만 출력을 제외한 모든 코드에 항상 영어를 사용했습니다 (학교의 어리석은 코드 무시). 사실 저는 보통 모든 것을 영어로 작성한 다음 gettext (또는 기타)를 사용하여 모국어로 번역 합니다.