다른 (음성) 언어로 코딩


105

이것은 제가 항상 궁금해했던 것인데, 온라인 어디에서도 언급 된 내용을 찾을 수 없습니다. 예를 들어 일본의 상점에서 코드를 작성하면 영어로 읽을 수 있습니까? 아니면 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"및 " 다른 사람의 모국어로?

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


3
추론 적 질문 : 키워드가 영어 가 아닌 주류 언어가 있습니까 (원래 영어가 모국어가 아닌 곳에서 발명 되었음에도 불구하고)?
Jon Schneider

이 질문은 하나님의 주된 언어가 영어라고 생각한 (외국인)과의 대화를 생각 나게합니다. 그래서 다른 사람들이 그들의기도를 이해할 수 있도록 그것을 배워야합니다. (그래도 무례하고 흥미로운 질문은 아닙니다)
wallyqs

그리고 나는 하나님이 전능하다고 생각했습니다!
Autodidact

하나님은 오직 하나의 언어 만 아십니다. 현재 멸종 된 메소포타미아 마을의 모호한 방언입니다. 이것이 그가 당신의기도에 응답하지 않는 이유와 좋은 사람들에게 나쁜 일이 일어나는 이유입니다 (그는 혼란스러워합니다).
Anthony

1
아, 이제 몇 가지 답을 읽었으니 좋은 질문입니다. 나는 항상 컴퓨터 코드의 지역화 된 버전이 있다고 생각했지만 그것에 대해 생각해 보면 특정 규칙은 구현하기에 악몽이 될 것이고 (오른쪽에서 왼쪽으로 또는 세로 방향으로) 다른 규칙은 수용하기 어려울 것입니다 (특히 : 줄 PHP에서 세미콜론으로 끝납니다. 이것은 세미콜론으로 완전한 절을 끝내는 서양 관습을 기반으로합니다. 구두점 관습을 현지화하려고한다고 상상해보십시오. 멋진 스페인어 선행 표시가있을 수도 있습니다).
Anthony

답변:


159

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

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

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

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

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

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

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

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

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


10
그건 그렇고, 'esac'은 단지 케이스를 거꾸로하는 것입니다. 나는 당신이 요점을 말하는 것을 모르는 척했는지는 말할 수 없었지만, 그것이 영어가 아닌 사람들에게 얼마나 혼란 스러울 지 알 수있었습니다.
pbh101

9
확실히 fi는 if의 것이지만, 어느 시점에서 그들이 가진 유일한 의미는 " 'esac'를 써서 switch 문을 끝낸다"입니다 ... 혼란스럽지 않습니까? 영어로 무엇이든. 그러나 그들은 C 또는 bash 또는 pascal에서 의미가 있습니다. 그게 요점입니다. 프로그래밍 언어를 배웁니다.
OscarRyz

5
Excel에서는 매크로가 현지 언어로 번역되고 "if"는 프랑스어로 "si"가되므로 도구를 절대 사용할 수 없게됩니다.
e-satis

9
당신은 항상 영어가 모국어가 아닌 사람에게서 최고의 답변을 얻을 것입니다. 나는 스코틀랜드 사람이고 영어를 배우는 것도 나에게 어려웠습니다 ;-)
Davie

9
+1 프로그래밍을 시작했을 때 나는 goto를 제대로 발음하는 법조차 몰랐습니다. 그러나 나중에 그것이 의미하는 바를 알게되자, 그것은 내 얼굴에 능글 맞은 웃음을 남겼습니다.
Hamish Grubijan

28

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

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

interface Foo {

  Color getCouleur();

  void setCouleur(Color couleur);
}

9
오 울어! 관료주의가 다시 승리합니다! :(
AR.

3
네, 프랑스 학교에서는 그렇게 가르쳐줍니다. 너무 짜증나서 학생들은 수업에서했던 일을 현실 세계에서 코딩하지 않고 평범한 영어로 작성하기 위해 스스로 기댈 수 없습니다.
e-satis

내 대학에서 일부 강사는 예제 코드에서 핀란드어를 사용했고, 그 결과는 원칙적인 이유를 이해 했더라도 일반적으로 훨씬 더 어색했습니다. 다행히도 거의 들어 보지 못한 "실제 세계에서"(적어도 민간 부문에서는). 영어 FTW (프로그래밍이 진행되는 한).
Jonik

2
@Jonik : 최소한 ASCII / 확장 문자 집합에 대해 논쟁 할 필요는 없었습니다. 일부 지역 (여기)에서, 체코에서 악센트, C)없이 체코 어, 영어, B)에 식별자 A)를 이름에 큰 논쟁이있을 사용 악센트와 는 체코 키보드 레이아웃없이 입력 할 수 없습니다 대부분의 ( , 다른 사람의 유지 관리에 훌륭함).
Piskvor는

@Piskvor, 실제로 핀란드어 이름을 사용하는 경우 특수 문자 (äöå)를 사용할지 또는 a & o로 바꿀지에 대한 유사한 딜레마가 있습니다 (사용하면 문자 집합 문제가 발생할 가능성이 높습니다). 하지만 다행스럽게도 최소한 7 년 동안 코드에서 핀란드어를 사용할 필요가 없었습니다. :)
Jonik

27

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

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

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

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


25

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

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

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

(;)에 대한 점 쉼표 .. = D
José Leal

1
사실 일본어로 코드를 작성할 수 있다면 → 定 問 上 下 不 같은 것을 특별한 단어로 사용할 수 있다고 생각했는데, 일본어로 lisp를 상상할 수 있습니까? (定 rember (→ (a lat) (問 ((空? lat) (引用 ())))) (又 ...
wallyqs

1
접미사로 쓰려고한다면 네 번째 방언으로하는 게 좋겠네요 ね? :-)
Ken

이것도 컴파일 될까요 ?? : \
NoobEditor

13

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

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

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

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

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


네. 이것에 대한 사소한 문제는 코더가 영어 vars 이름을 올바르게 작성하는 방법이 없을 때입니다. 내가 본 최악의 것은 "String hireiNeim"hehe입니다 (농담입니다).하지만 이전에 그와 비슷한 것을 본 적이 있습니다.
OscarRyz

영어가 모국어가 아닌 사람에게는 놀랍도록 강력한 언어 구사력이 있습니다. 축하합니다. 영어는 우리 원어민에게조차도 매우 이상한 짐승입니다.
Nicholas Flynt

10

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

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

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

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

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


7

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

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


6

나는 영국인이고 우리가 자주 마주 치는 문제는 미국 / 영국 철자 충돌입니다. 이것은 종종 Initialise () 또는 Initialize (), Analyse () 또는 Analyze () 등과 같은 프로그래밍 관련 용어에서 발생합니다. 이로 인해 메서드를 재정의하는 데 문제가 발생할 수 있으며 때로는 발견하기가 어렵습니다.

프레임 워크 (우리의 경우 C #)는 미국인에 의해 설계되었으므로 일관성을 유지하고 미국식 철자를 사용하는 것이 가장 좋습니다. 우리는 심지어 Color를 채택합니다.

개발 팀에는 국적이 혼합되어 있으며 대부분의 영국인이 아닌 사람들은 자연스럽게 미국식 철자를 선호합니다.


4

AppleScript는 한때 프랑스어와 일본어 방언으로 제공되었습니다. 철회 된 이유를 모르겠습니다.


아마도 인터넷 시대에 코드 공유가 어려웠 기 때문일 것입니다. VBA도 번역되었습니다. 나쁜 생각.
PhiLho

4

이것을 다음 단계로 가져 가면 기호를 대체 할 수있는 것은 어떨까요?

Brainf ** kWhitespace 와 같은 언어를 본 후 저는 다음과 같은 언어를 만들려고 생각했습니다. 여는 중괄호를 사용하여 열고 닫을 때 여는 중괄호를 사용하고 +와-, * 및 /의 의미를 바꾸는 것을 제외하면 C와 동일합니다. ,; 및 :,> 및 <등

개념은 변칙적으로 변경된 C 컴파일러에 지나지 않습니다. 그러나 키워드를 다르게 생각하는 것처럼, 이전에 그런 것을 생각해 본 적이 없다면 몇 가지 기본적인 가정을 다시 생각해야합니다. 전의:

int foo)int i, char c( }
    int six = 2 / 3:
    int two = six + 4:
    if )i > 0( }
        printf)"i is negative"(:
    {
{

2
이봐, 나는 그 웃는 얼굴을 좋아한다.
aib

4

저는 C #으로 소프트웨어 시스템을 개발하는 프랑스 팀에 있습니다. 프로그래밍 언어 키워드가 표면 상 영어라는 사실에도 불구하고 모든 함수 이름, 변수, 코드 주석, 데이터베이스 테이블 및 열, 기술 사양, 프로토콜 등이 모두 포함되어 있으므로 코드를 읽는 데 큰 어려움이있을 것이라고 생각합니다. 사랑스러운 악센트 문자 ç, é, è, ù 등을 포함한 프랑스어. 쉼표를 기본 소수점 구분 기호로 사용하는 것과 같은 현지화 버그로 인해 시스템이 다른 곳에서 실행 될지조차 확실하지 않습니다.

그렇지 않으면 WinDev는 프랑스에서 인기있는 프로그래밍 플랫폼이며 프로그래밍 언어 인 WLanguage에는 프랑스어 또는 영어로 된 키워드가 있습니다. 여기를 참조하십시오. 링크 텍스트


resharper는 모든 로케일 특정 쓰레기를 잡을 것입니다. :) 1 개월 테스트를 사용하여 코드베이스를 정리하십시오.
v.oddou

4

내가 현지화 한 유일한 언어 는 매크로가있는 Excel입니다. 이탈리아어 버전의 Office를 사용하여 열을 합하려면 SOMMA(A1:A10)SUM이 아니라 작성해야합니다 . 부끄러운 일입니다.

그건 그렇고, 재미 있기 때문에 이탈리아 키워드를 사용한 코드는 다음과 같습니다.

se (i < size){
    commuta
        caso 1:
            stampa "hi there"
        normalmente:
            stampa "no, thank you"
} altrimenti {
    stampa "yes, thank you"
}

3

VBA가 스페인어와 같은 명령으로 번역 된 것을 보았습니다. 지금까지 본 것 중 가장 추악한 것 중 하나입니다. 내 컴퓨터에 이와 같은 것이 있으면 부끄럽습니다.

PD : 나는 스페인어가 영어보다 훨씬 좋은 언어라고 생각합니다. 하지만 번역이 잘못되었습니다.


최신 ms-office 버전의 경우 여전히 해당되는지 모르겠지만 이전 버전은 다른 지역 화용으로 작성된 스크립트를 실행할 수 없습니다.
EricSchaefer

1
영어 "더 나은"스페인어보다 그 방법은에서 쓰기에 조금 짧은 그래서 영어, 더 큰 어휘를 가지고 있다는 것입니다 나는 제 2 언어로 영어를 배우고 싫어.; 스페인어는 훨씬 더 논리적입니다!
Chip Uni

스페인어 (대부분의 언어)는 영어보다 어휘가 훨씬 더 많습니다. 하지만 영어를 사용하면 새로운 단어를 쉽게 만들 수 있고 여전히 이해할 수 있습니다. 따라서 기술적 인 문제에 대해 매우 간결하고 사용하기 쉽습니다. 또한 영어는 훨씬 더 명령 적이며 (모호함을 피하기 위해) 간단한 문장을 선호하므로 절차 적 프로그래밍에서 더 '자연 스럽습니다'. 또한 나는 영어가 다른 어떤 언어보다 "더 낫다"고 결코 말하지 않을 것입니다. 그러나 BASIC은 영어를 기반으로하여 번역하면 읽을 수없는 엉망이됩니다.
Javier

"스페인어 (대부분의 언어)는 영어보다 어휘가 훨씬 더 많습니다.": 사실이 아닙니다. 영어는 다른 어떤 언어보다 많은 단어를 가지고있는 것으로 잘 알려져 있습니다. 스페인어의 경우 약 250,000 대 100,000
Luigi Plinge 2011 년

여기서 교훈 중 하나는 순전히 상업적입니다. VBE 프로그래밍 커뮤니티가 전 세계적으로 1,000 명 미만인 언어로의 현지화 지원을 유지할 수 없습니다. 마이크로 소프트는 1990 년대에이 일을했고 곧 철회했다. 일부 수업은 스페인어와 같은 훨씬 더 큰 커뮤니티로 이어집니다. 우선, 동일한 지역화 된 언어 버전을 사용하지 않는 사람들과 스크립트를 공유 할 수 없습니다.
tripleee

3

글쎄, 다른 사람들이 지적했듯이 키워드와 시스템 호출은 영어로 남아있을 것입니다.

그러나 언어의 키워드를 이해하는 것은 코드를 이해하는 데있어 아주 작은 부분 일뿐입니다. 변수 이름, 함수 이름 및 주석은 모두 작성자의 모국어로 될 위험이 있습니다.

편집 : 나는 젊음으로 돌아가서 TRS-80 내장 BASIC의 매핑 테이블에서 키워드를 프랑스어로 전환했습니다. 모든 키워드를 변경할 수 있지만 더 크게 만들 수는 없습니다. 재미있는 프로그램을 위해 제작되었습니다.


과연. "변수 이름에서 주석에 이르기까지 모든 것에 [현지 언어 삽입]을 사용할 것입니다. 작은 앱일뿐입니다. 누가 변경할까요?" 몇 년 후 다른 곳에서 : "예, 댓글이 있습니다. '// Meg tudom enni az üveget, nem árt nekem'의 의미 만 알고 있다면 ..."(강조를 위해 언어가 변경됨)
Piskvor는

대학 때 누군가가 DOS에 들어가 명령과 메시지를 외설적으로 변경했지만 여전히 작동했던 것을 기억합니다
JoelFan

3

이것을 조롱하지 마십시오. 몇 년 전 Microsoft는 독일어 키워드 및 API를 사용하는 G # (German Sharp)-C #을 발표했습니다. 물론 만우절 농담 이었지만 그에 대한 전체 사이트는 매우 현실적이고 전문적으로 보였습니다 (Microsoft.com에 있음). 무서운.

직장에서 우리는 두 개의 필드 버스 시스템을 사용합니다. 둘 다 독일어권 국가에서 개발되었습니다. 둘 다 사랑스러운 거짓 친구를 포함하여 식별자로 독일어와 영어가 무섭게 혼합되어 있습니다. 엉망입니다.

아니요, 영어 키워드와 식별자는 괜찮습니다. 어떤 사람들은 그것이 Color 또는 Color인지 논쟁 할 수 있지만 :)


3

여러 VBA 프로젝트에서 작업 한 적이 있습니다 (예, 경력 초기). 사용자의 컴퓨터에 설치된 Office 버전을 감지하고 그에 따라 speradsheet에 사용 된 공식을 변경해야했습니다.

포르투갈어로 "SUM"의 i 프로그램은 "SOMA"등으로 번역되어야합니다. 여러 언어로 이런 일이 일어나기 위해 필요한 작업을 상상할 수 없습니다. 다른 사람이이 문제를 겪은 적이 있습니까?


3

번역 된 키워드가있는 일부 언어가 있습니다. 예를 들어, Excel 공식. 스프레드 시트에 몇 가지 계산을 작성하면 해당 언어로 작성됩니다.

다행히도 이것은 일반적인 관행이 아니며 저와 같은 비영어권 사용자조차도 키워드에 대한 표준 언어가 있다는 사실에 감사드립니다.

  • 작업을 공유하는 것이 더 쉽습니다.
  • 문서가 이미 더 큰 악몽이되는 것을 방지합니다.
  • 영어 단어와 문장은 일반적으로 짧고 구문 적으로 실용적입니다. 문학에서는 라틴어가 훨씬 더 아름답지만 기술적 인 측면에서는 영어가 흔들립니다.

그리고 어디에서 멈출까요? 고대 그리스어로 C를 상상할 수 있습니까?

키워드는 하나의 언어로 유지되어야하며 영어로 시작하여 그대로 유지해야합니다. 이것은 최악 일 수 있습니다 (아시아 언어?). 그래서 우리는 영어로 방법과 주석을 써야합니다. 좋아, 우리를 위해 더 많은 일이 있지만 적어도 국제 코드베이스는 일치합니다.

그러나 모국어 메서드 이름과 주석을 사용하는 것이 좋은 방법이 될 수있는 한 가지 경우가 있습니다. 장고 프로젝트를 관리하기 위해 몇 달 안에 세네갈에 갈 것입니다. 세네갈은 알파벳 문자 화율이 높기 때문에 프로그래밍 지식을 향상시키는 데 에너지를 쏟는 것이 이미 훌륭합니다. 프랑스어는 여기서 모국어이므로 컴퓨터와 새로운 언어를 동시에 배우도록 강요하는 것은 비효율적입니다.

BTW, 그것은 프랑스어 키워드가있는 코드입니다.

Si (i < taille) {
    cas par cas :
        cas 1:
            afficher "salut"
        défaut:
            afficher "non merci"
} sinon {
    afficher "oui, merci"
}

키워드 번역은 문자열 번역과 관련이 없습니다. 물론 우리의 언어로 번역 된 "hi, there"가 있습니다. 유럽 ​​코더들은 그들의 서비스가 더 많은 청중에게 도달 할 수 있도록 미국보다 훨씬 더 I18N을 사용하는 경향이 있습니다.


2

일반적으로 대부분의 프로그래머는 영어 형식에 적응합니다. 저는 7 살 때 프로그램을 배웠고 히브리어 (오른쪽에서 왼쪽으로) 만 구사했고 영어는 사용하지 않았기 때문에 매우 흥미로운 경험이었습니다.

일반적으로 발생하는 문제는 문서, 변수 및 함수 이름입니다. 영어 알파벳을 사용하여 다른 언어로 된 변수를 보았습니다.

내가 잘 알고있는 언어 중 번역 된 유일한 언어는 좋은 오래된 로고였습니다.


Shalom Uri, Sourceforge에는 히브리어 프로그래밍 언어 (HPL)도 있습니다. 로고처럼 젊은 컴퓨터 사용자를 대상으로합니다.
TonJ

2

제가 어렸을 때 프랑스에 갔고 박물관에 갔을 때 컴퓨터 프로그램 작성법을 보여주는 디스플레이를 발견 한 기억이납니다. 언어는 일종의 BASIC 변형이었고 FOR 대신 POUR를 사용하여 분명히 기억합니다. 나는 7 살이었고 BASIC 만 배웠는데, 프랑스어가 이렇게 나름대로 사투리를 갖게되는 것이 나에게는 완전히 자연스러운 것 같았다 !!

내가 본 게 LSE 였을까 ?


2

Filemaker의 스크립팅 언어는 현지화되었습니다. 스크립트 (및 데이터!)는 끔찍한 "정상적인"형식으로 저장됩니다.

따라서 미국 버전으로 스크립트를 작성한 다음 프랑스어 버전으로 열면 모든 키워드와 내장 함수 이름이 프랑스어로 표시됩니다. 하지만 왜 실행되지 않을까요?! 아하! 프랑스어 버전은 ","를 소수점으로 사용하므로 모호함을 피하기 위해 ";"을 사용합니다. 함수 인수를 분리하기 위해-미국 버전은 "."를 사용합니다. 및 ",". 이 변환은 스스로해야합니다.

따라서이 모든 문제를 해결하기 위해 엄청나게 나쁜 스크립트 편집 인터페이스 (스크립트를 텍스트 파일로 작성할 수 없음)를 통해 작업합니다. 그것은 작동한다! 큰! 결과는 모두 잘못되었습니다! 오 안돼! 아하! 미국 버전에 입력 한 2004 년 1 월 7 일 날짜는 2004 년 7 월 1 일로 해석됩니다. 날짜가 표시 될뿐만 아니라 로케일에 따라 저장 되는 것 같습니다. 농담 해 ? 아니.

[참고 : Filemaker 8과 9는 정상일 수 있습니다. 저는 3-7로 작업 한 적이 있습니다.]


아야! 이 글을 thedailywtf.com에 게시해야하는 것 같네요
André

2

구문이 (영어) 자연어를 따르도록 설계 되었기 때문에 Perl과 관련하여 귀하의 질문은 흥미로운 질문입니다. 그것이 영어가 아닌 사용자에게 더 어려워 지는지 궁금합니다 ...

물론 Perl과 Perlers는 기존의 규칙을 따르기를 거부합니다. 미친 과학자 Damian Conway가 Lingua :: Romana :: Perligata 모듈을 작성했습니다.이 모듈은 소스 필터의 흑 마법을 사용하여 Perl을 라틴어로 작성할 수 있습니다!


나는 그렇게 생각하지 않는다. 프로브는 영어를 알고 있어도 while (cond) jump_to : label ... Perl에게 말할 수 없다는 것입니다. 고토 같은 거요
OscarRyz

"open () 또는 die ()"와 같은 Perl의 'natural language like'관용구 대부분은 독일어를 사용하는 저에게 매우 자연 스럽습니다. 나는 충분히 비슷 영어 및 독일어 추측
bjelli

2

다음은 호주에서 우리는 여전히 철자 필요 색상 과 같은 색상을 . 그러나 호주 프로젝트에서 작업하는 다른 (호주) 개발자가 내부 변수 이름을 미국식으로 철자해야한다고 결정하면 짜증이납니다.


1

IMHO는 언어 구문에 의미가 없습니다 . 모든 종류의 이식성을 죽일뿐입니다.

유일한 예외는 로고와 같은 교육용 언어입니다. 쉽게 학습 할 수 있도록 설계되었으므로 이식성은 문제가되지 않습니다.


1
Excel에서 수식을 작성하거나 프레젠테이션에 작은 효과를 만드는 사람들과 같이 더 많은 청중이있는 경우 "예약 된"단어에 대해 i18n 구현을 고려해야합니다.
rshimoda

1

많은 코드를 읽었지만 문제는 항상 변수 / 메서드 이름과 주석에 있습니다. 일본어 또는 키릴 문자와 같은 언어 특수 문자를 사용하여 자신의 언어로 코드를 주석 처리하는 경우 문제가 발생합니다! 그러나 키워드는 그대로 영어로 유지 될 것이라고 생각합니다.


1

이탈리아어로

se (i < dimensione){
    scegli
        caso 1:
            stampa "ciao"
        mancante:
            stampa "no, grazie"
} altrimenti {
    stampa "sì, grazie"
}

이전 포스터의 걱정을 확인하기 위해 모든 키워드를 영어에서 프랑스어로 번역하는 매크로가 포함 된 포트란 코드를 보았습니다. 이 일을 계속하지 않도록하십시오.

또한 이탈리아어, 독일어, 영어 및 프랑스어로 된 식별자가 포함 된 코드를 동시에 작업해야했습니다. 여러 곳에서 개발 되었기 때문일뿐만 아니라 주 개발자가 재미 있다고 생각하고 식별자 이름을 복제하지 않도록 도와 주었기 때문입니다 ( 물론, 2000 줄의 루틴으로 ....)


0

WordBasic이 현지화되었다고 생각합니다. WordBasic은 VBA가 사용되기 전에 Word에서 매크로를 작성하는 데 사용되었습니다.

올바르게 기억하면 영어 버전으로 작성된 WordBasic 만 모든 현지화 된 버전에서 실행됩니다. 네덜란드어 버전을 작성하려면 네덜란드어 단어에서만 실행할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.