Programátor 101: Naučte se programovat

Vždycky jste se chtěli naučit sami vytvářet software – nebo jen občas napsat nějaký skript – ale nikdy jste nevěděli, kde začít. Naštěstí je web plný bezplatných zdrojů, které z vás v mžiku udělají programátora.

Nejnovější video

Tento prohlížeč nepodporuje prvek video.

Od vynálezu internetu jej programátoři využívají k diskusím o technikách vývoje softwaru, zveřejňují návody a sdílejí ukázky kódu, z nichž se ostatní mohou učit a používat je online. Pokud vás zajímá, jak se stát programátorem, můžete začít s pomocí spousty skvělých bezplatných webových výukových programů a zdrojů.

Nejdříve to nejdůležitější:

Reklama

Častým úskalím začátečníků je, že se zaseknou na tom, který programovací jazyk je nejlepší se naučit jako první. Existuje mnoho názorů, ale žádný „nejlepší“ jazyk neexistuje. Věc se má takto: Nakonec na jazyku až TAK moc nezáleží. Velmi záleží na pochopení datových a řídicích struktur a návrhových vzorů. Každý jazyk – dokonce i jednoduchý skriptovací jazyk – bude obsahovat prvky, které využijete i v jiných jazycích a které vám pomohou se naučit. V kurzech, které jsem navštěvoval, abych získal titul z informatiky, jsem programoval v Pascalu, Assembleru a C – jazycích, za jejichž profesionální programování jsem nikdy nedostal zaplaceno. Každý jazyk, který jsem během své kariéry používal, jsem se naučil sám, přičemž jsem opakovaně používal koncepty, které jsem již znal, a odkazoval jsem na dokumentaci a knihy, abych se naučil jeho syntaxi. Neřešte tedy, jaký jazyk se naučit jako první. Vyberte si druh vývoje, který chcete dělat, a prostě začněte používat ten, který vám vyhovuje.

Existuje několik různých druhů vývoje softwaru, které můžete dělat pro různé platformy, od webu přes počítač až po smartphone a příkazový řádek. V tomto článku vám nastíníme některé z našich oblíbených začátečnických výukových programů a zdrojů, které vás naučí programovat pro jednotlivé hlavní platformy. Budeme předpokládat, že jste zdatní uživatelé, ale nováčci, co se týče práce s úryvky kódu, takže se budeme držet na úrovni začátečníků. I při pouhém sledování výukového programu pro začátečníky budete rádi, jak daleko se můžete dostat.

Reklama

Skriptování pro stolní počítače

Nejjednodušší způsob, jak si vyzkoušet programování pro stolní počítače se systémem Windows nebo Mac, je začít s programem pro tvorbu skriptů nebo maker, jako je AutoHotkey (pro Windows) nebo Automator (pro Mac). Právě teď zarytí programátoři napříč čtenáři Lifehackeru křičí na své monitory, že AHK nebo AppleScript nejsou „opravdové“ programování. To může být pravda – z technického hlediska tyto typy nástrojů pouze provádějí vysokoúrovňové skriptování. Ale pro ty, kteří s programováním začínají a chtějí si jen namočit nohy a automatizovat činnosti na ploše, jsou tyto bezplatné nástroje fantastickým způsobem, jak začít – a budete překvapeni, kolik toho s nimi můžete udělat.

Reklama

Příklad samostatnou aplikaci pro Windows, kterou všichni známe a milujeme, Texter, Adam vyvinul pomocí AutoHotkey, takže tento skriptovací jazyk dokáže mnohem více než jen drobné automatizační projekty. Chcete-li s programem AutoHotkey začít, přečtěte si Adamův návod, jak pomocí programu AutoHotkey proměnit libovolnou akci v klávesovou zkratku. (Pak se podívejte na zdrojový kód aplikace Texter, abyste viděli vnitřnosti plnohodnotné aplikace pro Windows založené na AHK)

Reklama

Vývoj webových aplikací

Místo toho, abyste byli vázáni na konkrétní programovací jazyky a vzhled konkrétního operačního systému, můžete svou zabijáckou aplikaci umístit do prohlížeče a spustit ji v cloudu, jako webovou aplikaci. Vítejte v úžasném světě vývoje webových aplikací.

Reklama

HTML a CSS: První věc, kterou potřebujete znát k vytvoření jakéhokoli webu, je jazyk HTML (značkování stránek, ze kterého se skládají webové stránky) a CSS (informace o stylech, díky kterým toto značkování vypadá hezky). HTML a CSS nejsou skutečné programovací jazyky – jsou to jen informace o struktuře stránky a stylu. Než však začnete vytvářet webové aplikace, měli byste umět ručně vytvářet jednoduché jazyky HTML a CSS, protože webová stránka je frontendem každé webové aplikace. Tento výukový kurz HTML je dobrým začátkem.

JavaScript: Nyní, když umíte vytvořit statickou webovou stránku pomocí HTML a CSS, začíná být vše zábavné – protože je čas naučit se jazyk JavaScript. JavaScript je programovací jazyk webového prohlížeče, kouzlo, které umožňuje dynamické efekty na stránce. JavaScript je také základem bookmarkletů, uživatelských skriptů Greasemonkey a Ajaxu, takže je klíčem k vytváření nejrůznějších webových vychytávek. Začněte se učit JavaScript zde.

Reklama

Skriptování na straně serveru: Jakmile budete umět dobře vytvářet věci uvnitř webové stránky, budete za ně potřebovat vložit nějakou dynamickou akci na serveru – a k tomu budete muset přejít na skriptovací jazyk na straně serveru, jako je PHP, Python, Perl nebo Ruby. Chcete-li například vytvořit webový kontaktní formulář, který odešle někam e-mail na základě toho, co uživatel zadal, je zapotřebí skript na straně serveru. Skriptovací jazyky jako PHP mohou také komunikovat s databází na webovém serveru, takže pokud chcete vytvořit web, kde se uživatelé mohou přihlašovat a ukládat informace, je to správná cesta. Vynikající web pro tvorbu webových stránek Webmonkey je plný návodů pro různé webové programovací jazyky. Podívejte se na jejich výukový program PHP pro začátečníky. Až budete připraveni, podívejte se, jak pomocí jazyka PHP komunikovat s databází, v tutoriálu PHP a MySQL na WebMonkey. Online dokumentace a reference funkcí jazyka PHP jsou nejlepší na webu. Každý záznam (například tento o funkci strlen) obsahuje dole komentáře uživatelů, které jsou často stejně užitečné jako samotná dokumentace. (Náhodou mám slabost pro PHP, ale existuje spousta jiných skriptovacích jazyků na straně serveru, pro které se můžete rozhodnout místo toho.)

Reklama

Webové rámce: V průběhu let museli vývojáři webových stránek řešit a vyřešit stejné problémy a přepisovat podobný kód, aby mohli vytvářet dynamické webové stránky. Aby nemuseli všichni znovu vynalézat kolo pro každý nový projekt vývoje webu, přišli někteří programátoři s vývojovými rámci, které dělají některé opakující se práce za vás. Například populární framework Ruby on Rails využívá programovací jazyk Ruby a nabízí specifickou webovou strukturu pro provádění běžných úkolů webových aplikací. Ve skutečnosti Adam použil Rails k vytvoření své první seriózní (a působivé!) webové aplikace MixTape.me. Zde je jeho návod, jak vytvořit web od nuly bez jakýchkoli zkušeností. Mezi další oblíbené frameworky pro vývoj webových aplikací patří CakePHP (pro programátory PHP), Django (pro programátory Pythonu) a jQuery (pro JavaScript).

Reklama

Webová rozhraní API: Rozhraní API (Application programming interface) je programový způsob, jak spolu mohou různé části softwaru komunikovat. Pokud například chcete na svůj web umístit dynamickou mapu, chcete použít mapu Google namísto vytváření vlastní mapy. Rozhraní Google Maps API umožňuje snadno programově začlenit mapu do stránky pomocí jazyka JavaScript. Téměř každá moderní webová služba, kterou znáte a máte rádi, má rozhraní API, které umožňuje zahrnout data a widgety z ní do vaší aplikace, například Twitter, Facebook, Dokumenty Google, Mapy Google a seznam by mohl pokračovat. Integrace jiných webových aplikací do vaší webové aplikace prostřednictvím rozhraní API je poslední hranicí vývoje bohatých webových aplikací. Každá dobrá a významná webová služba API nabízí důkladnou dokumentaci a nějakého rychlého průvodce pro vyzkoušení (zde je například Twitter). Zblázněte se.

Reklama

Skriptování z příkazového řádku

Pokud chcete napsat program, který přijme textový nebo souborový vstup a vypíše něco užitečného, je příkazový řádek tím pravým místem. Příkazový řádek sice není tak sexy a hezký jako webová aplikace nebo desktopová aplikace, ale pro rychlý vývoj rychlých skriptů, které automatizují procesy, ho nepřekonáte.

Reklama

Několik skriptovacích jazyků, které fungují na webovém serveru v Linuxu, funguje také v příkazovém řádku, například Perl, Python a PHP – takže naučením se jednoho z těchto nešvarů získáte znalosti ve dvou kontextech. Moje cesta nikdy nevedla příliš daleko po cestě Perlu, ale Python jsem se naučil pomocí vynikající a bezplatné online knihy Dive into Python.

Reklama

Jestliže je jedním z vašich programátorských cílů stát se unixovým ninjou, rozhodně se musíte zdokonalit v shellových skriptech s bashem. Bash je skriptovací jazyk příkazového řádku prostředí *nix a dokáže vše od pomoci s nastavením automatického zálohování databáze a souborů až po vytvoření plnohodnotné aplikace s interakcí s uživatelem. Bez jakýchkoli zkušeností s psaním skriptů v jazyce bash přesahujících tucet řádků jsem nakonec vytvořil plnohodnotného správce osobních seznamů úkolů v jazyce bash, Todo.txt CLI.

Doplňky

V dnešní době jsou moderní webové aplikace a prohlížeče rozšiřitelné o kousky softwaru, které se k nim připojují a přidávají funkce. Vývoj doplňků získává na popularitě, protože stále více vývojářů se dívá na existující software, jako je Firefox nebo WordPress, a říká si: „Ale kdyby to umělo TOHLE…“

Reklama

S pouhým zvládnutím HTML, JavaScriptu a CSS toho můžete v každém webovém prohlížeči udělat spoustu. Bookmarklety, uživatelské skripty Greasemonkey a uživatelské styly Stylish se vytvářejí pomocí stejných kousků kódu, které tvoří běžné webové stránky, takže se je vyplatí naučit, i když chcete jen malým kouskem kódu upravit existující web.

Pokročilejší doplňky prohlížeče, například rozšíření pro Firefox, vám umožní víc. Například vývoj rozšíření pro Firefox vyžaduje, abyste se vyznali v JavaScriptu a XML (značkování, které je podobné HTML, ale má mnohem přísnější formát). V roce 2007 jsem se rozepsal o tom, jak vytvořit rozšíření pro Firefox, což je dovednost, kterou jsem získal poté, co jsem narazil na bezplatný výukový program.

Reklama

Mnoho bezplatných a oblíbených webových aplikací nabízí také rámec pro rozšíření, například WordPress a MediaWiki. Obě tyto aplikace jsou napsány v jazyce PHP, takže znalost jazyka PHP je pro začátek nezbytným předpokladem. Zde se dozvíte, jak napsat zásuvný modul pro WordPress. Vývojáři, kteří se chtějí svézt na špičce Google Wave, mohou začít psát miniaplikace a boty v jazycích HTML, JavaScript, Java a Python. Svého prvního bota pro Wave jsem napsal podle tohoto rychlého návodu za jedno odpoledne.

Reklama

Vývoj webových aplikací pro stolní počítače

Nejlepší na tom, když začnete programovat v jednom kontextu, je, když můžete tyto dovednosti využít i jinde. Naučit se nejprve vyvíjet webové aplikace je skvělý způsob, jak začít, protože nyní existují způsoby, jak tyto dovednosti uplatnit i v aplikacích pro stolní počítače. Například Adobe AIR je multiplatformní běhové prostředí, které umožňuje jednou vytvořit aplikaci a vydat ji ke spuštění na desktopu pro každý operační systém, na kterém AIR běží. Aplikace AIR jsou napsány v jazyce HTML, Flash nebo Flex, takže umožňují uplatnit dovednosti z vývoje webových aplikací v kontextu stolních počítačů. AIR je skvělou volbou pro nasazení desktopových aplikací, jako je například jedna z našich 10 nejlepších aplikací, pro které stojí za to nainstalovat Adobe AIR.

Reklama

Vývoj mobilních aplikací

Mobilní aplikace, jako jsou ty, které spouštíte na svém iPhonu nebo smartphonu s Androidem, jsou nyní v módě, takže možná sníte o tom, že zbohatnete v iTunes App Store s další zabijáckou aplikací. Pro začínající programátory však může být ponoření se po hlavě do vývoje mobilních aplikací drsnou učební dráhou, protože vyžaduje znalost pokročilých programovacích jazyků, jako jsou Java a Objective C. Vyplatí se však podívat se, jak vypadá vývoj aplikací pro iPhone a Android. Podívejte se na tento jednoduchý příklad vývoje aplikace pro iPhone, abyste získali představu o tom, co vývojáři pro iPhone dělají. Aplikace pro Android se píší v jazyce Java a zde je přátelský videonávod, jak vypadá sestavení pracovního postupu aplikace „Hello Android“.

Reklama

Trpělivost, mazání loktů, pokusy a omyly

Dobří programátoři jsou zvláštní druh vytrvalých řešitelů problémů, kteří jsou závislí na malých vítězstvích, která přicházejí na dlouhé cestě pokusů a omylů. Učit se programovat je velmi obohacující, ale může to být také frustrující a osamělá zkušenost. Pokud můžete, najděte si kamaráda, který s vámi bude na této cestě spolupracovat. Stát se opravdu dobrým v programování, stejně jako v čemkoli jiném, je otázkou vytrvalosti, zkoušení věcí a získávání zkušeností za pochodu.

Reklama

Tento článek je jen jedním z nejlepších doporučení pro začínající programátory samouky. Zkušeným programátorům: Co jsem přehlédl? Bez ohledu na úroveň vašich dovedností přidejte do komentářů své názory a doporučení pro začátečníky.

Gina Trapani, zakládající redaktorka serveru Lifehacker, si myslí, že nejlepší programátoři jsou samouci. Její týdenní rubrika Smarterware vychází každou středu na serveru Lifehacker. Přihlaste se k odběru tagu Smarterware feed, abyste dostávali nové díly do své čtečky zpráv.

Reklama

Napsat komentář