Programmering er ikke noget, der kan læres fra dag til dag. Det tager tid og nok studier til at udvikle alle de færdigheder, der forventes af en professionel i dette område. Ikke desto mindre kan programmering være en sjov og givende aktivitet, både intellektuelt og åndeligt såvel som økonomisk. Denne vejledning er ikke beregnet til at lære dig en nem eller magisk vej til at blive en programmør, og du behøver ikke at følge de foreslåede trin her som om de var hellige. Læs det bare for en oversigt over, hvordan man bliver programmerer i et af de mest moderne programmeringsfelter.
Tag et introduktionskursus i mindst et af følgende emner:
logik
Diskret matematik
Programmeringssprog (helst C ++, Java eller Python for begyndere)
2
Lær database begreber som tabeller, forespørgsler og procedurer. Du kan bruge en hvilken som helst simpel databasepakke til at gøre dette, såsom:
MS Access
DB V
Fox Pro
Paradox
MySQL er en god database service til at lære, da det ikke kun er gratis og almindeligt anvendt, er der normalt adgang til databaser med SQL-forespørgsler.
3
Bestem hvilken type programmerer du vil være. Programmører falder generelt i en af følgende kategorier:
Webudvikler
Desktop applikationsprogrammerer
Programmer orienteret til et operativsystem (knyttet til et enkelt operativsystem eller et sæt operativsystemer)
Uafhængig platformsudvikler
Distribueret applikationsprogrammerer
Programmerer for biblioteker, platforme, rammer og kerner
Systemudvikler
Kernel Developer
Driver Scheduler
Compiler programmerer
Programmeringsforsker
Video: Smider spædbarn på havnerundfart / Sådan bliver du pædagog | Go' lorte weekend | DR Satire
4
Lær de teknologier og programmeringssprog, der er relateret til det valgte felt. De næste afsnit beskriver de trin, der kræves for at blive hver af de forskellige typer programmeringsprogrammer.
Metode 1 Webprogrammering
1
Lær hvad webprogrammering indebærer. Webapplikationer er softwarekomponenter designet til at fungere på internetets arkitektur. Det betyder, at applikationer åbnes via en webbrowser, som Firefox eller Internet Explorer. Dette er ikke at sige, at en aktiv forbindelse til netværket er påkrævet, snarere end at applikationerne er bygget på standardwebteknologier som:
HTTP
FTP
POP3
SMTP
TCP
IP-protokoller
HTML
XML
Coldfusion
ASP
JSP
PHP
ASP.NET
2
Gennemse de forskellige steder for at finde ud af, hvordan de normalt arbejder. Højreklik på siden, og gå derefter til "View Source" eller tryk på F12-tasten. Fokuser mere på mangfoldigheden af type og indhold end på antallet af besøgte websteder. Du skal besøge mindst en af følgende typer websteder:
Virksomhedernes tilstedeværelseswebsteder (kommercielle virksomheder, virksomheder og nonprofitorganisationer, offentlige organisationer)
Informative eller encyklopediske sider (wikis, regneark, tekniske specifikationer og manualer i mappeliste, blogs og magasiner, aviser og lokale nyhedsbureauer, gule sider osv.)
Samarbejdspartnere (indeholder andre kategorier nævnt ovenfor, som wikis og blogs)
3
Lær mindst en teknik eller metode til brainstorming og software, der bruges til at implementere det. For eksempel: brainstorming diagrammer og MS Visio.
4
Fortæl dig selv om strukturen på webstederne. Det betyder at skabe konceptuelle webdiagrammer, sitemap og navigationsstrukturer.
5
Tag et intensivt grafisk design kursus. Prøv at lære mindst en billedredigerings- og manipulationssoftware (valgfrit, men stærkt anbefales).
6
Lær det grundlæggende i internetinfrastruktur. Du skal have en grundlæggende forståelse af:
Grundlæggende webserviceprotokoller (HTTP, FTP, SMTP og POP3 eller IMAP4)
Webserver software (helst en, der er den platform, hvor du vil bruge mere tid på at arbejde)
Webnavigationssoftware.
Client software og e-mail server.
7
Lær HTML og CSS sprog. Overvej at få HTML-redigering software kaldet "Hvad du ser er, hvad du får (WYSIWYG)".
8
Lær XML og teknologier relateret til det, såsom XSL og XPath (valgfrit, men anbefales).
9
Opret enkle statiske websites, indtil du er bekendt med og komfortabel med HTML.
10
Lær et script sprog for klientsiden. De fleste brugere lærer jаvascript. Nogle lærer VBScript, som dog ikke er kompatibel med de fleste browsere.
11
Bekendtgør dig med skriptsproget for den klientside, du har lært. Prøv at nå dit fulde potentiale ved at bruge netop dette sprog. Fortsæt til næste trin først, når du er blevet bekendt med skriptsproget for klientsiden.
12
Lær mindst ét programmeringssprog til serversiden. Hvis du vælger at begrænse dig til serversoftwaren, skal du lære et af de understøttede programmeringssprog. Ellers skal du lære mindst et programmeringssprog for hver server software.
13
Opret et pilotprojekt for dig selv, når du er færdig med at lære programmeringssproget for serversiden.
14
Opret din egen hjemmeside og start testning online på din egen side.
Metode 2 Desktop programmering
1
Ved, hvor du kommer ind i desktopprogrammeringen. De fleste stationære programmører skriver koder for forretningsløsninger, så man har en ide om, hvordan virksomheder, organisatoriske og finansielle strukturer arbejder, vil være en god tidsbesparende.
2
Kend de forskellige hardware arkitekturer af computere. Et introduktionskursus i digital kredsløbsdesign og et andet i computerarkitektur vil være nyttigt - men som nogle ser det som for avanceret til et udgangspunkt, kan det være tilstrækkeligt at læse to eller tre vejledningsartikler på specialiserede websteder. På den måde kan du gå tilbage til dette trin senere efter at have lært dit første programmeringssprog.
3
Lær et programmeringssprog for begyndere (for børn). Skam ikke for at lære det bare fordi du er for gammel til at blive kaldt et barn. Et eksempel programmeringssprog for begyndere kaldes Scratch. Programmeringssprog af denne type kan i høj grad lindre vanskelighederne med at lære dit første programmeringssprog. Dette trin er dog valgfrit. Det kan også gøres før det foregående trin.
4
Undersøg de grundlæggende begreber i processuelle programmeringsparadigmer, objektorienteret programmering og funktionel programmering.
5
Tag et introduktionskursus på et af de processuelle sprog. Uanset hvilket sprog du vælger, vil det helt sikkert kræve procedurel programmering på et eller andet tidspunkt. Desuden hævder de fleste programmører, at procedurel programmering er den nemmeste måde at komme ind i programmeringsverdenen
6
Video: SÅDAN BLIVER DU YOUTUBER
Lær mindst en avanceret modelleringsteknik, som f.eks. UML eller ORM.
7
Begynd at skrive små applikationer til konsoller eller noget. Du kan bruge små almindelige øvelser i programmeringssprogbøger. For at gøre dette skal du vælge et værktøj til at skrive programmer med det programmeringssprog, du bruger.
8
Tag et mere avanceret kursus i dit yndlingsprogrammeringssprog. Pas på at forstå de følgende begreber godt og være i stand til at anvende dem let, inden du fortsætter:
Input og output information til brugere af et program.
Den logiske strømning og udførelsesstrøm af programmer i processuelle sprog.
Erklære, tildele og sammenligne variabler.
Forgreningskonstruktorer, f.eks. Hvis..den .. og vælg / skift.
Loopers, såsom mens .. gør, gør .. mens / indtil, for..næste.
Programmeringssprogsyntaxen til oprettelse og opkaldsprocedurer og funktioner.
Datatyper og manipulation af dem.
Brugerdefinerede datatyper (poster, strukturer og enheder) og deres anvendelser.
Hvis sproget understøtter overbelastningsfunktioner, skal du forstå dette koncept.
Hukommelsesadgangsmetoderne for det sprog, du har valgt (peger, rækker osv.).
Hvis sproget understøtter operatør overbelastning, forstå dette koncept.
Hvis sproget understøtter delegation og funktionspeger, skal du forstå dette koncept.
9
Anvend de avancerede teknikker du har lært.
Objektorienteret paradigme.
10
Tag et introduktionskursus i mindst et andet programmeringssprog under et andet paradigme. Det anbefales at lære et programmeringssprog for hvert paradigme, ligesom de mest avancerede programmører. Du starter dog normalt med en, arbejder med det i et stykke tid, bruger din viden og praktiserer, først senere, når du har en solid erhvervserfaring, for at lære en anden. Prøv et af følgende områder:
Logisk programmeringsparadigm.
Funktionelt programmeringsparadigm.
11
Prøv at sammenligne de to programmeringssprog, du har lært hidtil. Vurdere styrken og svaghederne i hver af dem. Dette gøres normalt som følger:
Picking up simple prøver af deres tidlige arbejde i det første programmeringssprog og omskrive dem ved hjælp af det andet programmeringssprog.
Oprettelse af et nyt projekt og forsøg på at implementere det ved hjælp af begge sprog. Nogle gange afhænger af projekt og sprog ikke, at du måske ikke kan programmere projektet på et af sprogene!
Skrive en lim eller sammenfattende tabel med sammenligninger mellem lignende strukturer på de to sprog og de unikke egenskaber ved hver.
Prøv at finde måder at efterligne unikke funktioner på et sprog ved hjælp af den anden.
12
Lær visuelle programmeringsbegreber ved hjælp af et af de sprog, du har lært. Næsten alle programmeringssprog har versioner eller biblioteker, der understøtter visuel programmering og andre typer programmering i konsollen. Gør følgende:
Lær det grundlæggende i hændelsesdrevet programmering. De fleste visuelle programmeringssprog er afhængige af hændelses- og hændelseshåndtering (ved hjælp af det programmeringssprog, du selv vælger).
Prøv så mange desktop software som du kan og forstå, hvad hver enkelt af dem gør. De fleste softwareudviklingsselskaber tilbyder prøveversioner af produkterne, som du kan bruge til at teste softwaren. Hold dig opdateret om fremskridt i brugergrænseflader.
Læs nogle grafiske brugergrænsefladeartikler eller vejledninger.
13
Begynd at anvende din viden til de små softwareprojekter, du opretter. Prøv at anvende dine programmeringsfærdigheder til de problemer, du møder dagligt. Skriv f.eks. Programmer, der omdøber filer i løs vægt, sammenlign tekstfiler visuelt, kopier filnavne fra en mappe til en tekstfil osv. Start med at lave enkle ting.
14
Opret et virtuelt "gradueringsprojekt". Gør det hele ved at anvende de visuelle programmeringsteknikker, du har lært hidtil.
15
Udvid din forståelse af rammerne, biblioteket og den visuelle pakke ved at tage avancerede kurser, være ekstra opmærksom på detaljer og lære flere tips og tricks om dine rammer via internetkilder.
16
Se efter andre pakker og biblioteker af visuelle elementer til dine programmeringssprog og lær dem.
17
Tag et kursus i grafik (andet end grafisk design). Dette vil være meget nyttigt for programmører, der ønsker at skabe attraktive grænsefladeelementer til brugere.
18
Bliv en spiludvikler (valgfrit). Spilprogrammering betragtes i de fleste af dets dele, desktop programmering. Hvis du vil blive en spiludvikler, skal du lære mere om denne type programmering, når du har gennemført de foregående trin. Et grafikforløb er et obligatorisk krav til spilprogrammerere, og dit andet sprog skal være en logisk eller funktionel programmering (helst Prolog eller Lisp).
Metode 3 Distribueret applikationsprogrammering
1
Delve i programmeringen af distribuerede applikationer. Udover at blive betragtet af mange mennesker i midten som en af de sværeste at lære, kræver programmering af distribuerede applikationer forskellig viden inden for computervidenskab og kommunikationsteknologi.
2
Lav en hurtig introduktion til telefonsystemerne og deres hardware. Selvom det er valgfrit, er dette trin ret nyttigt til at forstå netværkstopologier.
3
Bekendtgør dig med netværksarkitekturer og enheder som hubber, switche og routere.
4
Tag et kursus på netværksprotokoller og essentielle. En god forståelse af Open Systems Interconnect (OSI), Ethernet, IP, TCP, UDP og HTTP-modellen er påkrævet, før programmeringen for distribuerede applikationer begynder.
5
Lær XLM-sproget og blive fortrolig med det.
6
Begynd ved at lære et shell scripting sprog. For programmering i Windows, ville dette være et script, der arbejder med Windows Scripting Host. Til Linux programmering er Bash og Perl scripts tilstrækkelige. jаvascript anbefales kraftigt på begge platforme af følgende årsager:
Det understøttes af næsten alle script hosts på ethvert operativsystem (Windows Scripting Host understøtter jаvascript som standard, de fleste Linux distributioner har en pakke til jаvascript scripting support per konsol).
Det anses for lettere for mange udviklere at lære.
Den har en ALGOL-afledt syntaks, der vil gøre dig bekendt med mange andre programmeringssprog, når du skal vælge et andet sprog (C, C ++, C #, Java og J # har syntax afledt af ALGOL).
Ved at lære jаvascript, vil du blive fortrolig med klientsiden script af websider, hvilket er en nyttig sideeffekt!
7
Anvend kun proceduremæssig programmering ved hjælp af det første scriptsprog, du vælger. Senere kan du bruge mere avancerede programmeringsteknikker og paradigmer i henhold til skriptsproget og hvad det kan understøtte. Alle scripting sprog præsenterer nogle aspekter af procedurel programmering.
8
Brug det sprog, du har lært at skrive scripts, der kommunikerer mellem maskiner. Lær hvad der kræves for at gøre dette. Enkel kommunikation er tilstrækkelig.
9
Skift til et desktop programmeringssprog. Fortrinsvis er et multiparadigma-sprog, såsom Python. Lav en simpel introduktion til dette andet sprog. Favoritsprog for de fleste programmører er Java, men C # sprog får mere og mere plads på dette felt. Java og C # -sprog foretrækkes af følgende grunde:
De er objektorienterede programmeringssprog, der beskytter programmerere, der arbejder på store hold fra implementeringsdetaljer, da de begge understøtter komponenter (forkompilerede kodeenheder, som udfører en given opgave og kan bruges i andre programmer) .
De støtter eventorienteret programmering, samt OO og proceduremæssig programmering på et eller andet tidspunkt.
Rammen, som sproget bygger på, distribueres af naturen (i tilfælde af Java-sprog).
Tilgængeligheden af mange brugsklare pakker, der arbejder med netværk, både open source og integrerede rammer. Dette gør det lettere for programmører at bygge på andres arbejde.
10
Fokusere mere på sprogets grundlæggende egenskaber, især med hensyn til netværksstøtte. Vær mindre opmærksom på brugergrænsefladeelementer, såsom output, design og windowing teknikker.
11
Tag et kursus på design og arkitektur af distribuerede applikationer. Dette kan gøres ved hjælp af bøger, online tutorials eller akademiske kurser. Det er imidlertid nødvendigt at forstå arkitekturen i distribuerede applikationer og deres koncepter.
12
Undersøg konstruktionen af komponenter og tjenester ved hjælp af det programmeringssprog, du har valgt.
13
Lær mindst en af følgende teknologier. Det anbefales at lære mindst det grundlæggende i dem alle. De mest distribuerede applikationsprogrammører lærer mindst et programmeringssprog på hvert operativsystem. Det skyldes, at hvis du vil have din applikation "distribueret", skal du give en version af den til hvert større operativsystem.
Common Object Request Broker Architecture (CORBA)
Simple Object Access Protocol (SOAP)
Asynkron jаvascript og XML (AJAX)
Distribueret komponentobjektmodel (DCOM)
.NET Remoting
XML Web Services
Metode 4 Programmeringsbiblioteker, platforme, rammer og kerner
1
Lær hvad kerneprogrammering er. Kerneprogrammører er simpelthen avancerede programmører, der har forladt programmeringen af programmer og gik til programmeringsenheder af kode, som igen vil blive brugt af andre programmører.
2
Lær et programmeringssprog, der understøtter bygningskomponenter og genanvendelige pakker, hvis du ikke allerede har det.
3
Tag et avanceret kursus i UML og ORM. De fleste biblioteksudviklere bruger mindst en af dem.
4
Tag en software engineering kursus.
5
Lær, som minimum, begreber og teknikker til modulær programmering, komponentbaseret, objektorienteret og begivenheder. Jo flere programmeringsparadigmer og sprog du behersker, jo mere succesfulde bliver du som programmør for biblioteker og pakker.
6
Lær mere om de forskellige operativsystemer og de programmeringsrammer, de understøtter.
7
Fokusér dine bestræbelser på rammer, programmeringssprog og teknologier, uanset platform.
8
Hvis de programmeringssprog, du har lært indtil videre, har standard ANSI / ISO / IEEE / W3C versioner, master dem. Prøv at bruge standardkoden, når det er muligt.
9
Prøv at efterligne enkle, etablerede biblioteker, især open source-biblioteker. Dette vil være nyttigt i den indledende fase af din konvertering til et bibliotek og en pakkeplanlægger. Start med enkle pakker, som f.eks. Konverteringskonverteringer og mellemliggende videnskabelige beregninger. Hvis du er en universitetsstuderende, skal du bruge ikke-programmeringsdiscipliner til at forsøge at gennemføre ligninger og videnskabelige kerner i form af biblioteker.
10
Søg og prøv open source-pakker i dit programmeringsfelt. Først skal du downloade pakkebinarierne. Prøv at bruge dem og find ud af styrker og svagheder. Download derefter kildekoden og prøv at finde ud af, hvordan den blev lavet. Prøv at genskabe disse biblioteker eller dele af dem. Start med at gøre dette efter at have set koden, og prøv derefter at gøre uden at se dem. I senere faser forsøger du at forbedre disse biblioteker.
11
Lær de forskellige metoder, der bruges til at distribuere og distribuere komponenter til programmører.
Bibliotek og pakkeudviklere har typisk tendens til at tænke rekursivt og / eller iterativt på alle de fremlagte problemer. Prøv at tænke på hvert problem som en sum af mindre problemer (en række enklere opgaver) eller som en iterativ proces, hvorved det oprindelige problem er opdelt i mindre enheder, der derefter stables hierarkisk.
Programmører af biblioteker og pakker tendens til at generalisere. Det vil sige, når de præsenteres for et specifikt simpelt problem, tænker de på et mere generelt problem og forsøger at løse det for at automatisk løse det pågældende problem.
Metode 5 Systemprogrammering
1
Forstå hvilke systemer programmering indebærer. Systemprogrammører beskæftiger sig med "videnskaben" af programmering og ikke med de specifikke implementeringer af programmeringen. Hold dig ikke til en bestemt platform.
2
Følg de første tre trin, der foreslås til desktop applikationsprogrammerere.
3
Tag et introduktionskursus i lineær algebra.
4
Tag et computer kursus.
5
Tag en diskret logik eller matematik kursus.
6
Opdag for dig selv forskellige operativsystemer. Til dette skal du:
Kend det grundlæggende om, hvordan operativsystemer er installeret.
Lær at installere forskellige operativsystemer på en pc (valgfrit, men anbefales).
Installer mere end et operativsystem. Installer ikke nogen hjælpepakker på systemerne - brug i stedet den grundlæggende funktionalitet, som de leverer.
7
Tag et kursus (eller alternativt læse bøger) om computerens hardwarearkitektur.
8
Forstå de forskellige hardwareplatforme på en computer.
9
I princippet forstår du hardwareplatformen eller operativsystemets integrationssprog efter eget valg. Senere lærer du integrationen af andre platforme og systemer.
10
Lær ANSI C og C ++ sprog sammen med procedurelle programmeringskoncepter.
11
Forstå og praktisere standard C / C ++ biblioteker på den valgte platform. Vær særlig opmærksom på Standard Template Library (STL) og måske til Active Template Library (ATL).
12
Kig efter websteder, bøger og kurser på internettet for at kende de særlige forhold i C-sproget til din specifikke platform.
13
Øv at oprette avanceret kode med C og C ++.
14
Få mere at vide om avancerede integrationssprog.
15
Tag et kursus i operativsystem design.
16
Find og læs dokumenter fra den valgte platform. Dette bliver lettere, hvis du vælger et Unix-baseret operativsystem. Få kendskab til det system, du vil arbejde med.
17
Sæt i gang den viden, du har erhvervet. Opret først små systemværktøjer. Dette vil være nyttigt for:
Prøv at genskabe små værktøjer, der allerede findes i systemet.
Prøv at bruge portværktøjer tilgængelige på andre operativsystemer på din.
18
Lær sprogene i den mest nyttige rækkefølge. Dette er det eneste område, hvor valget af det første programmeringssprog betyder noget. Lær ANSI C først, ikke C ++, C #, Java eller D. Så lær C ++.
Begrænsning af førstesprog udelukkende til C skyldes, at programmeringen af systemer kræver, at programmereren er bekendt med følgende begreber:
Virkelig og komplet kompilering af kildekode.
Output-filer af objekter på lavt niveau.
Sammenkædning af binære filer.
Programmering i maskinens sprog og integration på lavt niveau. Nogle siger, at C er et forklædt integrationssprog, lettere at lære. Det understøtter også at indsætte integrationskode, når du vil, og er bare proceduremæssig (som integratoren).
Metode 6 Programmering videnskab
1
Ved hvad en programmeringsforsker gør. Programmeringsforskere er meget avancerede programmører, der i stedet for at arbejde med applikationsudvikling arbejder på udvikling af computerteknologier som kryptografi, programmeringssprog og data mining algoritmer. Dette niveau opnås sjældent uden akademisk undersøgelse og dedikation.
2
Akkumulere videnskabelig viden svarende til et fireårigt kursus i datalogi. Dette kan gøres på følgende måder:
At få en reel akademisk grad (det er det der normalt sker).
At få rejsemateriale gennem et af de moderne universiteter og studere det. Selv om det er muligt at lære denne vej, anbefales det at følge den første vej.
3
Bestem hvad dit område af ekspertise vil være. Jo mere specifikt jo bedre. Dette valg afhænger udelukkende af dine præferencer. Nedenstående er en liste over nogle af de centrale områder inden for computer programmering videnskab:
Designe algoritmer (søgning, klassificering, kryptering, dekryptering og detektering af kommunikationsfejl er nogle eksempler)
Modellering eller computerstøttet design (CAD / CAM)
Virtual Reality
Computergrafik (computergrafik begås ofte fejlagtigt for grafisk design eller grafisk brugergrænseflade design. Computer grafik refererer til undersøgelsen af grafisk repræsentation og manipulation i computersystemer).
4
Overvej at få en kandidat. Du kan vælge at forfølge en kandidat eller en doktorgrad.
5
Lær om teknologier og programmeringssprog i forbindelse med dit valgområde.
tips
Uanset hvilken type programmering du ønsker at lære eller det niveau, du vil opnå, overveje at tage et kursus på nogle college eller college. Vær ikke skræmt af udtryk som "Computer Science". Enhver disciplin, der ikke har forudsætninger, bør fokusere på at undervise i programmeringsgrundlaget. Tal med en instruktør eller rådgiver på forhånd for at sikre, at kurset virkelig er det, du leder efter, da discipliner som "Digital Literacy" kan fokusere på kontorprogrammer og lignende.