Att bli en programmerare är en kumulativ process som bygger upp dina färdigheter dag efter dag och år efter år, och programmering kan vara roligt och givande (mentalt, andligt och ekonomiskt). Denna guide lovar inte att ge ett magiskt enkelt sätt att bli en programmerare, och ordningen på stegen är inte helig, men du får en allmän beskrivning av hur man blir en programmerare i en av de moderna programmeringsspråk fälten.
Steg
- 1Ta en introduktionskurs i ena (eller båda) av följande områden:
- Logik
- Diskret matematik
- 2Lär databas begrepp såsom tabeller, vyer / frågor och förfaranden. Du kan använda någon enkel databas paket för att göra detta, till exempel:
- MS Access
- DB V
- Fox Pro
- Paradox
- MySQL är en bra databas för att lära sig eftersom det är gratis, som vanligen används, och databaser är ofta nås med SQL-frågor
- 3Bestäm vilken typ av programmerare du vill bli. Programmerare faller i allmänhet under en av följande kategorier:
- Webb programmerare
- Desktop applikationsprogrammeraren
- Operativsystem (OS) orienterade programmerare (knuten till ett enda operativsystem eller uppsättning operativsystem)
- Plattformsoberoende programmerare
- Distribuerade applikationer programmerare
- Bibliotek / plattform / ramverk / core programmerare
- System programmerare
- Kernel programmerare
- Driver programmerare
- Compiler programmerare
- Programmering vetenskapsman
- 4Lär dig de tekniker och programmeringsspråk som rör din programmering området val. Följande avsnitt bryta ner uppgifter för olika typer av program.
Webbprogrammering
- 1Vet vad webbprogrammering innebär. Webbapplikationer är programvara komponenter konstruerade att arbeta på toppen av internet arkitekturen. Detta innebär att de ansökningar nås via en webbläsare program som eller. Byggs på toppen av Internet arkitektur inte nödvändigtvis kräver en aktiv anslutning till Internet. Det betyder att webbapplikationer är byggda ovanpå vanliga webbtekniker såsom:
- 2Bläddra många olika webbplatser för att lära sig om hur de brukar se ut. (Högerklicka och klicka sedan på Visa källa eller tryck F12.) Leta efter mångfald i den typ / innehåll på webbplatsen, inte kvantiteten av besökta webbplatser. Generellt måste du besöka minst en av varje av följande typer av webbplatser:
- Företags närvaro platser (kommersiella företag, icke-vinstdrivande företag / organisationer, statliga organisationer)
- Webbindexering motorer (sökmotorer, meta search webbplatser, specialiserade sökmotorer, kataloger)
- Data mining webbplatser
- Personliga webbplatser
- Informationsansvarig / encyklopedisk sidor (wikis, datablad, tekniska specifikationer och manualer kataloger notering, bloggar och tidskrifter, nyheter och nyhetsbyråer webbplatser, Gula Sidorna, etc.)
- Sociala sajter (sociala portaler, webbplatser bookmarking, anteckningar platser)
- Samarbetande webbplatser (detta inkluderar andra kategorier som nämns ovan, som wikis och bloggar)
- 3Lär minst en brainstorming teknik / metod och en programvara som används för att implementera denna metod. Till exempel: brainstorming diagram och MS Visio.
- 4Bekanta dig med webbplatsen strukturering. Detta skapar konceptuella webb diagram, site-kartor, och strukturer navigering.
- 5Ta en snabbkurs i grafisk design. Försök att lära sig åtminstone ett grafik redigering / manipulation programvara (tillval, men rekommenderas starkt)
- 6Lär dig grunderna i Internets infrastruktur. Detta innefattar att få en grundläggande uppfattning om:
- Base webbtjänster protokoll (HTTP, FTP, SMTP och POP3 eller IMAP4)
- Webbserver programvara (företrädesvis, en för den plattform du kommer att arbeta på mestadels)
- Webbläsning programvara.
- E-postserver och klientprogramvara
- 7Lär dig HTML och CSS språk. Du kanske också vill få "vad du ser är vad du får ()" programpaket för redigering HTML.
- 8Lär XML och XML-relaterade tekniker, såsom XSL och XPath (valfritt, men rekommenderas).
- 9Skapa enkla statiska webbsidor tills du är bekant med och bekväm runt.
- 10Lär dig ett klient-side skriptspråk. De flesta användare lär sig antingen JavaScript eller VBScript, men en del lär och DHTML.
- 11Bekanta dig med klientsidan skriptspråk du lärt dig. Försök att nå din potential med hjälp av enbart det språket. Bara gå till nästa steg efter att du har åtminstone blivit bekant med din klient-side skriptspråk.
- 12Lär minst en server-side programmeringsspråk. Om du väljer att begränsa dig till en server programvara, lära sig ett av de programmeringsspråk som stöds av denna programvara. Om inte, lär dig minst ett programmeringsspråk på varje server mjukvara.
- 13Skapa ett pilotprojekt för dig själv när du är klar lära server-side programmeringsspråk.
- 14Skaffa din egen hemsida och börja experimentera på nätet inom din egen sida.
Desktop programmeringsgränssnitt
- 1Vet vad du får in med desktop application programming. De flesta stationära programmerare skriver kod för affärslösningar, så att få en uppfattning om företag, deras organisatoriska och ekonomiska struktur vara en stor tidsbesparing.
- 2Läs om de olika hårdvara arkitekturer. En inledande kurs i digitala kretsar design och en annan i datorarkitektur är nyttigt, men vissa ser det som förs fram för en utgångspunkt, så läser två eller tre handledning artiklar (t.ex. och) kan räcka. Sedan kan du gå tillbaka till detta steg senare, när du lär dig din första programmeringsspråk.
- 3Lär dig ett entry-level (kids ') programmeringsspråk. Var inte blyg för att lära sig ett sådant språk bara för att du är äldre än att bli kallad en "kid". Dessa programmeringsspråk kan lätta upp smärtan i att lära ditt första programmeringsspråk oerhört. Emellertid, är detta steg valfritt. Det kan också göras innan det föregående steget
- 4Få en introduktion till formella, objektorienterad och funktionell paradigm programmering.
- 5Ta en introduktionskurs i en av de processuella programmeringsspråk. Oavsett vilket språk du väljer senare att bli ditt språk val, kommer det att krävas procedurell programmering på någon nivå. Dessutom är procedurell programmering rapporteras av de flesta programmerare att vara den enklaste att använda som utgångspunkt för att få idén om programmering i allmänhet.
- 6Lär minst en avancerad modellering teknik såsom UML eller ORM.
- 7Börja skriva någon liten konsol eller konsol-liknande applikationer. Du kan använda vanliga små övningar i programspråk böcker. För detta väljer ett verktyg för att skriva program i programspråket du skriver i.
- 8Ta en mer avancerad kurs i ditt valda programmeringsspråk. Se till att du förstår följande koncept väl och som du kan använda dem med relativ lätthet innan du går vidare:
- Inmatning och utmatning av information till användare av ett program.
- Den logiska flödet och exekveringsflöde program i arbetsspråk.
- Deklarera, tilldela och jämföra variabler.
- Förgrening programmering konstruerar t.ex. om.. så.. annars och välj / switch..case.
- Looping konstruktioner såsom stund.. gör, do..while / fram, för.. nästa.
- Din programmeringsspråk syntax för att skapa och anropa procedurer och funktioner.
- Datatyper och manipulera dem.
- Användardefinierade datatyper (poster / structs / enheter) och deras användning.
- Om ditt språk har stöd för överlagring funktioner, förstå det.
- Minnet åtkomst metoder för ditt språk val (, kika, etc.)
- Om ditt språk har stöd för operatörer överbelastning, förstår det.
- Om ditt språk har stöd för delegater / pekare funktion, förstår det
- 9Tillämpa de avancerade tekniker du har lärt dig.
- 10Ta en introduktionskurs i minst ett programmeringsspråk i en annan programmering paradigm. Det rekommenderas att lära sig ett programmeringsspråk för varje paradigm, och de flesta avancerade programmerare gör, men du brukar börja med en, arbeta för en stund att tillämpa dina kunskaper och öva den, sedan lära den andra senare, när du redan haft en verklig -livserfarenhet i programmering. Försök med något av följande språkområden:
- Objektorienterade paradigmet.
- Logic programmering paradigm.
- Funktionell programmering paradigm.
- 11Försök att jämföra de två programspråk du lärt dig hittills. Utvärdera styrkor och svagheter i varje. Oftast sker detta genom att:
- Med enkla prover av dina tidiga verk i första programmeringsspråk och skriva om det med andra programmeringsspråk.
- Skapa ett nytt projekt och försöker genomföra den med båda språken. Ibland, beroende på ditt val av projekt och språk, kanske du inte kunna genomföra projektet på ett av de språk!
- Skriva ett fusk-ark eller sammandrag-table jämförelser mellan likartade konstruktioner i de två språken och funktioner som är unika för varje språk.
- Försök hitta sätt att efterlikna funktioner som är unika för den ena av de två språk som använder det andra språket.
- 12Lär dig visuell programmering begrepp med hjälp av ett av de språk som du lärt dig. Nästan alla programspråk har versioner / bibliotek som stöder visuell programmering och andra stödjande konsol eller konsol-liknande programmeringsspråk. Detta kan åstadkommas genom:
- Få en introduktion till händelsestyrd programmering. Mest visuell programmering bygger på någon nivå om evenemang och händelser hantering (med hjälp av programmeringsspråk du väljer).
- Försök så mycket desktop programvara som du kan och förstår vad programmet gör. De flesta mjukvaruutveckling företag erbjuder beta-testning versioner av sina produkter som du kan använda för att testa programvaran. Håll dig uppdaterad om framsteg användargränssnitt.
- Läs några artiklar eller tutorials om grafiska användargränssnitt.
- 13Börja tillämpa dina kunskaper på små programvaruprojekt du designar. Försök att tillämpa din programmering expertis på problem som du möter i din dag till dag liv. Till exempel, skriva program som döper om filer i massan, jämför textfiler visuellt, kopierar namn på filer i en katalog till minne / textfil, och sådana saker. Håll det enkelt i början.
- 14Skapa en virtuell examensarbete. Slutför detta till slutet, att tillämpa de metoder för visuell programmering du lärt dig hittills.
- 15Bredda din förståelse för den visuella ramverk / bibliotek / paket du lärt dig tidigare genom att ta avancerade kurser, betala extra uppmärksamhet på detaljer och lära mer tips och tricks för din ram från online-resurser.
- 16Sök efter andra paket / bibliotek med visuella element för din programmeringsspråk och lära dem.
- 17Ta en kurs i grafik (ej grafisk design). Det kommer att vara till stor hjälp för programmerare som vill skriva tilltalande delar av användargränssnittet.
- 18Bli ett spel programmerare (tillval). Spelprogrammering anses, i de flesta av dess delar, desktop programmering. Om du planerar att bli en spel programmerare, måste du lära dig mer om spelprogrammering när du har slutfört de här stegen. En grafisk kurs är ett måste för spel programmerare och andra språk i de föregående stegen bör vara en logisk / funktionellt programmeringsspråk (helst Prolog eller Lisp).
Distribuerade applikationer programmering
- 1Tackla distribuerade applikationer programmering. Distribuerad applikation programmering anses av många vara en av de svåraste att lära sig och kräver olika kunskaper i dator-och kommunikationsteknik.
- 2Ta en hastighet introduktion till systemen och deras hårdvara. Detta steg är valfritt. Det är emellertid mycket användbara för att förstå nätverkstopologier.
- 3Bekanta dig med arkitekturer nätverk hårdvara och enheter som hubbar, switchar och routrar.
- 4Ta en kurs i nätverksprotokoll och väsentligheter. Du behöver en god förståelse av modellen, Ethernet, IP, TCP och HTTP innan du börjar programmera distribuerade applikationer.
- 5Lär XML språket och bekanta dig med det.
- 6Börja med att lära sig ett shell skriptspråk. För Windows-baserad programmering, skulle det vara manus som fungerar med Windows Scripting Host. För Linux-baserad programmering, kommer Bash skript och Perl vara tillräcklig. Javascript rekommenderas starkt för detta i båda plattformarna av följande orsaker:
- Det stöds av nästan alla skript värd i alla operativsystem (Windows Scripting Host stödjer javascript som standard, har de flesta Linuxdistributioner ett paket för javascript skript console stöd).
- Det anses vara lättare att lära av många utvecklare.
- Den har en ALGOL härledd syntax som du bekanta dig med mycket mer andra programmeringsspråk när du behöver välja ett andra programmeringsspråk (,,, Java och J # alla har ALGOL härledd syntax).
- Genom att lära javascript, bekanta dig själv med klientskript av webbsidor som är en bonus bieffekt!
- 7Applicera endast procedurell programmering med ditt skriptspråk av val vid första. Senare kan du använda mer avancerade programmeringstekniker och paradigm enligt din skriptspråk och vad den stöder. Alla skriptspråk har vissa processuella programmeringsspråk aspekter på en viss nivå.
- 8Använd skriptspråk du lärt dig att skriva skript som utför kommunikation mellan maskiner. Lär dig vad som är nödvändigt för att göra det. Enkla kommunikation räcker.
- 9Gör en överföring till en stationär skript / programmeringsspråk. Företrädesvis, en som är en multi-paradigm språk såsom. Ta en enkel introduktion till det andra språket. Java anses av de flesta programmerare för att vara det språk val av många skäl. Men C # är fart snabbt inom detta område. Java och C # är föredragna av följande orsaker:
- De är objektorienterade programspråk som sköldar programmerare i stora lag från implementeringsdetaljer som de båda stöder komponenter (enheter av koden, pre-kompilerade, som utför en viss uppgift och kan användas i andra program).
- De stöder-driven programmering, samt OO och procedurell programmering på någon nivå.
- Den ram som språket bygger på distribueras av naturen (i fallet med Java).
- Tillgången till många färdiga paket som hanterar, både som kod och ramverk inbyggda paket, vilket gör det enklare för programmerare att bygga vidare på andras arbete.
- 10Koncentrera mer på de grundläggande funktioner i språket, särskilt de stödjande nätverk. Betala mindre uppmärksamhet åt användargränssnittet element såsom utmatning, fönster design och teknik, och delar av användargränssnittet.
- 11Ta en kurs på distribuerade applikationer design och arkitektur. Detta kan göras med hjälp av böcker, självstudier online eller akademiska kurser. Men att förstå arkitekturen av distribuerade applikationer och dess begrepp är nödvändigt.
- 12Lär om att bygga servade komponenter och använda ditt programmeringsspråk i valet.
- 13Läs en eller flera av följande tekniker. Det rekommenderas att du får åtminstone en introduktion till dem alla. Mest distribuerade programmerare inte stannar vid en eller två programmeringsspråk, men lär sig minst ett programmeringsspråk på varje operativsystem. Det beror på om du vill att din ansökan ska "fördelas", bör du ge en version av det åtminstone för varje större operativsystem.
- Common Object Request Broker Architecture ( CORBA )
- Simple Object Access Protocol ( SOAP )
- Asynchronous JavaScript och XML ( AJAX )
- Distributed Component Object Model ()
- XML webbtjänster
Bibliotek / plattform / ramverk / core programmering
- 1Vet vad core programmering är. Kärna programmerare är bara avancerade programmerare som gjort överföringen från programmering applikationer till enheter programmeringskod för att användas av andra programmerare.
- 2Lär dig ett programmeringsspråk som stöder att bygga återanvändbara komponenter / paket, om du inte redan har gjort det.
- 3Ta en avancerad kurs i UML och Orm. De flesta bibliotek utvecklare använder en eller båda av dem.
- 4Ta en kurs i programvaruteknik.
- 5Lär åtminstone modulär, komponentbaserad, objektorienterat, och händelsestyrda tekniker programmering och begrepp. Ju fler programmering paradigm och språk du täcker, desto mer framgångsrik du blir som ett bibliotek / förpackning programmerare.
- 6Läs mer om de olika operativsystem och ramar programmering stöds av dessa operativsystem.
- 7Fokusera ditt lärande ansträngningar på plattformsoberoende ramverk, programmeringsspråk och tekniker.
- 8Om programspråk du lärt dig hittills har ansi / / / standardutföranden, behärska normerna. Försök att använda standard-koden när det är möjligt.
- 9Försök att härma enkla, redan etablerade biblioteken, särskilt öppen källkod sådana. Detta är användbart under den tidiga fasen av att bli ett bibliotek / förpackning programmerare. Börja med enkla paket som enheter konvertering och mellanliggande vetenskapliga beräkningar paket. Om du är en collage elev, utnyttja dina icke-programmering kurser genom att försöka genomföra sina ekvationer och vetenskapliga kärna som bibliotek.
- 10Sök efter och försök med öppen källkod-paket i området programmering. Första nedladdning binärer / körbara paketet. Försök att använda den och hitta sina starka och svaga punkter. När du har gjort det, ladda ner källkoden och försöka lista ut hur man gjorde. Försök att återskapa dessa bibliotek eller delar av dem. Vid första, gör det efter att du har sett koden och senare innan du ser koden. I senare faser, försök att förbättra dessa bibliotek.
- 11Lär dig de olika metoder som används för att fördela och distribuera komponenter till programmerare
- Vanligtvis, bibliotek / paket programmerare tenderar att tänka rekursivt och / eller iterativt av alla problem som de presenteras med. Försök att tänka på varje problem som en samling av mindre problem (en sekvens av enklare uppgifter) eller som en upprepad process för att minska problemets omfattning till mindre omfattningar och sedan stapla dessa omfattningar på varandra.
- Bibliotek / paket programmerare tenderar att generalisera. Det är, när du presenteras med en enkel specifikt problem, tror de oftast av ett mer allmänt problem och försöka lösa det generella problem som automatiskt kommer att lösa den mindre.
System programmering
- 1Förstå vad systemet programmering innebär. System Programmerare behandlar vetenskapen om programmering inte de specifika implementationer av det. Bind dig inte till en specifik plattform.
- 2Följ de tre första stegen för stationära applikationer programmerare.
- 3Ta en introduktionskurs i linjär algebra.
- 4Ta en kurs i kalkyl.
- 5Ta en kurs i logik och / eller diskret matematik.
- 6Presentera dig själv till olika nakna operativsystem. Detta kan göras genom:
- Att få en idé om hur operativsystem är installerade.
- Att lära sig att installera olika operativsystem på en dator (tillval, men rekommenderas).
- Installera mer än ett operativsystem. Installera inte någon hjälpa paket på systemen, utan använd de kala funktioner tillhandahålls av operativsystem.
- 7Ta en kurs (eller alternativt, läsa böcker) om datorns hårdvara.
- 8Utveckla en förståelse för de olika plattformarna hårdvara.
- 9Få en inledande förtrogenhet med assembler av hårdvaruplattform / operativsystem val. Du kommer senare att lära monteringen av andra plattformar / system.
- 10Lär ANSI C och C + + språk, tillsammans med begreppen procedurell programmering.
- 11Förstå och öva C / C + + standardbibliotek på den plattform som väljs. Var särskilt uppmärksam på Standard Template Library () och kanske Active Template Library ( ATL ).
- 12Sök på nätet resurser, böcker och kurser för att få en förståelse för c-variant av din specifika plattform.
- 13Öva skapa avancerad kod med C och C + +.
- 14Läs mer avancerad montering.
- 15Ta en kurs i operativsystem design.
- 16Hitta och läs dokumentationer av din specifika plattform val. Ddetta blir lättare om du väljer ett Unix-baserade operativsystem. Förstå det system du kommer att arbeta med senare mycket väl.
- 17Öva dina kunskaper. Först skapa små systemverktyg. Det är oftast bra att:
- Att försöka återskapa små verktyg som redan finns på ditt system.
- Försöker port verktyg tillgängliga i andra operativsystem till din.
- 18Lär dig språk i det mest användbara ordning. Detta är den enda platsen var de första programmeringsspråk frågor. Lär ANSI C först, inte C + +, inte C #, inte Java och inte D. Då lär sig C + +.
- Att begränsa det första språket till C och C enbart beror på system programmering kräver att programmeraren vara förtrogen med följande begrepp:
- Real och fullständig sammanställning av källkod.
- Låg nivå objekt utdatafiler.
- Länkning binärer.
- Låg nivå machine-language/assembly programmering. C-språket sägs vara en förtäckt / lättare att lära monteringen av vissa. Det stöder också infoga kod assembler i koden när du vill och det är bara processuella (som montering).
- Att begränsa det första språket till C och C enbart beror på system programmering kräver att programmeraren vara förtrogen med följande begrepp:
Programmering vetenskap
- 1Veta vad ett programmeringsspråk vetenskapsman gör. Programmering forskare är mycket avancerade programmerare som, istället för att arbeta på att utveckla applikationer, arbetet med att utveckla datorteknik t.ex. kryptering, programmeringsspråk och data algoritmer mining. Denna nivå är sällan uppnås utan akademiska studier och engagemang.
- 2Samla den vetenskapliga kunskaper motsvarande en fyraårig examen i datavetenskap. Detta kan ske antingen genom att:
- Med en verklig akademisk examen (vilket är vad som vanligtvis händer).
- Komma i kurserna konturerna för en sådan examen från en av de moderna universiteten och ta kurser antingen genom självstudier eller som separata kurser. Detta skulle kunna uppnås teoretiskt, men den rekommenderade vägen är den första.
- 3Bestäm ett specialområde. Ju mer specifika, desto bättre. Detta beror på dina preferenser. Men här är en lista över några av de viktigaste frågorna inom datorprogrammering vetenskap:
- Algoritmdesign (sökning, sortering, kryptering, dekryptering och feldetektering i kommunikation är några exempel)
- Programmeringsspråk / kompilator design / optimering
- Artificiell intelligens fält (mönsterigenkänning, taligenkänning, behandling av naturligt språk, neurala nätverk)
- Robotics
- Vetenskaplig programmering
- Supercomputing
- Datorstödd design / modellering (CAD / CAM)
- Virtuell verklighet
- Datorgrafik (är Datorgrafik oftast felaktigt förväxlas med grafisk design eller grafiskt användargränssnitt design. Datorgrafik är området för att studera hur man kan representera och manipulera grafik i datorsystem.)
- 4Överväga att få en högre akademisk examen. Du kanske vill driva en magisterexamen eller doktorsexamen.
- 5Lär dig de tekniker och programmeringsspråk som rör din programmering området val.
Tips
- Oavsett vilken typ av programmering du vill prova eller vilken nivå du vill vara på, överväga att ta klasser på skolan eller din lokala community college. Låt dig inte skrämmas av termer såsom "Computer Science." Varje klass kan du komma in utan några förutsättningar bör fokusera på att lära sig grunderna i programmering - men kolla med instruktören eller en kurator förväg för att se till att det är vad du letar efter, som klasser som "Computer Literacy" kan fokusera mer på att bli förtrogen med kontorsprogram och liknande.