5 kritérií, jak vybrat první programovací jazyk bez zbytečných chyb

Aus Rettungsdienst-Wiki
Zur Navigation springen Zur Suche springen

Kde se nejčastěji láme spolupráce Největší problémy vznikají v momentě, kdy se změní zadání uprostřed běžícího cyklu. Interní tým to považuje za běžnou agilní realitu, dodavatel za vícepráci a důvod k fakturaci. Řešením je předem dohodnutý mechanismus pro změny: kdo je schvaluje, do jaké míry jsou součástí původní ceny a co už znamená nový požadavek. Vyplatí se držet změny v jednom viditelném seznamu, ke kterému mají přístup obě strany, a nezavádět je potichu přes chat. Právě neformální domlouvání bokem je typický začátek konfliktů.

Praktickým krokem je přidat do repozitáře také soubor s informací o autorských právech, obvykle COPYRIGHT nebo NOTICE. Ten uvádí, kdo je držitelem práv a od kterého roku. Není to náhrada licence, ale doplněk, který usnadňuje dohledatelnost. U projektů s více přispěvateli je vhodné vést seznam lidí, kteří kód poskytli, a jejich souhlas s licencí. Bez tohoto souhlasu nelze licenci později změnit ani vymáhat.

Prvním krokem je ujasnit si, kdo co vlastně řídí. U externího dodavatele nemůžete přímo nařizovat lidem, co mají dělat. Můžete ale ovlivnit prostředí, ve kterém pracují. Sepište si se zástupci dodavatele tzv. pracovní dohodu: kdo je produktový vlastník, kdo technický vedoucí, jak často se scházíte a co se stane, když se priority rozjedou. Bez toho se každá retrospektiva zvrhne v hádku o tom, čí úkol je důležitější.

API se vyvíjí a každá změna může rozbít to, co už funguje. Zaveďte verzování v cestě nebo v hlavičce a držte se ho. Když měníte tvar odpovědi nebo rušíte pole, nestačí o tom napsat do dokumentace. Oznámení musí proběhnout předem a klient musí mít čas se přizpůsobit. Zpětně kompatibilní změny, jako přidání nového pole, se dají dělat kdykoli. Odebrání nebo přejmenování pole je vždy změna, která potřebuje vlastní termín.

Na závěr: neexistuje univerzálně nejlepší první jazyk. Existuje jen jazyk, který vyhovuje vašemu cíli, tempu a možnostem. Zkuste si krátký úvodní kurz nebo tutoriál, než se zavážete k dlouhodobému studiu. Pokud vás po prvních hodinách přestane bavit, klidně změňte jazyk. Není to selhání, ale součást hledání. Důležité je začít psát kód a řešit malé úlohy. Tak získáte jistotu a zjistíte, co vám skutečně sedí.

Výběr prvního programovacího jazyka je často zbytečně komplikovaný. Mnoho začátečníků tráví hodiny porovnáváním a nakonec skončí u jazyka, který je nebaví, nebo u tutoriálu, který je odradí. Přitom stačí držet se několika praktických kritérií. Tento článek shrnuje pět oblastí, které byste měli zvážit, než napíšete první řádek kódu.

Pátým kritériem je komunita. Aktivní fóra, diskusní skupiny a možnost ptát se ostatních výrazně usnadní učení. Pokud je komunita malá nebo nepřátelská, může to být problém. Zjistěte, zda existují české nebo slovenské skupiny, kde se můžete zeptat česky. Nebojte se také zeptat zkušenějších programátorů, jaký jazyk by doporučili pro váš konkrétní cíl. Častou chybou je učit se několik jazyků najednou. Vyberte jeden a věnujte mu alespoň tři měsíce. Teprve pak přidávejte další.

Agilní metodiky stojí na předpokladu, že tým je stabilní, sedí pohromadě a může si sám řídit priority. Jakmile ale do hry vstoupí externí dodavatel, tento předpoklad padá. Dodavatel má vlastní smlouvu, vlastní lidi, vlastní priority a často i vlastní způsob plánování. Snaha aplikovat scrum nebo kanban jedna ku jedné obvykle skončí u nedodaných přírůstků a nekonečných diskusí o odpovědnosti. Řešení není v tom hledat dokonalý rámec, ale v tom sladit očekávání na obou stranách dřív, než začne první sprint.

Třetím kritériem je zpětná vazba. Potřebujete okamžitě vidět, co kód dělá. Jazyky s interaktivním režimem nebo jednoduchým spuštěním (Python, JavaScript v prohlížeči) vám umožní rychle experimentovat. Vyhněte se jazykům, kde musíte nejprve nastavit složité vývojové prostředí. To bývá častý důvod, proč začátečníci skončí. Pokud se přesto rozhodnete pro takový jazyk, nejprve si projděte návod na instalaci a nastavení.

Čtvrtým kritériem je poptávka na trhu práce. Pokud se učíte programovat kvůli zaměstnání, podívejte se na nabídky práce ve vašem okolí. JavaScript, Python, Java a C# patří dlouhodobě k nejžádanějším. Nevybírejte ale jen podle trendů. Jazyk, který vás nebaví, vás stejně přestane bavit. Raději zvolte kompromis mezi zájmem a uplatněním.

Druhým častým selháním je sdílení odpovědnosti za výsledek. Agilní tým má vlastnit produkt, ale pokud klíčovou část dodává externí firma, musí mít jasně určeného vlastníka i na její straně. Ten musí být k dispozici pro priority, přijímat zpětnou vazbu a umět říct ne. Bez tohoto člověka se rozhodnutí hromadí a tým ztrácí schopnost dokončovat práci v krátkých cyklech. Stejně důležité je nastavit, kdo řeší technické překážky a kdo obchodní podmínky, aby se tyto dvě roviny nepletly do jednoho vlákna.