Wkuno

Hvordan bli en programmerer

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

Hvordan bli en programmerer. Ta et innføringskurs i en (eller begge) av følgende disipliner.
Hvordan bli en programmerer. Ta et innføringskurs i en (eller begge) av følgende disipliner.
  1. 1
    Ta et innføringskurs i en (eller begge) av følgende disipliner:
    • Logic
    • Diskret matematikk
  2. 2
    Læ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
  3. 3
    Bestem 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
  4. 4
    Læ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

  1. 1
    Vet 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:
  2. 2
    Bla 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)
  3. 3
    Lær minst ett brainstorming / teknikken og en programvare som brukes til å implementere den metoden. For eksempel: brainstorming diagrammer og MS Visio.
  4. 4
    Bli kjent med nettstedet strukturering. Dette skaper konseptuelle web diagrammer, site-kart og navigasjon strukturer.
  5. 5
    Ta et lynkurs på grafikk design. Prøv å lære minst ett grafikk redigering / manipulasjon programvarepakke (valgfritt, men sterkt anbefalt)
  6. 6
    Læ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
  7. 7
    Læ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.
  8. 8
    Lær XML og XML-relaterte teknologier, som for eksempel XSL og XPath (valgfritt, men anbefalt).
  9. 9
    Lage enkle statiske nettsider til du er kjent med og komfortabel rundt.
  10. 10
    Lær en klient-side skriptspråk. De fleste brukerne enten lære Javascript eller VBScript, men noen lærer og DHTML.
  11. 11
    Gjø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.
  12. 12
    Læ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.
  13. 13
    Lag et pilotprosjekt for deg selv etter at du er ferdig med å lære server-side programmeringsspråk.
  14. 14
    Få ditt eget nettsted og begynne å eksperimentere på nettet i din egen side.

Desktop Application Programming

  1. 1
    Vit 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.
  2. 2
    Læ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.
  3. 3
    Læ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
  4. 4
    Få en innføring i det prosessuelle, objektorientert og funksjonell programmering paradigmer.
  5. 5
    Ta 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.
  6. 6
    Lære minst ett avansert modellering teknikk som UML eller ORM.
  7. 7
    Begynn å 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.
  8. 8
    Ta 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
  9. 9
    Bruk de avanserte teknikkene du har lært.
  10. 10
    Ta 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.
  11. 11
    Prø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.
  12. 12
    Læ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.
  13. 13
    Begynne å 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.
  14. 14
    Lag en virtuell konfirmasjonen prosjekt. Fylles til slutten, bruke teknikkene visuell programmering du har lært så langt.
  15. 15
    Utvid 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.
  16. 16
    Søk etter andre pakker / bibliotek av visuelle elementer for dine programmeringsspråk og lære dem.
  17. 17
    Ta et kurs i grafikk (ikke grafikk design). Det vil være svært nyttig for programmerere som ønsker å skrive tiltalende brukergrensesnitt elementer.
  18. 18
    Bli 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

  1. 1
    Takle 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.
  2. 2
    Ta en hastighet innføring i systemer og deres maskinvare. Dette trinnet er valgfritt. Men det er svært nyttig for å forstå nettverkstopologier.
  3. 3
    Gjør deg kjent med nettverk hardware arkitekturer og enheter som huber, svitsjer og rutere.
  4. 4
    Ta 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.
  5. 5
    Lær XML språk og bli kjent med det.
  6. 6
    Start 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!
  7. 7
    Gjelder 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å.
  8. 8
    Bruk 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.
  9. 9
    Lag 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.
  10. 10
    Konsentrere 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.
  11. 11
    Ta 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.
  12. 12
    Lær om å bygge betjente komponenter og bruker programmeringsspråket av valget.
  13. 13
    Læ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

  1. 1
    Vit 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.
  2. 2
    Lær et programmeringsspråk som støtter bygging av gjenbrukbare komponenter / pakker, hvis du ikke allerede har gjort det.
  3. 3
    Ta et avansert kurs i UML og ORM. De fleste bibliotek utviklere bruker en eller begge av dem.
  4. 4
    Ta et kurs i software engineering.
  5. 5
    Læ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.
  6. 6
    Lær mer om de ulike operativsystemer og programmering rammeverk støttes av disse operativsystemene.
  7. 7
    Fokuser læringsarbeidet på plattformuavhengige rammeverk, programmeringsspråk og teknologier.
  8. 8
    Hvis programmeringsspråk du lært så langt har ansi / / / standard versjoner, mestre standarder. Prøv å bruke standard kode når det er mulig.
  9. 9
    Prø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.
  10. 10
    Sø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.
  11. 11
    Læ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

  1. 1
    Forstå hva systemprogrammeringen innebærer. System Programmerere avtale med vitenskapen om programmering ikke de spesifikke implementeringer av det. Ikke bind deg til en bestemt plattform.
  2. 2
    Følg de tre første trinnene for desktop-applikasjoner programmerere.
  3. 3
    Ta et innføringskurs i lineær algebra.
  4. 4
    Ta et kurs i matematisk analyse.
  5. 5
    Ta et kurs i logikk og / eller diskret matematikk.
  6. 6
    Introduser 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.
  7. 7
    Ta et kurs (eller alternativt, lese bøker) om datamaskinens maskinvare arkitektur.
  8. 8
    Utvikle en forståelse av de ulike maskinvare plattformer.
  9. 9
    Få en innledende kjent med den assembly av hardware plattform / operativsystem av valget. Du vil senere lære montering av andre plattformer / systemer.
  10. 10
    Lær ANSI C og C + + språk, sammen med begrepene prosessuelle programmering.
  11. 11
    Forstå og praktisere C / C + + standard bibliotek på plattformen av valget. Vær spesielt oppmerksom på Standard Template Library () og kanskje Active Template Library ( ATL ).
  12. 12
    Søk online ressurser, bøker og kurs for å få en forståelse av c-smaken av din bestemt plattform.
  13. 13
    Øv lage avansert kode med C og C + +.
  14. 14
    Lær mer avansert sammensetting.
  15. 15
    Ta et kurs i operativsystemer design.
  16. 16
    Finn 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. 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.
  18. 18
    Læ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).

Programmering vitenskap

  1. 1
    Vite 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.
  2. 2
    Samle 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.
  3. 3
    Bestem 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.)
  4. 4
    Tenk å få en høyere akademisk grad. Du ønsker kanskje å satse på en mastergrad eller doktorgrad.
  5. 5
    Læ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.