Jag vill lära mig programmera! Hur?

Permalänk
Medlem

Jag vill lära mig programmera! Hur?

Hejsan alla glada!
Jag har under en tid nu funderat över saker och ting och kommit fram till att jag vill lära mig att programmera. Saken är den att på gymnasiet där jag går så finns det en, eller rättare sagt två programmering kurser men jag finner inte riktigt att jag kan få in dem i schemat. Mycket annat som lockar. Det rör sig om Programmering A och C i Java och jag har funderat på om man kanske kan läsa in A kursen själv och tenta av den för att sedan ta C kursen. A kursen ska tydligen vara mycket lätt och vara som ett litet smakprov. Men men hur som helst, till saken.

Hur pass svårt är det att lära sig programmering helt på egen hand? Jag är 16 bast och har ingen som helst tidigare erfarenhet av det hela. Jag menar, hur mycket kan man lära sig på det man finner på internet? Kan jag klara mig själv med en lärobok och en plattform?
Men som sagt så vet jag i princip ingenting om programmering och jag vet inte riktigt i vilken ände jag ska börja med allt detta. Om någon kan vara så vänlig att hänvisa till vart det är bra att börja någonstans vore jag evigt tacksam.

Jag undrar även lite kring det här med olika språk. Vad jag förstått så är C++ det "tyngsta" språket och kan man det så kan man lära sig allt annat relativt enkelt och att det även används mycket inom spelindustrin. Java däremot är mycket likt men något enklare att lära sig samt att det är bättre lämpad för programmering av program som ska användas till Windows. Är jag helt ute och cyklar?
Vad bör jag välja?

Tack på förhand!

Visa signatur

HP Pavilion dv5-1095eo

Permalänk

Om du är beredd att läsa mycket, till stor del på engelska, kan du lära dig väldigt mycket på egen hand. Java är ett ganska bra språk att börja med. Det är plattformsoberoende, välstrukturerat, har ett lättläst API och är lätt att skriva grafiska program i. Rekommenderad läsning är The Java Tutorial. Börja läsa uppifrån med början på "Getting started" och "Learning the Java Language". När du sedan programmerar kan du slå upp saker i Java-API:t.

Permalänk

Annas kan man ju små kika på ruby eller något liknande, sedan gå över till C# med .net om du nu sitter under windows (finns i linux med, men Windows.Form är väl inte komplett ännu?).

Permalänk
Medlem

java är inte mer lämpat för windows, än någon annan os. det är ett sk. plattformsoberoende språk.
Den största fördelen jag ser med java är att det är så lätt att skapar en gui(grafiskt grännsitt).

du borde kunna klara av att läsa in Programmering A på egenhand, jag hade lärt mig allt som togs upp i Programmering A & B innan jag läste dem på gymnasiet.
men du bör prata med läraren ifråga så du har någon tid du kan komma och fråga om saker och få hjälp med dina program som du kört fast med.

Permalänk

Du kan komma igång bra med en bra bok. Kolla på amazon.com över olika böcker och läs recensionerna och välj därefter.

Visst går det att börja med C++ och sedan lära sig "allt annat" senare och kanske tycka att det är enklare. Det känns nog som att det vore bättre att börja med C# (C-sharp) som liknar java mycket och har delar från C++ och Perl m fl språk. Personligen föredrar jag C# framför C++ helt enkelt för att man får fram ett färdigt program mycket snabbare. Sedan kan man t ex i spelindustrin kanske föredra C++ så vet man att man ska jobba med sådant som kräver C++ så kan man börja med det.

C# finns i en variant för Unix också som då heter mono. På så vis kan du använda det du programmerar utanför windows världen. Mono ligger av naturliga skäl lite efter i utvecklingen.

Lycka till!

Visa signatur

The Programmer

Permalänk

Tycker det är mest sunt att om man har bra med tid och tålamod lära sig C++ riktigt ordentligt, det går bra med böcker och vägledning vid sidan av...

I frågan om Java är bättre om du ska skapa program för Windows så kan jag inte riktigt hålla med eftersom du kan göra allt det med C++, bättre.

Du kommer nog ha lättast att gaffla ut i någon specifik del av nyttoprogram eller spel sen när du vill det om du kör riktigt ordentligt med C++...
Men det är bara en personlig åsikt, vill du göra det lite lättare för dig eller är osäker på om du vill programmera ordentligt så kanske du borde köra med något av de magiska språken som gör allt åt dig (slöare) och inte låter dig bestämma.

Visa signatur

"90% av att vara smart är att veta sina begränsningar. De återstående 10 procenten är att veta att man måste gå utanför dessa begränsningar."
Hjälp till att öka kunskapen.
FirefoxMyths

Permalänk
Medlem

Fast, om man aldrig har programmerat, så kan det nog kännas tungt och främmande att börja med c++. I början stöter man på mycket hinder i c++. Bättre då att börja med något enklare som java, ruby, python, c# eller så, där mera saker finns "färdiglagat".
Skulle nog rekommendera java. Det ger en bra förståelse för objektorientering, samt att det banar väg för att lära sig c++.

Visa signatur

5.times {print "Lär dig ruby!"} http://poignantguide.net/ruby/

Permalänk

Låna en bok om programmering.

Jag rekomenderar inte c++. Man har inte så mycket för att börja med svårare språk. Högnivåspråk ger en bättre förståelse för bra programmering. Lågnivåspråk ger dock bättre förståelse för hur det egentligen fungerar.

Python är ett språk att rekomendera. Man kan ofta vänta längre med mer avancerade koncept utan att förlora förmågan till dem. Jämför med Java, där man redan från början måste lära sig förstå klasser och objekt.

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Citat:

Ursprungligen inskrivet av Sebastianj
Jag rekomenderar inte c++. Man har inte så mycket för att börja med svårare språk. Högnivåspråk ger en bättre förståelse för bra programmering. Lågnivåspråk ger dock bättre förståelse för hur det egentligen fungerar.

I min mening är det just den förståelsen för hur saker fungerar som gör att du lär dig "bra programmering"... Man lär sig inte värst mycket "bra programmering" genom att få allt gjort åt sig.

Visst, man kommer in i hela programmering-svängen lite, men jag vill mena att det är bättre att faktiskt lära sig lite nyttigt på vägen även i början.

Visa signatur

"90% av att vara smart är att veta sina begränsningar. De återstående 10 procenten är att veta att man måste gå utanför dessa begränsningar."
Hjälp till att öka kunskapen.
FirefoxMyths

Permalänk
Citat:

Ursprungligen inskrivet av RikkiAnderzoni
I min mening är det just den förståelsen för hur saker fungerar som gör att du lär dig "bra programmering"... Man lär sig inte värst mycket "bra programmering" genom att få allt gjort åt sig.

För mig är bra programmering att göra bra och lättunderhållen desig. Att lära sig detaljer om hur datorer fungerar kan man göra ändå. Jag kan en hel del lågnivådetaljer, det är inget jag använder ofta när jag programmerar. Där jag brister mest är snarare i algoritmkunskap och i designkunskap. Sådant är svårare att lära sig i mer komplicerade språk, där man måste koncentrera sig på smådetaljer som skillnaden mellan *var, &var och var.

Men jag pratar bara ur egen erfarenhet, för mig var den största läxan av att börja studera C++ att Java:s strikhet på OO inte var så dålig ändå. Mest har jag dock lärt mig av Python, jag har nog lärt mig mer om Java när jag läst om Python än när jag läst om Java.

Citat:

Ursprungligen inskrivet av RikkiAnderzoni
Visst, man kommer in i hela programmering-svängen lite, men jag vill mena att det är bättre att faktiskt lära sig lite nyttigt på vägen även i början.

Jag vill mena att många lär sig alldeles för mycket lågnivå i början, de börjar räkna klockcykler på program som belastar CPU:n till 5% i max-load, de skippar att använda tillräckligt med funktioner för att spara lite cykler på calls, vilket gör koden svårhanterad. De gör progrmmen hopplöst ineffektiva, då de har läst för mycket lågniv[, utan att ha lärt sig viktiga läxor om högnivå. De envisas med att implementera allt själva och uppfinna hjulet tio gånger om, de gör det de4ssutom femkantigt.

Men jag kanske bara är bitter för att jag är för lat för att orka skriva saker i C++ och är dömd till Python av ren lättja.

Visa signatur

Python-IRC på svenska: #python.se

Permalänk
Medlem

Jag har iaf börjat med C++ för en månad sen ungefär, och än så länge så verkar det inte så hemskt svårt, men det här kommer jag väll få äta upp om jag fortsätter läsa dom svårare C++ kurserna.

Visa signatur

Dur ru - dum.

Permalänk
Glömsk

Nu ska jag tala om hur det ligger till. Mina credentials är att jag är hobbyprogrammerare sedan många år tillbaka, självlärd. Jag är dessvärre väldigt opragmatisk, får därför väldigt lite praktiskt gjort (var väl nån period 2002-2004 jag fick jävligt mycket praktiskt gjort, men sen har det gått utför), och ser programmering som ett medel och inte ett mål. Så ta inte allt jag säger på allvar.

Till att börja med så är det definitivt möjligt att lära sig programmera på egen hand. Vi kan generalisera inlärningsprocessen till följande steg: Läs text/bok/guide/tutorial, skriv kod, ställ frågor, upprepa, koda, koda, koda, ställ fråga, koda, läs lite, koda, koda, läs annans kod, läs annans kod, koda, läs annans kod, koda, läs annans kod, koda, upprepa, lär dig ett nytt språk eller ett bibliotek, koda, koda, koda, koda, skapa något praktiskt (kanske)... Osv.

Hur man kommer dit är lite skitsamma, men vissa vägar är (grymt mycket) enklare än andra. För att verkligen begripa programmering måste du lära dig flera språk. Vilket språk du än väljar att börja med så kommer det vara FEL val, eftersom man aldrig kommer fatta det här med programmering förrän man lärt sig flera språk. Du kommer att få fula vanor av det första språket du lär dig och när du kodat några år kommer du fundera varför i helvete du började med ett sådant skitspråk. Sedan efter ytterliggare några år kommer du att inse att det var oundvikligt.

Den här tråden kommer snart urarta i ett språkkrig. Jag skulle rekommendera följande till trådskaparen: Om någon rekommenderar ett populärt språk, så ska du fråga personen hur många språk han kan och varför han rekommenderar det populära språket. Chanser är att han rekommenderar det för att han 1) Var tvungen att lära sig språket i nån universitetskurs (eller ännu värre, i gymnasiet) eller 2) Han hörde att det var Det Enda Ultimata Språket (förresten: det finns inga sådana) när han lärde sig programmera.

Cheers,

Visa signatur

...man is not free unless government is limited. There's a clear cause and effect here that is as neat and predictable as a law of physics: As government expands, liberty contracts.

Permalänk

Mycket bra skrivet Pscionicist!

I know that most men, including those at ease with problems of the greatest complexity, can seldom accept even the simplest and most obvious truth if it be such as would oblige them to admit the falsity of conclusions which they have delighted in explaining to colleagues, which they have proudly taught to others, and which they have woven, thread by thread, into the fabric of their lives.
-- Leo Tolstoy

Permalänk
Inaktiv

Jag började med Delphi, i slutet av 90 talet. Hittade en Delphi Skola i PC För Alla.
Det var så min programmeringsgrund byggdes. Sedan så läste jag C++ i skolan, men förstod inte ett dugg, hehe. Men efter ett tag så började man förstå hur man skulle programmera. Jag började med Visual Basic undwer den tiden också.
Det var också en Programmeringsskola i PC För Alla som jag läste och blev intresserad utav.

Sen fick jag massa idéer till program jag inte hade kunskapt till att göra då, så jag betade av min idélista vartefter ajg blev bättre på programmering.

Just då höll jag på med tre språk C++, Delphi och Visual Basic; men då jag tyckte att VB och Delphi var mycket lättare att förstå så släppte jag C++ helt.

Sen har jag gått igenom en del anndra språk, som Java, C#, VB.NET.
Alla dom språken lärde jag mig via min förra utbildning i Norrtälje.

Nu håller jag bara på med Lingo; ett objektorienterat språk som används i Director MX.

Kan ju säga att det är först nu när jag använder Lingo jag verkligen börjar fatta vad OOP är, även fast jag har gått igenom en del OO språk innan.

Permalänk

Vilket program ska man använda för att programmera Java?

Permalänk
Medlem

Netbeans är ett trevligt verktyg med det mesta som behövs för javaprogrammering. Eclipse är ett annat som många använder.

Det går också bra att bara koda i en texteditor och sedan använda SUN:s kommandoradsverktyg som följer med java jdk:n för att kompilera/köra.

Citat:

Ursprungligen inskrivet av rDanielson
Vilket program ska man använda för att programmera Java?

Permalänk

Anledningen till att jag rekommenderar C++ är av de simpla anledningarna jag skrev tidigare, inte på grund av att någon sa till mig att det var "the shit" eller något sånt, jag lärde mig inte heller C++ i en gymnasiekurs, jag lärde mig själv innan jag gick Prog A och Prog B, ungefär ett år innan...

Just nu kör vi C# i skolan, det och ASP.NET (i "Virtuella Miljöer", webb + databaser) och det är bara vider, så jag tror inte man tenderar att gilla det man använder i skolan mer än något annat...

Oavsett så står jag för det jag skrivit tidigare i den här och andra trådar om diverse populära språk. Mina åsikter må vara konstiga, bitvis grundlösa och trolliga, men så är det...

Visa signatur

"90% av att vara smart är att veta sina begränsningar. De återstående 10 procenten är att veta att man måste gå utanför dessa begränsningar."
Hjälp till att öka kunskapen.
FirefoxMyths

Permalänk
Citat:

Ursprungligen inskrivet av Racy
Netbeans är ett trevligt verktyg med det mesta som behövs för javaprogrammering. Eclipse är ett annat som många använder.

Det går också bra att bara koda i en texteditor och sedan använda SUN:s kommandoradsverktyg som följer med java jdk:n för att kompilera/köra.

Ok men om man har Visual Studio .NET funkar inte det oxå?

Permalänk
Inaktiv
Citat:

Ursprungligen inskrivet av rDanielson
Ok men om man har Visual Studio .NET funkar inte det oxå?

Då får du programmera i Visual J#.NET
Microsofts svar på java.

Permalänk

Aha okej

Permalänk
Medlem

Förutom själva programmering så hjälper det väldigt mycket om man har lite allmän datorkunskap. Blir riktigt jobbigt om man inte klarar o söka rätt enkla grejer i google eller i språkets dokumentation (msdn tex). Varför säger jag nu det här? Jo, trådskaparen har uppenbarligen varken sökt på forumet eller läst FAQn överst på sidan!

Edit: Om du ska programmera J# så skulle jag föreslå att du väljer C# istället. Java o C# är i stort sett samma språk, J# är däremot bara ett försök av MS att göra en .net-variant av Java för att underlätta för dom som redan har en massa kod skriven i Java som dom vill porta till .net.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av vb
Förutom själva programmering så hjälper det väldigt mycket om man har lite allmän datorkunskap. Blir riktigt jobbigt om man inte klarar o söka rätt enkla grejer i google eller i språkets dokumentation (msdn tex). Varför säger jag nu det här? Jo, trådskaparen har uppenbarligen varken sökt på forumet eller läst FAQn överst på sidan!

Edit: Om du ska programmera J# så skulle jag föreslå att du väljer C# istället. Java o C# är i stort sett samma språk, J# är däremot bara ett försök av MS att göra en .net-variant av Java för att underlätta för dom som redan har en massa kod skriven i Java som dom vill porta till .net.

Jag har skummat igenom FAQ:en och inte hittat något som ger ett konkret svar på mina frågor. Har även sökt men inte så noga det erkänner jag.

Tack för alla snabba svar! Får ta mig en funderare på det här.

Visa signatur

HP Pavilion dv5-1095eo

Permalänk
Medlem

Hmm, stjäler tråden lite...

jag sitter med en bok om visual c++ och en om c#, har också visual studio.net så det är bara att börja. Men vilket rekomenderas och varför?

Är enbart intreserad av att skriva windowsprogram så platformsoberoende är oviktigt.

Visa signatur

Ignoscere divinum

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av rhebb
Jag har skummat igenom FAQ:en och inte hittat något som ger ett konkret svar på mina frågor. Har även sökt men inte så noga det erkänner jag.

Tack för alla snabba svar! Får ta mig en funderare på det här.

Nej, så illa var det inte, var kanske lite övertydlig o hård i mitt inlägg
Ditt första inlägg har ju en specifik fråga, men iaf alla svar i tråden kunde lika gärna komma från någon av trådarna som kommer upp om man söker på "lära mig programmera".

Exempel på trådar som har med saken o göra:
http://forum.sweclockers.com/showthread.php?s=&threadid=48103...
http://forum.sweclockers.com/showthread.php?s=&threadid=48045...
http://forum.sweclockers.com/showthread.php?s=&threadid=47860...
http://forum.sweclockers.com/showthread.php?s=&threadid=46313...
http://forum.sweclockers.com/showthread.php?s=&threadid=44615...

Slutligen: Du kommer aldrig få ett exakt svar på frågan "Vad bör jag välja?" i din första tråd, för olika på forumet tycker olika. Även om jag förstår om det verkat lite obestämt i andra liknande trådar så hjälper det inte o fråga samma sak igen, det gör bara att Sebastianj får skriva samma sak om python igen, BobbyFromDallas om nått filosofiskt tjafs ;), MagnusL om C++ osv.

edit: Xplash: C#. För att slippa all gröt i C++: slippa pekare hit o dit, slippa göra garbagecollection själv osv. Finns hur mkt som helst som strular till det. (Kanske ska tillägga att jag står på den "lätta" sidan om lära sig programmera, dvs bäst o börja med ngt enkelt så man får resultat snabbt)

Permalänk
Hedersmedlem

Är det någon som läst igenom
"How to Think Like a Computer Scientist
- Learning with Python"
?
http://www.ibiblio.org/obp/thinkCSpy/
PDF och lite annat http://www.greenteapress.com/thinkpython/

Det intressanta i den är att saker som jag lärde mig i 6p programmeringsintrokursen på universitetet tas upp (i vår kurs var användes standard ML, men saker som länkade listor osv var ju nytt då).
Så för att förstå programmering på en annan nivå än vad gymnasiekurser (speciellt utan bra lärare) proppar i eleverna så är detta intressant.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem

Här har du iaf en kul guide i Ruby om du får för dig att testa det:
http://poignantguide.net/ruby/

Permalänk
Medlem

Ahh. Ruby är underbart!
Det var nån gång när jag hade ändrat på typ 100 ställen i koden och dessutom lagt till flera sidor. Kompilerar, och... inte en enda bugg!
Och det säger mer om Ruby än om mig, kan jag lova

Visa signatur

5.times {print "Lär dig ruby!"} http://poignantguide.net/ruby/

Permalänk
Medlem

A-kursen kan du antagligen läsa in helt själv väldigt lätt i vilket språk som helst eftersom den inte innehåller så mycket.

Ifall du kan lära dig det på egen hand beror väldigt mycket på, det handlar egentligen helt om ifall du gillar det. Det är lätt att bli less på de enkla konsol-programmen som bara gör små matteuppgifter, och om man inte tycker det är kul är det nog väldigt svårt att lära sig själv (lite enklare om man går på lektioner och därmed tvingas till det).
Om du däremot gillar det kan du lära enormt mycket väldigt snabbt, börjar man väl koda på nåt lite större måste man verkligen kolla upp saker man inte kan hela tiden och i den processen lär man sig massor.

Visa signatur

hmm

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Foolo
Ahh. Ruby är underbart!
Det var nån gång när jag hade ändrat på typ 100 ställen i koden och dessutom lagt till flera sidor. Kompilerar, och... inte en enda bugg!
Och det säger mer om Ruby än om mig, kan jag lova

w00t! Kompilerar du ruby!?

Annars är det ett väldigt trevligt interpreterat språk!

Visa signatur

GCS/GE/GCM d-- s--: a? C+++ UBL+++ P+>++++ L+++(++) E--- W+++ N-(+) o-- w--- O- M++(-) V-- PS PE+++ Y+ PGP- t--- 5-- X-- R- tv- b++ DI++++ D---- G e* h r%(++) y?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Helmutt
w00t! Kompilerar du ruby!?

Annars är det ett väldigt trevligt interpreterat språk!

Javisst! Slängde ihop en liten kompilator i söndags då jag märkte att det inte fanns nån tillgänglig.

Visa signatur

5.times {print "Lär dig ruby!"} http://poignantguide.net/ruby/