Gå til innhold

Vil lære meg å programmere, men har ingen aning hvor jeg skal begynne. Hjelp!


Anbefalte innlegg

Hehe... jadda...Men ja, enig at C++ ikke er et alternativ en gang. Leste i en eller annen bok at C# faktisk er feil skrivemåte. Det skal egentlig være C++ men at den ene + skal stå litt over og innpå den første. Dette skulle vistnok bety C++ på stereoider eller nåe sånt ;-).

Det er en henvisning til den musikalske tegnet sharp (♯) som betyr at man øker en tone med en halvtone, altså at det er C, men litt høyere (eller bedre, om man vil). Dette er altså noe av det samme som C++ som indikerer en increment av C.

Endret av Occi
  • Liker 1
Lenke til kommentar
Videoannonse
Annonse

Hvis du er helt ny i gamet vil jeg helt klart anbefale å begynne med noe du ser resultatet av med en gang. Med andre ord anbefaler jeg å begynne på en nettside som er satt opp spesifikt for live-redigering/interaktivitet, f.eks. http://www.khanacade...gramming-basics eller http://www.codeacademy.com/, som jo har blitt nevnt tidligere i tråden.

 

Før du overhodet begynner å planlegge større prosjekter (som spill) bør du ha lekt deg litt med et programmeringsspråk eller to i noen dager/uker og fått en grunnleggende opplevelse av hvordan man tenker når man skal programmere noe.

 

Programmering er en unik blanding av håndverk og kreativitet, og det stiller (i større prosjekter) store krav til abstrakt tenkning. Det er det ikke alle som får til, men det er veldig tilfredsstillende når du "tar" det. Som med de fleste andre ferdigheter er trening er alfa og omega; du kan ikke lese deg til å bli flink i programmering.

 

Systemutvikling blir viktigere og viktigere i nært sagt alle bransjer. Blir du flink, så har du verden for dine føtter. Lykke til! :)

Endret av Pureblade
  • Liker 1
Lenke til kommentar

Enig. Start med noe enkelt. Lag deg en kalkulator. Det er relativt enkelt og greit å komme i gang med og bør være overkommelig som start prosjekt. Du kan lage den både objekt orientert eller ikke. Starter du med C# så vil vel mange hevde at alt allerede er objekt orientert, men det jeg mener er at du fint kan lage en kalkulator i C# uten å tenke klasser i det hele tatt, med andre ord akkurat som et standard prosedyre basert språg. Når du har fått til dette så kan du jo vurdere å lære deg OOP og lage en kalkulator klasse. Når du har fått til det så kan du slenge deg på temaet EVENTER og litt andre avanserte ting og la klassen bruke disse. Jo mer du trener og øker vanskelighetsgraden jo mer lærer du. Etter hvert kan du innføre STACK i kalkulatoren og kanskje til og med innføre omvendt polsk notasjon. Har du lyst på litt grafikk så er det jo bare å mekke litt grafer og slikt. Bare å kjøre på, og som sagt, spør og grav. Alle her er villige til å hjelpe...

Lenke til kommentar

Ja... c++ ble mildt sagt meget gresk for meg, så jeg tror jeg starter på c#. Forutsatt at jeg får til å lære meg dette så går jeg nok over på c++ når jeg begynner å få taket på c#.

 

Jeg setter meg nok fast så jeg kommer muligens med noen spørsmål etterhvert :-)

Jeg kommer ikke til å starte med å programere spill nei,haha, det blir nok en kalkulator eller noe slikt, prøve å lage den så avansert det lar seg gjøre. Dette jeg nevnte med spill var som sagt bare et mål langt nede i horrisonten, jeg har såpass innsikt i programering at det er ikke noe man lærer seg på 1-2-3, med mindre man er særdeles begavet innen dette, noe jeg desverre ikke er.

 

Takk for alle gode innspill og ikke minst linker!

Endret av Ruarcs
Lenke til kommentar

Vell, ser du noen grunn til å gå over til C++ i det hele tatt? Tipper du greier deg lenge med C#. Eneste grunn til å gå over til C++ på sikt måtte vært hvis du har behov for å lage tids kritiske programmer med behov for nær tilgang til hardware eller programmer som skal kompileres på andre plattformer enn Windows. Når det er sagt, C# kan også kjøre på andre plattformer gjennom MONO så hvorfor C++ i det hele tatt ? Mono kjører både under Linux og IOS. (http://www.mono-project.com/Main_Page)

Lenke til kommentar

Vell, ser du noen grunn til å gå over til C++ i det hele tatt? Tipper du greier deg lenge med C#. Eneste grunn til å gå over til C++ på sikt måtte vært hvis du har behov for å lage tids kritiske programmer med behov for nær tilgang til hardware eller programmer som skal kompileres på andre plattformer enn Windows. Når det er sagt, C# kan også kjøre på andre plattformer gjennom MONO så hvorfor C++ i det hele tatt ? Mono kjører både under Linux og IOS. (http://www.mono-project.com/Main_Page)

 

Vel skrives med 1 l :tease: Hvorfor gå over til c++?Haha, nei du kan så si. Jeg var bare under inntrykk av at C++ var "best" men du mener altså at c# er mere en godt nok? Kunne man for.eks ha laget tales of monkey island i c#? Bare så det er sagt, jeg har ingen visoner om å gjøre dette, men jeg har en tendens til å fordype veldig når jeg først blir "bitt av basillen", så aldri si aldri ;-) Men mere seriøst, jeg er i utganspunktet bare ute etter å lære meg hvordan programvare virker og jeg trenger ikke ha visuelle resultater etter kort tid eller noe slikt, bare jeg lærer/forstår mere og mere. For å si det sånn så er det ikke gøy å spille skalaer i 3 timer om dagen, man kan bli hodegal av mindre, men jeg skal love deg at det gir meget bra resultater ;-)

 

Så var spørsmålet visual studio express eller mono?

Men nå har jeg nok info og lesemateriale for en god stund fremover i alle fall!

Endret av Ruarcs
Lenke til kommentar

Hvilket språk du velger kommer helt an på hvilke(n) platformer du skal programmere for. Hvis du skal lage Windows-programmer kan du gå for C# hvis du vil, skal du lage for andre plattformer er det nesten ett fett ettersom de har de nødvendige verktøyene. Selv om Mono er en etterligning av .net for at C# programmer skal kunne kjøres på Linux og Mac så er det mye som ikke er ordentlig implementert, så jeg mener C# hører hjemme på Windows. Selv startet jeg med Pascal og Delphi uten at det ser ut til å ha skadet. Så lenge du lærer deg prinsippene ordentlig er det egentlig det samme hvilket språk du begynner med, selv om jeg ville styrt unna scripting-språk bare for å få typene på plass.

 

Uansett, lykke til med valg av språk

Lenke til kommentar

"tales of monkey island" er forsåvidt en 3d spill serie, ikke et 2d spill. Når det er sagt, så kunne man lagd det i :

 

* C#

* C++

* C

* ASM

* Java

* JavaScript

* Python

* UnrealScript

* Lua

* Fortran

* PHP

* Delphi

* Perl

* VB.Net

* Lisp

* Haskell

* Ruby

* Visual Basic

* Go

* Lua

 

[osv]

 

C / C++ er "best" i samme gate som en romrakett er "best". Det er teknisk sett raskeste transporten vi har, men er heller upraktisk i bruk. Hvis målet er å komme deg til jobben og hjem igjen er det kanskje best å bruke en bil eller sykkel, selv om de ikke er "best" i maks hastighet.

  • Liker 1
Lenke til kommentar

Enkelhet over alt, i starten. Som sagt - begynn på nettsider hvor du kan skrive kode rett i nettleseren, ikke stress med å sette opp et utviklingsmiljø (IDE) før du har lært deg de grunnleggende prinsippene.

 

Fokuser på basiskunnskap som syntaks, variabler, primitive datatyper (tall vs. tekst vs. boolske verdier), løkker og andre kontrollstrukturer, samt funksjoner (kall og returverdier). Og fremfor alt: Lag noe, selv om det er aldri så enkelt, slik at du skjønner hvordan de ulike tingene benyttes for å lage en helhet som er større enn hver enkelt kodelinje eller konsept i seg selv.

 

Det trenger ikke være større enn en enkel snutt som gjør noen kalkulasjoner med de tallene du skriver inn i starten, eller (dersom du velger et program med enkelt grafisk output) som tegner Android-logoen. Gode tutorials tar deg gjennom dette uten at du trenger å grumble så mye på egenhånd om hva som er mulig og ikke.

 

Selv emner som objektorientert programmering eller dynamisk vs. statisk typing er en distraksjon i begynnelsen. Begynn på en av de to lenkene jeg gav i forrige e-post og se til at du skjønner selve logikken før du går videre.

 

 

Tankegangen er mye det samme i de fleste språk (men ikke alle), så hvilket språk du begynner med er overhodet ikke viktig (med noen sære unntak, selvsagt, ikke begynn med f.eks. Brainfuck). Tips til språk er nok velmente, men reflekterer nok i hovedsak hva anbefaleren har erfaring med selv. Det finnes tusenvis av programmeringsspråk, hver med sine fordeler og ulemper i ulike situasjoner, så ikke la noen fortelle deg hva som er "best".

 

Som en annen nevnte her - språk er kun relevant når du bestemmer deg for hva du skal lage (ettersom det inkluderer rammebetingelser som hvilken plattform det kan kjøres på, hvilke biblioteker (libraries) og rammeverk (frameworks) man kan benytte, osv.). Man velger f.eks. ikke C++ som primærspråk hvis man skal utvikle en mobilapp eller nettside (webapp) og man velger ikke PHP for å lage Windows-spill.

 

Hvis du er ute etter å sammenligne språkenes syntaks, kan du ta en titt på 99 Bottles of Beer, som har samme program skrevet i over tusen forskjellige språk. Men som sagt: dette er ikke viktig for deg, nå.

Endret av Pureblade
  • Liker 1
Lenke til kommentar

Jeg har prøvd flere ganger å hoppe på programmering selv, jeg har staket meg ut python da det brukes mye på jobb og av flere kjente. Startet først med Dive into Python og en YouTube-kanal, så begynte jeg litt med Learn Python the Hard Way. Jeg har sliti med å finne meg et prosjekt å bruke kunnskapen jeg tilegner meg selv, er på vei gjennom CodeAcademy nå, så får vi se =)

Lenke til kommentar

Jeg ville ha begynt med C# og XNA. Det finnes mange gode og billige bøker om emnet - hos f.eks Amazon:

http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&field-keywords=xna

 

Vet ikke om det er nevnt i tråden fra før, men Visual Studio Express (2010 eller 2012) er gratis-verktøy.

 

Her i huset begynte ene sønnen å utforske og lage småspill i XNA fra han var 10 år (med litt hjelp så klart). Men ville bare nevne det for å poengtere at det er rimelig enkelt å komme igang så lenge man har ledig tid, interesse og tålmodighet.

Lenke til kommentar

Har lenge hatt lyst til å sette meg skikkelig inn i C++, men dette virker jo litt avskrekkende...

 

Kan du utdype?

 

Mitt foreløpige repertoar: Java, C, VHDL

Sikkert ikke så mye å utdype for GG i forhold til dine preferanser siden du allerede er på C og Java. Saken er vel heller at trådstarter indikerer at han ikke har noe erfaring i det hele tatt og det å starte på et så lavt nivå programmeringsmessig sett antageligvis resulterer i masse bortkastet tid for å lære seg enkle ting. Påstanden til GG at han ikke engang synes det er et bra språk får han jo stå for selv, men at det ikke egner seg for førstegangsprogrammerere er jeg nok enig i. Ikke for det altså - det er jo selvsagt ikke noe problem å lage enkel ting som HelloWorld og slikt i Asm, C og C++. Jeg tar med Assembler her fordi dette også er et typisk programmeringsspråk som ikke egner seg for nybegynnere. Det er vel heller den biten der du ønsker å lage avanserte ting som gjør at du må håndtere pekere, minne, prosesser, etc. etc. som oppfattes av alle som ikke koder i C, C++, ASM som helt unødvendig. Det er mye enklere å lære seg programmering hvis man starter på et høyere nivå. C#, VB.NET, VB, Clarion, Basic generelt, etc. er eksempler på et høyere nivå og som helt sikkert gir trådstarter og andre nybegynnere en kjappere vei inn i programmenes verden. Må bare legge til: Ønsker man å programmere mot maskinvaren så er ASM, C og/eller C++ selvsagt en nødvendighet, men jeg tror ikke trådstarter har dette behovet..

Endret av HDSoftware
Lenke til kommentar

Har lenge hatt lyst til å sette meg skikkelig inn i C++, men dette virker jo litt avskrekkende...

 

Kan du utdype?

 

Mitt foreløpige repertoar: Java, C, VHDL

C++ er mer eller mindre en ren videreutvikling av C. Templates i C++ er også mer eller mindre en videreutvikling av makroer i C (selv om det funker ganske annerledes) men compileren har ingen forståelse for templates utover klipp-og-lim. Du kan for eksempel ikke statisk avgjøre hva slags datatype et template argument er (annet enn med et boost bibliotek), fordi templates ikke fungerer på den måten, og C++ fungerer ikke på den måten.

 

De primitive datatypene er vagt definert, noe som har ført til at det er variasjoner selv mellom forskjellige compilere for samme hardware og software plattform.

 

Hele #include opplegget som de har tatt med seg fra C er også egentlig ganske latterlig.

Lenke til kommentar

Sikkert fordi C++ er latterlig komplekst, har mange av pit-fallene til plain C, har et design som tidvis er veldig verbost uten å gi særlig igjen for det (men typedefs + auto hjelper veldig på det) og mer til.

Tja, det kommer vel av at C er et språk som løfter assembler syntaksen inn i en mer strukturert form. Nå skal ikke jeg påberope meg noe større ekspertise i C og C++, men det er vel slik at i C så kan du gjøre absolutt hva du vil uten at noe som helst passer på. Du jobber jo direkte mot minne og annen maskinvare.

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...