Bli en programmerer er en kumulativ prosess som bygger opp ferdigheter dag etter dag og år etter år, og programmering kan være morsomt og givende (mentalt, åndelig og økonomisk). Denne guiden lover ikke å gi et magisk enkel vei til å bli en programmerer, og rekkefølgen av trinnene er ikke hellig, men du vil få en generell oversikt over hvordan du kan bli en programmerer i en av de moderne programmeringsspråk felt.
Trinn
- 1Ta et innføringskurs i en (eller begge) av følgende disipliner:
- Logic
- Diskret matematikk
- 2Lær databasebegreper eksempel tabeller, visninger / spørsmål og prosedyrer. Du kan bruke hvilken som helst enkel database pakke for å gjøre dette, for eksempel:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL er en god database å lære fordi det er gratis, brukte, og databaser blir ofte vist med SQL-spørringer
- 3Bestem hva slags programmerer du ønsker å være. Programmerere generelt faller inn under en av følgende kategorier:
- Web-programmerer
- Desktop applikasjon programmerer
- Operativsystem (OS) orientert programmerer (knyttet til en enkelt operativsystem eller sett av operativsystemer)
- Plattformuavhengig programmerer
- Distribuert applikasjonsprogrammerer
- Bibliotek / plattform / rammeverk / core programmerer
- Systemutvikler
- Kernel programmerer
- Driver programmerer
- Compiler programmerer
- Programmering vitenskapsmann
- 4Lær teknologier og programmeringsspråk relatert til programmering felt av valget. De følgende avsnittene bryte ned oppgavene for ulike typer av programmering.
Web-programmering
- 1Vet hva web-programmering innebærer. Web-applikasjoner er programvarekomponenter utviklet for å fungere på toppen av internett arkitektur. Dette betyr at programmene er tilgjengelig via en nettleser programvare som eller. Bygges på toppen av Internet arkitektur ikke nødvendigvis krever en aktiv tilkobling til internett. Det betyr at web-applikasjoner er bygget på toppen av standard webteknologier som:
- 2Bla gjennom mange ulike nettsteder for å lære om hvordan de vanligvis ser. (Høyreklikk, velg Vis kilde eller trykk F12.) Se for mangfold i type / innhold på nettsiden, ikke kvantitet besøkte nettsider. Vanligvis må du besøke minst én av hver av de følgende typer nettsteder:
- Bedriftens tilstedeværelse nettsteder (kommersielle selskaper, ikke-for-profit bedrifter / organisasjoner, statlige organisasjoner)
- Web indeksering motorer (søkemotorer, meta søkesider, spesialiserte søkemotorer, kataloger)
- Data mining nettsteder
- Personlige nettsteder
- Informasjonsmessige / leksikon sider (wikier, datablader, tekniske spesifikasjoner, og manualer notering kataloger, blogger og tidsskrifter, nyheter og nyhetsbyråer områder, gule sider, etc.)
- Sosiale nettsteder (sosiale portaler, bokmerker nettsteder, notater områder)
- Samarbeidende nettsteder (dette inkluderer andre kategoriene nevnt ovenfor, for eksempel wikier og blogger)
- 3Lær minst ett brainstorming / teknikken og en programvare som brukes til å implementere den metoden. For eksempel: brainstorming diagrammer og MS Visio.
- 4Bli kjent med nettstedet strukturering. Dette skaper konseptuelle web diagrammer, site-kart og navigasjon strukturer.
- 5Ta et lynkurs på grafikk design. Prøv å lære minst ett grafikk redigering / manipulasjon programvarepakke (valgfritt, men sterkt anbefalt)
- 6Lære det grunnleggende om internett infrastruktur. Dette inkluderer å få en grunnleggende idé om:
- Base Web services-protokoller (HTTP, FTP, SMTP og POP3 eller IMAP4)
- Web server -programvare (fortrinnsvis ett for plattformen vil du arbeide på det meste)
- Nettsurfing programvare.
- E-post server og klient-programvare
- 7Lær HTML og CSS språk. Du kan også være lurt å få "det du ser er hva du får ()" programvarepakke for redigering HTML.
- 8Lær XML og XML-relaterte teknologier, som for eksempel XSL og XPath (valgfritt, men anbefalt).
- 9Lage enkle statiske nettsider til du er kjent med og komfortabel rundt.
- 10Lær en klient-side skriptspråk. De fleste brukerne enten lære Javascript eller VBScript, men noen lærer og DHTML.
- 11Gjør deg kjent med klient-side scripting språk du har lært. Forsøke å nå ditt potensial med bare det språket. Bare gå til neste skritt etter at du har minst bli kjent med din klient-side skriptspråk.
- 12Lær minst én server-side programmeringsspråk. Hvis du velger å begrense deg til en server-programvare, lære en av de programmeringsspråk som støttes av den programvaren. Hvis ikke, lære minst ett programmeringsspråk på hver server-programvare.
- 13Lag et pilotprosjekt for deg selv etter at du er ferdig med å lære server-side programmeringsspråk.
- 14Få ditt eget nettsted og begynne å eksperimentere på nettet i din egen side.
Desktop Application Programming
- 1Vit hva du får inn med desktop applikasjon programmering. De fleste stasjonære programmerere skrive kode for forretningsløsninger, så får en idé om virksomheter, vil deres organisatoriske og finansielle strukturen være en stor tidsbesparende.
- 2Lær om de ulike maskinvare arkitekturer. Et introduksjonskurs kurs i digital kretser design og en annen i datamaskinarkitektur er nyttig, men noen ser det som blir fremmet for et utgangspunkt, så lese to eller tre tutorial artikler (for eksempel og) kan være nok. Deretter kan du gå tilbake til dette trinnet senere, etter at du lærer din første programmeringsspråk.
- 3Lær en entry-level (barnas) programmeringsspråk. Ikke vær sjenert til å lære et slikt språk, bare fordi du er eldre enn å bli kalt en "kid". Disse programmeringsspråk kan lette opp smerten i å lære ditt første programmeringsspråk enormt. Dette er imidlertid valgfritt trinn. Det kan også gjøres før foregående trinn
- 4Få en innføring i det prosessuelle, objektorientert og funksjonell programmering paradigmer.
- 5Ta et innføringskurs i en av de prosessuelle programmeringsspråk. Uansett hvilket språk du velger senere å være ditt språk av valget, vil det kreve prosessuelle programmering på noen nivå. Dessuten er prosessuelle programmering rapportert av de fleste programmerere å være den enkleste å bruke som et utgangspunkt for å få ideen om programmering generelt.
- 6Lære minst ett avansert modellering teknikk som UML eller ORM.
- 7Begynn å skrive noen små konsoll eller konsoll-lignende applikasjoner. Du kan benytte deg av vanlige små øvelser i programmeringsspråk bøker. For dette, velger et verktøy for å skrive programmer i programmeringsspråket du skriver i.
- 8Ta en mer avansert kurs i din valgte programmeringsspråk. Pass på at du forstår følgende konsepter vel og at du kan bruke dem med relativ letthet før du går videre:
- Skrive inn og gi ut informasjon til brukere av et program.
- Den logiske flyt og gjennomføring flyt av programmer i prosessuelle språk.
- Erklærte, fastsettelse og sammenligne variabler.
- Forgrening programmering konstruerer som om.. så.. ellers, og velg / switch..case.
- Looping konstruksjoner som for eksempel stund.. gjør, do..while / inntil, for.. neste.
- Programmeringsspråk syntaks for å lage og å kalle prosedyrer og funksjoner.
- Datatyper og manipulere dem.
- Brukerdefinerte datatyper (poster / structs / enheter) og deres bruk.
- Hvis språket støtter overbelastning funksjoner, forstå det.
- Minnet tilgang metoder for språket du ønsker (, titte, etc.)
- Hvis språket støtter operatørene overbelastning, forstå det.
- Hvis språket støtter delegater / funksjon pekere, forstå det
- 9Bruk de avanserte teknikkene du har lært.
- 10Ta et innføringskurs i minst ett programmeringsspråk i en annen programmering paradigme. Det anbefales å lære ett programmeringsspråk hver paradigme, og de fleste avanserte programmerere gjør, men du vanligvis starte med en, arbeid for en stund å anvende din kunnskap og praktisere det, deretter lære den andre senere, etter at du har allerede hatt en reell -life erfaring i programmering. Prøv en av disse språkområdene:
- Objektorienterte paradigme.
- Logikk programmering paradigme.
- Funksjonell programmering paradigme.
- 11Prøv å sammenligne de to programmeringsspråk du lært så langt. Vurdere styrker og svakheter ved hver enkelt. Vanligvis er dette gjort ved å:
- Ta enkle prøver av tidlige arbeid i første programmeringsspråk og omskrive den med andre programmeringsspråk.
- Opprette et nytt prosjekt og prøve å gjennomføre det å bruke begge språk. Noen ganger, avhengig av ditt valg av prosjekt og språk, kan du ikke være i stand til å gjennomføre prosjektet i ett av språkene!
- Skrive en lure-ark eller sammendrag-tabellen sammenligninger mellom lignende konstruksjoner i de to språkene og funksjoner som er unike for hvert av språkene.
- Forsøke å finne måter for å etterligne funksjoner som er unik for en av de to språk ved å bruke andre språk.
- 12Lær visuelle programmering konsepter ved hjelp av ett av språkene du har lært. Nesten alle programmeringsspråk har versjoner / biblioteker som støtter visuell programmering og andre som støtter konsollen eller konsoll-lignende programmering. Dette kan oppnås ved:
- Få en innføring i event-drevet programmering. Mest visuell programmering er avhengig i noen grad om hendelser og begivenheter håndtering (ved hjelp av programmeringsspråket du velger).
- Prøv så mye desktop programvare som du kan og forstår hva programvaren gjør. De fleste programvareutvikling selskaper tilbyr beta-testing versjoner av sine produkter som du kan bruke til å teste programvaren. Hold deg oppdatert på brukergrensesnitt fremskritt.
- Les noen artikler eller tutorials om grafiske brukergrensesnitt.
- 13Begynne å bruke din kunnskap om små software prosjekter du designe. Prøv å bruke din programmering kompetanse på problemene du møter i dag-til-dag liv. For eksempel, skrive programmer som endre navn på filer i masse, sammenligner tekstfiler visuelt, kopierer navnene på filene i en katalog til minne / tekstfil, og sånne ting. Hold det enkelt i begynnelsen.
- 14Lag en virtuell konfirmasjonen prosjekt. Fylles til slutten, bruke teknikkene visuell programmering du har lært så langt.
- 15Utvid din forståelse av den visuelle rammen / bibliotek / pakken du har lært før ved å ta videregående kurs, betaler ekstra oppmerksomhet til detaljer og lære mer tips og triks for din rammeverket fra elektroniske ressurser.
- 16Søk etter andre pakker / bibliotek av visuelle elementer for dine programmeringsspråk og lære dem.
- 17Ta et kurs i grafikk (ikke grafikk design). Det vil være svært nyttig for programmerere som ønsker å skrive tiltalende brukergrensesnitt elementer.
- 18Bli en spill programmerer (valgfritt). Spillprogrammering anses i de fleste deler av den stasjonære programmering. Hvis du har tenkt å bli en spill programmerer, vil du trenger å lære mer om spillet programmering når du er ferdig disse trinnene. En grafikk kurset er et must for spill programmerere og andre språk av valget i de foregående trinnene bør være en logikk / funksjonelle programmeringsspråk (fortrinnsvis Prolog eller Lisp).
Distribuerte applikasjoner programmering
- 1Takle distribuerte applikasjoner programmering. Distribuert applikasjon programmering anses av mange å være en av de vanskeligste å lære og krever varierte kunnskaper i data-og kommunikasjonsteknologi.
- 2Ta en hastighet innføring i systemer og deres maskinvare. Dette trinnet er valgfritt. Men det er svært nyttig for å forstå nettverkstopologier.
- 3Gjør deg kjent med nettverk hardware arkitekturer og enheter som huber, svitsjer og rutere.
- 4Ta et kurs i nettverk protokoller og nødvendigheter. Du trenger en god forståelse av modellen, Ethernet, IP, TCP og HTTP før du begynner å programmere distribuerte applikasjoner.
- 5Lær XML språk og bli kjent med det.
- 6Start med å lære et shell skriptspråk. For Windows-basert programmering, det ville være noen script som fungerer med Windows Scripting Host. For Linux-basert programmering, vil Bash script og Perl være tilstrekkelig. Javascript anbefales sterkt for dette i begge plattformer for følgende grunner:
- Den er støttet av nesten alle skripting vert i alle operativsystemer (Windows Scripting Host støtter javascript som standard, har de fleste Linux-distribusjoner en pakke for javascript scripting konsoll støtte).
- Det anses å være lettere å lære av mange utviklere.
- Den har en ALGOL avledet syntaks som gjør deg kjent med mye mer andre programmeringsspråk når du må velge et annet programmeringsspråk (,,, Java og J # alle har ALGOL avledet syntaks).
- Ved å lære javascript, gjøre deg selv med klient-side scripting av websider som er en bonus side-effekt!
- 7Gjelder kun prosessuelle programmering ved hjelp av skriptspråk av valget i begynnelsen. Senere kan du bruke mer avanserte programmering teknikker og paradigmer henhold til skriptspråk og hva den støtter. Alle skriptspråk har noen prosessuelle programmeringsspråk aspekter ved noen nivå.
- 8Bruk skriptspråk du lært å skrive skript som utfører kommunikasjon mellom maskiner. Lære hva som er nødvendig for å gjøre det. Enkle kommunikasjon vil være nok.
- 9Lag en overføring til en stasjonær scripting / programmeringsspråk. Fortrinnsvis, en som er en multi-paradigme formuleringer som. Ta en enkel innføring i det andre språket. Java er ansett av de fleste programmerere til å være det språket du ønsker for mange grunner. Men C # er å få fart raskt i dette feltet. Java og C # er foretrukket for de følgende årsaker:
- De er objektorientert programmeringsspråk som skjold programmerere i store lag fra gjennomføring detaljer som de begge støtter komponenter (enheter med kode, pre-kompilert, som utfører en bestemt oppgave, og kan brukes i andre programmer).
- De støtter-drevet programmering, samt OO og prosedyremessige programmering på noen nivå.
- Rammeverket at språket er bygget på distribueres av natur (i tilfelle av Java).
- Tilgjengeligheten av mange ferdige pakker som omhandler, både som kode og rammeverk innebygd pakker, dette gjør det enklere for programmerere å bygge på andres arbeid.
- 10Konsentrere seg mer om de sentrale funksjonene i språket, spesielt de som støtter nettverk. Betale mindre oppmerksomhet til brukergrensesnitt elementer som sender ut, vindu design og teknikker, og brukervennlig grensesnitt elementer.
- 11Ta et kurs på distribuert applikasjoner design og arkitekturer. Dette kan gjøres ved hjelp av bøker, elektronisk opplæring eller faglige kurs. Men å forstå arkitekturen av distribuerte applikasjoner og sine konsepter er nødvendig.
- 12Lær om å bygge betjente komponenter og bruker programmeringsspråket av valget.
- 13Lær ett eller flere av følgende teknologier. Det anbefales at du får minst en introduksjon til dem alle. Mest distribuerte applikasjonsprogrammerere stopper ikke ved ett eller to programmeringsspråk, men lære minst ett programmeringsspråk på hvert operativsystem. Det er fordi hvis du vil at programmet skal "fordeles", bør du gi en versjon av det minst for alle store operativsystem.
- Common Object Request Broker Architecture ( CORBA )
- Simple Object Access Protocol ( SOAP )
- Asynchronous JavaScript and XML ( AJAX )
- Distributed Component Object Model ()
- XML web-tjenester
Bibliotek / plattform / rammeverk / core programmering
- 1Vit hva kjernen programmering er. Kjerne programmerere er bare avanserte programmerere som gjorde overgangen fra programmering programmer til programmering kode som skal brukes av andre programmerere.
- 2Lær et programmeringsspråk som støtter bygging av gjenbrukbare komponenter / pakker, hvis du ikke allerede har gjort det.
- 3Ta et avansert kurs i UML og ORM. De fleste bibliotek utviklere bruker en eller begge av dem.
- 4Ta et kurs i software engineering.
- 5Lære minst modulær, komponentbasert, objekt-orientert, og event-drevet programmering teknikker og konsepter. Jo flere programmeringsspråk paradigmer og språk du dekker, jo mer vellykket du blir som et bibliotek / pakke programmerer.
- 6Lær mer om de ulike operativsystemer og programmering rammeverk støttes av disse operativsystemene.
- 7Fokuser læringsarbeidet på plattformuavhengige rammeverk, programmeringsspråk og teknologier.
- 8Hvis programmeringsspråk du lært så langt har ansi / / / standard versjoner, mestre standarder. Prøv å bruke standard kode når det er mulig.
- 9Prøv å etterligne enkle, allerede etablerte biblioteker, spesielt open-source seg. Dette er nyttig i den tidlige fasen av å bli et bibliotek / pakke programmerer. Starte med enkle pakker som enheter konvertering og mellomliggende vitenskapelige beregninger pakker. Hvis du er en collage student, gjøre bruk av dine ikke-programmering kurs ved å prøve å gjennomføre sine ligninger og vitenskapelig kjerne som biblioteker.
- 10Søke etter og prøve open-source pakker i feltet av programmering. Første nedlasting binærfiler / kjørbare i pakken. Prøver å bruke det og finne sine sterke og svake sider. Etter at du har gjort det, last ned kildekoden og prøve å finne ut hvordan det ble gjort. Prøv å gjenskape disse bibliotekene eller deler av dem. Ved første, gjøre det etter at du har sett koden og nyere før du se koden. I senere faser, prøve å forbedre disse bibliotekene.
- 11Lær de ulike tilnærminger som brukes til å distribuere og distribuere komponenter til programmerere
- Vanligvis, bibliotek / pakke programmerere har en tendens til å tenke rekursivt og / eller iterativt av alle problemene de blir presentert med. Prøv å tenke på hvert problem som en samling av mindre problemer (en sekvens av enklere oppgaver) eller som en gjentatt prosessen med å redusere problemets omfang til mindre omfang og deretter pæling disse scopes på hverandre.
- Bibliotek / pakke programmerere har en tendens til å generalisere. Det er, når presentert med et enkelt spesifikt problem, de vanligvis tenker på et mer generelt problem og prøve å løse det generelle problemet som automatisk vil løse mindre en.
Systemprogrammering
- 1Forstå hva systemprogrammeringen innebærer. System Programmerere avtale med vitenskapen om programmering ikke de spesifikke implementeringer av det. Ikke bind deg til en bestemt plattform.
- 2Følg de tre første trinnene for desktop-applikasjoner programmerere.
- 3Ta et innføringskurs i lineær algebra.
- 4Ta et kurs i matematisk analyse.
- 5Ta et kurs i logikk og / eller diskret matematikk.
- 6Introduser deg selv til forskjellige nakne operativsystemer. Dette kan gjøres ved å:
- Få en idé om hvordan operativsystemene er installert.
- Lære å installere forskjellige operativsystemer på en PC (valgfritt, men anbefalt).
- Installere mer enn ett operativsystem. Ikke installer noen hjelpe pakker på systemene, i stedet bruker de nakne funksjonaliteten som tilbys av operativsystemene.
- 7Ta et kurs (eller alternativt, lese bøker) om datamaskinens maskinvare arkitektur.
- 8Utvikle en forståelse av de ulike maskinvare plattformer.
- 9Få en innledende kjent med den assembly av hardware plattform / operativsystem av valget. Du vil senere lære montering av andre plattformer / systemer.
- 10Lær ANSI C og C + + språk, sammen med begrepene prosessuelle programmering.
- 11Forstå og praktisere C / C + + standard bibliotek på plattformen av valget. Vær spesielt oppmerksom på Standard Template Library () og kanskje Active Template Library ( ATL ).
- 12Søk online ressurser, bøker og kurs for å få en forståelse av c-smaken av din bestemt plattform.
- 13Øv lage avansert kode med C og C + +.
- 14Lær mer avansert sammensetting.
- 15Ta et kurs i operativsystemer design.
- 16Finn og les dokumentasjon av ditt spesifikke plattformen. Tthis vil være lettere hvis du velger et Unix-basert operativsystem. Forstå det systemet du vil arbeide med senere veldig godt.
- 17Øv deg ervervet kunnskap. Først lage små systemverktøy. Det er vanligvis hensiktsmessig å:
- Prøver å gjenskape små verktøy som allerede er der på systemet ditt.
- Prøver å port verktøy tilgjengelig i andre operativsystemer som deg.
- 18Lær språk på en mest mulig nyttig for. Dette er det eneste stedet var de første programmeringsspråk saker. Lær ANSI C først, ikke C + +, ikke C #, ikke Java og ikke D. Deretter lære C + +.
- Begrense det første språket til C og C alene er fordi systemene programmering krever at programmereren være kjent med følgende begreper:
- Reell og full samling av kildekoden.
- Lavt nivå objekt utgang filer.
- Linking binærfiler.
- Lavnivå machine-language/assembly programmering. C-språk sies å være en forkledd / lettere å lære montering av noen. Den støtter også sette assembly kode i koden når du vil, og det er bare prosessuelle (som montering).
- Begrense det første språket til C og C alene er fordi systemene programmering krever at programmereren være kjent med følgende begreper:
Programmering vitenskap
- 1Vite hva et programmeringsspråk vitenskapsmann gjør. Programmering forskere er svært avanserte programmerere som, i stedet for å jobbe med å utvikle applikasjoner, arbeider med å utvikle datateknologi som kryptering, programmeringsspråk og data mining algoritmer. Dette nivået er sjelden oppnås uten faglig fordypning og engasjement.
- 2Samle opp den vitenskapelige kunnskapen som tilsvarer en fire-årig utdanning i informatikk. Dette kan gjøres enten ved å:
- Tar en faktisk akademisk grad (som er det som vanligvis skjer).
- Å få kurs 'skisserer for en slik en grad fra en av de moderne universiteter og ta kursene enten ved selvstudium eller som separate kurs. Dette kan oppnås teoretisk, men den anbefalte banen er den første.
- 3Bestem et felt av spesialitet. Den mer spesifikt, jo bedre. Dette avhenger av dine preferanser. Men her er en liste over noen av de store temaene i programmering science:
- Algoritme design (søking, sortering, kryptering, dekryptering og feilregistrering i kommunikasjon er noen eksempler)
- Programmeringsspråk / kompilatoren design / optimalisering
- Kunstig intelligens feltene (mønstergjenkjenning, talegjenkjenning, naturlig språk prosessering, nevrale nettverk)
- Robotikk
- Vitenskapelig programmering
- Tungregning
- Datastyrt design / modellering (CAD / CAM)
- Virtual reality
- Datagrafikk (Datagrafikk er vanligvis feilaktig forveksles med grafisk design eller grafisk brukergrensesnitt design. Datagrafikk er feltet av å studere hvordan å representere og manipulere grafikk i datasystemer.)
- 4Tenk å få en høyere akademisk grad. Du ønsker kanskje å satse på en mastergrad eller doktorgrad.
- 5Lær teknologier og programmeringsspråk relatert til programmering felt av valget.
Tips
- Uansett hvilken type programmering du ønsker å prøve eller hvilket nivå du ønsker å være på, bør du vurdere å ta klasser på skolen eller din lokale community college. Ikke bli skremt av begreper som "Computer Science." Alle klasser du kan komme inn uten noen forutsetninger bør fokusere på å lære det grunnleggende i programmering - men sjekk med instruktør eller en rådgiver på forhånd for å sikre at det er det du er ute etter, som klasser som "Computer Literacy" kan fokusere mer på å bli kjent med kontorapplikasjoner og lignende.