Zajimalo by mne, jaky je nazor ctenaru roota na pouzivani cestiny v nazvech promennych, funkci, atd. ve zdrojovych kodech, jako je tomu v tomto pripade.
Ja jsem zasadne proti a to i v pripade ukazkovych kodu studentum, nebo jako ukazka v clancich - dava to zacinajicim programatorum programatorum pocit, ze je to v poradku a buduji si tak hned od zacatku spatne navyky.
O cem mluvim vi asi kazdy, kdo nekdy musel editovat zdrojaky s komentari a nazvy promennych ci funkci v italstine, nebo rustine :).
Tak zacinajici programatory by se melo vest, k tomu aby pouzivaly anglictinu. U prikladi, ale muzou byt ceske nazvy k dobru. Kdyz to clovek vidi poprve a vidi cesky nazev je mu hned jasne, ze je to promenna ci vlastni funkce.
Pokud si nekdo pise program, ktery nikde nepublikuje a nebo je to jen neco maleho bezvyznamneho, tak at si to pojmenovava klidne v cinstine. Ale pokud je to vetsi projekt s dokumentaci a nejakym potencialem, tak by mel pouzivat cestinu.
Ja osobne vitam priklady, kde je pouzita cestina, ale zase se pak snazim psat vsechno v anglictine.
* Prakticke hledisko: Mam vypracovany navyk na obvykle anglicke vyrazy. Takze, kdyz moje oci vidi nazev funkce/metody "SetFileName", mozek okamzite vyhodnoti, ze funkce nastavuje jmeno souboru, aniz bych musel slovo cist. Zato, kdyz oko zahledne "NastavJmenoSouboru", musim si ten nazev nejdriv precist a pak se zamyslet, co vlastne dela. Tudiz, ackoli jsem cech, v "ceskem" zdrojaku se orientuji vyrazne pomaleji. Podobne tomu je i treba u FireFoxu. Kdyz sednu k anglickemu, a mam v nastaveni neco zmenit, okamzite koukam na "Preference". Ale kdyz jsem u pocesteneho, musim si to vsechno cist a hledat.
* Osobni nazor: cesky muze psat zdrojak jen uplnej tupec. Zdrojaku rozumi 0.0002% lidi na svete, kdo je zvyklej (jako ja) na anglictinu se v tom neorientuje, mix cestiny a anglictiny (klicova sova pocestena nejsou) pusobi komicky. A pro koho vlastne takovej zdrojak je urcenej? Pro prvnacky co se uci programovet? Tak tam to sotva, protoze gtkmm. Pro skutecne programatory? Tak to uz teprv ne, protoze opravdovemu programatorovi anglicnina nevadi a spis ji vita. Tak pro koho tedy?
Raději česky nežli čanglicky. Bohužel - úroveň angličtiny je u většiny lidí, kteří si o sobě myslí, že anglicky umějí, velice tristní - obzvláště, mají-li ji použít aktivně. Někdy je pak dost těžké dešifrovat, co dotyčný myslel, případný čanglický komentář to celé spíše ještě více zatemní.
Já jsem naopak PRO české názvy proměnných a funkcí v ukázkových příkladech - krásně to totiž odlišuje jazykově i to, co je knihovní od toho, co definuje uživatel.
P.S.: Když někoho, jehož rodným jazykem je čeština, dokáže rozhodit ruština - chápu, může to při práci trochu obtěžovat, ale programování by se měli ujímat jen lidé, jejichž intelekt je na takové úrovni, aby je zrovna toto rozhodit nemohlo. Ale aspoň jste mi dal tip na jeden z dalších testů schopností programátora. :-)
Naštěstí (doufám) se zkoušení programování nevěnujete a přenecháváte to lidem, kteří programování rozumějí. ;-) "Experti", kterým dokáže zamotat hlavu komentář nebo název proměnné v jejich rodném jazyce, beztak nadělají více škody než užitku a vzkázal bych jim ono cimrmanovské "věnujte se čemukoli jinému, jen ne programování!" :-)
Něco jiného je samozřejmě případ, kdy nějakou věc vyvíjí více lidí. Pak je to ovšem otázka domluvy - u Siemense se například komentáře psaly německy a proměnné, funkce apod. musely mít anglické názvy. Osobně na tom nevidím nic špatného.
jen na okraj, ono zname "Venujte se praci jakekoli, ale jine", nezvolal nebo nenapsal Cimrman, ale napsal to Ladislav Stroupeznicky pri obdrzeni Cimrmanova rukopisu.
A k tematu, me tedy osobne cestina v kodu prijde jako docela rusiva uz kvuli ohybani/sklonovani slov. Osobne jsem se od chvil, kdy jsem se zacinal ucit programovat, coz mozna z perspektivy jinych tu na foru neni az tak davno, snazil promene, fce, struktury, typy atd. pojmenovavat anglicky. Samozrejme, uroven toho byla poplatna znalostem a slovni zasobe v te dobe, nicmene jako navyk to neni spatne a v te dobe taky muj kod neprekrocil hranice meho disku.
takze, kdyz pominu pro me rusivy efekt cestiny v kodu, je tu dalsi vychytavka: Madarska notace. V pripade jejiho spojeni s cestinou si ten kod radsi ani nepredstavuju, protoze bych se asi musel jit prebalit.
Sice chapu, ze ten kdo prave absolvuje svoje prvni krucky ve svete programovani je asi vdecnejsi za slovo ceske nezli anglicke, ale jde o navyk, ktery se podle me casem vyplati. Jen pri praci v tymu je treba tyto navyky nejak sladit, aby nevznikkl jeste vetsi gulas.
Jinak si lae myslim ze to dost zjednodusi praci a ja uz psal nekdo nahore, vidim anglicky slovo a vidim hned vyznam, u cestiny musim premyslet, coz sice lze, ale trochju to zdrzuje a obtezuje tok myslenek.
Takze zcela jasne pro anglictinu v kodu.
Myšleno samozřejmě v nadsázce. Urputná snaha co možná maximálně lokalizovat "Hello world" mě zaujala natolik, že jsem se o článek přestal okamžitě zajímat a s pousmáním jen nahlédl do diskuze ;-)
Bohužel toto je jedna těch mnoha praktických věcí, kterou se na škole obvykle nenaučíte. Přitom v praxi vás čeká hlavně programování v týmu, kde rozhodně oceníte, že nemusíte louskat komentáře př. z japonštiny ;-)
Mnohem více mi to ale vadí v odborných publikacích (př. od Grady), kde se právě často snaží překládat kde co a většinou špatně, takže raději sáhnu po anglickém originálu.
PS: A vsadil bych se, že firemní politika Siemensu, angličtinu v komentářích nezakazuje :)
Pokud se jedná o program nebo článek, který nikdy nepřekročí hranice ČR, pak je mi to upřímně jedno. Překousl jsem i proměnné "máslo" a "sádlo". Ovšem pokud má dílo ambice překročit hranice republiky, pak jednoznačně angličtinu. A v dnešní době internetu má tyhle ambice prakticky jakýkoliv kousek SW. A dvojnásob to platí u free software, kde použití češtiny už zavání nacionalismem a pokrytectvím ("jen ať se amíci učej česky, bude se jim to hodit"). V případě tohohle článku je to podle mně jedno, protože když už je článek česky, tak ho asi nebude číst mnoho cizinců. Akorát se připojuji ke kritice, že to některé čtenáře může svádět k domění, že čeština v názvech proměnných a funkcí je normální. No, není.
promennne sadlo a maslo? proboha na co to byl program?
pojmenovavani promennych jmeny, ktere nesouvisi s obsahem je taky dobra sranda. jednou jsem videl, ze si clovek (v projektu na kterem delalo vic lidi) vytvoril svou promennou pojmenovanou ,,pavel'' a pritom se jmenoval ,,mirek''.
Je potřeba se domluvit na konvencích - když píši pro PostgreSQL, tak automaticky vše píši v angličtině - jenomže, vše co napíši po mě zkontrolují lidi, pro které je angličtina rodný jazyk. Když píši - upravuji zdejší aplikaci - která používá identifikátory a komentáře v češtině, tak používám identifikátory a komentáře v češtině.
Např. u komentářů je zásadní umět se vyjadřovat v tom či onom jazyku. Jinak máte komentáře sic v angl. ale jsou to komentáře typu proměnná je proměnná a cyklus je cyklus. Pokud editujete aplikaci která obsahuje komentáře nebo identifikárory v jazyce, kterému nerozumíte, tak je něco špatně.
V případě výuky programování jsou věci 100x důležitější než zápis komentáře v angl. nebo zápis identifikátoru. Navíc mateřský jazyk umožňujě izolovat knihovní identifikátory a funkce - a student se může soustředit na podstatné věci - ne všichni dokonale ovládají angličtinu a také jen minimum studentů programování budou psát aplikace v mezinárodních firmách. A každá firma má pak vlastní konvence, které je nutné respektovat - např. německý jazyk.
Takže s Vámi rozhodně nesouhlasím.
Já jsem pro anglické komentáře (a zejména identifikátory) z několika důvodů:
1. My dva jsme zhruba stejně staří a naše generace se ještě ve škole začínala učit rusky a angličtina nebyla samozřejmostí. Dnešní studenti začali chodit do školy až po plyšáku a neexistuje, zejména v oboru IT, žádná omluva, když student neumí anglicky na slušné úrovni.
2. Já pracuji ve firmě, ve které všichni vývojáři umí česky. Když jsme ale dělali nábor nových lidí, nevylučovali jsme a priori ani cizince (Slováky mezi cizince tak úplně nepočítám, s nimi není problém žádný). Pokud firma nesídlí v horské vísce, může se tedy "internacionalizovat" v zásadě kdykoliv. Ať už jde o doplnění vlastních řad nebo o externí výpomoc, je škoda uzavřít si ty dveře jenom proto, že se někdo rozhodl psát kód v češtině.
3. Rozumím obavám, že některé anglické komentáře nejsou tak úplně gramaticky "košer". Vím o svých komentářích i identifikátorech, které úplně správné nebyly. Není ale pro případné cizince lepší, když si přečte komentář s nesprávným gramatickým tvarem, který ale přesto pochopí? Ten příklad s komentáři "proměnná je proměnná" a "cyklus je cyklus" mi přijde dost extrémní.
4. Vždycky si vzpomenu na jeden kurs angličtiny, na který jsem docházel a tam jeden spolužák mluvil sice mizerně a měl horší slovní zásobu než já, přesto se ale dokázal lépe "vymáčknout", zatímco já jsem se ostýchal, koktal a přemýšlel, jak to co nejlépe říct, až jsem se do toho často zamotal. Z toho jsem si odnesl cenný poznatek: jazyk se učíme hlavně tím, že ho používáme. Třeba blbě, nesprávně, ale to se poddá. U nás v práci také když kolega napíše špatný komentář, vrátím mu patch zpátky a vysvětlím, co, jak a proč je špatně (nebo zase někdo jiný třeba mně). Příště je to lepší a když ne příště, tak přespříště.
Záleží na konvencích - rozhodně nebudu někoho vyhazovat od zkoušky, když mi napíše komentáře v češtině a zrovna tak raději uvidím čitelný a výstižný komentář v češtině než blábol v nějaké simple developer english. Na jednu stranu je anglicky komentovaný kód přístupnější cizincům, na druhou stranu je mnohem větší šance, že jej našinec nepochopí a z toho důvodu zavleče chybu. Je hromada proprietárních jednoúčelových kódu, kde angličtina nemá žádný smysl - a důležitější je kvalitní dokumentace.
Jinak k výuce - sám osobně nemám rád zanášení češtiny angličtinou - i když to sám dělám, takže bych si připadal hloupě - kdybych při výuce v českém jazyce používal komentáře nebo identifikátory v angličtině. Ta angličtina je přeci jen nesklonná a pak z člověka lezou perly za které se stydím. Rozhodně by kvalitní programátor neměl mít problém se přizpůsobit požadavkům a konvencím ve firmě. Přeci nejde jen o jazyk - ale taky o konvence, notace, doporučené prefixy, sufixy a nejde jenom o programování, ale také o určitou kulturu.
No já jsem docela jazykový purista a v běžné řeči se snažím používat pokud možno české výrazy. Co se týče vyučování na školách, tam na to nemám ostrý názor - podle mě to lze pojmout různě, počínaje výukou v angličtině a konče českými identifikátory a nevadí to. Slyšel jsem ale například, že Rudolf Pecinovský ve svých kursech používá dokonce identifikátory s diakritikou. To už mi přijde poněkud přehnané, ale dobrá, Java to snese.
Ve firemním prostředí jde samozřejmě o víc, než jenom o jazyk, ta poznámka se jmennými konvencemi je trefná. A je pravda i to, že občas je to s angličtinou boj; já to v extrémních případech řeším tak, že si od kolegů vyžádám zpětný překlad z angličtiny do češtiny, když mám pocit, že věta nedává smysl a vede to k přepsání do rozumné podoby. Navíc jsem toho názoru, že komentář je jenom třešinka na dortu. Kód by v ideálním případě měl být víceméně samodokumentující. Pokud je k pochopení nutné moc přemýšlet, v drtivé většině případů je kód napsán špatně.
To je právě to, co na co narážím - názornost, výstižnost komentáře. Určitě si budeme rozumět v tom, že komentář nemá primárně komentovat, co kód dělá - pokud se nejedná o složitější algoritmus, ale proč tam ten kód je. Poslední poznámka - ne v každé firmě mají pokročilé angličtináře - hůř většinou kód neprochází ani revizí.