Permalänk

Börja programmera?

Hej!

Jag går första året på gymnasiet (natur). Efter gymnasiet tänkte jag plugga vidare som civilingenjör med någon form av datateknisk inriktning.

Det jag funderar över är om det kan vara bra att t.ex. börja programmera på fritiden (finns inga programmeringskurser att gå på mitt gymnasium)?
Har försökt lite tidigare med C++ tror jag men kom väl inte längre än att jag förstod "Hello World", så mina förkunskaper är 0.

Men om det nu skulle vara bra att börja programmera på fritiden (tycker det verkar spännande), vilket/vilka språk ska jag börja med och hur ska jag lägga upp inlärningen?

Vet att det finns en tråd om detta men ge gärna tips på guider och böcker om ni vill (helst gratis - snål som man är).

Och hur viktigt är det med matte? Håller på med Matte B nu och det går väl sådär. Används mycket matte i programmering (Algebra eller liknande)?
Eller alltså, är det viktigt när man börjar programmera att kunna mycket matte eller går det bra ändå?

Tack på förhand! //David

Permalänk

Finns inte inriktingen "Matematik och datavetenskap"? Är det inte ett krav att din skola ska kunna erbjuda det?

Permalänk
Medlem

http://www.sweclockers.com/forum/showthread.php?threadid=9083...
Jag antar att du menar denna?

Jag befinner mig i samma båt som dig, ska följa tråden noggrant.

Visa signatur

Windows: [ NCASE M1 | i7 6700K 4C/8T | 16GB DDR4 | 1080Ti | 1.5TB SSD ]
macOS: [ Mac mini | i5 8500B 6C/6T | 16GB DDR4 | 256GB SSD ],
                        [ MBP 13" | i5 1038NG7 4C/8T | 16GB LPDDR4X | 512GB SSD ]
ESXi: [ Intel NUC | i7 10710U 6C/12T | 32GB DDR4 | 500GB SSD ]

Permalänk

Kort sagt

Det beror på vad du programmerar, ifall du ska göra spel är det bra och kunna vektorer och lite annat allmänt matte och fysik.

Går trean på natur just nu och har gått prog a och b, fick lära oss python och tycker att det är nog det bästa att börja med.

Python är inte svårt men samtidigt kan du göra grymt mycket på kort tid men nackdelen är att den är seg. C++ är väldigt universalt hyfsat enkelt men jag vet inte om det är nybörjarvänligt, men om du vill så är denna hemsida super http://www.cplusplus.com/doc/tutorial/. För python http://www.sthurlow.com/python/ (har dock inte tittat genom denna ordentligt)

Kom ihåg också att det första språket du lär dig är det viktigaste och kommer lägga grunden för resterade språk som du kommer lära dig så välj klokt.

Lycka till säger jag bara ^^ själv har jag tänkt gå Datasäkerhet i Karlstad nu när jag har blivit mer intresserad av asm (mest debugger/reverse engineering), forensics, elektronik och matte

Permalänk
Hedersmedlem

Glöm inte att läsa de (många) trådar som redan finns. Här är en: http://www.sweclockers.com/forum/showthread.php?s=&threadid=8...

Permalänk

Skulle nog vilja säga att du bör börja med java eller c#. Har gått igenom en hel del språk i min utveckling som programmerare och måste säga att c# är det språk jag tycker är smidigast att skriva i.

Du får en hel del framework att utgå ifrån och du kan även nå windows native API och göre ännu fler saker. Det är även relativt enkelt att komma igång med och få resultat som man kan klicka sig runt i.

Med det sagt är inte C# det enda språket som uppfyller de kriterierna jag skrev. Jag har inte skrivit så mycket java etc..

Visa signatur

Asus Striker II Extreme / XFX Geforce GTX 280 / Q9450 @ 3.6GHz/ TRUE Noctua 120/ 4x1GB Corsair TWIN3X2048-1333C9DHX / X25-M G2 80gb Velociraptor / Win 7 Ultimate x64/ Antec P190

MovieDatabase

Permalänk

Vilket program rekommenderar ni beroende på språk? Alltså där man skriver koden.

Permalänk

Jag skulle börja med Java. Enkelt att sätta sig in i och en bra introduktion till objektorienterad programmering.
Sannolikt kommer det även vara mycket javaprogrammering för dig sen på högskolan.
Satsa på matten! Ca 2,5 år av din utbildning till civilingenjör är mattekurser. Ångrar att jag inte pluggade mer matte i gymnasiet.

//mange (5:e året civilingenjör datateknik, KTH)

EDIT: java skulle jag skriva i NetBeans

Visa signatur

Core i7 920, Asus Rampage II Extreme, 3x2GB Corsair Dominator DDR3, Sapphire Radeon HD4870x2, Corsair HX1000W, WD VelociRaptor 300GB

Permalänk

Bloodshed Dev-C++ för C++
Python med massa tillbehör, Portable Python
ASM (http://www.masm32.com/) debugger (http://www.ollydbg.de/)

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av overheated
Bloodshed Dev-C++ för C++

Dev-c++ är dock rätt uråldrig vid det här laget; projektet har inte uppdaterats på fem år. Använd visual c++ express eller code::blocks istället.

Permalänk
Citat:

Ursprungligen inskrivet av ManGz.com
Jag skulle börja med Java. Enkelt att sätta sig in i och en bra introduktion till objektorienterad programmering.
Sannolikt kommer det även vara mycket javaprogrammering för dig sen på högskolan.
Satsa på matten! Ca 2,5 år av din utbildning till civilingenjör är mattekurser. Ångrar att jag inte pluggade mer matte i gymnasiet.

//mange (5:e året civilingenjör datateknik, KTH)

EDIT: java skulle jag skriva i NetBeans

Okej, kan passa på att fråga hur pass viktiga de olika mattkurserna är.
Vilka ska jag satsa på? Fick MVG i matte A men det känns som det blir svårt att behålla det betyget i B-kursen.
Är fysik och kemi viktigt att satsa på? Alltså har du använt mycket av dina kunskaper inom sådana ämnen (från gymnasiet) på din nuvarande utbildning?

Permalänk
Citat:

Ursprungligen inskrivet av id_hunter
Okej, kan passa på att fråga hur pass viktiga de olika mattkurserna är.
Vilka ska jag satsa på? Fick MVG i matte A men det känns som det blir svårt att behålla det betyget i B-kursen.
Är fysik och kemi viktigt att satsa på? Alltså har du använt mycket av dina kunskaper inom sådana ämnen (från gymnasiet) på din nuvarande utbildning?

Oj, jag minns inte riktigt vad man lärde sig i vilken kurs..
Men bra koll på derivator och intregraler är viktigt. Kommer två kurser som behandlar det.
Annars är logikdelen (diskret matte) värd att lära sig, kommer en del sånt.
Sen är det bra att riktigt kunna alla "enkla" räkneregler, jag lärde mig inte det ordentligt, och det är riktigt jobbigt att hänga med om man inte har grunderna.
Kemin har jag inte använt alls. Vad gäller fysiken så kommer det en liten kurs, men det är mest "tänket" jag känner att jag haft nytta av från fysiken.
EDIT: f.ö förutsätter de inte att man programmerat förut, känner flera som aldrig programmerat innan de började på KTH som klarat sig utmärkt. Introduktionskursen till programmering är riktigt bra.

Visa signatur

Core i7 920, Asus Rampage II Extreme, 3x2GB Corsair Dominator DDR3, Sapphire Radeon HD4870x2, Corsair HX1000W, WD VelociRaptor 300GB

Permalänk
Citat:

Ursprungligen inskrivet av ManGz.com
Oj, jag minns inte riktigt vad man lärde sig i vilken kurs..
Men bra koll på derivator och intregraler är viktigt. Kommer två kurser som behandlar det.
Annars är logikdelen (diskret matte) värd att lära sig, kommer en del sånt.
Sen är det bra att riktigt kunna alla "enkla" räkneregler, jag lärde mig inte det ordentligt, och det är riktigt jobbigt att hänga med om man inte har grunderna.
Kemin har jag inte använt alls. Vad gäller fysiken så kommer det en liten kurs, men det är mest "tänket" jag känner att jag haft nytta av från fysiken.

Okej, tack så mycket!
Känner mig lite mer motiverad.

Permalänk
Medlem

Läser just nu Programmering C (3de året på Tekniska linjen med Dator och El-kunskaps inriktning).
Vi har från Programmering A -> C bara läst Java och det är inte förrän i slutet av kurs C som man lär sig lite vettiga saker.
Programmerar just nu ett 2 Player Snake spel, det tar lite tid i och med att java är ett ganska dumt språk tycker jag.
Matte C eller högre rekommenderas starkt ifall du nu skall programmera då du ofta kommer att behöva använda formler så som fall rörelser osv.

Permalänk
Medlem

Matte är relativt viktigt tycker jag, det är iaf den delen som är absolut svårast på högskolan imho, märker man lätt när antalet underkända i mattekurserna ligger på 40 - 50% ibland

håller med tidigare talande, derivator och integraler samt trigonometri och logaritmer är skönt att kunna bra...

Programmeringen skulle jag vilja säga beror på om du vill gå antingen Data eller IT

För IT rekomenderar jag Java eller C#
Data så tycker jag C eller C++

/Vixen som går 2:a året på Chalmers

Permalänk
Medlem

Jag programmerar ganska mycket spel och tycker det är ganska viktigt med fysiken. Där lär man sig mycket användbart. Från matten är det mest trigonometrin jag använder. Någon gång har jag gett mig på 3D och då är det bra att kunna sina matriser.

När jag började programmera tyckte jag det var kul att få resultat snabbt. Skulle jag börja idag skulle det nog vara i Visual C#. Om du vill göra spel skulle jag titta på XNA eller Flash med AS3.

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av EuQ
Läser just nu Programmering C...
Programmerar just nu ett 2 Player Snake spel, det tar lite tid i och med att java är ett ganska dumt språk tycker jag.

Java är inte ett dumt språk. Problemet är att på gymnasiet lär man sig att programmera Java på ett icke objektorienterat sätt, vilket är dumt, därav problemet.

Om man sätter sig in i Objektorienterad programmering (inte specifikt java) och förstår vad det hela går ut på så är java ett bra språk.

C++ är INTE ett lätt språk.

Det största nybörjarmisstaget (som högskolan/universitetet sen försöker fixa till) är att man tycker "man kan programmera" ganska snabbt och hoppar över lite här och lite där.

Lär du dig att programmera rätt från grunden (vilket tar mycket mer tid) sparar du in både tid och hår senare, och tro mig: det blir mycket roligare...

Har man inte skrivit ett program på mer än 1000 rader kod så kan det verka hur lätt som helst, men när du kommer upp i storlek och inte gör rätt så blir det snart en jävla soppa som till slut bara är skit. Så låt det ta tid och lär dig Objektorienterad programmering, då spelar som sagt språk ingen roll.

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Citat:

Ursprungligen inskrivet av fog
Lär du dig att programmera rätt från grunden (vilket tar mycket mer tid) sparar du in både tid och hår senare, och tro mig: det blir mycket roligare...

Visa ord av vis person

Permalänk
Medlem

Jag skulle personligen rekommendera att läsa så mycket matte du kan läsa på gymnasiet. Dels så krävs Matte D nästan oavsett vilken teknisk utbildning du ska läsa, och dels så är matten och fysiken det svåra att lära sig => smart att lägga tid på det.

När jag försökte lära mig programmera när jag gick på gymnasiet så började jag med att läsa böcker i ämnet, och jag tror att det är en bra strategi. Försök hitta något lagom lätt projekt att börja med, för om man inte får några resultat så kan det vara lätt att lägga av.

Skulle inte rekommendera att börja med c, iom att man sköter minneshanteringen där själv, vilket kan ge en hel del minnesbuggar som är svåra att avlusa om man inte har så stor koll. Många verkar gilla python för att det är lätt, java är annars ett bra språk med stort kodbibliotek => mycket färdigskriven kod => snabbare programutveckling.

Lycka till :).

Permalänk
Medlem

Java är mycket trevligt. Det är enkelt att komma igång med, det är plattformsoberoende och det är kraftfullt såtillvida att man snabbt kan skapa rätt avancerade program. Dessutom finns den utmärkta utvecklingsmiljön NetBeans.

Visa signatur

Coola låtar i massor!
http://revolvermen.com

Permalänk
Medlem

En lärorik resa är att börja med något lågnivåspråk, C eller Assembler. Börjar man med assembler så kommer man att undra varför det inte finns någon vettig struktur för olika datatyper. Då hittar man structs i C. Då försöker man göra någon form av "moduler", med strukturer och tillhörande funktioner. Då förstår man vitsen med objekt och är det dags att börja med C++.

I hela denna resa stöter man på problem med att allokera minne och framför allt att avallokera minne. Då börjar man förstå vitsen med java eller C# som har skräpsamlare så att man inte behöver bry sig om minnesallokeringen.

Fast som nog många säkert redan påpekat, så är språket egentligen inte det viktigaste. Det är viktigare att förstå principer och lära sig att lösa problem.

Men om man är mer datatekniskt inriktad, så vill man givetvis förstå hur allt fungerar från microprogrammering i CPU:n och uppåt. Då är den hårdvarunära approachen den rätta vägen.

Permalänk
Citat:

Ursprungligen inskrivet av fog
Java är inte ett dumt språk. Problemet är att på gymnasiet lär man sig att programmera Java på ett icke objektorienterat sätt, vilket är dumt, därav problemet.

Om man sätter sig in i Objektorienterad programmering (inte specifikt java) och förstår vad det hela går ut på så är java ett bra språk.

C++ är INTE ett lätt språk.

Det största nybörjarmisstaget (som högskolan/universitetet sen försöker fixa till) är att man tycker "man kan programmera" ganska snabbt och hoppar över lite här och lite där.

Lär du dig att programmera rätt från grunden (vilket tar mycket mer tid) sparar du in både tid och hår senare, och tro mig: det blir mycket roligare...

Har man inte skrivit ett program på mer än 1000 rader kod så kan det verka hur lätt som helst, men när du kommer upp i storlek och inte gör rätt så blir det snart en jävla soppa som till slut bara är skit. Så låt det ta tid och lär dig Objektorienterad programmering, då spelar som sagt språk ingen roll.

word

Visa signatur

Core i7 920, Asus Rampage II Extreme, 3x2GB Corsair Dominator DDR3, Sapphire Radeon HD4870x2, Corsair HX1000W, WD VelociRaptor 300GB

Permalänk
Citat:

Ursprungligen inskrivet av cp_
En lärorik resa är att börja med något lågnivåspråk, C eller Assembler. Börjar man med assembler så kommer man att undra varför det inte finns någon vettig struktur för olika datatyper. Då hittar man structs i C. Då försöker man göra någon form av "moduler", med strukturer och tillhörande funktioner. Då förstår man vitsen med objekt och är det dags att börja med C++.

I hela denna resa stöter man på problem med att allokera minne och framför allt att avallokera minne. Då börjar man förstå vitsen med java eller C# som har skräpsamlare så att man inte behöver bry sig om minnesallokeringen.

Fast som nog många säkert redan påpekat, så är språket egentligen inte det viktigaste. Det är viktigare att förstå principer och lära sig att lösa problem.

Men om man är mer datatekniskt inriktad, så vill man givetvis förstå hur allt fungerar från microprogrammering i CPU:n och uppåt. Då är den hårdvarunära approachen den rätta vägen.

Jag kan ju bara utgå från mig själv, men jag hade inte velat ha assembler som förstaspråk. Hade lackat ur på nolltid och lagt av. Då tycker jag det är en bättre väg att börja med ett lätt språk som är objektorienterat med stort bibliotek så man får in programmeringstänket, och sedan arbeta sig nedåt mot grunden.

Visa signatur

Core i7 920, Asus Rampage II Extreme, 3x2GB Corsair Dominator DDR3, Sapphire Radeon HD4870x2, Corsair HX1000W, WD VelociRaptor 300GB

Permalänk

Nu blir det många inlägg, men kom på att jag vill rekommendera boken vi använde i vår Introduktion till datalogi på KTH:
Objects First with Java. Riktigt bra introduktion till programmering som börjar i rätt ände.

Visa signatur

Core i7 920, Asus Rampage II Extreme, 3x2GB Corsair Dominator DDR3, Sapphire Radeon HD4870x2, Corsair HX1000W, WD VelociRaptor 300GB

Permalänk
Medlem

Stirra dig inte blind på språk utan lär dig tänket, det är det absolut viktigaste. Blanda gärna ett hög- och ett låg-nivåspråk för att få lite perspektiv (jag föredrar C och Scheme, men smaken är som baken). Det viktigaste är att hitta projekt man tycker är intressant och som får en att utvecklas. Vill du göra spel? GUI-program? AI? Fundera lite över var du vill och välj några språk som passar just din inriktning bra.

När det gäller spel är det mycket C och C++, och mycket mycket lågnivåkunskaper som gäller för motorkod, och C++ och scriptspråk (Lua etc.) som gäller för själva spellogiken.

En bok jag tycker är riktigt fin är How To Design Programs, http://www.htdp.org/2003-09-26/Book/
Den ger en grund till designtänk, men är i Scheme vilket av någon anledning avskräcker många Kombinerat med den betydligt tyngre Structure and Interpretation of Computer Programs och dess videolektioner är den en fin bas och går att använda i vilket språk/paradigm man än väljer att programmera.

/jdv - också civing, om det nu skulle göra mig trovärdigare av nån anledning.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem

Angående matematiken så är det en viktig del att du läser tillräckligt med matte för att kunna välja en utbildning senare. Matematik E borde du iallafall läsa.
Egentligen spelar det inte så stor roll hur och med vilket språk du börjar programmera, på högskolan börjar man ändå om från början och kurserna är inte speciellt svåra även för de som inte programmerat tidigare.

Visa signatur

I'm Winston Wolfe. I solve problems.