Stať sa programátorom je kumulatívny proces, ktorý zvyšuje vaše schopnosti deň za dňom a rok za rokom a programovanie môže byť zábavné a obohacujúce (mentálne, duchovne a finančne). Táto príručka nesľubuje magicky ľahký spôsob, ako sa stať programátorom, a usporiadanie krokov nie je sväté, ale získate všeobecný prehľad o tom, ako sa stať programátorom v jednej z moderných oblastí programovania.
Kroky
Krok 1. Absolvujte úvodný kurz v jednej (alebo vo všetkých) z týchto disciplín:
- Logika
- Diskrétna matematika
- Programovací jazyk (zúčastnite sa rôznych programovacích paradigiem, od sekvenčného/procedurálneho po objektovo orientovaný, po funkčnom a logickom programovaní. Preferovaný Ruby/Python/Pascal pre začiatočníkov a po dobrom porozumení prejdite hlbšie do C ++/C#/Java)
ODBORNÁ TIP
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
Zakladateľ a technický riaditeľ pri spustení
Nebojte sa, že by ste museli získať kódovací titul.
Gene Linetsky, softvérový inžinier a zakladateľ startupov, môže byť nápomocný pri absolvovaní kurzov programovacieho jazyka:"
Krok 2. Naučte sa koncepty databázy, ako sú tabuľky, zobrazenia/dotazy a postupy
Na to môžete použiť akýkoľvek jednoduchý databázový balík, napríklad:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL je dobrá databáza na učenie, pretože je bezplatná, bežne sa používa a k databázam sa bežne pristupuje pomocou dotazov SQL
Krok 3. Rozhodnite sa, akým typom programátora chcete byť
Programátori spravidla patria do jednej z nasledujúcich kategórií:
- Webový programátor
-
Desktopový programátor aplikácií
- Programátor orientovaný na operačný systém (OS) (viazaný na jeden operačný systém alebo množinu operačných systémov)
- Programátor nezávislý na platforme
- Distribuovaný programátor aplikácií
- Knižnica/platforma/framework/jadrový programátor
-
Systémový programátor
- Programátor jadra
- Programátor ovládačov
- Programátor kompilátora
- Vedec programovania
Krok 4. Naučte sa technológie a programovacie jazyky súvisiace s vami zvolenou oblasťou programovania
V nasledujúcich častiach sú uvedené úlohy pre rôzne typy programovania.
Metóda 1 zo 6: Webové programovanie
Krok 1. Zistite, čo obsahuje webové programovanie
Webové aplikácie sú softvérové komponenty navrhnuté tak, aby fungovali nad rámec internetovej architektúry. To znamená, že k aplikáciám je možné pristupovať prostredníctvom softvéru webového prehliadača, ako je Firefox alebo Internet Explorer. Postavenie na vrchole internetovej architektúry nevyžaduje nutne aktívne pripojenie na internet. To znamená, že webové aplikácie sú postavené na štandardných webových technológiách, ako sú:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP protokoly
- HTML
- XML
- Coldfusion
- ASP
- JSP
- PHP
- ASP. NET
Krok 2. Prezrite si mnoho rôznych webových stránok a zistite, ako zvyčajne vyzerajú
(Kliknite pravým tlačidlom myši, potom kliknite na položku Zobraziť zdroj alebo stlačte kláves F12.) Hľadajte rozmanitosť v type/obsahu webových stránok, nie v počte navštívených webových stránok. Spravidla budete musieť navštíviť najmenej jeden z týchto nasledujúcich typov webových stránok:
- Stránky prítomnosti spoločností (obchodné spoločnosti, neziskové spoločnosti/organizácie, vládne organizácie)
- Webové indexovacie nástroje (vyhľadávače, meta vyhľadávacie stránky, špecializované vyhľadávače, adresáre)
- Stránky na dolovanie údajov
- Osobné stránky
- Informačné/encyklopedické stránky (wiki, údajové listy, technické špecifikácie a príručky so zoznamom adresárov, blogov a časopisov, stránok správ a tlačových agentúr, žltých stránok atď.)
- Sociálne weby (sociálne portály, stránky so záložkami, stránky s poznámkami)
- Spolupracujúce weby (to zahŕňa ďalšie vyššie uvedené kategórie, ako sú wiki a blogy)
Krok 3. Naučte sa aspoň jednu techniku/metódu brainstormingu a softvér, ktorý sa používa na implementáciu tejto metódy
Napríklad: diagramy brainstormingu a MS Visio.
Krok 4. Zoznámte sa so štruktúrovaním webových stránok
Toto vytvára koncepčné webové diagramy, mapy stránok a navigačné štruktúry.
Krok 5. Absolvujte nárazový kurz grafického dizajnu
Skúste sa naučiť aspoň jeden softvérový balík na úpravu/manipuláciu s grafikou (voliteľné, ale dôrazne sa odporúča)
Krok 6. Naučte sa základy internetovej infraštruktúry
To zahŕňa získanie základnej predstavy o:
- Základné protokoly webových služieb (HTTP, FTP, SMTP a POP3 alebo IMAP4)
- Softvér webového servera (najlepšie taký, pre ktorý budete väčšinou pracovať)
- Softvér na prehliadanie webu.
- E -mailový server a klientsky softvér
Krok 7. Naučte sa jazyky HTML a CSS
Môžete tiež chcieť získať softvérový balík „Čo vidíte, čo získate (WYSIWYG)“na úpravu HTML.
Krok 8. Naučte sa technológie XML a XML, ako napríklad XSL a XPath (voliteľné, ale odporúčané)
Krok 9. Vytvárajte jednoduché statické webové stránky, kým sa v HTML nevyznáte a nebudete sa v ňom vyznať
Krok 10. Naučte sa skriptovací jazyk na strane klienta
Väčšina používateľov sa učí JavaScript. Niektorí sa učia VBScript, ale to nie je kompatibilné s väčšinou prehliadačov.
Krok 11. Zoznámte sa so skriptovacím jazykom na strane klienta, ktorý ste sa naučili
Pokúste sa využiť svoj potenciál iba v tomto jazyku. K ďalšiemu kroku prejdite až potom, čo sa aspoň zoznámite so svojim skriptovacím jazykom na strane klienta.
Krok 12. Naučte sa aspoň jeden programovací jazyk na strane servera
Ak sa rozhodnete obmedziť na jeden serverový softvér, naučte sa jeden z programovacích jazykov, ktoré tento softvér podporuje. Ak nie, naučte sa aspoň jeden programovací jazyk pre každý serverový softvér.
Krok 13. Vytvorte pilotný projekt potom, čo sa naučíte programovací jazyk na strane servera.
Krok 14. Získajte vlastnú webovú stránku a začnite online experimentovať na svojej vlastnej stránke
Metóda 2 zo 6: Programovanie desktopových aplikácií
Krok 1. Zistite, do čoho sa programovaním desktopových aplikácií dostávate
Väčšina desktopových programátorov píše kód pre podnikové riešenia, takže získať predstavu o podnikoch, ich organizačnej a finančnej štruktúre vám výrazne ušetrí čas.
Krok 2. Získajte informácie o rôznych architektúrach hardvéru počítača
Užitočný je úvodný kurz v oblasti návrhu digitálnych obvodov a ďalší v počítačovej architektúre; niektorí to však chápu ako pokročilý počiatočný bod, takže by mohlo stačiť prečítanie dvoch alebo troch článkov s návodom (napríklad tohto a tohto). K tomuto kroku sa potom môžete vrátiť neskôr, keď sa naučíte svoj prvý programovací jazyk.
Krok 3. Naučte sa programovací jazyk základnej úrovne (pre deti)
Nebojte sa naučiť sa takýto jazyk len preto, že ste starší, než by sa vám hovorilo „dieťa“. Príkladom týchto programovacích jazykov môže byť Scratch. Tieto programovacie jazyky môžu zmierniť bolesť pri učení sa vášho prvého programovacieho jazyka. Tento krok je však voliteľný. Môžete to urobiť aj pred predchádzajúcim krokom.
Krok 4. Získajte úvod do procedurálneho postupu, objektovo orientovanýa paradigmy funkčného programovania.
Krok 5. Absolvujte úvodný kurz v jednom z procedurálnych programovacích jazykov
Bez ohľadu na to, ktorý jazyk si vyberiete neskôr, bude to váš zvolený jazyk, na určitej úrovni to bude vyžadovať procedurálne programovanie. Tiež procedurálne programovanie väčšina programátorov uvádza ako najľahšie použiteľné ako východiskový bod pre predstavu o programovaní vo všeobecnosti.
Krok 6. Naučte sa aspoň jednu pokročilú techniku modelovania, ako je UML alebo ORM
Krok 7. Začnite písať malú konzolu alebo aplikácie podobné konzole
V knihách o programovacích jazykoch môžete využiť bežné malé cvičenia. Vyberte si preto nástroj na písanie programov v programovacom jazyku, v ktorom píšete.
Krok 8. Absolvujte pokročilejší kurz vo vami zvolenom programovacom jazyku
Pred pokračovaním sa uistite, že dobre rozumiete nasledujúcim konceptom a že ich môžete relatívne ľahko použiť:
- Vstup a výstup informácií pre používateľov programu.
- Logický tok a tok vykonávania programov v procedurálnych jazykoch.
- Deklarácia, priradenie a porovnávanie premenných.
- Rozvetvené programovacie konštrukcie, ako keby..tak..inak a vyberte/prepnite.. prípad.
- Vytváranie slučiek ako napríklad while..do, do.. while/until, for..noxt.
- Syntax vášho programovacieho jazyka na vytváranie a volanie procedúr a funkcií.
- Dátové typy a manipulácia s nimi.
- Užívateľom definované typy údajov (záznamy/štruktúry/jednotky) a ich použitie.
- Ak váš jazyk podporuje funkcie preťaženia, pochopte ho.
- Metódy prístupu do pamäte podľa vášho zvoleného jazyka (ukazovatele, prezeranie, atď.)
- Ak váš jazyk podporuje preťažovanie operátorov, pochopte to.
- Ak váš jazyk podporuje delegáty/ukazovatele funkcií, porozumejte mu.
Krok 9. Aplikujte pokročilé techniky, ktoré ste sa naučili
Krok 10. Absolvujte úvodný kurz v najmenej jednom ďalšom programovacom jazyku v inej paradigme programovania
Odporúča sa naučiť sa jeden programovací jazyk z každej paradigmy a väčšina pokročilých programátorov to robí, zvyčajne však začnete s jedným, chvíľu pracujete s uplatnením svojich znalostí a ich precvičovaním, potom sa druhý naučíte neskôr, keď už máte skutočný -celoživotné skúsenosti s programovaním. Skúste jednu z nasledujúcich jazykových oblastí:
- Paradigma logického programovania.
- Paradigma funkčného programovania.
- Objektovo orientovaná paradigma.
Krok 11. Skúste porovnať dva programovacie jazyky, ktoré ste sa doteraz naučili
Zhodnoťte silné a slabé stránky každého z nich. Obvykle to robia:
- Odoberte jednoduché ukážky svojej ranej práce v prvom programovacom jazyku a znova ho napíšte pomocou druhého programovacieho jazyka.
- Vytvorte nový projekt a skúste ho implementovať v oboch jazykoch. Niekedy, v závislosti od vášho výberu projektu a jazykov, nemusí byť možné implementovať projekt v jednom z jazykov!
- Písanie cheatových alebo súhrnných tabuliek porovnáva podobné konštrukcie v týchto dvoch jazykoch a funkcie jedinečné pre každý z jazykov.
- Skúste pomocou druhého jazyka napodobniť funkcie, ktoré sú jedinečné pre jeden z dvoch jazykov.
Krok 12. Naučte sa koncepty vizuálneho programovania pomocou jedného z jazykov, ktoré ste sa naučili
Takmer všetky programovacie jazyky majú verzie/knižnice, ktoré podporujú vizuálne programovanie, a ďalšie, ktoré podporujú konzolové alebo konzolové programovanie. To sa dá dosiahnuť:
- Získajte úvod do programovania riadeného udalosťami. Väčšina vizuálnych programov sa do určitej miery spolieha na udalosti a spracovanie udalostí (pomocou zvoleného programovacieho jazyka).
- Vyskúšajte čo najviac softvéru pre stolné počítače a porozumejte tomu, čo softvér robí. Väčšina spoločností vyvíjajúcich softvér ponúka verzie beta testovania svojich produktov, ktoré môžete použiť na testovanie softvéru. Udržujte si aktuálne informácie o pokroku v používateľskom rozhraní.
- Prečítajte si niekoľko článkov alebo návodov o grafických používateľských rozhraniach.
Krok 13. Začnite uplatňovať svoje znalosti v malých softvérových projektoch, ktoré navrhujete
Skúste uplatniť svoje znalosti programovania v problémoch, s ktorými sa stretávate v každodennom živote. Môžete napríklad písať programy, ktoré hromadne premenovávajú súbory, vizuálne porovnávajú textové súbory, kopírujú názvy súborov v adresári do pamäte/textového súboru a podobne. Na začiatku to urobte jednoducho.
Krok 14. Vytvorte projekt virtuálnej promócie
Dokončite to do konca pomocou techník vizuálneho programovania, ktoré ste sa doteraz naučili.
Krok 15. Rozšírte svoje chápanie vizuálneho rámca/knižnice/balíka, ktorý ste sa predtým naučili, absolvovaním pokročilých kurzov, venovaním zvýšenej pozornosti detailom a získaním ďalších tipov a trikov pre váš rámec z online zdrojov
Krok 16. Vyhľadajte ďalšie balíky/knižnice vizuálnych prvkov pre vaše programovacie jazyky a naučte sa ich
Krok 17. Absolvujte kurz grafiky (nie grafického dizajnu)
Bude to veľmi užitočné pre programátorov, ktorí chcú písať atraktívne prvky používateľského rozhrania.
Krok 18. Zvážte možnosť stať sa herným programátorom (voliteľné)
Programovanie hier je vo väčšine svojich častí považované za programovanie na ploche. Ak sa chcete stať herným programátorom, po dokončení týchto krokov sa budete musieť dozvedieť viac o programovaní hier. Grafický kurz je pre herných programátorov nevyhnutnosťou a druhým jazykom, ktorý si vyberiete v predchádzajúcich krokoch, by mal byť logický/funkčný programovací jazyk (najlepšie Prolog alebo Lisp).
Metóda 3 zo 6: Programovanie distribuovaných aplikácií
Krok 1. Riešenie programovania distribuovaných aplikácií
Distribuované programovanie aplikácií je mnohými považované za jedno z najťažšie osvojiteľných a vyžaduje si rozsiahle znalosti v oblasti počítačových a komunikačných technológií.
Krok 2. Predstavte sa rýchlo s telefónnymi systémami a ich hardvérom
Tento krok je voliteľný. Je však veľmi užitočný pri porozumení topológiám siete.
Krok 3. Zoznámte sa s architektúrou sieťového hardvéru a zariadeniami, ako sú rozbočovače, prepínače a smerovače
Krok 4. Absolvujte kurz v sieťových protokoloch a základoch
Predtým, ako začnete programovať distribuované aplikácie, musíte dobre porozumieť modelu Open Systems Interconnection (OSI), ethernetu, IP, TCP, UDP a
Krok 5. Naučte sa jazyk XML a zoznámte sa s ním
Krok 6. Začnite tým, že sa naučíte skriptovací jazyk shell
V prípade programovania na báze systému Windows by to bol ľubovoľný skript, ktorý funguje s hostiteľom Windows Scripting Host. Na programovanie na báze Linuxu budú postačovať Bash skripty a Perl. Na oboch platformách sa na to dôrazne odporúča JavaScript z nasledujúcich dôvodov:
- Je podporovaný takmer akýmkoľvek skriptovacím hostiteľom v akomkoľvek operačnom systéme (Windows Scripting Host štandardne podporuje JavaScript, väčšina distribúcií Linuxu má balík na podporu skriptovacej konzoly JavaScript).
- Mnoho vývojárov to považuje za jednoduchšie sa naučiť.
- Má syntax odvodenú od ALGOL, ktorá vás zoznámi s mnohými ďalšími programovacími jazykmi, keď potrebujete vybrať druhý programovací jazyk (C, C ++, C#, Java a J# majú syntax odvodenú od ALGOL).
- Naučením sa JavaScriptu sa zoznámite so skriptovaním webových stránok na strane klienta, čo je bonusový vedľajší efekt!
Krok 7. Najprv použite iba procedurálne programovanie pomocou zvoleného skriptovacieho jazyka
Neskôr môžete použiť pokročilejšie programovacie techniky a paradigmy podľa skriptovacieho jazyka a toho, čo podporuje. Všetky skriptovacie jazyky majú na určitej úrovni určité procedurálne programovacie aspekty.
Krok 8. Použite skriptovací jazyk, ktorý ste sa naučili, na písanie skriptov, ktoré vykonávajú komunikáciu medzi počítačmi
Zistite, čo je potrebné na to. Jednoduchá komunikácia bude stačiť.
Krok 9. Vykonajte prenos do skriptovacieho/programovacieho jazyka pre stolné počítače
Prednostne ten, ktorý je multi-paradigmatickým jazykom, ako je Python. Vezmite si jednoduchý úvod do tohto druhého jazyka. Java je väčšinou programátorov považovaná za zvolený jazyk z mnohých dôvodov. C# však v tejto oblasti rýchlo naberá na obrátkach. Java a C# sú uprednostňované z nasledujúcich dôvodov:
- Sú to objektovo orientované programovacie jazyky, ktoré chránia programátorov vo veľkých tímoch pred detailmi implementácie, pretože oba podporujú komponenty (jednotky kódu, vopred skompilované, ktoré vykonávajú určitú úlohu a dajú sa použiť v iných programoch).
- Podporujú programovanie riadené udalosťami, ako aj OO a procedurálne programovanie na určitej úrovni.
- Rámec, na ktorom je jazyk postavený, je distribuovaný svojou povahou (v prípade Javy).
- Dostupnosť mnohých hotových balíkov, ktoré sa zaoberajú sieťou, ako open-source kód a vstavané balíčky rámcov; programátorom to uľahčuje nadviazať na prácu ostatných.
Krok 10. Sústreďte sa viac na základné vlastnosti jazyka, najmä na tie, ktoré podporujú vytváranie sietí
Venujte menšiu pozornosť prvkom používateľského rozhrania, ako sú výstupy, dizajn okien a techniky, a prvkom používateľského rozhrania.
Krok 11. Absolvujte kurz o návrhu a architektúrach distribuovaných aplikácií
To je možné vykonať pomocou kníh, online návodov alebo akademických kurzov. Pochopenie architektúry distribuovaných aplikácií a jej konceptov je však nevyhnutné.
Krok 12. Získajte informácie o vytváraní servisných komponentov a služieb pomocou zvoleného programovacieho jazyka
Krok 13. Naučte sa jednu alebo viac z nasledujúcich technológií
Odporúčame vám, aby ste sa so všetkými aspoň zoznámili. Väčšina distribuovaných programátorov sa nezastaví v jednom alebo dvoch programovacích jazykoch, ale naučí sa aspoň jeden programovací jazyk pre každý operačný systém. Je to preto, že ak chcete, aby bola vaša aplikácia „distribuovaná“, mali by ste poskytnúť jej verziu aspoň pre každý hlavný operačný systém.
- Spoločná architektúra makléra požiadaviek na objekty (CORBA)
- Simple Object Access Protocol (SOAP)
- Asynchrónny JavaScript a XML (AJAX)
- Distribuovaný komponentový objektový model (DCOM)
- . NET Remote
- Webové služby XML
Metóda 4 zo 6: Knižnica/platforma/rámec/základné programovanie
Krok 1. Vedieť, čo je základné programovanie
Core programátori sú iba pokročilí programátori, ktorí vykonali prenos z programovacích aplikácií do programovacích kódových jednotiek, ktoré majú používať iní programátori.
Krok 2. Naučte sa programovací jazyk, ktorý podporuje vytváranie opakovane použiteľných komponentov/balíkov, ak ste to ešte neurobili
Krok 3. Absolvujte pokročilý kurz UML a ORM
Väčšina vývojárov knižníc používa jeden alebo oba.
Krok 4. Absolvujte kurz softvérového inžinierstva
Krok 5. Naučte sa aspoň modulárne, komponentové, objektovo orientované a na udalostiach zamerané programovacie techniky a koncepty
Čím viac programovacích paradigiem a jazykov pokryjete, tým budete úspešnejší ako programátor knižníc/balíkov.
Krok 6. Získajte viac informácií o rôznych operačných systémoch a programovacích rámcoch podporovaných týmito operačnými systémami
Krok 7. Zamerajte svoje vzdelávacie úsilie na rámce, programovacie jazyky a technológie nezávislé od platformy
Krok 8. Ak programovacie jazyky, ktoré ste sa doteraz naučili, majú ANSI/ISO/IEEE/Štandardné verzie W3C, zvládnite štandardy.
Skúste použiť štandardný kód, kedykoľvek je to možné.
Krok 9. Skúste napodobniť jednoduché, už zavedené knižnice, najmä open-source
To je užitočné v ranej fáze, keď sa stanete programátorom knižníc/balíkov. Začnite s jednoduchými balíkmi, ako sú prevody jednotiek, a balíčky medziproduktov pre vedecké výpočty. Ak ste vysokoškolský študent, využite svoje kurzy mimo programovania tým, že sa pokúsite implementovať ich rovnice a vedecké jadro ako knižnice.
Krok 10. Vyhľadajte a vyskúšajte balíky open source vo vašej oblasti programovania
Najprv stiahnite binárne súbory/spustiteľné súbory z balíka. Skúste to využiť a nájsť jeho silné aj slabé stránky. Keď to urobíte, stiahnite si zdroj a pokúste sa zistiť, ako sa to stalo. Skúste tieto knižnice alebo ich časti znova vytvoriť. Najprv to urobte, keď uvidíte kód, a neskôr, ako ho uvidíte. V neskorších fázach skúste tieto knižnice vylepšiť.
Krok 11. Naučte sa rôzne prístupy používané na distribúciu a nasadenie komponentov programátorom
- Programátori knižníc/balíkov majú tendenciu myslieť rekurzívne a/alebo iteratívne na všetky problémy, s ktorými sa stretávajú. Skúste uvažovať o každom probléme ako o súbore menších problémov (postupnosť jednoduchších úloh) alebo ako o opakovanom procese zníženia rozsahu problému na menšie rozsahy a potom na seba tieto rozsahy hromadiť.
- Programátori knižníc/balíkov majú tendenciu zovšeobecňovať. To znamená, že keď sa im predstaví jednoduchý konkrétny problém, zvyčajne ich napadne všeobecnejší problém a pokúsia sa vyriešiť ten všeobecný problém, ktorý automaticky vyrieši ten menší.
Metóda 5 zo 6: Programovanie systému
Krok 1. Pochopte, čo programovanie systému zahŕňa
Programátori systému sa zaoberajú vedou programovania, nie jeho konkrétnymi implementáciami. Neviažte sa na konkrétnu platformu.
Krok 2. Vykonajte prvé tri kroky pre programátorov desktopových aplikácií
Krok 3. Absolvujte úvodný kurz lineárnej algebry
Krok 4. Absolvujte kurz v programe Calculus
Krok 5. Absolvujte kurz logiky a/alebo diskrétnej matematiky
Krok 6. Predstavte sa s rôznymi holými operačnými systémami
To je možné vykonať:
- Získanie predstavy o tom, ako sú nainštalované operačné systémy.
- Naučte sa inštalovať rôzne operačné systémy na jeden počítač (voliteľné, ale odporúčané).
- Inštalácia viac ako jedného operačného systému. Neinštalujte do systémov žiadne pomocné balíky; namiesto toho použite holé funkcie poskytované operačnými systémami.
Krok 7. Absolvujte kurz (alebo alternatívne čítajte knihy) o architektúre počítačového hardvéru
Krok 8. Rozvíjajte porozumenie rôznym platformám počítačového hardvéru
Krok 9. Získajte úvodné zoznámenie sa s montážnym jazykom zvolenej hardvérovej platformy/operačného systému
Neskôr sa naučíte montáž ďalších platforiem/systémov.
Krok 10. Naučte sa jazyky ANSI C a C ++ spolu s konceptmi procedurálneho programovania
Krok 11. Pochopte a precvičte si štandardné knižnice C/C ++ na zvolenej platforme
Venujte zvláštnu pozornosť štandardnej knižnici šablón (STL) a možno aj knižnici aktívnych šablón (ATL).
Krok 12. Vyhľadajte online zdroje, knihy a kurzy, aby ste porozumeli chuti C vašej konkrétnej platformy
Krok 13. Precvičte si vytváranie pokročilého kódu v jazykoch C a C ++
Krok 14. Naučte sa pokročilejšiu montáž
Krok 15. Absolvujte kurz v oblasti návrhu operačných systémov
Krok 16. Vyhľadajte a prečítajte si dokumentáciu k svojej konkrétnej zvolenej platforme
Bude to jednoduchšie, ak si vyberiete operačný systém založený na Unixe. Pochopte systém, s ktorým budete neskôr pracovať, veľmi dobre.
Krok 17. Precvičte si získané znalosti
Najprv vytvorte malé systémové nástroje. Obvykle je užitočné:
- Pokúšate sa znova vytvoriť malé nástroje, ktoré už vo vašom systéme existujú.
- Pokúšam sa preniesť obslužné programy dostupné v iných operačných systémoch do vášho.
Krok 18. Naučte sa jazyky v najužitočnejšom poradí
Toto je jediné miesto, kde je dôležitý prvý programovací jazyk. Naučte sa najskôr ANSI C, nie C ++, nie C#, nie Java a nie D. Potom sa naučte C ++.
-
Obmedzenie prvého jazyka iba na C a C je spôsobené tým, že programovanie systémov vyžaduje, aby bol programátor oboznámený s nasledujúcimi pojmami:
- Skutočná a úplná kompilácia zdrojového kódu.
- Výstupné súbory objektov na nízkej úrovni.
- Prepojenie binárnych súborov.
- Programovanie strojového jazyka/zostavy na nízkej úrovni. Hovorí sa, že jazyk C je pre niektorých maskovanou/ľahšie naučiteľnou montážou. Podporuje tiež vkladanie kódu montážneho jazyka do kódu, kedykoľvek chcete, a je to iba procedurálne (ako zostavenie).
Metóda 6 zo 6: Programátorská veda
Krok 1. Vedieť, čo robí vedec programovania
Vedci z oblasti programovania sú veľmi pokročilí programátori, ktorí namiesto vývoja aplikácií pracujú na vývoji počítačových technológií, ako sú šifrovanie, programovacie jazyky a algoritmy na dolovanie údajov. Túto úroveň len zriedka dosiahneme bez akademického štúdia a odhodlania.
Krok 2. Zhromažďujte vedecké znalosti ekvivalentné štvorročnému titulu z informatiky
To je možné vykonať buď:
- Získanie skutočného akademického titulu (čo sa zvyčajne stáva).
- Získanie obrysov kurzov pre takýto stupeň na jednej z moderných univerzít a absolvovanie kurzov buď samoštúdiom, alebo ako samostatné kurzy. To by sa dalo dosiahnuť teoreticky, ale odporúčaná cesta je prvá.
Krok 3. Rozhodnite oblasť špecializácie
Čím konkrétnejšie, tým lepšie. To závisí od vašich preferencií. Tu je však zoznam niektorých z hlavných tém počítačovej vedy o programovaní:
- Návrh algoritmu (niekoľko príkladov je vyhľadávanie, triedenie, šifrovanie, dešifrovanie a detekcia chýb v komunikácii)
- Programovacie jazyky/návrh kompilátora/optimalizácia
- Polia umelej inteligencie (rozpoznávanie vzorov, rozpoznávanie reči, spracovanie prirodzeného jazyka, neurónové siete)
- robotické
- Vedecké programovanie
- Super výpočet
- Počítačový návrh/modelovanie (CAD/CAM)
- Virtuálna realita
- Počítačová grafika (Počítačová grafika je zvyčajne mylne zamieňaná s grafickým dizajnom alebo dizajnom grafického používateľského rozhrania. Počítačová grafika je odbor, v ktorom sa študuje spôsob reprezentácie a manipulácie s grafikou v počítačových systémoch.)
Krok 4. Zvážte získanie vyššieho akademického titulu
Možno budete chcieť pokračovať v magisterskom alebo doktorandskom štúdiu.