Ohjelmoijaksi ryhtyminen on kumulatiivinen prosessi, joka rakentaa taitojasi päivästä toiseen ja vuodesta toiseen, ja ohjelmointi voi olla hauskaa ja palkitsevaa (henkisesti, hengellisesti ja taloudellisesti). Tämä opas ei lupaa antaa maagisesti helppoa tapaa tulla ohjelmoijaksi, eikä vaiheiden järjestys ole pyhää, mutta saat yleiskuvan siitä, kuinka tulla ohjelmoijaksi jollakin nykyaikaisista ohjelmointikentistä.
Askeleet
Vaihe 1. Ota johdantokurssi yhteen (tai kaikkiin) seuraavista aloista:
- Logiikka
- Diskreetti matematiikka
- Ohjelmointikieli.
ASIANTUNTIJAN VINKKI
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 -perustaja ja suunnittelujohtaja
Älä tunne, että sinun on ansaittava koodaustutkinto.
Vaikka ohjelmointikielen kursseista voi olla apua, ohjelmistosuunnittelija ja käynnistyksen perustaja Gene Linetsky sanoo:"
Vaihe 2. Opi tietokannan käsitteitä, kuten taulukoita, näkymiä/kyselyitä ja menettelyjä
Voit käyttää mitä tahansa yksinkertaista tietokantapakettia, kuten:
- MS Access
- DB V
- Fox Pro
- Paradoksi
- MySQL on hyvä tietokanta oppia, koska se on ilmainen, yleisesti käytetty ja tietokantoja käytetään yleisesti SQL -kyselyillä
Vaihe 3. Päätä millainen ohjelmoija haluat olla
Ohjelmoijat kuuluvat yleensä johonkin seuraavista luokista:
- Web -ohjelmoija
-
Työpöytäsovellusohjelmoija
- Käyttöjärjestelmä (OS) suuntautunut ohjelmoija (sidottu yhteen käyttöjärjestelmään tai käyttöjärjestelmään)
- Alusta riippumaton ohjelmoija
- Hajautettujen sovellusten ohjelmoija
- Kirjasto/alusta/kehys/ydinohjelmoija
-
Järjestelmän ohjelmoija
- Ytimen ohjelmoija
- Kuljettajan ohjelmoija
- Kääntäjäohjelmoija
- Ohjelmointitieteilijä
Vaihe 4. Opi valitsemallesi ohjelmointialalle liittyvät tekniikat ja ohjelmointikielet
Seuraavissa osioissa eritellään eri ohjelmointityyppien tehtävät.
Tapa 1/6: Web -ohjelmointi
Vaihe 1. Tiedä mitä web -ohjelmointi sisältää
Verkkosovellukset ovat ohjelmistokomponentteja, jotka on suunniteltu toimimaan Internet -arkkitehtuurin päällä. Tämä tarkoittaa, että sovelluksia käytetään verkkoselainohjelmiston, kuten Firefoxin tai Internet Explorerin, kautta. Internet -arkkitehtuurin päälle rakentaminen ei välttämättä edellytä aktiivista yhteyttä Internetiin. Se tarkoittaa, että verkkosovellukset on rakennettu standardien verkkoteknologioiden päälle, kuten:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- IP -protokollat
- HTML
- XML
- Kylmäfuusio
- ASP
- JSP
- PHP
- ASP. NET
Vaihe 2. Selaa monia erilaisia verkkosivustoja ja opi, miltä ne yleensä näyttävät
(Napsauta hiiren kakkospainikkeella ja napsauta sitten Näytä lähde tai paina F12.) Etsi monimuotoisuutta verkkosivuston tyypistä/sisällöstä, älä vierailtujen verkkosivustojen määrästä. Yleensä sinun on käytävä vähintään yhdellä seuraavista verkkosivustoista:
- Yritysten läsnäolosivustot (kaupalliset yritykset, voittoa tavoittelemattomat yritykset/organisaatiot, valtiolliset järjestöt)
- Verkkokäyttäjät (hakukoneet, metahakusivustot, erikoishakukoneet, hakemistot)
- Tietojen louhintapaikat
- Henkilökohtaiset sivustot
- Tieto-/tietosanakirjasivut (wikit, tietolomakkeet, tekniset tiedot ja käsikirjat, joissa luetellaan hakemistoja, blogeja ja lehtiä, uutisten ja uutistoimistojen sivustoja, keltaisia sivuja jne.)
- Sosiaaliset sivustot (sosiaaliset portaalit, kirjanmerkkisivustot, muistiinpanosivustot)
- Yhteistyösivustot (tämä sisältää muut edellä mainitut luokat, kuten wikit ja blogit)
Vaihe 3. Opi ainakin yksi aivoriihi -tekniikka/-menetelmä ja ohjelmisto, jota käytetään tämän menetelmän toteuttamiseen
Esimerkiksi: aivoriihi -kaaviot ja MS Visio.
Vaihe 4. Tutustu verkkosivuston rakenteeseen
Tämä luo käsitteellisiä verkkokaavioita, sivustokarttoja ja navigointirakenteita.
Vaihe 5. Suorita graafinen suunnittelu
Yritä oppia ainakin yksi grafiikan muokkaus-/käsittelyohjelmistopaketti (valinnainen, mutta erittäin suositeltavaa)
Vaihe 6. Opi Internet -infrastruktuurin perusteet
Tämä sisältää perusidean hankkimisen seuraavista asioista:
- Perusverkkopalveluprotokollat (HTTP, FTP, SMTP ja POP3 tai IMAP4)
- Web -palvelinohjelmisto (mieluiten yksi alustalle, jota käytät enimmäkseen)
- Web -selainohjelmisto.
- Sähköpostipalvelin ja asiakasohjelmisto
Vaihe 7. Opi HTML- ja CSS -kielet
Saatat myös haluta hankkia "Mitä näet on mitä saat (WYSIWYG)" -ohjelmistopaketin HTML -muokkausta varten.
Vaihe 8. Opi XML- ja XML -tekniikoita, kuten XSL ja XPath (valinnainen, mutta suositeltava)
Vaihe 9. Luo yksinkertaisia staattisia verkkosivustoja, kunnes olet perehtynyt HTML -koodiin ja viihtynyt sen parissa
Vaihe 10. Opi asiakaspuolen komentosarjakieli
Useimmat käyttäjät oppivat JavaScriptin. Jotkut oppivat VBScriptin, mutta tämä ei ole yhteensopiva useimpien selainten kanssa.
Vaihe 11. Tutustu oppimaasi asiakaspuolen skriptikieleen
Yritä saavuttaa potentiaalisi vain tällä kielellä. Siirry seuraavaan vaiheeseen vasta sen jälkeen, kun olet ainakin tutustunut asiakaspuolen komentosarjakieleen.
Vaihe 12. Opi ainakin yksi palvelinpuolen ohjelmointikieli
Jos päätät rajoittua yhteen palvelinohjelmistoon, opi jokin kyseisen ohjelmiston tukemista ohjelmointikielistä. Jos ei, opi ainakin yksi ohjelmointikieli kullakin palvelinohjelmistolla.
Vaihe 13. Luo pilottiprojekti itsellesi, kun olet oppinut palvelinpuolen ohjelmointikielen.
Vaihe 14. Hanki oma verkkosivustosi ja aloita kokeilu verkossa omalla sivullasi
Tapa 2/6: Työpöytäsovellusten ohjelmointi
Vaihe 1. Tiedä mihin pääset työpöytäsovellusten ohjelmoinnilla
Useimmat työpöydän ohjelmoijat kirjoittavat koodia yritysratkaisuille, joten ajatuksen saaminen yrityksistä, niiden organisaatio- ja rahoitusrakenteesta säästää paljon aikaa.
Vaihe 2. Tutustu eri tietokonelaitteiston arkkitehtuureihin
Digitaalipiirien suunnittelua ja tietokoneen arkkitehtuuria käsittelevä johdantokurssi on hyödyllinen; Jotkut kuitenkin pitävät sitä edistyneenä lähtökohtana, joten kahden tai kolmen opetusartikkelin (kuten tämän ja tämän) lukeminen saattaa riittää. Sitten voit palata tähän vaiheeseen myöhemmin, kun olet oppinut ensimmäisen ohjelmointikielesi.
Vaihe 3. Opi lähtötason (lasten) ohjelmointikieli
Älä ole ujo oppia tällaista kieltä vain siksi, että olet vanhempi kuin "lapsi". Esimerkki näistä ohjelmointikielistä voi olla Scratch. Nämä ohjelmointikielet voivat lievittää tuskaa ensimmäisen ohjelmointikielen oppimisessa. Tämä vaihe on kuitenkin valinnainen. Se voidaan tehdä myös ennen edellistä vaihetta.
Vaihe 4. Ota käyttöön johdanto, objektiorientoitunutja toiminnalliset ohjelmointimallit.
Vaihe 5. Käy johdantokurssi jollakin menettelytapojen ohjelmointikielellä
Riippumatta siitä, minkä kielen valitset myöhemmin valitsemallesi kielelle, se vaatii menettelytapojen ohjelmointia jollain tasolla. Useimmat ohjelmoijat ovat myös ilmoittaneet, että menettelytapojen ohjelmointi on helpoin käyttää lähtökohtana saadakseen käsityksen ohjelmoinnista yleensä.
Vaihe 6. Opi ainakin yksi edistynyt mallinnustekniikka, kuten UML tai ORM
Vaihe 7. Aloita pienen konsolin tai konsolin kaltaisten sovellusten kirjoittaminen
Voit käyttää yleisiä pieniä harjoituksia ohjelmointikielikirjoissa. Valitse tätä varten työkalu ohjelmien kirjoittamiseen sillä ohjelmointikielellä, jolla kirjoitat.
Vaihe 8. Ota pidempi kurssi valitsemallasi ohjelmointikielellä
Varmista, että ymmärrät seuraavat käsitteet hyvin ja että voit soveltaa niitä suhteellisen helposti ennen kuin jatkat:
- Tietojen syöttäminen ja tulostaminen ohjelman käyttäjille.
- Ohjelmointikielten ohjelmien looginen kulku ja suoritus.
- Muuttujien ilmoittaminen, osoittaminen ja vertailu.
- Haarautuvat ohjelmointirakenteet, kuten jos … sitten..selaa ja valitse/vaihda..tapaus.
- Silmukkarakenteet, kuten while..do, do.. while/till, for..sext.
- Ohjelmointikielesi syntaksi menettelyjen ja toimintojen luomiseen ja kutsumiseen.
- Tietotyypit ja niiden käsittely.
- Käyttäjän määrittämät tietotyypit (tietueet/rakenteet/yksiköt) ja niiden käyttö.
- Jos kielesi tukee ylikuormitustoimintoja, ymmärrä se.
- Valitsemasi kielen muistin käyttömenetelmät (osoittimet, kurkistus jne.)
- Jos kielesi tukee operaattoreiden ylikuormitusta, ymmärrä se.
- Jos kielesi tukee edustajia/toiminto -osoittimia, ymmärrä se.
Vaihe 9. Käytä oppimiasi kehittyneitä tekniikoita
Vaihe 10. Käy johdantokurssi vähintään yhdellä ohjelmointikielellä toisessa ohjelmointimallissa
On suositeltavaa oppia yksi ohjelmointikieli jokaisesta paradigmasta, ja useimmat edistyneet ohjelmoijat tekevät sen, mutta yleensä aloitat yhdellä, työskentelet jonkin aikaa soveltamalla tietojasi ja harjoittelemalla sitä, ja opit sitten toisen myöhemmin, kun sinulla oli jo todellinen -kokemusta ohjelmoinnista. Kokeile jotakin seuraavista kielialueista:
- Loogisen ohjelmoinnin paradigma.
- Toiminnallinen ohjelmointiparadigma.
- Objektikeskeinen paradigma.
Vaihe 11. Yritä verrata kahta ohjelmointikieltä, jotka olet oppinut tähän mennessä
Arvioi kunkin vahvuudet ja heikkoudet. Yleensä tämän tekee:
- Ottaa yksinkertaisia näytteitä varhaisesta työstäsi ensimmäisellä ohjelmointikielellä ja kirjoittaa se uudelleen toisella ohjelmointikielellä.
- Luo uusi projekti ja yritä toteuttaa se molemmilla kielillä. Joskus projektin ja kielten valinnan mukaan et ehkä pysty toteuttamaan projektia jollakin kielistä!
- Huijaussivun tai yhteenvetotaulukon vertailujen kirjoittaminen molempien kielten samankaltaisten rakenteiden ja ominaisuuksien välillä.
- Yritä löytää tapoja jäljitellä ominaisuuksia, jotka ovat ainutlaatuisia jollekin kahdesta kielestä käyttämällä toista kieltä.
Vaihe 12. Opi visuaalisia ohjelmointikonsepteja yhdellä oppimistasi kielistä
Lähes kaikilla ohjelmointikielillä on versioita/kirjastoja, jotka tukevat visuaalista ohjelmointia, ja toiset, jotka tukevat konsolin tai konsolin kaltaista ohjelmointia. Tämä voidaan tehdä seuraavasti:
- Tutustu tapahtumapohjaiseen ohjelmointiin. Useimmat visuaaliset ohjelmoinnit riippuvat jossain määrin tapahtumista ja tapahtumien käsittelystä (valitsemallasi ohjelmointikielellä).
- Kokeile mahdollisimman paljon työpöytäohjelmistoja ja ymmärrä, mitä ohjelmisto tekee. Useimmat ohjelmistokehitysyritykset tarjoavat tuotteistaan betatestausversioita, joiden avulla voit testata ohjelmiston. Pysy ajan tasalla käyttöliittymän kehityksestä.
- Lue joitain artikkeleita tai oppaita graafisista käyttöliittymistä.
Vaihe 13. Aloita tietosi soveltaminen pieniin ohjelmistoprojekteihin, joita suunnittelet
Kokeile soveltaa ohjelmointitaitoasi ongelmiin, joita kohtaat päivittäisessä elämässäsi. Kirjoita esimerkiksi ohjelmia, jotka nimeävät tiedostoja uudelleen joukkoon, vertailevat tekstitiedostoja visuaalisesti, kopioivat hakemiston tiedostojen nimet muistiin/tekstitiedostoon ja vastaavia. Pidä se aluksi yksinkertaisena.
Vaihe 14. Luo virtuaalinen valmistumisprojekti
Suorita tämä loppuun asti soveltamalla tähän asti opittuja visuaalisen ohjelmoinnin tekniikoita.
Vaihe 15. Laajenna ymmärrystäsi visuaalisesta kehyksestä/kirjastosta/paketista, jonka olet oppinut ottamalla edistyneitä kursseja, kiinnittämällä erityistä huomiota yksityiskohtiin ja oppimalla lisää vinkkejä ja temppuja kehykseesi online -resursseista
Vaihe 16. Etsi muita ohjelmointikielesi visuaalisten elementtien paketteja/kirjastoja ja opi ne
Vaihe 17. Käy grafiikan kurssi (ei grafiikkasuunnittelu)
Siitä on paljon apua ohjelmoijille, jotka haluavat kirjoittaa houkuttelevia käyttöliittymäelementtejä.
Vaihe 18. Harkitse ryhtymistä peliohjelmoijaksi (valinnainen)
Pelin ohjelmointia pidetään suurimmassa osassa työpöydän ohjelmointia. Jos aiot ryhtyä peliohjelmoijaksi, sinun on opittava lisää peliohjelmoinnista näiden vaiheiden jälkeen. Grafiikkakurssi on pakollinen peliohjelmoijille, ja toisena valittuna kielenä edellisissä vaiheissa tulisi olla logiikka/toiminnallinen ohjelmointikieli (mieluiten Prolog tai Lisp).
Tapa 3/6: Hajautettujen sovellusten ohjelmointi
Vaihe 1. Käsittele hajautettujen sovellusten ohjelmointia
Monien mielestä hajautettu sovellusohjelmointi on yksi vaikeimmin opittavista ja vaatii monipuolista tieto- ja viestintätekniikan tuntemusta.
Vaihe 2. Tutustu puhelinjärjestelmiin ja niiden laitteistoihin
Tämä vaihe on valinnainen. Se on kuitenkin erittäin hyödyllinen verkon topologioiden ymmärtämisessä.
Vaihe 3. Tutustu verkko -laitteistoarkkitehtuureihin ja laitteisiin, kuten keskittimiin, kytkimiin ja reitittimiin
Vaihe 4. Käy kurssi verkkoprotokollista ja olennaisista asioista
Sinun on ymmärrettävä OSI (Open Systems Interconnection) -malli, Ethernet, IP, TCP, UDP ja HTTP, ennen kuin aloitat hajautettujen sovellusten ohjelmoinnin.
Vaihe 5. Opi XML -kieli ja tutustu siihen
Vaihe 6. Aloita kuori -komentosarjakielen oppiminen
Windows-pohjaisessa ohjelmoinnissa se olisi mikä tahansa komentosarja, joka toimii Windows Scripting Hostin kanssa. Linux-pohjaiseen ohjelmointiin Bash-komentosarjat ja Perl riittävät. JavaScriptiä suositellaan tätä varten molemmilla alustoilla seuraavista syistä:
- Sitä tukevat lähes kaikki komentosarjan isännät missä tahansa käyttöjärjestelmässä (Windows Scripting Host tukee oletusarvoisesti JavaScriptiä, useimmissa Linux -jakeluissa on paketti JavaScript -komentosarjojen konsolituelle).
- Monien kehittäjien mielestä se on helpompi oppia.
- Siinä on ALGOL -syntaksi, joka tutustuttaa sinut paljon muihin ohjelmointikieliin, kun sinun on valittava toinen ohjelmointikieli (C, C ++, C#, Java ja J# ovat kaikki ALGOL -syntaksia).
- Oppimalla JavaScriptin opit tuntemaan verkkosivujen asiakaspuolen skriptit, mikä on lisäsivuvaikutus!
Vaihe 7. Käytä vain menettelytapojen ohjelmointia käyttämällä ensin valitsemasi komentosarjakieltä
Myöhemmin voit käyttää kehittyneempiä ohjelmointitekniikoita ja paradigmoja komentosarjakielesi ja sen tukemien tietojen mukaan. Kaikilla komentosarjakielillä on joitain prosessuaalisia ohjelmointinäkökohtia jollakin tasolla.
Vaihe 8. Käytä oppimaasi komentosarjakieltä kirjoittaaksesi komentosarjoja, jotka suorittavat koneiden välisen viestinnän
Opi, mikä on tarpeen sen tekemiseksi. Yksinkertainen viestintä riittää.
Vaihe 9. Tee siirto työpöydän komentosarja-/ohjelmointikielelle
Mieluiten sellainen, joka on moniparadigmainen kieli, kuten Python. Ota yksinkertainen johdanto tuohon toiseen kieleen. Useimmat ohjelmoijat pitävät Javaa valitun kielenä monesta syystä. C# on kuitenkin saamassa vauhtia nopeasti tällä alalla. Java ja C# ovat suositeltavia seuraavista syistä:
- Ne ovat olio-ohjelmointikieliä, jotka suojaavat suurten ryhmien ohjelmoijia toteutuksen yksityiskohdilta, koska ne molemmat tukevat komponentteja (koodikokonaisuuksia, valmiiksi koottuja, jotka suorittavat tietyn tehtävän ja joita voidaan käyttää muissa ohjelmissa).
- Ne tukevat tapahtumapohjaista ohjelmointia sekä OO- ja menettelytapojen ohjelmointia jollain tasolla.
- Kehys, johon kieli on rakennettu, on luonteeltaan jaettu (Javan tapauksessa).
- Saatavilla on monia valmiita paketteja, jotka käsittelevät verkottumista sekä avoimen lähdekoodin että sisäänrakennettujen puitepakettien avulla. Tämä helpottaa ohjelmoijien rakentamista muiden työhön.
Vaihe 10. Keskity enemmän kielen ydinominaisuuksiin, erityisesti verkostoitumista tukeviin
Kiinnitä vähemmän huomiota käyttöliittymäelementteihin, kuten lähtöön, ikkunan suunnitteluun ja tekniikoihin sekä käyttöliittymäelementteihin.
Vaihe 11. Käy kurssi hajautettujen sovellusten suunnittelusta ja arkkitehtuureista
Tämä voidaan tehdä kirjojen, online -opetusohjelmien tai akateemisten kurssien avulla. Hajautettujen sovellusten arkkitehtuurin ja sen käsitteiden ymmärtäminen on kuitenkin välttämätöntä.
Vaihe 12. Tutustu huollettavien komponenttien ja palvelujen rakentamiseen valitsemallasi ohjelmointikielellä
Vaihe 13. Opi yksi tai useampi seuraavista tekniikoista
On suositeltavaa, että saat vähintään esittelyn niistä kaikista. Useimmat hajautetut sovellusohjelmoijat eivät pysähdy yhdelle tai kahdelle ohjelmointikielelle, vaan oppivat vähintään yhden ohjelmointikielen kussakin käyttöjärjestelmässä. Tämä johtuu siitä, että jos haluat, että sovelluksesi jaetaan , sinun on annettava siitä versio ainakin jokaiselle suurelle käyttöjärjestelmälle.
- Common Object Request Broker Architecture (CORBA)
- Yksinkertainen objektin käyttöprotokolla (SOAP)
- Asynkroninen JavaScript ja XML (AJAX)
- Hajautetun komponenttikohteen malli (DCOM)
- . NET -etäkäyttö
- XML -verkkopalvelut
Tapa 4/6: Kirjasto/Alusta/Kehys/Ydinohjelmointi
Vaihe 1. Tiedä mikä ydinohjelmointi on
Ydinohjelmoijat ovat vain edistyneitä ohjelmoijia, jotka ovat siirtyneet ohjelmointisovelluksista ohjelmointikoodiyksiköihin muiden ohjelmoijien käytettäväksi.
Vaihe 2. Opi ohjelmointikieli, joka tukee uudelleenkäytettävien komponenttien/pakettien rakentamista, jos et ole jo tehnyt niin
Vaihe 3. Ota UML- ja ORM -kurssi
Useimmat kirjaston kehittäjät käyttävät yhtä tai molempia.
Vaihe 4. Ota ohjelmistosuunnittelun kurssi
Vaihe 5. Opi ainakin modulaarisia, komponenttipohjaisia, olio-suuntautuneita ja tapahtumapohjaisia ohjelmointitekniikoita ja -konsepteja
Mitä enemmän ohjelmointiparadigmoja ja -kieliä katat, sitä paremmin menestyt kirjaston/paketin ohjelmoijana.
Vaihe 6. Lue lisää näiden käyttöjärjestelmien tukemista eri käyttöjärjestelmistä ja ohjelmointikehyksistä
Vaihe 7. Keskitä oppimistyösi alustasta riippumattomiin kehyksiin, ohjelmointikieliin ja tekniikoihin
Vaihe 8. Jos ohjelmointikielillä, jotka olet oppinut tähän mennessä, on ANSI/ISO/IEEE/W3C -vakiomallit, hallitse standardit.
Yritä käyttää vakiokoodia aina kun mahdollista.
Vaihe 9. Yritä jäljitellä yksinkertaisia, jo vakiintuneita kirjastoja, erityisesti avoimen lähdekoodin
Tästä on hyötyä kirjaston/paketin ohjelmoijan alkuvaiheessa. Aloita yksinkertaisilla paketeilla, kuten yksikkömuunnoksilla ja tieteellisillä laskutoimituksilla. Jos olet opiskelija, käytä muita kuin ohjelmointikurssejasi yrittämällä toteuttaa niiden yhtälöt ja tieteellinen ydin kirjastoina.
Vaihe 10. Etsi ja kokeile ohjelmointisi avoimen lähdekoodin paketteja
Lataa ensin paketin binääritiedostot/suoritettavat tiedostot. Yritä käyttää sitä ja etsi sen vahvoja ja heikkoja kohtia. Kun olet tehnyt sen, lataa lähde ja yritä selvittää, miten se tehtiin. Yritä luoda nämä kirjastot tai niiden osat uudelleen. Tee se ensin, kun olet nähnyt koodin, ja myöhemmin ennen kuin näet koodin. Myöhemmissä vaiheissa yritä parantaa näitä kirjastoja.
Vaihe 11. Opi erilaisia lähestymistapoja, joita käytetään komponenttien jakamiseen ja käyttöönottoon ohjelmoijille
- Yleensä kirjaston/paketin ohjelmoijilla on taipumus ajatella rekursiivisesti ja/tai iteratiivisesti kaikkia heille esitettyjä ongelmia. Yritä ajatella kutakin ongelmaa pienempien ongelmien kokoelmana (yksinkertaisempien tehtävien sarja) tai toistuvana prosessina, jolla ongelman laajuus pienennetään pienemmille laajuuksille ja kasataan sitten ne toistensa päälle.
- Kirjasto-/pakettiohjelmoijat pyrkivät yleistämään. Toisin sanoen, kun he esittävät yksinkertaisen erityisongelman, he yleensä ajattelevat yleisemmän ongelman ja yrittävät ratkaista sen yleisen ongelman, joka automaattisesti ratkaisee pienemmän.
Tapa 5/6: Järjestelmän ohjelmointi
Vaihe 1. Ymmärrä järjestelmän ohjelmointi
Järjestelmäohjelmoijat käsittelevät ohjelmointitiedettä eivätkä sen erityisiä toteutuksia. Älä sido itseäsi tiettyyn alustaan.
Vaihe 2. Noudata työpöytäsovellusten ohjelmoijien kolmea ensimmäistä vaihetta
Vaihe 3. Käy lineaarialgebran johdantokurssi
Vaihe 4. Suorita Calculus -kurssi
Vaihe 5. Käy logiikan ja/tai erillisen matematiikan kurssi
Vaihe 6. Esittele eri paljaat käyttöjärjestelmät
Tämä voidaan tehdä seuraavasti:
- Saat käsityksen siitä, miten käyttöjärjestelmät asennetaan.
- Opi asentamaan eri käyttöjärjestelmiä yhteen tietokoneeseen (valinnainen, mutta suositeltava).
- Useiden käyttöjärjestelmien asentaminen. Älä asenna järjestelmiin apupaketteja; Käytä sen sijaan käyttöjärjestelmien paljaita toimintoja.
Vaihe 7. Ota kurssi (tai vaihtoehtoisesti lue kirjoja) tietokoneen laitteistoarkkitehtuurista
Vaihe 8. Kehitä ymmärrystä eri tietokonelaitteistoalustoista
Vaihe 9. Tutustu aluksi valitsemasi laitteistoalustan/käyttöjärjestelmän kokoonpanokieleen
Opit myöhemmin muiden alustojen/järjestelmien kokoonpanon.
Vaihe 10. Opi ANSI C- ja C ++ -kielet sekä prosessiohjelmoinnin käsitteet
Vaihe 11. Ymmärrä ja käytä C/C ++ -standardikirjastoja valitsemallasi alustalla
Kiinnitä erityistä huomiota vakiomallikirjastoon (STL) ja ehkä aktiiviseen mallikirjastoon (ATL).
Vaihe 12. Hae verkkoresursseista, kirjoista ja kursseista ymmärtääksesi tietyn alustasi C-makua
Vaihe 13. Harjoittele lisäkoodin luomista C: llä ja C ++: lla
Vaihe 14. Lue lisää edistyneestä kokoonpanosta
Vaihe 15. Käy käyttöjärjestelmien suunnittelun kurssi
Vaihe 16. Etsi ja lue valitsemasi alustan dokumentaatiot
Tämä on helpompaa, jos valitset Unix-pohjaisen käyttöjärjestelmän. Ymmärrä hyvin järjestelmä, jonka kanssa työskentelet myöhemmin.
Vaihe 17. Harjoittele hankkimaasi tietoa
Luo ensin pienet järjestelmäapuohjelmat. Yleensä on hyödyllistä:
- Yrität luoda uudelleen pieniä työkaluja, jotka ovat jo olemassa järjestelmässäsi.
- Yrität siirtää muissa käyttöjärjestelmissä käytettävissä olevia apuohjelmia omaasi.
Vaihe 18. Opi kieliä hyödyllisimmässä järjestyksessä
Tämä on ainoa paikka, jossa ensimmäisellä ohjelmointikielellä on merkitystä. Opi ensin ANSI C, älä C ++, älä C#, älä Java eikä D. Sitten opi C ++.
-
Ensimmäisen kielen rajoittaminen pelkästään C- ja C -kieliin johtuu siitä, että järjestelmäohjelmointi edellyttää, että ohjelmoija tuntee seuraavat käsitteet:
- Todellinen ja täydellinen kokoelma lähdekoodia.
- Matalan tason objektitulostustiedostot.
- Binaaritiedostojen linkittäminen.
- Matalan tason konekielen/kokoonpanon ohjelmointi. C -kielen sanotaan olevan naamioitu/helpommin opittava kokoonpano. Se tukee myös kokoonpanokielen koodin lisäämistä koodiin milloin tahansa, ja se on vain menettelytapa (kuten kokoonpano).
Menetelmä 6/6: Ohjelmointitiede
Vaihe 1. Tiedä mitä ohjelmointitieteilijä tekee
Ohjelmointitieteilijät ovat hyvin edistyneitä ohjelmoijia, jotka sovellusten kehittämisen sijasta työskentelevät tietotekniikan, kuten salauksen, ohjelmointikielten ja tiedonlouhinta -algoritmien, kehittämisen parissa. Tämä taso saavutetaan harvoin ilman akateemista tutkimusta ja omistautumista.
Vaihe 2. Kerää tieteellistä tietoa, joka vastaa tietojenkäsittelytieteen neljän vuoden tutkintoa
Tämä voidaan tehdä joko:
- Todellisen akateemisen tutkinnon suorittaminen (mitä yleensä tapahtuu).
- Kurssien ääriviivojen hankkiminen tällaisesta tutkinnosta yhdestä nykyaikaisesta yliopistosta ja kurssien suorittaminen joko itseopiskeluna tai erillisinä kursseina. Tämä voidaan saavuttaa teoreettisesti, mutta suositeltu polku on ensimmäinen.
Vaihe 3. Päätä erikoisala
Mitä tarkempi, sitä parempi. Tämä riippuu mieltymyksistäsi. Tässä on kuitenkin luettelo joistakin tietokoneohjelmointitieteen tärkeimmistä aiheista:
- Algoritmin suunnittelu (haku, lajittelu, salaus, salauksen purku ja virheiden havaitseminen viestinnässä ovat esimerkkejä)
- Ohjelmointikielet/kääntäjän suunnittelu/optimointi
- Tekoälykentät (kuvion tunnistus, puheentunnistus, luonnollisen kielen käsittely, hermoverkot)
- Robotiikka
- Tieteellinen ohjelmointi
- Huipputietokone
- Tietokoneavusteinen suunnittelu/mallinnus (CAD/CAM)
- Virtuaalitodellisuus
- Tietokonegrafiikka (Tietokonegrafiikkaa sekoitetaan yleensä väärin graafiseen suunnitteluun tai graafiseen käyttöliittymäsuunnitteluun. Tietokonegrafiikka on ala, jossa tutkitaan grafiikan esittämistä ja käsittelyä tietokonejärjestelmissä.)
Vaihe 4. Harkitse korkeamman akateemisen tutkinnon hankkimista
Saatat haluta jatkaa maisterin tai tohtorin tutkintoa.