GB English czy US English?

97

Jeśli masz interfejs API i jesteś programistą z siedzibą w Wielkiej Brytanii z wysoce międzynarodową publicznością, jeśli masz API

setColour()

lub

setColor()

(Aby wziąć jedno słowo jako prosty przykład.)

Inżynierowie z Wielkiej Brytanii często dość defensywnie podchodzą do „prawidłowej” pisowni, ale można argumentować, że pisownia amerykańska jest bardziej „standardowa” na rynku międzynarodowym.

Myślę, że pytanie, czy to ma znaczenie? Czy programiści w innych lokalizacjach mają problemy z pisownią w GB, czy zwykle jest całkiem oczywiste, co to oznacza?

Czy to wszystko powinno być w języku angielskim w USA?

izb
źródło
1
zawierać oba z'em. to cię nie skrzywdzi.
Amarghosh
Nasz system edukacji zawsze uczy en-gb, więc jestem przyzwyczajony do pisania en-gb w kodzie. (Czasami byłem leniwy i wstawiałem jakiś chiński identyfikator podczas opracowywania chińskiego kodu klienta, który później zmieniono na angielski)
Michael Tsang

Odpowiedzi:

79

Chciałbym używać języka angielskiego w USA, ponieważ stało się to normą w innych interfejsach API. Mówiąc jako programista po angielsku, nie mam na przykład żadnego problemu z używaniem „koloru”.

Chris
źródło
6
Standaryzacja jest dobrym celem, a Twoje API będzie łatwiej akceptowane przez międzynarodowy tłum, niż w przypadku korzystania z wersji GB.
Maitus
55

Nie jestem native speakerem. Na piśmie zawsze staram się używać en-gb. Jednak w programowaniu zawsze używam en-uszamiast brytyjskiego angielskiego z tego samego powodu, dla którego nie używam niemieckiego ani francuskiego jako moich identyfikatorów.

Konrad Rudolph
źródło
16

Generalnie byłbym zwolennikiem ortografii GB, ale myślę, że kod czyta się o wiele lepiej, jeśli jest spójny i stwierdzam:

Color lineColor = Color.Red;

wyglądać dużo lepiej niż:

Color lineColour = Color.Red;

Myślę, że ostatecznie to nie ma znaczenia.

Carl
źródło
9
Jeszcze gorzej, jeśli masz właściwość publiczną Color Color {get;}
Benjol
15

Zależy, gdzie widzisz większość swoich klientów. Osobiście wolę używać English-GB (np. Color) w moim prywatnym kodzie, ale idę do Color dla aplikacji / API / kodu publikowanych zewnętrznie!


źródło
7
Używanie GB wewnętrznie i US zewnętrznie stwarza ryzyko kolizji zmiennej semantycznej - podobnie jak w przypadku „koloru” i „co1or”. Twój mózg przetwarza słowo, a nie pisownię, i może to prowadzić do zamieszania
Chris Cudmore
1
Zwykle robiłbym to samo, ale uważając na to, o czym wspomina Chris - jeśli używasz jednej pisowni w API, prawdopodobnie powinieneś użyć tej samej w innym miejscu w projekcie.
Mark Baker
10

Chociaż zwykle jestem bardzo pedantyczny, jeśli chodzi o poprawną pisownię, jako brytyjski programista zawsze preferowałbym amerykańską pisownię „kolorową”. We wszystkich językach programowania, z którymi się spotkałem, wygląda to tak, więc ze względu na spójność używanie „koloru” ma dużo sensu.

Philip Morton
źródło
5

Zakładając, że jest to Java lub C # API, prawdopodobnie nie ma to znaczenia, biorąc pod uwagę wszechobecność funkcji autouzupełniania w IDE. Jeśli chodzi o język dynamiczny lub taki, w którym współczesne IDE nie są normą, wybrałbym pisownię amerykańską. Oczywiście jestem Amerykaninem i dlatego jestem oczywiście stronniczy, ale wygląda na to, że większość kodu, który widzę od programistów, którzy nie są rodzimymi użytkownikami języka angielskiego, używa pisowni amerykańskiej jako nazw zmiennych itp.

Mike Deck
źródło
3
Wytyczne projektowe .NET Framework zalecają angielski w USA dla zachowania spójności
Mark Cidade
@MarkCidade: Czy masz link do wspomnianej rekomendacji? Szukałem go w górę iw dół bez powodzenia.
Dio F
1
@DioF Wspomina o tym w książce „Wytyczne dotyczące projektowania ram: konwencje, idiomy i wzorce dla bibliotek .NET wielokrotnego użytku” autorstwa Krzysztofa Cwaliny i Brada Abramsa
Mark Cidade
5

Jako programista w języku angielskim używam en-US do tworzenia oprogramowania. Amerykański angielski dominuje tak dobrze w prawie każdym innym API, że znacznie łatwiej jest trzymać się jednego typu pisowni i usunąć niejednoznaczność. Szkoda czasu na szukanie metody tylko na to, aby sprawdzić, czy pisownia jest nieprawidłowa o jedną literę ze względu na lokalizacje pisowni.

Rossa Andersona
źródło
4

Pójdę z obecnymi standardami i wybrałbym pisownię w języku angielskim. HTML i CSS to uznane standardy z pisownią „kolor”, po drugie, jeśli pracujesz z frameworkiem takim jak .NET, prawdopodobnie masz już kolor dostępny w różnych przestrzeniach nazw.

Podatek psychiczny związany z koniecznością radzenia sobie z dwoma pisowniami raczej utrudniałby niż pomagał programistom.

Label myLabel.color = setColour();
Mauro
źródło
3

Mam problem z interfejsami API, które nie są w języku angielskim (USA). Tylko z powodu różnic w pisowni. Wiem, co znaczą te słowa, ale wprawia mnie w zakłopotanie inna pisownia.

Większość bibliotek i frameworków, które znam, używa pisowni amerykańskiej. Oczywiście, że jestem Amerykaninem, więc ... Amerykański angielski jest moim językiem ojczystym.

epochwolf
źródło
3

Większość dokumentacji programistycznej (podobnie jak MSDN) jest w amerykańskim języku angielskim.

Więc może lepiej pozostać przy głównym strumieniu i używać amerykańskiego angielskiego w swoim API, jeśli kierujesz swoją ofertę do międzynarodowej publiczności.

Rinat Abdullin
źródło
2

Mam kolejną próbkę: Serialise i Serialize. :)

Osobiście nie sądzę, żeby to miało duże znaczenie. Pracowałem nad projektami, które wykorzystywały kraje z pisownią brytyjsko-angielską i używają pisowni brytyjskiej. Nadal jest angielski i dzięki Intellisense nie ma to większego znaczenia.

jop
źródło
Jestem pewien, że mój nauczyciel angielskiego powiedział mi, że końcówki ize są ważne w GB English? Zarówno końcówki ise, jak i ize są dopuszczalne w GB English, więc jestem ja, aby pasować do septics. ( cockneyrhymingslang.co.uk/slang/sceptic_tank )
Scott Langham,
2

Jako Kanadyjczyk cały czas się z tym spotykam. Bardzo trudno jest mi wpisać „kolor”, ponieważ moja pamięć mięśniowa ciągle sięga po „u”.

Jednak mam tendencję do przyjmowania języka bibliotek. Java ma klasę Color, więc używam koloru.

Chris Cudmore
źródło
1
„c”, „o”, „l”, Ctrl + spacja, „”.
Tom
1

Jeśli to możliwe, staram się znaleźć alternatywne słowa. Pozwolę się przesuwać. W przypadku koloru mógłbym użyć odcienia, tuszu, pierwszego planu / tła ...

Jeśli nie, jako Anglik użyję en-GB, ponieważ mam trochę dumy z mojego kraju i pochodzenia.

Gdyby to jednak miało być częścią większego projektu, zwłaszcza międzynarodowego, chciałbym zachować spójność całego projektu powyżej tego, że niewielka część jest w jednej wariacji językowej, a reszta w innej.

JeeBee
źródło
2
Nie zgadzam się na używanie pierwszego planu / tła zamiast koloru / lub koloru). na przykład przód / tło może również oznaczać wzór. Jeśli chcesz ustawić / uzyskać colo (u) r, tak to powinieneś nazywać. Brakujące / dodatkowe „u” jest mniej zagmatwane niż właściwość bez nazwy.
Treb
To czubek tego przykładu, nie zasada, ale wystarczająco uczciwa.
JeeBee
2
Przy okazji. pisownia -ize nie jest amerykanizmem!
Jules
@Jules tak, to jest.
igorcadelima
@igorcadelima Może to być brytyjski w powszechnym użyciu, ale proszę wziąć pod uwagę: en.wikipedia.org/wiki/Oxford_spelling
Jules
1

Będę też musiał stanąć po stronie angielskiego amerykańskiego, aby po prostu zachować spójność (jak już zauważyli inni). Chociaż jestem ojczystym amerykańskim anglojęzycznym językiem, pracowałem nad projektami oprogramowania zarówno z niemieckimi, jak i szwedzkimi firmami programistycznymi, iw obu przypadkach moi koledzy z zespołu czasami mieli ochotę używać w kodzie niemieckiego lub szwedzkiego tekstu - zwykle do komentarzy, ale czasami także dla nazw zmiennych lub metod. Chociaż potrafię mówić w tych językach, jest to naprawdę drażniące dla oczu i utrudnia włączenie do projektu nowej osoby, która nie mówi.

Większość europejskich firm programistycznych (przynajmniej tych, z którymi pracowałem) zachowuje się w ten sam sposób - kod pozostaje w języku angielskim, po prostu dlatego, że dzięki temu kod jest bardziej przyjazny dla świata, gdyby pojawił się inny programista. Jednak zazwyczaj dokumentacja wewnętrzna jest sporządzana w języku ojczystym.

To powiedziawszy, rozróżnienie tutaj dotyczy dwóch różnych dialektów języka angielskiego, co nie jest tak ekstremalne, jak widzenie dwóch całkowicie różnych języków w tym samym pliku kodu źródłowego. Więc powiedziałbym, utrzymuj interfejs API w języku angielskim (USA), ale komentarze w języku GB-angielskim, jeśli bardziej Ci odpowiada.

Nik Reiman
źródło
1

Powiedziałbym, że spójrz, jak inne biblioteki w twoim języku wybierają i przestrzegają ich konwencji.

Projektanci języka programowania i jego wbudowanych interfejsów API dokonali wyboru i niezależnie od tego, czy użytkownicy są międzynarodowi, czy nie, są przyzwyczajeni do patrzenia na pisownię zgodną z tym wyborem. Nie kierujesz reklamy do osób posługujących się innym językiem, ale użytkowników języka programowania. Możliwe, że nauczyli się kilku słów w języku obcym z wbudowanych interfejsów API i mogą nie zdawać sobie sprawy, że istnieją różnice między angielskim amerykańskim a angielskim brytyjskim. Nie myl ich, zmieniając strony stawu.

Używam głównie języków .NET, a .NET Framework używa pisowni w języku angielskim (USA). Na tej platformie trzymałbym się amerykańskiego angielskiego. Nie znam żadnych języków ujednoliconych w GB English, ale jeśli Twój tak zrobił, to jak najbardziej bądź spójny z językiem.

OwenP
źródło
1

Zgadzam się z trupą „idź na amerykańską”. Sam wolę en-GB podczas pisania e-maili i tym podobnych, ale amerykański angielski jest prawie standardem we wszystkich kręgach programistycznych.

dguaraglia
źródło
1

Mimo że na całym świecie mówi się po angielsku brytyjskim - polecam używanie amerykańskiego angielskiego, który, jak mówią inni, dominuje na rynku.

user24199
źródło
1

Zdecydowanie angielski amerykański.

siedmiodniowa żałoba
źródło
1

Po pierwsze, jestem w USA. W moim obecnym projekcie zawsze jest to „kolor”, jednak słowo, którego nie możemy wybrać, to „szary” kontra „szary”.

Właściwie stało się to dość denerwujące.

Brian Postow
źródło
1

Wybór języka dla nazw identyfikatorów nie ma nic wspólnego z odbiorcami, a wszystko z oryginalnym językiem, w którym opracowano framework lub API.

Nie znam wielu języków, ale nie przychodzi mi do głowy żaden inny niż angielski amerykański.

Niebezpieczeństwa związane z wprowadzaniem subtelnych błędów z powodu różnych pisowni są zbyt duże.

Przesłonięcie funkcji może łatwo stać się pseudo-przeciążeniem.

Plik konfiguracyjny może stać się nieprawidłowy z powodu różnicy w pisowni.

Może wystąpić sytuacja, w której ten sam obiekt koncepcyjny został zdefiniowany przy użyciu wielu klas, zarówno przy użyciu en-US, jak i en-GB.

Dlatego też, niezależnie od tego, czy fragment kodu jest przeznaczony wyłącznie do użytku wewnętrznego, czy też przeznaczony do użytku zewnętrznego, użyte pisownie muszą zawsze odpowiadać oryginalnemu językowi platformy / frameworka / kompilatora / API.

Umar Farooq Khawaja
źródło
Dbam tylko o spójność w naszym API. Na przykład, jeśli nasz pakiet jest kierowany na Wielką Brytanię, można użyć tylko en-gb, bez żadnej pisowni, takiej jak „kolor”.
Michael Tsang
Zgaduję, że piszesz także własne biblioteki klas podstawowych, Michael?
Umar Farooq Khawaja
0

Jeśli wszyscy twoi programiści są Brytyjczykami, użyj en-gb. Jeśli Twój kod będzie widoczny dla programistów spoza Wielkiej Brytanii, lepszym wyborem będzie en-us.

Jedna drobna uwaga, polegamy na usługach tłumaczeniowych, aby kopiować naszą dokumentację na inne języki. Odkryliśmy, że uzyskujemy lepsze tłumaczenia, używając en-us jako źródła.

Jim C
źródło
0

Musisz wziąć pod uwagę swoich odbiorców. Kto będzie używał kodu i czego się spodziewa?

Pracuję w firmie, która ma biura w Kanadzie i USA. Używamy pisowni kanadyjskiej (bardzo podobnej do brytyjskiego angielskiego) podczas tworzenia dokumentacji i kodu pisowni w Kanadzie i USA dla tego, co jest używane w USA.

Niektóre rzeczy przekraczają granice, ale różnica w pisowni rzadko jest problemem. W rzeczywistości może wygenerować interesujący dialog, gdy Amerykanie nie są świadomi różnych pisowni dla kandyjskiego i brytyjskiego angielskiego. Czasami im to nie przeszkadza, innym razem nalegają na zmianę pisowni na „prawidłową”. Dotyczy to również formatów dat (dd / mm / rrrr w Kanadzie i mm / dd / rrrr w USA)

Kiedy pojawia się impas, zwykle wybieramy pisownię w USA, ponieważ mieszkańcy Kanady znają obie odmiany.


źródło
0

Słyszałem, że głównym powodem, dla którego wybrałem język angielski w USA zamiast w Wielkiej Brytanii, jest to, że publiczność w Wielkiej Brytanii, konfrontowana z pisownią w USA, zdaje sobie sprawę, że jest to aplikacja w USA (lub przypuszczam, że tak jest), podczas gdy publiczność w USA skonfrontowana z pisownią w Wielkiej Brytanii myśli „... . hej, to źle… to kolor, a nie kolor ”

Ale jak powiedzieli inni, standaryzuj. Podnieś i trzymaj się tego.


źródło
0

To dla mnie naturalne, że pracuję po angielsku w Wielkiej Brytanii, nawet o tym nie myśląc. Jeśli jednak opracowujesz wewnętrzne procedury, nie ma to większego znaczenia. Jeśli tworzysz interfejsy API, które będą używane publicznie, a Twoi odbiorcy są międzynarodowi, dlaczego nie wdrożyć obu?

BlackWasp
źródło
0

Wolę angielski amerykański.

vaske
źródło
0

Jestem jedną z tych osób, u których tętno i ciśnienie krwi rosną za każdym razem, gdy jestem zmuszony używać amerykańskiego angielskiego w plikach konfiguracyjnych itp., Ponieważ oprogramowanie nie daje opcji dla brytyjskiego angielskiego, ale to tylko ja :)

Moją osobistą opinią na ten temat byłoby jednak podanie obu pisowni, podanie im setColor () i setColour (), napisanie kodu w jednym z nich i po prostu przekazanie parametrów przez drugą.

W ten sposób uszczęśliwiasz obie grupy, przy założeniu, że twój inteligencja trochę się wydłuża, ale przynajmniej ludzie nie mogą narzekać na ciebie, używając „niewłaściwego” języka.

Jimoc
źródło
7
To nie jest dobry pomysł. Interfejs API byłby zaśmiecony zbędnymi metodami.
McDowell
6
To naprawdę kiepskie rozwiązanie. Prawdopodobnie zmylisz wiele osób, które próbują zrozumieć różnicę między setColour i setColor. Ponadto może stworzyć dużo bałaganu w API, jeśli masz wiele metod z kolorem słowa.
Kibbee
Dokładnie moje myśli. Dostarczenie obu pisowni i po prostu udokumentowanie ich jako identycznych nic Cię nie kosztuje. Jeśli chodzi o zastrzeżenie redundancji, użyteczność jest ważniejsza od ortogonalności.
Dave Sherohman
0

Jeśli spojrzysz na kilkaset lat wstecz, przekonasz się, że zmiana nie ma nic wspólnego ze Stanami Zjednoczonymi, jak wielu by tak pomyślało. Zmiany wynikają z wpływów europejskich, zwłaszcza francuskich. Wcześniej angielskie słowo „kolor” było pisane jako „kolor”.

Próba standaryzacji byłaby daremna, ponieważ połowa chińskich dzieci uczy się o wpływach przedeuropejskich i rozumieniu języka angielskiego w Stanach Zjednoczonych, podczas gdy druga połowa przyjmuje go w obecnym kształcie, jako języku angielskim.

Jeśli uważasz, że język jest problemem, powinieneś wziąć pod uwagę Tajwan Kg, który waży 600g. Jeszcze się nie dowiedziałem, jak sobie z tym poradzili, ale mam nadzieję, że nigdy nie zostaną zatrudnieni jako personel tankowania samolotów!

Steve Keenan
źródło
0

Zawsze używam en-GB do całego mojego programowania. Myślę, że jest to spowodowane silnym wpływem brytyjskich powieści.

Czy jednak nie byłoby możliwe posiadanie dwóch różnych zestawów interfejsów API (jeden dla en-US, jeden dla en-GB), które wewnętrznie wywołują tę samą funkcję? Może to jednak spowodować nadmuchanie plików nagłówkowych, więc może w zależności od definicji preprocesora, kompilacji warunkowej? Jeśli używasz C ++, możesz zrobić coś takiego jak poniżej ...

#ifdef ENGB
     typedef struct Colour
     {
      //blahblahblah
     };
     void SetColour(Colour c);
#else
    typedef struct Color
    {
      //blahblahblah
    };
    void SetColor(Color c);
#endif

W zależności od tego, czy programista klienta definiuje ENGB, czy nie, jak poniżej

#define ENGB

mógłby używać API w kulturze, którą preferuje. Może przesada z tak trywialnego celu, ale hej, jeśli wydaje się to ważne, dlaczego nie! :)

Bharat Mallapur
źródło
2
Lepiej jest przestrzegać pisowni amerykańskiej, ponieważ prawie wszystkie standardowe interfejsy API są zgodne z nią. Kompilatory ściśle wymagają dokładnej pisowni, dlatego obsługiwanie dwóch różnych interfejsów API dla dwóch ustawień narodowych jest złym pomysłem. Dokumentacja może obsługiwać dwa różne ustawienia regionalne, ale interfejs API musi być spójny. Ogólnie oczekuje się, że nawet jeśli ten sam interfejs API jest używany w różnych regionach i mówi w różnych językach, takich jak niemiecki, francuski, hiszpański itp., Chociaż dokumentacja może zawierać wyjaśnienia w językach lokalnych, metody, zmienne itp. Będą zgodne z oryginalnym językiem API. (najprawdopodobniej inż.
ADTC,