Hvordan skal jeg lære grundlæggende programmering, og hvilket sprog skal jeg starte med, hvis jeg bare er nybegynder?


Svar 1:

Et par tilgange kommer i tankerne for mig. Der er sandsynligvis meget mere. Og mange af dem er sandsynligvis bedre end mine forslag.

  • Gratis Bootcamp-lignende indhold online.Jeg tror, ​​at mange mennesker har tænkt på, hvordan man hjælper begyndere med at lære programmering, især for at hjælpe dem med at gøre dem brugbare. Freecodecamp og TheOdinProject er to, der kommer til at tænke på i denne kategori. Med Freecodecamp, jeg tror, ​​du kan gå gennem en god del af det helt i browseren. Det ser ud til at være en sej idé, men jeg har aldrig rigtig kigget for dybt ind i denne kategori, så lad mig vide, hvis du prøver denne fremgangsmåde, og det fungerer for dig.
  • Programmering af konkurrencer. Det er sådan jeg lærte programmering åh for så mange år siden: USACO træningssider. Nogle andre gode steder inkluderer HackerRank og topcoder. Hvis du tager denne tilgang til at lære programmering, vil du gøre en masse algoritme ting, og programmering vil føles meget mere matematisk, end det faktisk er for mange mennesker, der gør det for en levevej. Dette kan være en god eller dårlig ting . Jeg elsker matematisk stil problemløsning, så dette fungerede godt for mig, men hvis du ikke er matematisk tilbøjelig, kan du prøve noget andet.
  • Bare skriv noget shtuff. I modsætning til medicin, har du virkelig ikke brug for nogen tilladelse til at praktisere det hekseri, der programmerer. Du kan stort set starte med noget. Dette er nok det sejeste, men måske det sværeste at gøre. Jeg mener, du spørger sandsynligvis dette, fordi du ikke ved, hvor du skal starte. Og alt dette siger, er bare at starte. Men jeg tror, ​​når du først kommer på den anden side (dvs. denne side), vil du se, hvad jeg mener. Det ser ud til, at mange af de andre svar, der allerede er her, berører denne idé; Hvis du vil skrive et program, der gør noget, men du ikke ved hvordan det skal ske endnu, kan du komme temmelig langt ved blot at spørge internettet. Bare start hvor som helst. Du bliver stadig så vag! Giv konkrete trin! Behandl mig som en computer! Hmm. Ok. Download og installer sublim tekst. Jeg bruger vim på arbejde, men jeg har stadig et rigtigt blødt sted til sublim. Og så gør en masse mennesker. Se på mit tetris-spil. Jeg tror, ​​jeg skrev det til et vist interview for et par timer for et stykke tid tilbage. Det er på ingen måde komplet (f.eks. Det har kun to forskellige slags stykker), og på ingen måde følger det bedste praksis (f.eks. Håber jeg, at mine kolleger ville brænde mig på staven, hvis jeg skrev kode som denne på arbejdet), men Når du begynder, er det sandsynligvis det vigtigste ved at have det sjovt. Kopier dette program til en teksteditor, gem det som tetris.html, og åbn filen i en webbrowser. Spil spillet lidt. Så juster det. Tilføj flere stykker. Gør det mere spilbart. Send mig en pull-anmodning. Slå op, hvad "pull-anmodning" betyder. Lav derefter dit eget spil, måske min sweeper. Lav et online multiplayer-mines Sweeper-spil, og skriv noget backend. Find andre computerholdige ting, der interesserer dig; som en iPhone-app, der vil skrive en tweet, hver gang du bruger dit badeværelse eller dit eget programmeringssprog (OH GOD SKRIFT IKKE DET EGNE PROGRAMMERING AF SPROG; DU VIL ALDRIG afslutte aldrig som hvad du laver, og du vil hader dig selv). Vis omkring nogle ting, du har lavet. Accepter nogle trækforespørgsler. Få et job som udvikler. Profit. Eller ikke, jeg gør det ikke.

Svar 2:
  • Sørg for, at du har et problem at løse. Når du løser selv en del af det, vil det give dig tilfredshed, og det vil få dig til at lære og gøre mere. For eksempel var en af ​​de ting, der fik mig i gang, at skrive et lille stykke kode for at udtrække tekst fra PDF-filer, fordi jeg ville søge i en hel mappe med PDF-filer efter specifik tekst. Det viste sig at være meget sjovt, fordi jeg brugte det, jeg skrev, som jeg skrev det.
  • Vælg et sprog, du vil løse problemet i. Dette afhænger af dig. Personligt kan jeg godt lide at vide, hvordan ting fungerer under hætten, så jeg startede med C og flyttede til C ++. Hvis du ikke har en elektronik / hardware-baggrund, kan dette være lidt svært at gøre (selvom jeg stadig anbefaler det, så længe det problem, du vil løse, ikke involverer at tale med internettet). Hvis det gør det, vil jeg foreslå, at du starter med The Go-programmeringssprog. Årsagen til at jeg foreslår Go er fordi det er blandt de mest enkle, statisk indtastede sprog, der findes. Der er meget at lære fra et statisk indtastet sprog i modsætning til et dynamisk indtastet sprog, hvor du muligvis ender med at tage ting for givet. Hvis al denne tale om indtastning ikke giver mening nu, skal du ikke bekymre dig, det vil senere.
  • Sørg for, at du enten er medlem af et lokalt bibliotek, der kan give dig masser af techbøger, eller er villig til at investere i dem. Du ender med at skulle læse meget for at løse dit problem. Nej, googling er ikke det samme, fordi det kun vil give dig svarene uden at fortælle dig hvorfor. Hvis du vil lære, har du brug for en struktureret tilgang til svarene - for at kende hvorfor og den forudsætning viden der er forbundet med det.

Husk, at hvis du vil lære, er det rejsen, der betyder noget. Så længe du laver noget, du kan lide, fortsætter denne rejse og kan endda blive til en karriere, ligesom min har :)


Svar 3:

Jeg tror først, det er vigtigt at forstå, at programmering adskiller sig lidt fra kodning. Kodning handler om at implementere ideer, du har, mens en væsentlig del af programmeringen kommer med disse ideer. Når du først kan lære at

tænker programmelt,

at oversætte disse ideer til sprog, som computere kan forstå, er en meget lettere (men ikke triviel) opgave. Derfor vil jeg råde dig til at begynde at tænke over, hvordan du bruger algoritmer og datastrukturer til at løse problemer. Og

derefter

kommer spørgsmålet om, hvordan kan du udtrykke ideer på et 'programmeringssprog'. Til dette formål vil jeg gerne bede dig om at løse problemer ud fra

Indian Computing Olympiad - Arkiv - IARCS

.

Dette skyldes, at fokus er på at udvikle algoritmer og anvende dem på mellemstore problemer, ikke på kodning i sig selv. Når du først er tilpas med denne slags problemer (begynderniveauet), går du videre med at løse dem fra

Programmeringskonkurrence, programmeringskonkurrence, online computerprogrammering

Sphere Online Dommer (SPOJ)

etc.

Det bedste ledsager sprog, du kan finde for at lære at udtrykke dine tanker, jeg vil sige, er C ++. Selv som nybegynder synes jeg ikke, du skal have nogen problemer med at forstå, hvordan C ++ - koder fungerer. Og hvis du er i tvivl, så spørg Google, Stack Overflow eller bare folk omkring dig, dine seniorer eller endda folk på Quora! Jeg er sikker på, at nogen vil hjælpe dig.

Skål


Svar 4:

Du kan starte med ethvert sprog, for det meste de aktuelle populære som Java eller Python. Du kan gennemgå nogle anstændige tutorials på nettet. Fortsæt med at læse hver enkelt af dem, indtil du finder et materiale, du er behageligt med. Det kan være et kursus eller en bog.

Den bedste ting ved at lære et nyt programmeringssprog handler om at prøve det. Når du prøver eksempler og løser problemerne, syntaks, logik, vil du begynde at få et ophængt af det. Men husk, at dette er en lang snoede sti. Der er ingen genvej. Det afhænger af din udholdenhed og tålmodighed.

Du har hjælp i dag i form af google, stack overløb om ethvert emne, du sidder fast med. Så du kan stort set være alene uden nogen omkring dig.

Når du skriver kode, vil du indse, at der er en model, der udvikler sig i dit hoved om problemet - strukturer, forbindelser, strømmen af ​​data, udseendet og følelsen osv. Denne slags fører dig ind i design og mønstre.

Og jo mere du gør denne slags ting i stor skala, der involverer ydeevne, skalerbarhed, tilgængelighed af systemer, sikkerhed osv. På tværs af flere systemer, der tager højde for en enorm brugerbase, havner du i 'arkitektur' aspekterne af det.

En interessant tilføjelse til læring af programmering er også at få et hængende på læringsdatastrukturer og algoritmer. Dette kan være tørt til at begynde med, og jeg er sikker på, at du ikke vil krydse få af dem, medmindre du bliver tvunget til at skrive en eksamen om dette. Det, jeg i stedet foreslår, er at holde en god algo-bog praktisk som Ullman, Trmemblay eller andre og bruge dem som reference i det problem, du løser, når du lander med et meget klart mønster af problemet, og du kan tydeligt formulere det. Derefter kan du kontrollere, om det allerede er løst. For eksempel, hvis du støder på noget som den bedste måde at nå til et sted, der er givet flere stier, kan du henvise til den korteste sti, rejse sælger slags alger.

Kort sagt, jo mere du træner ved at tage et problem, lærer du bedre end bare at lære for en grad. På denne måde vil du også begynde at sætte pris på de gode problemer fra de akademiske.


Svar 5:

Selv jeg er en begynder med programmering. Til at begynde med laver jeg C-sproget fra. Yashavant Kanetkar's lad os C. Det er den bedste bog til at begynde med. Folk har rådet mig til ikke at starte med C ++. Da C ++ er en udvidelse. At C og bruger begreberne C. Så det giver mere mening at lære C før C ++. Jeg vil gerne læse svar og forslag fra andre mennesker også!


Svar 6:

Start dit arbejde fra de mest basale sprog C og C ++

Disse er næsten ens og er de vigtigste sprog.

når du først har arbejdet på C og C ++ og øvet der Koder igen og igen ... kan du derefter skifte til Java og Javascript og derefter til ulmitere en Python.

Når du har kommando over disse sprog, sørger jeg for, at du vil være en god programmør