Tapimas programuotoju yra kaupiamasis procesas, kuris kiekvieną dieną ir metai iš metų kaupia jūsų įgūdžius, o programavimas gali būti įdomus ir naudingas (psichiškai, dvasiškai ir finansiškai). Šis vadovas nežada suteikti stebuklingai lengvo būdo tapti programuotoju, o žingsnių išdėstymas nėra šventas, tačiau jūs gausite bendrą aprašymą, kaip tapti programuotoju vienoje iš šiuolaikinių programavimo sričių.
Žingsniai
1 žingsnis. Išbandykite vienos (arba visų) iš šių disciplinų įvadinį kursą:
- Logika
- Diskretinė matematika
- Programavimo kalba (dalyvaukite skirtingose programavimo paradigmose, pradedant nuo nuoseklios/procedūrinės iki orientuotos į objektą, po funkcinio ir loginio programavimo. Pradedantiesiems geriau naudoti „Ruby“/„Python“/„Pascal“ir gerai supratus pereiti į C ++/C#/Java)
EKSPERTŲ PATARIMAS
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
„Startup“įkūrėjas ir inžinerijos direktorius
Nemanykite, kad turite įgyti kodavimo laipsnį.
Nors programavimo kalbos kursai gali būti naudingi, programinės įrangos inžinierius ir startuolio įkūrėjas Gene Linetsky sako:"
2 žingsnis. Sužinokite duomenų bazės sąvokas, tokias kaip lentelės, rodiniai/užklausos ir procedūros
Norėdami tai padaryti, galite naudoti bet kurį paprastą duomenų bazės paketą, pavyzdžiui:
- MS prieiga
- DB V.
- „Fox Pro“
- Paradoksas
- „MySQL“yra gera duomenų bazė, kurią reikia išmokti, nes ji yra nemokama, dažniausiai naudojama, o duomenų bazės dažniausiai pasiekiamos naudojant SQL užklausas
Žingsnis 3. Nuspręskite, kokio tipo programuotojas norite būti
Paprastai programuotojai patenka į vieną iš šių kategorijų:
- Interneto programuotojas
-
Darbastalio programų programuotojas
- Į operacinę sistemą (OS) orientuotas programuotojas (susietas su viena operacine sistema arba operacinių sistemų rinkiniu)
- Nuo platformos nepriklausomas programuotojas
- Paskirstytų programų programuotojas
- Biblioteka/platforma/sistema/pagrindinis programuotojas
-
Sistemos programuotojas
- Branduolio programuotojas
- Vairuotojo programuotojas
- Kompiliatorius programuotojas
- Programavimo mokslininkas
Žingsnis 4. Išmokite technologijų ir programavimo kalbų, susijusių su jūsų pasirinkta programavimo sritimi
Tolesniuose skyriuose suskirstytos įvairių tipų programavimo užduotys.
1 metodas iš 6: žiniatinklio programavimas
Žingsnis 1. Žinokite, ką reiškia žiniatinklio programavimas
Žiniatinklio programos yra programinės įrangos komponentai, skirti dirbti su interneto architektūra. Tai reiškia, kad programos pasiekiamos naudojant žiniatinklio naršyklės programinę įrangą, pvz., „Firefox“ar „Internet Explorer“. Norint sukurti interneto architektūrą, nebūtinai reikia aktyvaus ryšio su internetu. Tai reiškia, kad žiniatinklio programos yra sukurtos naudojant standartines žiniatinklio technologijas, tokias kaip:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP protokolai
- HTML
- XML
- Peršalimas
- ASP
- JSP
- PHP
- ASP. NET
Žingsnis 2. Naršykite daugybę įvairių svetainių, kad sužinotumėte, kaip jos paprastai atrodo
(Dešiniuoju pelės mygtuku spustelėkite, tada spustelėkite Peržiūrėti šaltinį arba paspauskite F12.) Ieškokite svetainės tipo/turinio įvairovės, o ne aplankytų svetainių kiekio. Paprastai turėsite aplankyti bent vieną iš šių tipų svetainių:
- Įmonių buvimo svetainės (komercinės korporacijos, ne pelno siekiančios įmonės/organizacijos, vyriausybinės organizacijos)
- Žiniatinklio indeksavimo varikliai (paieškos sistemos, meta paieškos svetainės, specializuotos paieškos sistemos, katalogai)
- Duomenų gavybos svetainės
- Asmeninės svetainės
- Informaciniai/enciklopediniai puslapiai (wiki, duomenų lapai, techninės specifikacijos ir vadovai, kuriuose išvardyti katalogai, tinklaraščiai ir žurnalai, naujienų ir naujienų agentūrų svetainės, geltoni puslapiai ir kt.)
- Socialinės svetainės (socialiniai portalai, žymių svetainės, užrašų svetainės)
- Bendradarbiavimo svetainės (tai apima kitas aukščiau paminėtas kategorijas, pvz., „Wiki“ir tinklaraščius)
Žingsnis 3. Išmokite bent vieną smegenų šturmo techniką/metodą ir programinę įrangą, kuri naudojama tam metodui įgyvendinti
Pavyzdžiui: smegenų šturmo diagramos ir „MS Visio“.
Žingsnis 4. Susipažinkite su svetainės struktūrizavimu
Tai sukuria konceptualias žiniatinklio diagramas, svetainių žemėlapius ir navigacijos struktūras.
Žingsnis 5. Išbandykite grafikos dizaino kursą
Pabandykite išmokti bent vieną grafikos redagavimo/manipuliavimo programinės įrangos paketą (neprivaloma, bet primygtinai rekomenduojama)
Žingsnis 6. Išmokite interneto infrastruktūros pagrindų
Tai apima pagrindinės idėjos gavimą:
- Pagrindiniai žiniatinklio paslaugų protokolai (HTTP, FTP, SMTP ir POP3 arba IMAP4)
- Žiniatinklio serverio programinė įranga (pageidautina, skirta platformai, su kuria daugiausia dirbsite)
- Interneto naršymo programinė įranga.
- Pašto serverio ir kliento programinė įranga
Žingsnis 7. Išmokite HTML ir CSS kalbų
Taip pat galbūt norėsite gauti programinės įrangos paketą „Ką matai, ką gauni (WYSIWYG)“HTML redagavimui.
Žingsnis 8. Išmokite su XML ir XML susijusių technologijų, tokių kaip XSL ir XPath (pasirenkama, bet rekomenduojama)
9. Sukurkite paprastas statines svetaines, kol nesusipažinsite su HTML ir nesijausite patogiai
Žingsnis 10. Išmokite kliento scenarijaus kalbą
Dauguma vartotojų mokosi „JavaScript“. Kai kurie mokosi „VBScript“, tačiau tai nesuderinama su dauguma naršyklių.
Žingsnis 11. Susipažinkite su kliento scenarijaus kalba, kurią išmokote
Stenkitės išnaudoti savo galimybes naudodami tik tą kalbą. Pereikite prie kito veiksmo tik tada, kai bent jau susipažinsite su savo kliento scenarijaus kalba.
12 žingsnis. Išmokite bent vienos serverio programavimo kalbos
Jei nuspręsite apsiriboti tik viena serverio programine įranga, išmokite vieną iš programinės įrangos palaikomų programavimo kalbų. Jei ne, išmokite bent vieną programavimo kalbą kiekvienoje serverio programinėje įrangoje.
13 žingsnis. Sukurkite bandomąjį projektą sau, kai baigsite mokytis serverio programavimo kalbos.
Žingsnis 14. Įsigykite savo svetainę ir pradėkite eksperimentuoti internete savo puslapyje
2 metodas iš 6: darbalaukio programų programavimas
Žingsnis 1. Žinokite, į ką įsitraukiate naudodami darbalaukio programų programavimą
Dauguma stalinių kompiuterių programuotojų rašo verslo sprendimų kodą, todėl idėjos apie įmones, jų organizacinę ir finansinę struktūrą sutaupys daug laiko.
Žingsnis 2. Sužinokite apie skirtingas kompiuterinės įrangos architektūras
Naudingas įvadinis skaitmeninių grandinių projektavimo kursas ir kitas kompiuterinės architektūros kursas; tačiau kai kurie mano, kad tai yra pažangus pradinis taškas, todėl gali pakakti perskaityti du ar tris mokomuosius straipsnius (tokius kaip šis ir šis). Tada galėsite grįžti prie šio žingsnio vėliau, išmokę pirmąją programavimo kalbą.
3 žingsnis. Išmokite pradinio (vaikų) programavimo kalbos
Nesivaržykite išmokti tokios kalbos vien todėl, kad esate vyresni nei vadinami „vaikais“. Šių programavimo kalbų pavyzdys gali būti „Scratch“. Šios programavimo kalbos gali labai palengvinti skausmą mokantis pirmosios programavimo kalbos. Tačiau šis žingsnis yra neprivalomas. Tai taip pat galima padaryti prieš ankstesnį veiksmą.
Žingsnis 4. Susipažinkite su procedūromis, orientuotas į objektą, ir funkcinio programavimo paradigmos.
Žingsnis 5. Atlikite įvadinį kursą viena iš procedūrinių programavimo kalbų
Nesvarbu, kokią kalbą pasirinksite vėliau, kad pasirinktumėte, tam tikru lygmeniu reikės atlikti procedūrinį programavimą. Be to, dauguma programuotojų nurodo, kad procedūrinį programavimą lengviausia naudoti kaip atspirties tašką, norint apskritai suprasti programavimo idėją.
Žingsnis 6. Išmokite bent vieną pažangią modeliavimo techniką, pvz., UML arba ORM
Žingsnis 7. Pradėkite rašyti keletą mažų konsolių ar į konsolę panašių programų
Programavimo kalbų knygose galite naudoti įprastus mažus pratimus. Norėdami tai padaryti, pasirinkite įrankį programoms rašyti programavimo kalba, kuria rašote.
Žingsnis 8. Išsamesnį pasirinktos programavimo kalbos kursą
Prieš eidami į priekį įsitikinkite, kad gerai suprantate šias sąvokas ir galite jas gana lengvai pritaikyti:
- Informacijos įvedimas ir išvedimas programos vartotojams.
- Loginis srautas ir programų vykdymo srautas procedūrinėmis kalbomis.
- Kintamųjų deklaravimas, priskyrimas ir palyginimas.
- Išsišakojančios programavimo konstrukcijos, tokios kaip jei..tada..išsirinkite ir pasirinkite/perjunkite..bet.
- Sukuriamos ciklo konstrukcijos, tokios kaip while..do, do.. while/till, for..sext.
- Jūsų programavimo kalbos sintaksė procedūroms ir funkcijoms kurti ir iškviesti.
- Duomenų tipai ir jų manipuliavimas.
- Vartotojo apibrėžti duomenų tipai (įrašai/struktūros/vienetai) ir jų naudojimas.
- Jei jūsų kalba palaiko perkrovos funkcijas, supraskite ją.
- Jūsų pasirinktos kalbos atminties prieigos metodai (rodyklės, žvilgsniai ir kt.)
- Jei jūsų kalba palaiko operatorių perkrovą, supraskite tai.
- Jei jūsų kalba palaiko delegatus/funkcijų rodykles, supraskite ją.
Žingsnis 9. Taikykite išmoktas pažangias technikas
Žingsnis 10. Išbandykite bent vienos programavimo kalbos įvadinį kursą kitoje programavimo paradigmoje
Rekomenduojama išmokti vieną kiekvienos paradigmos programavimo kalbą, o dauguma pažengusių programuotojų tai daro, tačiau dažniausiai pradedate nuo vienos, kurį laiką dirbate pritaikydami savo žinias ir jas praktikuodami, o vėliau išmokstate kitą, jau turėdami tikrą -gyvenimo patirtis programuojant. Išbandykite vieną iš šių kalbų sričių:
- Loginio programavimo paradigma.
- Funkcinio programavimo paradigma.
- Į objektą orientuota paradigma.
Žingsnis 11. Pabandykite palyginti dvi iki šiol išmoktas programavimo kalbas
Įvertinkite kiekvieno iš jų stipriąsias ir silpnąsias puses. Paprastai tai daro:
- Paimkite paprastus ankstyvo darbo pavyzdžius pirmąja programavimo kalba ir perrašykite jį naudodami antrąją programavimo kalbą.
- Sukurkite naują projektą ir pabandykite jį įgyvendinti abiem kalbomis. Kartais, priklausomai nuo pasirinkto projekto ir kalbų, gali nepavykti įgyvendinti projekto viena iš kalbų!
- Rašyti apgaulės lapą arba santraukos lentelę, palyginus panašias konstrukcijas dviem kalbomis ir kiekvienai kalbai būdingas savybes.
- Pabandykite rasti būdų, kaip imituoti funkcijas, kurios būdingos vienai iš dviejų kalbų, naudojant kitą kalbą.
Žingsnis 12. Išmokite vizualinio programavimo koncepcijų naudodami vieną iš išmoktų kalbų
Beveik visos programavimo kalbos turi versijas/bibliotekas, palaikančias vaizdinį programavimą, ir kitas, palaikančias konsolės ar konsolės tipo programavimą. Tai galima padaryti:
- Susipažinkite su įvykiu pagrįstu programavimu. Dauguma vaizdinio programavimo tam tikru lygiu priklauso nuo įvykių ir įvykių tvarkymo (naudojant pasirinktą programavimo kalbą).
- Išbandykite kuo daugiau darbalaukio programinės įrangos ir supraskite, ką ši programinė įranga daro. Dauguma programinės įrangos kūrimo įmonių siūlo savo produktų beta versijos testavimo versijas, kurias galite naudoti programinei įrangai išbandyti. Atnaujinkite vartotojo sąsajos pažangą.
- Perskaitykite kai kuriuos straipsnius ar vadovėlius apie grafines vartotojo sąsajas.
Žingsnis 13. Pradėkite pritaikyti savo žinias mažuose jūsų sukurtuose programinės įrangos projektuose
Pabandykite pritaikyti savo programavimo žinias problemoms, su kuriomis susiduriate kasdieniame gyvenime. Pavyzdžiui, rašykite programas, kurios masiškai pervardija failus, vizualiai palygina tekstinius failus, nukopijuoja katalogo failų pavadinimus į atmintį/tekstinį failą ir panašiai. Iš pradžių laikykitės paprastumo.
Žingsnis 14. Sukurkite virtualų baigimo projektą
Užbaikite tai iki galo, taikydami iki šiol išmoktas vizualinio programavimo technikas.
Žingsnis 15. Išplėskite savo supratimą apie vizualinę sistemą/biblioteką/paketą, kurį anksčiau išmokote, lankydami pažangius kursus, daugiau dėmesio skirdami detalėms ir sužinodami daugiau patarimų bei gudrybių, susijusių su jūsų sistema iš internetinių išteklių
Žingsnis 16. Ieškokite kitų programavimo kalbų vaizdinių elementų paketų/bibliotekų ir išmokite jas
Žingsnis 17. Išmok grafikos (ne grafinio dizaino) kursą
Tai bus labai naudinga programuotojams, norintiems parašyti patrauklius vartotojo sąsajos elementus.
Žingsnis 18. Apsvarstykite galimybę tapti žaidimų programuotoju (neprivaloma)
Žaidimų programavimas daugelyje dalių laikomas darbalaukio programavimu. Jei ketinate tapti žaidimų programuotoju, atlikę šiuos veiksmus turėsite daugiau sužinoti apie žaidimų programavimą. Grafikos kursas yra būtinas žaidimų programuotojams, o antroji pasirinkta kalba ankstesniuose žingsniuose turėtų būti loginė/funkcinė programavimo kalba (pageidautina Prolog arba Lisp).
3 metodas iš 6: Paskirstytų programų programavimas
1 žingsnis. Išspręskite paskirstytų programų programavimą
Daugelio nuomone, paskirstytas programų programavimas yra vienas iš sunkiausiai išmokstamų ir reikalauja įvairių žinių apie kompiuterių ir ryšių technologijas.
2 žingsnis. Greitai įveskite telefonijos sistemas ir jų aparatinę įrangą
Šis žingsnis yra neprivalomas. Tačiau tai labai naudinga norint suprasti tinklo topologijas.
Žingsnis 3. Susipažinkite su tinklo aparatūros architektūra ir įrenginiais, tokiais kaip koncentratoriai, jungikliai ir maršrutizatoriai
Žingsnis 4. Išbandykite tinklo protokolų ir pagrindinių dalykų kursą
Prieš pradėdami programuoti platinamas programas, turite gerai suprasti atvirų sistemų sujungimo (OSI) modelį, eternetą, IP, TCP, UDP ir
Žingsnis 5. Išmokite XML kalbos ir susipažinkite su ja
Žingsnis 6. Pradėkite mokytis apvalkalo scenarijų kalbos
„Windows“programavimui tai būtų bet koks scenarijus, veikiantis su „Windows Scripting Host“. „Linux“pagrįstam programavimui pakaks „Bash“scenarijų ir „Perl“. Abiem platformoms tam labai rekomenduojama naudoti „JavaScript“dėl šių priežasčių:
- Jį palaiko beveik bet kuris scenarijų priegloba bet kurioje operacinėje sistemoje („Windows Scripting Host“pagal numatytuosius nustatymus palaiko „JavaScript“, dauguma „Linux“paskirstymų turi „JavaScript“scenarijų konsolės palaikymo paketą).
- Manoma, kad daugeliui kūrėjų tai lengviau išmokti.
- Ji turi ALGOL sintaksę, kuri supažindina jus su daug daugiau kitų programavimo kalbų, kai reikia pasirinkti antrą programavimo kalbą (C, C ++, C#, Java ir J# turi ALGOL išvestą sintaksę).
- Mokydamiesi „JavaScript“, jūs susipažįstate su tinklalapių scenarijais kliento pusėje, o tai yra papildomas šalutinis poveikis!
7 žingsnis. Iš pradžių taikykite tik procedūrinį programavimą naudodami pasirinktą scenarijų kalbą
Vėliau galite naudoti pažangesnius programavimo metodus ir paradigmas pagal savo scenarijų kalbą ir tai, ką ji palaiko. Visos scenarijų kalbos tam tikru lygmeniu turi tam tikrus procedūrinio programavimo aspektus.
8. Naudokite scenarijaus kalbą, kurią išmokote rašyti scenarijus, kurie vykdo ryšį tarp mašinų
Sužinokite, kas būtina tai padaryti. Užteks paprasto bendravimo.
Žingsnis 9. Perkelkite į darbalaukio scenarijų/programavimo kalbą
Pageidautina, kad tai būtų kelių paradigmų kalba, pvz., „Python“. Paimkite paprastą šios antrosios kalbos įvadą. Dauguma programuotojų mano, kad „Java“yra pasirinkta kalba dėl daugelio priežasčių. Tačiau C# šioje srityje sparčiai įgauna pagreitį. „Java“ir „C#“pirmenybė teikiama dėl šių priežasčių:
- Tai yra į objektą orientuotos programavimo kalbos, apsaugančios didelių komandų programuotojus nuo įgyvendinimo detalių, nes jos abi palaiko komponentus (kodo vienetus, iš anksto sukompiliuotus, kurie atlieka tam tikrą užduotį ir gali būti naudojami kitose programose).
- Jie palaiko į renginius orientuotą programavimą, taip pat tam tikro lygio OO ir procedūrinį programavimą.
- Sistema, kuria remiasi kalba, yra platinama iš prigimties („Java“atveju).
- Galimybė naudotis daugybe paruoštų paketų, susijusių su tinklų kūrimu, tiek kaip atvirojo kodo, tiek integruotų sistemų paketai; tai leidžia programuotojams lengviau remtis kitų darbu.
Žingsnis 10. Daugiau dėmesio skirkite pagrindinėms kalbos savybėms, ypač toms, kurios palaiko tinklų kūrimą
Mažiau atkreipkite dėmesį į vartotojo sąsajos elementus, tokius kaip išvestis, langų dizainas ir būdai, bei vartotojo sąsajos elementai.
Žingsnis 11. Išklausykite paskirstytų programų projektavimo ir architektūros kursą
Tai galima padaryti naudojant knygas, internetines pamokas ar akademinius kursus. Tačiau būtina suprasti platinamų programų architektūrą ir jos sąvokas.
12 žingsnis. Sužinokite apie aptarnaujamų komponentų ir paslaugų kūrimą pasirinkta programavimo kalba
Žingsnis 13. Išmokite vienos ar kelių šių technologijų
Rekomenduojama bent jau susipažinti su visais. Dauguma paskirstytų programų programuotojų neapsiriboja viena ar dviem programavimo kalbomis, bet mokosi bent vienos programavimo kalbos kiekvienoje operacinėje sistemoje. Taip yra todėl, kad jei norite, kad jūsų programa būtų „platinama“, turėtumėte pateikti jos versiją bent jau kiekvienai pagrindinei operacinei sistemai.
- Bendros objekto užklausos tarpininko architektūra (CORBA)
- Paprastas prieigos protokolas (SOAP)
- Asinchroninis „JavaScript“ir XML (AJAX)
- Paskirstyto komponento objekto modelis (DCOM)
- . NET nuotolinis
- XML žiniatinklio paslaugos
4 metodas iš 6: biblioteka/platforma/sistema/pagrindinis programavimas
Žingsnis 1. Žinokite, kas yra pagrindinis programavimas
Pagrindiniai programuotojai yra tik pažengusieji programuotojai, kurie perkėlė iš programavimo programų į programavimo kodo blokus, kad juos galėtų naudoti kiti programuotojai.
Žingsnis 2. Išmokite programavimo kalbos, kuri palaiko daugkartinio naudojimo komponentų/paketų kūrimą, jei to dar nepadarėte
Žingsnis 3. Išbandykite išplėstinį UML ir ORM kursą
Dauguma bibliotekų kūrėjų naudoja vieną arba abu.
Žingsnis 4. Išbandykite programinės įrangos inžinerijos kursą
Žingsnis 5. Išmokite bent modulinių, komponentų, į objektą orientuotų ir įvykiu pagrįstų programavimo metodų ir koncepcijų
Kuo daugiau programavimo paradigmų ir kalbų apimsite, tuo sėkmingesnis tapsite bibliotekos/paketų programuotoju.
Žingsnis 6. Sužinokite daugiau apie skirtingas operacines sistemas ir programavimo sistemas, kurias palaiko šios operacinės sistemos
Žingsnis 7. Sutelkite mokymosi pastangas į platformas nepriklausančias sistemas, programavimo kalbas ir technologijas
8. Jei iki šiol išmoktos programavimo kalbos turi ANSI/ISO/IEEE/W3C standartinės versijos, įsisavinkite standartus.
Jei įmanoma, pabandykite naudoti standartinį kodą.
Žingsnis 9. Pabandykite imituoti paprastas, jau sukurtas bibliotekas, ypač atvirojo kodo
Tai naudinga ankstyvame etape, kai tampate biblioteka/paketų programuotoju. Pradėkite nuo paprastų paketų, tokių kaip vienetų konvertavimas ir tarpiniai mokslinių skaičiavimų paketai. Jei esate kolegijos studentas, pasinaudokite savo neprogramavimo kursais, bandydami įgyvendinti jų lygtis ir mokslinę bazę kaip bibliotekos.
10. Ieškokite ir išbandykite atvirojo kodo paketus savo programavimo srityje
Pirmiausia atsisiųskite paketo dvejetainius failus/vykdomuosius failus. Pabandykite jį naudoti ir suraskite jo stipriąsias ir silpnąsias puses. Kai tai padarysite, atsisiųskite šaltinį ir pabandykite išsiaiškinti, kaip tai buvo padaryta. Pabandykite atkurti tas bibliotekas ar jų dalis. Iš pradžių darykite tai pamatę kodą, o vėliau - prieš pamatę kodą. Vėlesniuose etapuose pabandykite patobulinti šias bibliotekas.
Žingsnis 11. Išmokite įvairių metodų, naudojamų platinant ir diegiant komponentus programuotojams
- Paprastai bibliotekų/paketų programuotojai linkę rekursyviai ir (arba) pakartotinai galvoti apie visas problemas, su kuriomis jie susiduria. Pabandykite pagalvoti apie kiekvieną problemą kaip apie mažesnių problemų rinkinį (paprastesnių užduočių seką) arba kaip apie pakartotinį procesą, kurio tikslas - sumažinti problemos apimtį iki mažesnių apimčių, o tada tas apimtis sukrauti viena ant kitos.
- Bibliotekos/paketų programuotojai linkę apibendrinti. Tai yra, kai pateikiama paprasta konkreti problema, jie dažniausiai sugalvoja bendresnę problemą ir bando išspręsti tą bendrą problemą, kuri automatiškai išspręs mažesnę.
5 iš 6 metodas: sistemos programavimas
Žingsnis 1. Supraskite, ką reiškia sistemos programavimas
Sistemų programuotojai užsiima programavimo mokslu, o ne konkrečiais jo įgyvendinimais. Neprisiriškite prie konkrečios platformos.
Žingsnis 2. Atlikite pirmuosius tris darbastalio programų programuotojų veiksmus
Žingsnis 3. Eikite įvadinį tiesinės algebros kursą
Žingsnis 4. Atlikite skaičiavimo kursą
Žingsnis 5. Išbandykite logikos ir (arba) diskrečiosios matematikos kursus
Žingsnis 6. Pristatykite įvairias operacines sistemas
Tai galima padaryti:
- Gauti idėją, kaip įdiegtos operacinės sistemos.
- Išmokite įdiegti skirtingas operacines sistemas viename kompiuteryje (neprivaloma, bet rekomenduojama).
- Įdiegus daugiau nei vieną operacinę sistemą. Sistemose neįdiekite pagalbos paketų; vietoj to naudokite operacinių sistemų teikiamas funkcijas.
Žingsnis 7. Eikite į kompiuterinės įrangos architektūros kursą (arba skaitykite knygas)
Žingsnis 8. Ugdykite skirtingų kompiuterinės įrangos platformų supratimą
Žingsnis 9. Susipažinkite su pasirinktos aparatinės įrangos platformos/operacinės sistemos surinkimo kalba
Vėliau išmoksite surinkti kitas platformas/sistemas.
Žingsnis 10. Išmokite ANSI C ir C ++ kalbas kartu su procedūrinio programavimo sąvokomis
Žingsnis 11. Suprasti ir praktikuoti C/C ++ standartines bibliotekas pasirinktoje platformoje
Ypatingą dėmesį atkreipkite į standartinę šablonų biblioteką (STL) ir galbūt į aktyvią šablonų biblioteką (ATL).
Žingsnis 12. Ieškokite internetinių išteklių, knygų ir kursų, kad suprastumėte konkrečios platformos C skonį
Žingsnis 13. Praktikuokite kurti išplėstinį kodą naudodami C ir C ++
Žingsnis 14. Sužinokite apie sudėtingesnį surinkimą
Žingsnis 15. Išbandykite operacinių sistemų projektavimo kursą
Žingsnis 16. Raskite ir perskaitykite pasirinktos platformos dokumentus
Tai bus lengviau, jei pasirinksite „Unix“operacinę sistemą. Labai gerai supraskite sistemą, su kuria vėliau dirbsite.
Žingsnis 17. Praktikuokite įgytas žinias
Pirmiausia sukurkite mažas sistemos paslaugas. Paprastai naudinga:
- Bandote atkurti mažus įrankius, kurie jau yra jūsų sistemoje.
- Bandote perkelti kitose operacinėse sistemose prieinamas komunalines paslaugas į savo.
18. Žinokite kalbas naudingiausia tvarka
Tai vienintelė vieta, kur svarbi pirmoji programavimo kalba. Pirmiausia išmokite ANSI C, ne C ++, ne C#, ne Java ir ne D. Tada mokykitės C ++.
-
Pirmoji kalba apsiribojama tik C ir C, nes sistemų programavimas reikalauja, kad programuotojas žinotų šias sąvokas:
- Tikras ir visiškas šaltinio kodo sudarymas.
- Žemo lygio objektų išvesties failai.
- Dvejetainių failų susiejimas.
- Žemo lygio mašininės kalbos/surinkimo programavimas. Sakoma, kad C kalba yra užmaskuota/kai kuriems lengviau išmokti surinkti. Tai taip pat palaiko surinkimo kalbos kodo įterpimą į kodą, kai tik norite, ir tai yra tik procedūrinis (pvz., Surinkimas).
6 metodas iš 6: Programavimo mokslas
Žingsnis 1. Žinokite, ką daro programavimo mokslininkas
Programavimo mokslininkai yra labai pažengę programuotojai, kurie, užuot kūrę programas, dirba kurdami tokias skaičiavimo technologijas kaip šifravimas, programavimo kalbos ir duomenų gavybos algoritmai. Šis lygis retai pasiekiamas be akademinių studijų ir atsidavimo.
Žingsnis 2. Sukaupti mokslines žinias, atitinkančias ketverių metų informatikos laipsnį
Tai galima padaryti:
- Faktinio akademinio laipsnio įgijimas (tai paprastai atsitinka).
- Tokio laipsnio kursų gavimas iš vieno iš šiuolaikinių universitetų ir kursų mokymas savarankiškai arba kaip atskiri kursai. Tai būtų galima pasiekti teoriškai, tačiau rekomenduojamas kelias yra pirmasis.
3 žingsnis. Nuspręskite specialybės sritį
Kuo konkretesnis, tuo geriau. Tai priklauso nuo jūsų pageidavimų. Tačiau čia pateikiamas kai kurių pagrindinių kompiuterių programavimo mokslo temų sąrašas:
- Algoritmo kūrimas (keletas pavyzdžių - paieška, rūšiavimas, šifravimas, iššifravimas ir klaidų aptikimas ryšiuose)
- Programavimo kalbos/kompiliatoriaus dizainas/optimizavimas
- Dirbtinio intelekto sritys (modelio atpažinimas, kalbos atpažinimas, natūralios kalbos apdorojimas, neuroniniai tinklai)
- Robotika
- Mokslinis programavimas
- Super skaičiavimas
- Kompiuterinis projektavimas/modeliavimas (CAD/CAM)
- Virtuali realybė
- Kompiuterinė grafika (Kompiuterinė grafika paprastai klaidingai painiojama su grafiniu dizainu ar grafine vartotojo sąsajos konstrukcija. Kompiuterinė grafika yra sritis, kurioje tiriamas, kaip atvaizduoti ir manipuliuoti grafika kompiuterinėse sistemose.)
4 žingsnis. Apsvarstykite galimybę gauti aukštesnį akademinį laipsnį
Galbūt norėsite įgyti magistro arba daktaro laipsnį.