At blive en programmør er en kumulativ proces, der opbygger dine evner dag efter dag og år efter år, og programmering kan være sjovt og givende (mentalt, åndeligt og økonomisk). Denne vejledning lover ikke at give en magisk nem vej til at blive en programmør, og rækkefølgen af trinene er ikke helligt, men du får en generel beskrivelse af, hvordan du bliver en programmør i en af de moderne programmeringssprog felter.
Steps
- 1Tag et introduktionskursus i den ene (eller begge) af følgende discipliner:
- Logic
- Diskret matematik
- 2Lær database begreber som tabeller, visninger / forespørgsler og procedurer. Du kan bruge nogen simpel database pakken for at gøre dette, såsom:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL er en god database at lære, fordi det er gratis, der almindeligvis anvendes, og databaser er almindeligt tilgængelige med SQL-forespørgsler
- 3Beslut hvilken type programmør du ønsker at være. Programmører generelt falder under en af følgende kategorier:
- Web programmør
- Desktop ansøgning programmør
- Operativsystem (OS) orienteret programmør (bundet til et enkelt operativsystem eller sæt af operativsystemer)
- Platform-uafhængig programmør
- Distribuerede applikationer programmør
- Bibliotek / platform / framework / core programmør
- System programmør
- Kernel programmør
- Driver programmør
- Compiler programmør
- Programmering videnskabsmand
- 4Lær de teknologier og programmeringssprog relateret til din programmering på valg. De følgende afsnit nedbryde de opgaver for forskellige typer programmering.
Web-programmering
- 1Vide, hvad web programmering indebærer. Web-applikationer er softwarekomponenter designet til at arbejde på toppen af internet-arkitektur. Det betyder, at de ansøgninger, der er adgang til via en webbrowser software såsom eller. Bygges på toppen af Internet arkitekturen kræver ikke nødvendigvis en aktiv forbindelse til internettet. Det betyder, at web-applikationer er bygget på toppen af standard web-teknologier såsom:
- 2Gennemse mange forskellige hjemmesider for at lære om, hvordan de normalt ser. (Højreklik, og klik derefter på Vis kilde eller trykke F12.) Kig for mangfoldighed i den type / indholdet af hjemmesiden, ikke kvantiteten af besøgte websteder. Generelt, vil du nødt til at besøge mindst én af hver af følgende typer af hjemmesider:
- Corporate tilstedeværelse steder (kommercielle selskaber, ikke-for-profit virksomheder / organisationer, statslige organisationer)
- Web indeksering motorer (søgemaskiner, meta søgewebsteder, specialiserede søgemaskiner, kataloger)
- Data mining sites
- Personlige hjemmesider
- Oplysende / encyklopædiske sider (wikis, datablade, tekniske specifikationer og manualer notering mapper, blogs og tidsskrifter, nyheder og nyhedsbureauer sites, gule sider, osv.)
- Sociale sites (sociale portaler, bookmarking sites, notatskrivning sites)
- Collaborative steder (dette inkluderer andre ovennævnte kategorier, såsom wikier og blogs)
- 3Lære mindst én brainstorming teknik / metode og et software, der bruges til at gennemføre denne metode. For eksempel: brainstorming diagrammer og MS Visio.
- 4Bliv fortrolig med hjemmesiden strukturering. Dette skaber konceptuelle web diagrammer, site-kort og navigation strukturer.
- 5Tag et lynkursus på grafik design. Prøv at lære mindst én grafik redigering / manipulation softwarepakke (valgfrit, men anbefales kraftigt)
- 6Lær det grundlæggende af internettet infrastruktur. Dette omfatter at få en grundlæggende idé om:
- Base webtjenester protokoller (HTTP, FTP, SMTP og POP3 eller IMAP4)
- Web server software (helst et til platformen, du vil arbejde på det meste)
- Web browsing software.
- Email server og klient-software
- 7Lær HTML og CSS sprog. Du kan også prøve at få "hvad du ser, er hvad du får ()" softwarepakke til redigering HTML.
- 8Lær XML og XML relaterede teknologier, såsom XSL og XPath (valgfri, men anbefales).
- 9Skabe enkle statiske hjemmesider, indtil du er fortrolig med og komfortable omkring.
- 10Lær en client-side scripting sprog. De fleste brugere enten lære Javascript eller VBScript, men nogle lære og DHTML.
- 11Gør dig bekendt med client-side scripting sprog, du har lært. Forsøge at nå dit potentiale ved hjælp af kun dette sprog. Kun gå videre til næste trin, når du har mindst at blive fortrolig med din klient-side scripting sprog.
- 12Lære mindst én server-side programmeringssprog. Hvis du vælger at begrænse dig selv til en server-software, lære et af de programmeringssprog, der understøttes af denne software. Hvis ikke, lærer mindst ét programmeringssprog på hver server software.
- 13Opret et pilotprojekt for dig selv efter du er færdig med at lære server-side programmeringssprog.
- 14Få din egen hjemmeside og begynde at eksperimentere online inden for din egen side.
Desktop application programming
- 1Vide, hvad du får ind med desktop application programming. De fleste desktop programmører skriver kode for forretningsløsninger, så få en idé om virksomheder, deres organisatoriske og finansielle struktur være en stor tidsbesparende.
- 2Lær om de forskellige computer hardware arkitekturer. Et indledende niveau kursus i digital kredsløb design og en anden i computerarkitektur er nyttig, men nogle ser det som værende avanceret for et udgangspunkt, så at læse to eller tre tutorial artikler (såsom og) kan muligvis være tilstrækkeligt. Derefter kan du gå tilbage til dette trin senere, efter du lærer dit første programmeringssprog.
- 3Lær en entry-level (Børn) programmeringssprog. Må ikke være genert til at lære et sådant sprog, bare fordi du er ældre end at blive kaldt en "kid". Disse programmeringssprog kan lette op smerten i at lære dit første programmeringssprog voldsomt. Men dette trin er valgfrit. Det kan også gøres før det foregående trin
- 4Få en introduktion til det proceduremæssige, objektorienterede og funktionelle programmeringssprog paradigmer.
- 5Tag et introduktionskursus i en af de proceduremæssige programmeringssprog. Ligegyldigt hvilket sprog du vælger senere at blive dit sprog valg, vil det kræve proceduremæssig programmering på et vist niveau. Også, proceduremæssig programmering rapporteret af de fleste programmører til at være den nemmeste at bruge som udgangspunkt for at få ideen om programmering i almindelighed.
- 6Lære mindst én avanceret modellering teknik, såsom UML eller ORM.
- 7Begynd at skrive nogle små konsol eller konsol-lignende programmer. Du kan gøre brug af fælles små øvelser i programmeringssprog bøger. Til dette, skal du vælge et værktøj til at skrive programmer i programmeringssproget du skriver i.
- 8Tag en mere avanceret kursus i dit valgte programmeringssprog. Sørg for at du forstår følgende begreber godt, og at du kan anvende dem med relativ lethed før de går fremad:
- Indtastning og udsende information til brugere af et program.
- Den logiske flow og udførelsen strømmen af programmer i processuelle sprog.
- Erklære, tildele og sammenligne variabler.
- Forgrening programmering konstruerer såsom hvis.. så.. ellers, og vælg / switch..case.
- Looping konstruktioner såsom mens.. do, do..while / indtil for.. næste.
- Dit programmeringssprog syntaks til at skabe og kalde procedurer og funktioner.
- Datatyper og manipulere dem.
- Brugerdefinerede datatyper (records / structs / enheder) og deres anvendelse.
- Hvis dit sprog understøtter overbelastning funktioner, forstå det.
- Hukommelsen adgang metoder dit sprog valg (, kigger, etc.)
- Hvis dit sprog understøtter operatørerne overbelastning, forstå det.
- Hvis dit sprog understøtter delegerede / funktion pointers, forstå det
- 9Anvende de avancerede teknikker, du har lært.
- 10Tag et introduktionskursus i mindst én mere programmeringssprog i andet programmeringssprog paradigme. Det anbefales at lære et programmeringssprog for hver paradigme, og de fleste avancerede programmører, men du starter som regel med én, arbejde for et stykke tid at anvende din viden og praktisere det, så lærer de andre senere, når du allerede havde en reel -life erfaring i programmering. Prøv en af følgende sprogområder:
- Objekt-orienteret paradigme.
- Logikprogrammering paradigme.
- Funktionel programmering paradigme.
- 11Prøv at sammenligne de to programmeringssprog, du har lært indtil nu. Vurdere styrker og svagheder i hver enkelt. Normalt sker dette ved:
- Tage enkle prøver af dit tidlige arbejde i første programmeringssprog og omskrive det ved hjælp af andet programmeringssprog.
- Oprettelse af et nyt projekt, og forsøge at gennemføre det med begge sprog. Nogle gange, afhængigt af dit valg af projekt-og sprog, kan du ikke være i stand til at gennemføre projektet i et af de sprog!
- Skrivning af en bedrager ark eller sammendrag-table sammenligninger mellem lignende konstruktioner i de to sprog og funktioner unikke for hver af de sprog.
- Prøv at finde måder at efterligne funktioner, der er unikke for et af de to sprog ved hjælp af andet sprog.
- 12Lær visuelle programmering begreber ved hjælp af et af de sprog, du har lært. Næsten alle programmeringssprog har udgaver / biblioteker, der understøtter visuel programmering og andre støtter konsol eller konsol-lignende programmering. Dette kan opnås ved:
- Få en introduktion til event-driven programmering. De fleste visuelle programmering bygger på en eller anden plan om arrangementer og begivenheder håndtering (ved hjælp af programmeringssproget du vælger).
- Prøv så meget desktop software, som du kan og forstå, hvad softwaren gør. De fleste softwareudvikling selskaber tilbyder beta-test versioner af deres produkter, som du kan bruge til at teste softwaren. Hold up-to-date på brugergrænsefladen fremskridt.
- Læs nogle artikler eller tutorials om grafiske brugergrænseflader.
- 13Begynde at anvende din viden om små software-projekter du designer. Prøv at anvende din programmering ekspertise på problemer, du står over for i din dag-til-dag liv. For eksempel skrive programmer, der omdøbe filer i masse sammenligner tekstfiler visuelt, kopierer navnene på filerne i en mappe i hukommelsen / tekstfil, og sådan noget. Hold det simpelt i starten.
- 14Opret en virtuel afgangsprojekt. Udfyld dette til slutningen, teknikker anvendes visuel programmering du har lært indtil nu.
- 15Udvide din forståelse af den visuelle ramme / bibliotek / pakke, du har lært før ved at tage avancerede kurser, betale ekstra opmærksomhed på detaljer og læring flere tips og tricks til din ramme fra online ressourcer.
- 16Søg efter andre pakker / biblioteker af visuelle elementer til din programmeringssprog og lære dem.
- 17Tag et kursus i grafik (ikke grafisk design). Det vil være meget nyttigt for programmører der ønsker at skrive tiltalende brugergrænsefladen elementer.
- 18Bliv en spil programmør (ekstraudstyr). Spil programmering betragtes i de fleste af sine dele, desktop programmering. Hvis du ønsker at blive en spil programmør, bliver du nødt til at lære mere om spil programmering efter du er færdig disse trin. En grafisk kursus er et must for vildt programmører og det andet sprog valg i de foregående trin bør være en logisk / funktionelt programmeringssprog (helst Prolog eller Lisp).
Distribuerede applikationer programmering
- 1Tackle distribuerede applikationer programmering. Distribueret ansøgning programmering anses af mange for at være en af de sværeste at lære og kræver forskelligartet viden i computer-og kommunikationsteknologi.
- 2Tag en hastighed introduktion til systemer og deres hardware. Dette trin er valgfrit. Men det er meget nyttige i at forstå netværkstopologier.
- 3Gør dig bekendt med netværkshardware arkitekturer og anordninger såsom hubs, switches og routere.
- 4Tag et kursus i netværksprotokoller og essentials. Du skal have en god forståelse af modellen, Ethernet, IP, TCP og HTTP, før du begynder at programmere distribuerede applikationer.
- 5Lær XML sprog og gøre dig bekendt med den.
- 6Start med at lære et shell script-sprog. For Windows-baseret programmering, der ville være nogen script, der fungerer sammen med Windows Scripting Host. Til Linux-baseret programmering, vil Bash scripts og Perl være tilstrækkelig. Javascript anbefales kraftigt til dette i begge platforme af følgende grunde:
- Det understøttes af næsten alle scripting vært i ethvert operativsystem (Windows Scripting Host understøtter javascript som standard, de fleste Linux-distributioner har en pakke til javascript scripting konsol support).
- Det anses for at være lettere at lære af mange udviklere.
- Det har en ALGOL afledt syntaks, som gør dig bekendt med meget mere andre programmeringssprog, når du skal vælge et andet programmeringssprog (,,, Java og J # har alle ALGOL afledt syntaks).
- Ved at lære javascript, gøre dig fortrolig dig selv med client-side scripting af websider, som er en bonus bivirkning!
- 7Anvend kun proceduremæssig programmering ved hjælp af din scriptsprog valg i første omgang. Senere kan du bruge mere avancerede programmering teknikker og paradigmer i henhold til dit scriptsprog, og hvad det understøtter. Alle scriptsprog har nogle proceduremæssige programmering aspekter på et eller andet niveau.
- 8Brug det scripting sprog, du lærte at skrive scripts, der udfører kommunikation mellem maskiner. Lær, hvad der er nødvendigt for at gøre det. Simple kommunikation vil være tilstrækkeligt.
- 9Foretage en overførsel til en stationær scripting / programmeringssprog. Fortrinsvis en, der er en multi-paradigme sprog som. Tag en simpel introduktion til det andet sprog. Java anses af de fleste programmører at være det sprog valg for mange grunde. Men C # vinder momentum hurtigt på dette område. Java og C # foretrækkes af følgende grunde:
- De er objektorienterede programmeringssprog, som skjolde programmører i store hold fra gennemførelsesdetaljer da de begge understøtter komponenter (enheder af kode, pre-kompileret, som udfører en bestemt opgave, og kan bruges i andre programmer).
- De støtter-drevet programmering, samt OO og proceduremæssig programmering på et vist niveau.
- Rammerne, at sproget er bygget på distribueres af naturen (i tilfælde af Java).
- Tilgængeligheden af mange færdiglavede pakker, der beskæftiger sig med, både som kode og rammer indbyggede pakker, hvilket gør det lettere for programmører at bygge videre på andres arbejde.
- 10Koncentrere mere på de centrale funktioner i sproget, især dem, der støtter netværk. Mindre opmærksomme på brugergrænsefladen elementer såsom udsende, vindue design og teknik, og brugervenlig grænseflade elementer.
- 11Tag et kursus om distribuerede applikationer design og arkitekturer. Dette kan gøres ved hjælp af bøger, online tutorials eller akademiske kurser. At forstå arkitekturen af distribuerede applikationer, og dets begreber er nødvendig.
- 12Lær om opbygning servicerede komponenter og bruge din programmeringssprog valg.
- 13Få en eller flere af de følgende teknologier. Det anbefales, at du får mindst en introduktion til dem alle. Mest distribuerede programmører stopper ikke ved et eller to programmeringssprog, men lærer mindst ét programmeringssprog på hvert operativsystem. Det er fordi, hvis du vil have din ansøgning "fordelt", bør du give en version af det i det mindste for hver større operativsystem.
- Fælles Objekt anmodning Broker Architecture ( CORBA )
- Simple Object Access Protocol ( SOAP )
- Asynchronous JavaScript og XML ( AJAX )
- Distributed Component Object Model ()
- XML web services
Bibliotek / platform / framework / core programmering
- 1Vide, hvad core programmering er. Core programmører er blot avancerede programmører, der har foretaget overførsel fra programmering programmer til programmering kode enheder, der skal anvendes af andre programmører.
- 2Lær et programmeringssprog, der understøtter opbygningen genanvendelige komponenter / pakker, hvis du ikke allerede har gjort det.
- 3Tag et avanceret kursus i UML og ORM. De fleste bibliotek udviklere bruger den ene eller dem begge.
- 4Tag et kursus i software engineering.
- 5Lære mindst modulære, komponent-baseret, objektorienteret, og event-driven programmering teknikker og begreber. Jo flere programmeringssprog paradigmer og sprog, du dækker, jo mere succes du bliver som et bibliotek / pakke programmør.
- 6Lær mere om de forskellige operativsystemer og programmering rammer understøttes af disse operativsystemer.
- 7Fokuser din læring indsats på platform-uafhængige rammer, programmeringssprog og teknologier.
- 8Hvis programmeringssprog, du har lært indtil nu har ansi / / / standard versioner, mestrer standarderne. Prøv at bruge standard-koden når det er muligt.
- 9Prøv at efterligne enkle, allerede etablerede biblioteker, især open source dem. Dette er nyttigt i den tidlige fase af at blive et bibliotek / pakke programmør. Start med enkle pakker gerne enheder konvertering og mellemliggende videnskabelige beregninger pakker. Hvis du er en collage student, gøre brug af din ikke-programmering kurser ved at forsøge at gennemføre deres ligninger og videnskabelige kerne som biblioteker.
- 10Søg efter og prøve open source pakker inden for dit område af programmeringen. Første download binaries / eksekverbare af pakken. Prøv at bruge det og finde sine stærke og svage punkter. Når du har gjort det, downloade kilden og forsøge at regne ud, hvordan det blev gjort. Prøv at genskabe de biblioteker eller dele af dem. I første omgang gør, at efter du har set koden, og senere, før du kan se koden. På senere faser, prøve at forbedre disse biblioteker.
- 11Lær de forskellige tilgange, der anvendes til at distribuere og implementere komponenter programmører
- Normalt, bibliotek / pakke programmører tendens til at tænke rekursivt og / eller iterativt af alle problemer, de bliver præsenteret for. Prøv at tænke på hvert problem som en samling af mindre problemer (en sekvens af enklere opgaver) eller som en gentagen proces for at reducere problemets omfang til mindre dækningsområder og derefter hober disse scopes på hinanden.
- Bibliotek / pakke programmører har tendens til at generalisere. Det vil sige, når de præsenteres med en simpel specifikt problem, de normalt tænker på et mere generelt problem og forsøge at løse det generelle problem, som automatisk vil løse mindre.
System programmering
- 1Forstå hvad systemet programmering indebærer. System Programmører beskæftige sig med videnskaben om programmering ikke de konkrete implementeringer af det. Må ikke binde dig til en bestemt platform.
- 2Følg de tre første trin til desktop applikationer programmører.
- 3Tag et introduktionskursus i lineær algebra.
- 4Tag et kursus i calculus.
- 5Tag et kursus i logik og / eller diskret matematik.
- 6Introducere dig til forskellige nøgne operativsystemer. Dette kan gøres ved:
- Kom en idé om, hvordan operativsystemer er installeret.
- At lære at installere forskellige operativsystemer på én PC (valgfri, men anbefales).
- Installation mere end ét operativsystem. Må ikke installeres nogen hjælpe pakker på systemerne, i stedet bruge de nøgne funktionaliteter, som de operativsystemer.
- 7Tag et kursus (eller alternativt, læse bøger) om computerhardware arkitektur.
- 8Udvikle en forståelse af de forskellige computer hardware-platforme.
- 9Få en indledende tilvænning til assembler af hardwareplatform / operativsystem valg. Du vil senere lære samling af andre platforme / systemer.
- 10Lær de ANSI C og C + + sprog, sammen med begreberne proceduremæssig programmering.
- 11Forstå og praktisere c / c + + standard biblioteker på platformen af valg. Vær især opmærksom på Standard Template Library () og måske Active Template Library ( ATL ).
- 12Søg online ressourcer, bøger og kurser for at få en forståelse af c-smag af dine specifikke platform.
- 13Øv at skabe avancerede kode med C og C + +.
- 14Lær mere avanceret forsamling.
- 15Tag et kursus i operativsystemer design.
- 16Finde og læse dokumentation af dine specifikke foretrukne platform. DDenne vil være lettere, hvis du vælger en Unix-baseret operativsystem. Forstå det system, du vil arbejde med senere meget godt.
- 17Øv din erhvervede viden. Først skal du oprette små systemværktøjer. Det er normalt hensigtsmæssigt at:
- Forsøger at genskabe små værktøjer, der allerede er der på dit system.
- Forsøger at port hjælpeprogrammer til rådighed i andre operativsystemer til din.
- 18Lære sprog på den mest nyttige orden. Dette er det eneste sted var de første programmeringssprog spørgsmål. Lær ANSI C først, ikke C + +, ikke C #, ikke Java og ikke D. Så lære C + +.
- Begrænsning det første sprog til C og C alene fordi systemer programmering kræver, at programmøren være bekendt med følgende begreber:
- Real og komplet samling af kildekode.
- Low-level objekt output-filer.
- Sammenkædning binære filer.
- Low-level machine-language/assembly programmering. C-sprog siges at være en skjult / lettere at lære forsamling af nogle. Det understøtter også indsætte assembler kode i kode, når du vil og det er kun proceduremæssig (ligesom samling).
- Begrænsning det første sprog til C og C alene fordi systemer programmering kræver, at programmøren være bekendt med følgende begreber:
Programmering science
- 1Vide, hvad et programmeringssprog videnskabsmand gør. Programmering forskerne er meget avancerede programmører, som i stedet for at arbejde på at udvikle applikationer, arbejder på at udvikle computing teknologier såsom kryptering, programmeringssprog og data mining algoritmer. Dette niveau er sjældent opnås uden akademiske studier og engagement.
- 2Akkumulere den videnskabelige viden svarende til en fire-årig uddannelse i datalogi. Dette kan gøres enten ved:
- Tager en egentlig akademisk grad (hvilket er, hvad der normalt sker).
- At få kurser 'skitserer for sådan en grad fra et af de moderne universiteter og tage de kurser, enten ved selvstudium eller som separate kurser. Dette kan opnås teoretisk, men den anbefalede sti er den første.
- 3Beslut et felt af speciale. Jo mere specifikke, jo bedre. Det afhænger af dine præferencer. Men her er en liste over nogle af de store emner i edb-programmering science:
- Algoritme design (søgning, sortering, kryptering, dekryptering og fejlfinding i kommunikation er nogle eksempler)
- Programmeringssprog / kompiler design / optimering
- Kunstig intelligens felter (mønstergenkendelse, talegenkendelse, naturlig sprogbehandling, neurale netværk)
- Robotics
- Videnskabelig programmering
- Supercomputing
- Computer Aided Design / modellering (CAD / CAM)
- Virtual reality
- Computer grafik (Computer grafik er normalt fejlagtigt forveksles med grafisk design eller grafisk brugergrænseflade design. Computergrafik er området for at studere, hvordan at repræsentere og manipulere grafik i edb-systemer.)
- 4Overvej at få en højere akademisk grad. Du vil måske ønsker at forfølge en kandidatgrad eller en ph.d..
- 5Lær de teknologier og programmeringssprog relateret til din programmering på valg.
Tips
- Ligegyldigt hvilken type programmering, du ønsker at prøve eller hvad niveau du ønsker at være på, overveje at tage klasser i skolen eller din lokale Community College. Må ikke blive intimideret af udtryk som "Computer Science". Enhver klasse du kan komme ind uden nogen forudsætninger bør fokusere på at lære de grundlæggende principper for programmering - men tjek med instruktøren eller en rådgiver på forhånd for at sikre, at det er, hvad du leder efter, så klasser som "Computer Literacy" kan fokusere mere på at blive fortrolig med kontorprogrammer og lignende.