Programmeerijaks saamine on kumulatiivne protsess, mis tõstab teie oskusi päevast päeva ja aastast aastasse ning programmeerimine võib olla lõbus ja rahuldust pakkuv (vaimselt, vaimselt ja rahaliselt). See juhend ei luba anda maagiliselt lihtsat viisi programmeerijaks saamiseks ja sammude järjestamine pole püha, kuid saate üldise ülevaate sellest, kuidas saada programmeerijaks mõnes kaasaegses programmeerimisvaldkonnas.
Sammud
Samm 1. Tehke sissejuhatav kursus ühel (või kõigil) järgmistest erialadest:
- Loogika
- Diskreetne matemaatika
- Programmeerimiskeel (osalege erinevates programmeerimisparadigmades, alustades järjestikust/protseduurilisest objektorienteeritud, pärast funktsionaalset ja loogilist programmeerimist. Eelistatud Ruby/Python/Pascal algajatele ja pärast mõningast mõistmist süvenege C ++/C#/Java -sse)
Eksperdi näpunäide
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
Startupi asutaja ja inseneridirektor
Ärge tundke, et peate teenima kodeerimisastme.
Kuigi programmeerimiskeele kursuste läbimine võib olla kasulik, ütleb tarkvarainsener ja idufirma asutaja Gene Linetsky:"
Samm 2. Õppige andmebaasi kontseptsioone, nagu tabelid, vaated/päringud ja protseduurid
Selleks võite kasutada mis tahes lihtsat andmebaasipaketti, näiteks:
- MS juurdepääs
- DB V
- Fox Pro
- Paradoks
- MySQL on hea andmebaas õppimiseks, kuna see on tasuta, tavaliselt kasutatav ja andmebaasidele pääseb tavaliselt juurde SQL -päringutega
Samm 3. Otsustage, millist tüüpi programmeerija soovite olla
Programmeerijad kuuluvad tavaliselt ühte järgmistest kategooriatest:
- Veebiprogrammeerija
-
Töölauarakenduste programmeerija
- Operatsioonisüsteemile (OS) orienteeritud programmeerija (seotud ühe opsüsteemi või operatsioonisüsteemide komplektiga)
- Platvormist sõltumatu programmeerija
- Hajutatud rakenduste programmeerija
- Raamatukogu/platvorm/raamistik/põhiprogrammeerija
-
Süsteemi programmeerija
- Kerneli programmeerija
- Juhi programmeerija
- Koostaja programmeerija
- Programmeerimisteadlane
Samm 4. Õppige oma valitud programmeerimisvaldkonnaga seotud tehnoloogiaid ja programmeerimiskeeli
Järgmistes jaotistes on jaotatud eri tüüpi programmeerimise ülesanded.
Meetod 1/6: veebiprogrammeerimine
Samm 1. Tea, mida veebiprogrammeerimine endast kujutab
Veebirakendused on tarkvarakomponendid, mis on loodud töötama Interneti -arhitektuuri peal. See tähendab, et rakendustele pääseb juurde veebibrauseri tarkvara, näiteks Firefoxi või Internet Exploreri kaudu. Interneti -arhitektuuri peale ehitamine ei nõua tingimata aktiivset Interneti -ühendust. See tähendab, et veebirakendused on üles ehitatud standardsetele veebitehnoloogiatele, näiteks:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP -protokollid
- HTML
- XML
- Külmfusioon
- ASP
- JSP
- PHP
- ASP. NET
Samm 2. Sirvige palju erinevaid veebisaite, et teada saada, kuidas need tavaliselt välja näevad
(Paremklõpsake, seejärel klõpsake nuppu Kuva allikas või vajutage klahvi F12.) Otsige mitmekesisust veebisaidi tüübist/sisust, mitte külastatud veebisaitide hulgast. Üldiselt peate külastama vähemalt ühte järgmist tüüpi veebisaitidest:
- Ettevõtete kohaloleku saidid (kaubandusettevõtted, mittetulundusühingud/organisatsioonid, valitsusasutused)
- Veebi indekseerimismootorid (otsingumootorid, metaotsingu saidid, eriotsingumootorid, kataloogid)
- Andmete kaevandamise saidid
- Isiklikud saidid
- Informatiivsed/entsüklopeedilised lehed (wikid, andmelehed, tehnilised andmed ja käsiraamatud, kus on loetletud kataloogid, ajaveebid ja ajakirjad, uudiste- ja uudisteagentuuride saidid, kollased lehed jne)
- Suhtlusportaalid (suhtlusportaalid, järjehoidjasaidid, märkmete tegemise saidid)
- Koostöösaidid (see hõlmab ka teisi eespool nimetatud kategooriaid, näiteks wikid ja ajaveebid)
Samm 3. Õppige vähemalt ühte ajurünnaku tehnikat/meetodit ja tarkvara, mida selle meetodi rakendamiseks kasutatakse
Näiteks: ajurünnaku skeemid ja MS Visio.
Samm 4. Tutvuge veebisaidi struktureerimisega
See loob kontseptuaalseid veebidiagramme, saidikaarte ja navigeerimisstruktuure.
Samm 5. Läbige graafilise disaini kiirkursus
Proovige õppida vähemalt ühte graafika redigeerimise/manipuleerimise tarkvarapaketti (valikuline, kuid tungivalt soovitatav)
Samm 6. Õppige Interneti -infrastruktuuri põhitõdesid
See hõlmab põhiidee saamist:
- Põhilised veebiteenuste protokollid (HTTP, FTP, SMTP ja POP3 või IMAP4)
- Veebiserveri tarkvara (eelistatavalt platvormi jaoks, mille kallal töötate enamasti)
- Veebi sirvimise tarkvara.
- Meiliserver ja klienditarkvara
Samm 7. Õppige HTML- ja CSS -keeli
Samuti võiksite hankida HTML -i redigeerimiseks tarkvarapaketi „See, mida näete, on see, mida saate (WYSIWYG)”.
Samm 8. Õppige XML -i ja XML -iga seotud tehnoloogiaid, nagu XSL ja XPath (valikuline, kuid soovitatav)
Samm 9. Looge lihtsaid staatilisi veebisaite, kuni olete HTML -iga tuttav ja mugav
Samm 10. Õppige kliendipoolset skriptikeelt
Enamik kasutajaid õpib JavaScripti. Mõned õpivad VBScripti, kuid see ei ühildu enamiku brauseritega.
Samm 11. Tutvuge õpitud kliendipoolse skriptikeelega
Proovige oma potentsiaali saavutada ainult seda keelt kasutades. Minge järgmise sammu juurde alles pärast seda, kui olete vähemalt oma kliendipoolse skriptikeelega tuttavaks saanud.
Samm 12. Õppige vähemalt ühte serveripoolset programmeerimiskeelt
Kui otsustate piirduda ühe serveritarkvaraga, õppige ühte selle tarkvara toetatavatest programmeerimiskeeltest. Kui ei, siis õppige igal serveritarkvaral vähemalt ühte programmeerimiskeelt.
Samm 13. Loo pilootprojekt endale pärast serveripoolse programmeerimiskeele õppimise lõpetamist.
Samm 14. Hankige oma veebisait ja hakake oma lehel veebis katsetama
Meetod 2/6: töölauarakenduste programmeerimine
Samm 1. Tea, millesse sa töölauarakenduste programmeerimisega tegeled
Enamik lauaarvuti programmeerijaid kirjutab koodi ärilahendustele, nii et ettevõtetest, nende organisatsioonilisest ja finantsstruktuurist aimu saamine aitab oluliselt aega säästa.
Samm 2. Tutvuge erinevate arvuti riistvaraarhitektuuridega
Kasulik on sissejuhatav digitaalse vooluahela projekteerimise ja teine arvuti arhitektuuri kursus; mõned aga peavad seda lähtekohaks edasijõudnuks, seega võib piisata kahe või kolme õpetusartikli (nagu see ja see) lugemisest. Seejärel saate selle sammu juurde naasta hiljem, pärast esimese programmeerimiskeele õppimist.
Samm 3. Õppige algtaseme (laste) programmeerimiskeelt
Ärge kartke sellist keelt õppida lihtsalt sellepärast, et olete vanem kui see, kui teid kutsutakse "lapseks". Nende programmeerimiskeelte näide võib olla Scratch. Need programmeerimiskeeled võivad teie esimese programmeerimiskeele õppimisel tohutult leevendada valu. See samm on aga valikuline. Seda saab teha ka enne eelmist sammu.
Samm 4. Tutvuge protseduuriga, objektile orienteeritudja funktsionaalse programmeerimise paradigmad.
Samm 5. Tehke sissejuhatav kursus ühes protseduurilise programmeerimiskeelega
Olenemata sellest, millise keele valite hiljem oma valitud keeleks, nõuab see mingil tasemel protseduurilist programmeerimist. Samuti on enamiku programmeerijate sõnul protseduurilist programmeerimist kõige lihtsam kasutada lähtepunktina programmeerimise idee saamiseks üldiselt.
Samm 6. Õppige vähemalt ühte arenenud modelleerimistehnikat, näiteks UML või ORM
Samm 7. Alustage väikeste konsoolide või konsoolilaadsete rakenduste kirjutamist
Programmeerimiskeelte raamatutes saate kasutada tavalisi väikeseid harjutusi. Selleks valige tööriist programmide kirjutamiseks selles programmeerimiskeeles, milles kirjutate.
Samm 8. Läbige oma valitud programmeerimiskeele täpsem kursus
Enne edasiliikumist veenduge, et mõistate hästi järgmisi mõisteid ja saate neid suhteliselt hõlpsalt rakendada.
- Teabe sisestamine ja väljastamine programmi kasutajatele.
- Programmide loogiline voog ja täitmisvoog menetluskeeltes.
- Muutujate deklareerimine, määramine ja võrdlemine.
- Hargnevad programmeerimiskonstruktsioonid, näiteks kui..siis … siis vaata ja vali/vaheta..juhtum.
- Silmuskonstruktsioonid, näiteks while..do, do.. while/till, for..next.
- Teie programmeerimiskeele süntaks protseduuride ja funktsioonide loomiseks ja kutsumiseks.
- Andmetüübid ja nendega manipuleerimine.
- Kasutaja määratletud andmetüübid (kirjed/struktuurid/ühikud) ja nende kasutamine.
- Kui teie keel toetab ülekoormusfunktsioone, mõistke seda.
- Mälule juurdepääsu meetodid teie valitud keeles (näpunäited, piilumine jne)
- Kui teie keel toetab operaatorite ülekoormamist, mõistke seda.
- Kui teie keel toetab delegaate/funktsiooninäpunäiteid, mõistke seda.
Samm 9. Rakendage õpitud täiustatud tehnikaid
Samm 10. Tehke sissejuhatav kursus veel vähemalt ühes programmeerimiskeeles teises programmeerimisparadigmas
Soovitatav on õppida igast paradigmast üks programmeerimiskeel ja enamik arenenud programmeerijaid seda siiski teeb, tavaliselt alustate ühega, töötate mõnda aega, rakendades oma teadmisi ja harjutades neid, seejärel õppige teine hiljem, pärast seda, kui teil oli tõeline -elukogemus programmeerimisel. Proovige ühte järgmistest keelevaldkondadest.
- Loogika programmeerimise paradigma.
- Funktsionaalse programmeerimise paradigma.
- Objektile orienteeritud paradigma.
Samm 11. Proovige võrrelda kahte seni õpitud programmeerimiskeelt
Hinnake igaühe tugevusi ja nõrkusi. Tavaliselt teeb seda:
- Võtke oma esimesest programmeerimiskeelest lihtsaid proove ja kirjutage see ümber teise programmeerimiskeele abil.
- Looge uus projekt ja proovige seda mõlemat keelt kasutades rakendada. Mõnikord, sõltuvalt teie valitud projektist ja keeltest, ei pruugi teil õnnestuda projekti ühes keeles rakendada!
- Pettuslehe või kokkuvõtliku tabeli võrdluste kirjutamine kahes keeles sarnaste konstruktsioonide ja iga keele jaoks ainulaadsete funktsioonide vahel.
- Proovige leida viise, kuidas jäljendada funktsioone, mis on ainulaadsed ühele kahest keelest, kasutades teist keelt.
Samm 12. Õppige visuaalse programmeerimise kontseptsioone, kasutades ühte õpitud keeltest
Peaaegu kõigil programmeerimiskeeltel on versioonid/teegid, mis toetavad visuaalset programmeerimist ja teised, mis toetavad konsooli või konsoolilaadset programmeerimist. Seda saab teha järgmiselt.
- Tutvuge sündmustepõhise programmeerimisega. Enamik visuaalseid programmeerimisi tugineb teatud määral sündmustele ja sündmuste käsitlemisele (kasutades teie valitud programmeerimiskeelt).
- Proovige võimalikult palju lauaarvutitarkvara ja saate aru, mida tarkvara teeb. Enamik tarkvaraarendusettevõtteid pakub oma toodete beetatestimise versioone, mille abil saate tarkvara testida. Hoidke end kasutajaliidese edusammudega kursis.
- Lugege mõnda artiklit või õpetust graafiliste kasutajaliideste kohta.
Samm 13. Alustage oma teadmiste rakendamist teie kavandatud väikestes tarkvaraprojektides
Proovige rakendada oma programmeerimisalaseid teadmisi probleemidele, millega teie igapäevaelus silmitsi seisate. Näiteks kirjutage programme, mis nimetavad failid massiliselt ümber, võrdlevad tekstifaile visuaalselt, kopeerivad kataloogis olevate failide nimed mällu/tekstifailiks ja muud sellist. Olgu see esialgu lihtne.
Samm 14. Looge virtuaalne lõputöö
Lõpetage see lõpuni, rakendades seni õpitud visuaalse programmeerimise tehnikaid.
Samm 15. Laiendage oma arusaamist visuaalsest raamistikust/raamatukogust/paketist, mille olete varem õppinud, läbides täienduskursusi, pöörates erilist tähelepanu detailidele ja õppides veebiavarustest oma raamistiku jaoks rohkem näpunäiteid
Samm 16. Otsige oma programmeerimiskeelte jaoks muid visuaalsete elementide pakette/raamatukogusid ja õppige neid
Samm 17. Läbige graafika (mitte graafilise disaini) kursus
See on väga kasulik programmeerijatele, kes soovivad kirjutada ahvatlevaid kasutajaliidese elemente.
Samm 18. Kaaluge mängude programmeerijaks saamist (valikuline)
Mängude programmeerimist peetakse enamikus osades töölaua programmeerimiseks. Kui kavatsete saada mängude programmeerijaks, peate pärast nende sammude lõpetamist mängude programmeerimise kohta rohkem teada saama. Graafikakursus on mänguprogrammeerijate jaoks kohustuslik ja eelistatud sammude teine valikkeel peaks olema loogiline/funktsionaalne programmeerimiskeel (eelistatavalt Prolog või Lisp).
Meetod 3/6: hajutatud rakenduste programmeerimine
1. samm. Tegelege hajutatud rakenduste programmeerimisega
Paljud peavad hajutatud rakenduste programmeerimist üheks kõige raskemini õpitavaks ning nõuavad mitmekülgseid teadmisi arvuti- ja kommunikatsioonitehnoloogiatest.
Samm 2. Võtke telefonisüsteemide ja nende riistvara kiirjuhend
See samm on valikuline. See on aga võrgu topoloogiate mõistmisel väga kasulik.
Samm 3. Tutvuge võrgu riistvara arhitektuuride ja seadmetega, nagu jaoturid, lülitid ja ruuterid
Samm 4. Läbige kursus võrguprotokollide ja oluliste asjade kohta
Enne hajutatud rakenduste programmeerimise alustamist peate hästi mõistma avatud süsteemide ühendamise (OSI) mudelit, Etherneti, IP, TCP, UDP ja
Samm 5. Õppige XML -keelt ja tutvuge sellega
Samm 6. Alustage shelliskriptimiskeele õppimisega
Windowsi-põhise programmeerimise puhul oleks see mis tahes skript, mis töötab koos Windowsi skriptide hostiga. Linuxi-põhise programmeerimise jaoks piisab Bash-skriptidest ja Perlist. JavaScripti soovitatakse selleks mõlemal platvormil tungivalt järgmistel põhjustel.
- Seda toetab peaaegu iga skriptide host mis tahes operatsioonisüsteemis (Windows Scripting Host toetab vaikimisi JavaScripti, enamikul Linuxi distributsioonidel on JavaScripti skriptikonsooli toe pakett).
- Paljud arendajad peavad seda lihtsamaks õppimiseks.
- Sellel on ALGOL -i süntaks, mis tutvustab teile palju rohkem programmeerimiskeeli, kui peate valima teise programmeerimiskeele (C, C ++, C#, Java ja J# on ALGOL -i tuletatud süntaks).
- JavaScripti õppides tutvute veebilehtede kliendipoolse skriptimisega, mis on boonuse kõrvalmõju!
Samm 7. Rakendage esialgu ainult protseduurilist programmeerimist, kasutades oma valitud skriptikeelt
Hiljem saate kasutada täiustatud programmeerimisvõtteid ja paradigmasid vastavalt oma skriptikeelele ja sellele, mida see toetab. Kõigil skriptikeeltel on teatud tasemel teatud protseduurilised programmeerimisaspektid.
Samm 8. Kasutage õpitud skriptikeelt masinate vahelist suhtlust teostavate skriptide kirjutamiseks
Õppige, mis on selle tegemiseks vajalik. Lihtsast suhtlusest piisab.
Samm 9. Tehke ülekanne töölaua skriptimis-/programmeerimiskeelele
Eelistatavalt selline, mis on mitme paradigma keel, näiteks Python. Tehke selle teise keele lihtne sissejuhatus. Enamik programmeerijaid peab Java -d mitmel põhjusel valitud keeleks. Sellegipoolest kogub C# selles valdkonnas kiiresti hoogu. Java ja C# on eelistatud järgmistel põhjustel.
- Need on objektorienteeritud programmeerimiskeeled, mis kaitsevad suurte meeskondade programmeerijaid rakendamise üksikasjade eest, kuna mõlemad toetavad komponente (eelkompileeritud koodüksused, mis täidavad teatud ülesannet ja mida saab kasutada teistes programmides).
- Nad toetavad sündmustepõhist programmeerimist, samuti OO-d ja protseduurilist programmeerimist mingil tasandil.
- Raamistik, millele keel on üles ehitatud, on looduse poolt levitatud (Java puhul).
- Paljude valmispakettide kättesaadavus, mis tegelevad võrgustike loomisega, nii avatud lähtekoodiga kui ka sisseehitatud raamistikupakettidena; nii on programmeerijatel lihtsam teiste tööle tugineda.
Samm 10. Keskenduge rohkem keele põhiomadustele, eriti võrgustike loomisele
Pöörake vähem tähelepanu kasutajaliidese elementidele, nagu väljund, akende kujundus ja tehnikad ning kasutajaliidese elemendid.
Samm 11. Läbige kursus hajutatud rakenduste projekteerimise ja arhitektuuri kohta
Seda saab teha raamatute, veebipõhiste õpetuste või akadeemiliste kursuste abil. Siiski on vaja mõista hajutatud rakenduste arhitektuuri ja selle kontseptsioone.
Samm 12. Lugege teenindatavate komponentide ja teenuste loomise kohta oma valitud programmeerimiskeelt kasutades
Samm 13. Õppige ühte või mitut järgmistest tehnoloogiatest
Soovitatav on vähemalt tutvustada neid kõiki. Enamik hajutatud rakenduste programmeerijaid ei peatu ühe või kahe programmeerimiskeele juures, vaid õpib igas operatsioonisüsteemis vähemalt ühe programmeerimiskeele. Seda seetõttu, et kui soovite, et teie rakendust levitataks, peaksite esitama selle versiooni vähemalt iga suurema operatsioonisüsteemi jaoks.
- Ühise objektitaotluse vahendaja arhitektuur (CORBA)
- Lihtne objektide juurdepääsuprotokoll (SOAP)
- Asünkroonne JavaScript ja XML (AJAX)
- Distributed Component Object Model (DCOM)
- . NET Remoting
- XML -i veebiteenused
Meetod 4/6: raamatukogu/platvorm/raamistik/põhiprogrammeerimine
Samm 1. Tea, mis on põhiprogrammeerimine
Põhiprogrammeerijad on lihtsalt edasijõudnud programmeerijad, kes viisid programmeerimisrakendustest üle programmeerimiskoodi ühikutesse, et neid saaksid kasutada teised programmeerijad.
Samm 2. Õppige programmeerimiskeelt, mis toetab korduvkasutatavate komponentide/pakettide ehitamist, kui te pole seda veel teinud
Samm 3. Läbige UML- ja ORM -i täiendkursus
Enamik raamatukoguarendajaid kasutab ühte või mõlemat.
Samm 4. Osale tarkvaratehnika kursusel
Samm 5. Õppige vähemalt modulaarseid, komponendipõhiseid, objektorienteeritud ja sündmustele orienteeritud programmeerimise tehnikaid ja kontseptsioone
Mida rohkem programmeerimisparadigmasid ja keeli katate, seda edukamaks saate raamatukogu/paketiprogrammeerijana.
Samm 6. Lisateave nende opsüsteemide toetatavate erinevate operatsioonisüsteemide ja programmeerimisraamistike kohta
Samm 7. Keskenduge oma pingutustele platvormist sõltumatutele raamistikele, programmeerimiskeeltele ja tehnoloogiatele
Samm 8. Kui seni õpitud programmeerimiskeeltel on ANSI/ISO/IEEE/W3C standardversioonid, valdage standardeid.
Proovige võimaluse korral kasutada standardkoodi.
Samm 9. Proovige jäljendada lihtsaid, juba loodud raamatukogusid, eriti avatud lähtekoodiga
See on kasulik raamatukoguks/paketiprogrammeerijaks saamise varases faasis. Alustage lihtsate pakettidega, nagu ühikute teisendamine ja vahepealsed teaduslike arvutuste paketid. Kui olete kolledži üliõpilane, kasutage oma programmeerimisväliseid kursusi, püüdes nende võrrandeid ja teaduslikku tuuma raamatukogudena rakendada.
Samm 10. Otsige ja proovige oma programmeerimisvaldkonnas avatud lähtekoodiga pakette
Laadige esmalt alla paketi binaarfailid/käivitatavad failid. Proovige seda kasutada ja leidke selle tugevad ja nõrgad kohad. Kui olete seda teinud, laadige allikas alla ja proovige aru saada, kuidas seda tehti. Proovige need raamatukogud või nende osad uuesti luua. Algul tehke seda pärast koodi nägemist ja hiljem enne koodi nägemist. Hilisemates etappides proovige neid raamatukogusid täiustada.
Samm 11. Õppige erinevaid lähenemisviise, mida kasutatakse programmeerijatele komponentide levitamiseks ja juurutamiseks
- Tavaliselt kipuvad raamatukogu/pakettide programmeerijad mõtlema rekursiivselt ja/või iteratiivselt kõikidele neile esitatavatele probleemidele. Proovige mõelda igast probleemist kui väiksemate probleemide kogumist (lihtsamate ülesannete jada) või korduvast protsessist, mille eesmärk on vähendada probleemi ulatust väiksematele ulatustele ja seejärel koondada need ulatused üksteisele.
- Raamatukogu/pakettide programmeerijad kipuvad üldistama. See tähendab, et kui nad esitavad lihtsa konkreetse probleemi, mõtlevad nad tavaliselt üldisemale probleemile ja püüavad lahendada selle üldise probleemi, mis lahendab automaatselt väiksema probleemi.
Meetod 5/6: Süsteemi programmeerimine
Samm 1. Mõista, mida süsteemi programmeerimine endast kujutab
Süsteemiprogrammeerijad tegelevad programmeerimise teadusega, mitte selle konkreetsete rakendustega. Ärge siduge end kindla platvormiga.
Samm 2. Järgige töölauarakenduste programmeerijate jaoks kolme esimest sammu
Samm 3. Läbige lineaarse algebra sissejuhatav kursus
Samm 4. Võtke kursus Calculus
Samm 5. Loogika ja/või diskreetse matemaatika kursus
Samm 6. Tutvuge erinevate paljaste opsüsteemidega
Seda saab teha järgmiselt.
- Idee saamine operatsioonisüsteemide installimise kohta.
- Õppige erinevatele operatsioonisüsteemidele ühte arvutisse installima (valikuline, kuid soovitatav).
- Rohkem kui ühe operatsioonisüsteemi installimine. Ärge installige süsteemidesse abipakette; selle asemel kasutage operatsioonisüsteemide pakutavaid funktsioone.
Samm 7. Võtke kursus (või lugege raamatuid) arvuti riistvara arhitektuuri kohta
Samm 8. Arendage arusaamist erinevatest arvuti riistvaraplatvormidest
Samm 9. Tutvuge sissejuhatava riistvaraplatvormi/valitud operatsioonisüsteemi koostamiskeelega
Hiljem õpid teiste platvormide/süsteemide kokkupanekut.
Samm 10. Õppige ANSI C ja C ++ keeli koos protseduurilise programmeerimise mõistetega
Samm 11. Mõistke ja praktiseerige C/C ++ standardraamatukogusid valitud platvormil
Pöörake erilist tähelepanu standardsele mallikogule (STL) ja võib -olla aktiivsele malliteekile (ATL).
Samm 12. Otsige veebipõhistest ressurssidest, raamatutest ja kursustest, et mõista oma platvormi C-maitset
Samm 13. Harjutage täiustatud koodi loomist C ja C ++ abil
Samm 14. Õppige täpsemat kokkupanekut
Samm 15. Läbige kursus operatsioonisüsteemide projekteerimisel
Samm 16. Leidke ja lugege oma valitud platvormi dokumente
See on lihtsam, kui valite Unixil põhineva operatsioonisüsteemi. Mõistke süsteemi, millega hiljem töötate, väga hästi.
Samm 17. Harjutage oma omandatud teadmisi
Esmalt looge väikesed süsteemi utiliidid. Tavaliselt on kasulik:
- Proovite uuesti luua väikeseid tööriistu, mis on teie süsteemis juba olemas.
- Üritate teisaldada teistes operatsioonisüsteemides saadaolevad utiliidid teie omale.
Samm 18. Õppige keeli kõige kasulikumas järjekorras
See on ainus koht, kus esimene programmeerimiskeel on oluline. Õppige kõigepealt ANSI C, mitte C ++, mitte C#, mitte Java ja mitte D. Seejärel õppige C ++.
-
Esimese keele piiramine ainult C -ga ja C -ga on tingitud sellest, et süsteemide programmeerimine nõuab, et programmeerija tunneks järgmisi mõisteid:
- Päris ja täielik lähtekoodi koostamine.
- Madala taseme objektide väljundfailid.
- Binaarfailide linkimine.
- Madala taseme masinakeele/koostamise programmeerimine. Väidetavalt on C -keel mõnede jaoks varjatud/lihtsam kokkupanekut õppida. See toetab ka koostamiskeele koodi sisestamist koodi alati, kui soovite, ja see on ainult protseduuriline (nagu kokkupanek).
Meetod 6/6: Programmeerimisteadus
Samm 1. Tea, mida programmeerimisteadlane teeb
Programmeerimisteadlased on väga arenenud programmeerijad, kes selle asemel, et töötada rakenduste väljatöötamise kallal, töötavad välja selliseid arvutitehnoloogiaid nagu krüptimine, programmeerimiskeeled ja andmekaevandamise algoritmid. Seda taset saavutatakse harva ilma akadeemilise õppe ja pühendumuseta.
Samm 2. Koguge teaduslikud teadmised, mis on võrdsed nelja-aastase arvutiteaduse kraadiga
Seda saab teha järgmiselt.
- Tegeliku akadeemilise kraadi omandamine (seda tavaliselt juhtub).
- Kursuste visandid sellise kraadi saamiseks ühest kaasaegsest ülikoolist ja kursuste läbimine kas iseseisvalt või eraldi kursustena. Seda oleks võimalik teoreetiliselt saavutada, kuid soovitatav tee on esimene.
Samm 3. Otsustage eriala
Mida täpsem, seda parem. See sõltub teie eelistustest. Siin on aga nimekiri mõnest arvutiprogrammeerimise põhiteemast:
- Algoritmi disain (mõned näited on otsimine, sortimine, krüptimine, dekrüptimine ja vigade tuvastamine)
- Programmeerimiskeeled/kompilaatori disain/optimeerimine
- Tehisintellekti valdkonnad (mustrituvastus, kõnetuvastus, loomuliku keele töötlemine, närvivõrgud)
- Robootika
- Teaduslik programmeerimine
- Super andmetöötlus
- Arvutipõhine projekteerimine/modelleerimine (CAD/CAM)
- Virtuaalne reaalsus
- Arvutigraafika (arvutigraafikat segatakse tavaliselt ekslikult graafilise disaini või graafilise kasutajaliidese kujundusega. Arvutigraafika on valdkond, kus uuritakse, kuidas arvutisüsteemides graafikat kujutada ja sellega manipuleerida.)
Samm 4. Kaaluge kõrgema akadeemilise kraadi omandamist
Võite soovida omandada magistrikraadi või doktorikraadi.