Gå til innhold

Begynne med basic programmering


Anbefalte innlegg

Programmering har alltid virket ganske kult. Problemet er bare at jeg ikke helt klarer å forstå hva det går ut på. Jeg har lest noe om språk, script, CSS, HTML osv, og jeg må si at jeg går i surr. Grunnen til at jeg ønsker å lære programmering, er at jeg skal ta IT1 som valgfag på VGS til høsten. Derfor vil jeg bruke litt tid før skolestar til å "gjøre meg klar".

 

Kunne noen forklart meg litt om hva programmering går ut på, og hvor/hva jeg burde begynne med, for å lære meg basics?

Lenke til kommentar
Videoannonse
Annonse

Spørsmålene dine er veldig åpne, og har ingen direkte konkrete svar. Programmering går ut på veldig mye, men i hovedsak går det ut på å skrive kildekode som får datamaskinen til å utføre en bestemt oppgave. Hva denne oppgaven er, er det kun fantasien som setter grenser for. Alt fra et spill, til å løse matematiske oppgaver; eller å lage en webside.

 

Hva du burde begynne med er et spørsmål som kan gi 1000 forskjellige svar; men i hovedsak pleier jeg å dele det inn i 2 deler ut i fra hva man ønsker. Ønsker du å lage programmer som kjører på datamaskinen eller websider?

 

Om du ikke har noe konkret svar på det så vil jeg anbefale deg å lære deg Python til å begynne med. Språket er på mange måter enkelt å forstå slik at man kan fokusere veldig på å lære seg hvordan man programmerer og prøve å forstå hvordan man skal tenke for å komme frem til løsninger på problemer.

 

Du kan jo se på denne tutorialen: http://www.sthurlow.com/python/

 

Eventuelt bla litt gjennom på google.

http://www.google.no/search?q=python+tutorial

Lenke til kommentar

Jeg fikk litt bedre innblikk nå. Når jeg tenker meg om, så ville jeg helst gjøre noe innenfor dataprogrammer eller spill. Har du noen flere konkrete tips innen dette, eller legger Phyton grunnlaget for basis?

 

Burde jeg uansett lære meg Python?. Jeg har kommet over noen bøker på Amazon som lærer basic programmering. Eksempel som denne ?

Lenke til kommentar

Anbefaler deg å starte med litt scripting, f.eks. sjekk ut AutoIT som det finnes "uendelig" mange skript for som du kan studere. Ellers er det greit å starte med f.eks. HTML og PHP, det finnes masse gratis nybegynnerkurs online... Programmering generelt er ganske likt scripting, bare vanligvis mer "restriktivt". Sjekk ut Microsoft Visual Studio Visual Basic .NET 2010 Express f.eks. eller C#.

Lenke til kommentar

Anbefaler deg å starte med litt scripting, f.eks. sjekk ut AutoIT som det finnes "uendelig" mange skript for som du kan studere. Ellers er det greit å starte med f.eks. HTML og PHP, det finnes masse gratis nybegynnerkurs online... Programmering generelt er ganske likt scripting, bare vanligvis mer "restriktivt". Sjekk ut Microsoft Visual Studio Visual Basic .NET 2010 Express f.eks. eller C#.

Personlig ser jeg ingen grunn til å lære seg AutoIT, det er egentlig bare en omvei. Hvorfor ikke gå rett på ting som Python og få et virkelig innblikk i programmering? Man kan og relativt enkelt lagt spill i Python ved bruk av Pygame. (Legg merke til "Relativt enkelt", fordi programmering er å blir vanskelig, uansett hvordan man ser på det). Ja, man går resulater relativt fort med Visual Basic og AutoIT, men du får ikke noe godt innblikk i programmering.

 

Å lage spill er noe du burde legge litt på hylla i begynnelsen. I hvertfall spill med grafikk, da det krever litt kunskaper; og ingenting er mer frustrerende enn å ta seg vann over hodet. Begynn med enkle ting som å skrive tekst på skjermen, enkle kalkulatorer som gjøre lette regneoperasjoner og lignende. Utvid så med f.eks. å lage tekst-baserte spill som "Guess my number".

 

1: Last ned python: http://www.python.org/getit/ --- Anbefaler å gå for 2.7 eller 2.6 versjonen, da de fremdeles er best støttet.

2: Les litt på tutorialen jeg ga deg.

 

Har du spørsmål og ting du ikke forstår eller får til er det bare å spørre.

 

Noen enkle eksempler

 

Her er et program som skriver ut tekst på skjermen.

print "Egg, bacon, sausage and spam!" 

 

Input fra bruker:

navn = raw_input("Whats ur name?")
print navn, "here takes some spam!"

 

Input med test:

answer = raw_input("Would you like some egg, ham, sausage and spam?")
if answer is "yes":
   print "Here, take some!"
else:
   print "To bad, take some spam, egg, bacon and spam instead"

Lenke til kommentar

Burde jeg uansett lære meg Python?. Jeg har kommet over noen bøker på Amazon som lærer basic programmering. Eksempel som denne ?

Like greit som et hvilket som helst annet språk. Det er også relativt populært, ihvertfall på Linux.

 

Selv foretrekker jeg C# fordi Python har to ting jeg HATER i ethvert programmeringsspråk: implisitt deklarasjon av variabler og dynamiske datatyper. Det er noe ordentlig griseri som åpner for skrivefeil, og gjør det veldig mye vanskeligere å skrive en effektiv implementasjon.

  • Liker 1
Lenke til kommentar

Selv foretrekker jeg C# fordi Python har to ting jeg HATER i ethvert programmeringsspråk: implisitt deklarasjon av variabler og dynamiske datatyper. Det er noe ordentlig griseri som åpner for skrivefeil, og gjør det veldig mye vanskeligere å skrive en effektiv implementasjon.

 

Og selv foretrekker jeg python over C# fordi C# (og java) har en trang til å putte alt i klasser, og være (etter min mening litt unødvendig) verbose.

 

Bør også legge til at konseptet med classes kan forvirre mer enn hjelpe i begynnelsen, når man lærer seg programmering. Syns personlig også at python gjør en bedre (les: mer logisk og mindre forvirrende) jobb på namespaces.

Lenke til kommentar

Tror mye av oppfatningen av statisk typing som knot og vanskeligheter dels kommer fra Java og C++, spesifikt deres mangel på implisitt typing som gir svært nasty syntaks innimellom, gjerne blir man tvunget til å gi samme type mange ganger isamme statement. Koblet med behovet for å putte alt inn i klasser siden dem heller ikke har første klasse funskjoner, så har man det gående

 

Det er ikke uvanlig å treffe Java-folk som tror implisitt typing er det samme som dynamisk typing, og like "farlig", så det går begge veier

 

Så ender man opp med det man lærte på i OOP kureset universitetet (Java)

       public interface Operation<T> {
	public T DoStuff(T x, T y);
}

Operation add = new Operation<Integer>() {
	public Integer DoStuff(Integer x, Integer y) { 
		return x + y; 
	}
};

       int three = add(1, 2);

 

Og da er det kanskje ikke så rart at statisk typing er noe herk.

 

Men det kan skrives sånn:

let add (x, y) = x + y
let three = add(1, 2)

F# er faktisk minst like sterkt typet som Java-eksempelet (egentlig mer typesikkert, men det er en CLR vs JVM generics issue), men ingen eksplisitt typeinformasjon nødvendig(!), 1 og 2 literalene blir int32 i F#, resten utledes derfra.

 

Brukte F# siden det, og andre ML varianter, er et fint motsatt ytterpunkt i forhold til Java. I multi-paradigm språk som Scala og C# er på vei inn i må man ofte inn med minst en typedeklarasjon så man har noe å utlede fra, (C#: Func<int,int,int>, eller Scala: (int: x, int: y) ), men det er fremdeles bare to statements og 1, ikke 5, eksplisitte typer.

Endret av MailMan13
Lenke til kommentar

Jeg kan si såpass at IT1 på VGS går på å lage websider. Det taes noen luftepauser med litt lek i Photoshop og tegne noen animasjoner i flash, men dette er minimalt. Så hvis hovedfokuset ditt er å forberede deg til dette, er det utelukkende nettsider og databaser du burde jobbe med.

 

Kan legge til at det absolutt ikke er noen dum idé å starte å øve på forhånd. Det er gull verdt å vite litt om hva som skjer når du jobber med jævelprogramvare som Dreamweaver, og DW kuker til alt.

 

Denne tråden har jo gått helt av sporet...

Endret av PuterDude
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...