Permalänk
Medlem

Programmera

Hej!

Tänkte börja programmera. Har INGA alls kunskapar av att programmera. Jag skulle vilja programmera spel. Någon som har tips på guider som är bra?

Permalänk
Medlem

Finns nog ett 50-tal trådar om detta så du kan ju kolla dom...
Men iaf, C# kan du börja pilla lite med, finns mycket på nätet, bara sök efter C# Tutorial eller liknande, hoppas du kan någesånär engelska också, annars finns det böcker som Jan Skansholms Skarp Programmering med C#. För spel finns till exempel XNA för C# men det tar nog ett tag innan du kommer dit.

Permalänk
Medlem

Det första du bör göra är att välja vilket programmeringsspråk du vill lära dig. Jag vet inte om det finns något som är utmärkande bra att börja med, men jag har hört andra rekommendera C till andra som velat lära sig programmera. Själv fick jag lära mig Visual Basic först, när jag läste programmering A i gymnasiet.

Sedan kan jag rekommendera väldigt bra videotutorials från den här sidan http://www.thenewboston.com/. Kanske kan du hitta en lärobok till en grundkurs på något bibliotek, eller att köpa billigt.

Du kommer förstås inte kunna skapa några direkta spel med en gång, men om du är intresserad av programmering kommer du ha kul från första programmet på några få rader. Det är mycket problemlösning och efterhand som du lär dig mer kommer du få möjlighet att kombinera dina kunskaper för att skapa mer och mer invecklade program.

Lycka till och ha så kul!

Permalänk
Medlem

skulle inte rekomendera ren c som första språk. inte heller c++. Personligen så gillar jag c# men många rekomenderar python.

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |

Permalänk
Medlem

Jag tycker att C och C++ ändå är rätt bra som förstaspråk. Har man för ambition att lära sig om "allt" i språket så är det givetvis inte lämpligt, pga storleken på språken och hur mycket som finns att tillgå som kan vara väldigt knepigt för nybörjare. Dock är den grundläggande syntaxen med tilldelningar, loopar osv trevlig även för nybörjare.

Visa signatur

Namn : Jesper | Ålder : 48 | In-game namn : iller
Yrke : Kvantanalytiker, systemutvecklare.
Utbildning : PhD matematik. Självlärd med över 10 års erfarenhet av finansiell matematik och associerade ämnen.

Permalänk

Jag tycker Java är ett ganska bra första språk, finns dessutom stöd för att göra spel till många platformar då! Googla på java tutorials eller dylikt! I alla programmeringsspråk så finns det en tradition för det mest grundläggande programmet som heter "Hello World!", det kan du också söga på.

För att börja programmera, så måste du lära dig syntaxes, dvs du måste lära dig den mest grundläggande byggstenarna hos språket. Precis som i svenskan så kan du sätta ihop ord i olika ordning så att det får olika mening, precis så gör du i programmering. Exempelvis bokstäver blir ord, ord blir meningar, meningar blir stycken, stycken blir till dokument, osv...

Permalänk
Medlem

Kanske inte det mest traditionella tipset, men jag tror att JavaScript kan vara ett bra språk att börja med om man är helt grön och inte vet vad en variabel, en array eller en funktion är för någonting. Vet inget annat språk som är så lätt att bara kasta sig in i.

Visa signatur

Detta är första varningen va, jag ämnar brisera ur denna japanska kampställning och fullständigt förinta dig om inte du försvinner härifrån.

Permalänk
Medlem

Skulle faktiskt också rekommendera Java, enligt mig mycket bra nybörjarspråk, och det är det jag har fått lära min i kurs A och B på gymnasiet.
Rekommenderar Jan Skansholms böcker, pedagogiska och lättförståerliga, absolut en av de bästa bokserierna att lära sig från som är skrivna på svenska. Länk till nybörjarboken, här får du lära dig allt från grunden:

http://www.adlibris.com/se/product.aspx?isbn=9144024908

Tips på "programmeringsprogram": http://netbeans.org/
Ganska lättförståerligt och bra uppbyggt.

Vill dock varna dig att det inte kommer vara som så att du kan läsa några rader och sedan börja göra spel- att lära sig programmering är som att lära sig ett nytt språk. Du måste lära dig "grammatik", "meningsbyggnad", ordförståelse mm, det tar tid och kan vara ganska svårt ibland. Har läst programmering två terminer nu och är inte i närheten av att börja göra spel, man måste lära sig alla grunder i ett språk innan man kan börja tala det!
Om du bara vill rikta in dig på att göra små spel, men inte lära dig riktig programmering finns ju t.ex Gamemaker:

http://www.yoyogames.com/gamemaker/

Lycka till med programmeringen!

Visa signatur

CPU: Core i5 4690K | GPU: MSI GeForce GTX 970 Gaming | Mammabräda: Asus Maximus VII Ranger | Minnen: Corsair Vengeance 8 gb (2x4) 1600 Mhz | Kylare: Be Quiet! Pure Rock Slim | PSU: Evga SuperNova G2 750W | Chassi: NZXT H440 Red/Black

Permalänk

thenewboston på youtube har väldigt mångaa och bra tutorials på de flesta vanliga språken.

Visa signatur

i5 2500k@stock ** P67A-GD65 ** AMD 6950 ** 1TB F3 ** Lian-Li PC-FI8

Permalänk
Medlem

Kolla den här gamla tråden om samma sak, som innehåller ungefär samma argument som kommer dyka upp här. Detta ämnet har diskuterats ad nauseam.

Med det sagt;

  • Java har ett enormt och dåligt designat API, även om språket i sig självt inte är helt hemskt.

  • C är lite för lågnivå att börja med och det tar tid innan man får skapa något ordentligt.

  • C++ är lite samma stuk, och är dessutom ett dåligt byggt objektorienterat språk på grund av vissa designval.

  • D är ett bättre C-baserat objektorienterat språk som är något lättare att lära sig men plågas av att det har två standardbibliotek och dåligt stöd i vanliga bibliotek.

  • Obj-C är lite OSX-specifikt och har ett udda syntax, men är i övrigt som C, typ.

  • C# är (fortfarande lite) bundet till Microsoft och ungefär lika svårt att lära sig som Java.

  • Python och Ruby (där Python har lite större community) är lätta att förstå och ett syntax som liknar vanligt språk. De är i min mening de enda vettiga startpunkterna för någon som ska lära sig programmera.

Övriga språk är inte av intresse för en nybörjare som vill lära sig programmera eftersom de antingen är funktionella (Haskell, Lisp) eller för gamla (Basic, VB, Delphi).

Permalänk
Medlem

Jag kan varmt rekommendera BlitzMax, en basic dialekt som har det mesta man behöver. (Objektorientering, ärvande, polymorphism, pointers, en ganska bra garbage collector, massa gratismoduler)
Väldigt enkelt språk att börja med, men samtidigt väldigt kraftfullt!
Skriver du ett spel med standardmodulerna så funkar det på både MacOS, Linux och Windows utan att behöva ändra någonting!
www.blitzbasic.com

Permalänk
Medlem

Jag skulle välja C# eller Python. C# för att du kan göra ganska avancerade spel via XNA (Magicka är ex. gjort i XNA) och du slipper royalties. Spelmotorer, ex. Unity, använder också C#. Python är ett väldigt bra språk att börja med. Det kan skriptas, kompileras och det finns gott om bra bibliotek.

Jag skulle köpa en bok ur Head-First-serien. Dessa böcker är lite ickeortodoxa och flummiga. De är långa men det går snabbt att ta sig igenom dem och man fattar vad de vill förmedla. Jag skulle starkt avråda från svensk litteratur (Skansholm mfl), framförallt från Studentlitteratur AB. Dessa böcker har låg kvalitet och saknar kvalitetskontroll vad gäller pedagogik. Jämfört med internationella böcker ligger den svenska litteraturen långt efter. Och ja, jag har ett flertal böcker i Java, C, C++, bland annat av Skansholm. Under senare tid har jag upptäckt andra serier från kvalitetsförlag vilka får mig att undra varför jag valde att läsa ngt. annat tidigare.

Konkreta boktips:
http://www.prisjakt.nu/bok.php?p=964187 Python. Som tidigare sagt, mycket bra grund att lära sig programmera i.
http://www.prisjakt.nu/bok.php?p=933551 C#. Bra bok, OK språk. Du kan köra XNA sen när du vill göra spel.

Tänk dock på att det tar tid att lära sig göra spel från grunden. Vill du bara göra spel och inte programmera speciellt mkt (skripta) rekommenderar jag GameMaker, Flash eller Unity (Som också kan skriptas med C#). Därifrån kan man sedan gå vidare och lära sig ett "riktigt" programmeringsspråk.

edit: La till Unity som tips samt lite rättstavning.

Permalänk
Musikälskare
Skrivet av Loaded:

Kanske inte det mest traditionella tipset, men jag tror att JavaScript kan vara ett bra språk att börja med om man är helt grön och inte vet vad en variabel, en array eller en funktion är för någonting. Vet inget annat språk som är så lätt att bara kasta sig in i.

Håller med

Visa signatur

❀ Monitor: ASUS Swift 27" @ 1440p/165Hz ❀ CPU: Ryzen 7700X ❀ Cooling: Corsair H170i ELITE 420mm ❀ GPU: MSI 3080 Ti SUPRIM X ❀ Memory: Corsair 32GB 6000Mhz DDR5 Dominator ❀ Motherboard: ASUS Crosshair X670E Hero ❀ M.2: Samsung 980 Pro ❀ PSU: Corsair HX1200 ❀ Chassi: Corsair 7000X ❀ Time Spy: 19 340

📷 Mina fotografier
🎧 Vad lyssnar du på just nu?

Permalänk
Medlem

C# är bra o börja med

Permalänk
Medlem

Detta är ju ett av våra små flamewars här på sweclockers men efter att ha undervisat grundläggande programmering i några år (och även lärt mig ett flertal andra språk) så kan jag inte annat än rekommendera ADA för att lära sig programmera. Visst, ska man absolut lära sig att programmera spel så är det väl inte så lätt men vill man lära sig grunderna i programmering för att sedan gå vidare och lära sig andra språk så är det perfekt. Nedan är några saker man får på köpet när man programmerar i ADA med gnat:
En snäll kompilator
Har ni använt någon annan kompilator som säger "program.adb:12: missing ; " eller "<något> undefined, possible misspelling of <något annat>"
Tydliga block
Visst det är vackert med krullparenteser eller indentering för att se kodblock men betydligt lättare med if ... end if;, loop ... end loop; eller procedure ... begin ... end;
Lätt syntax
Språket har mycket ren engelska med många saker som är riktigt intuitiva, hur vettigt känns det egentligen med == för att jämföra saker? Visst man lär sig men en nybörjare har svårt att lära sig ändå, utan alla småsaker.
Väldigt typsäkert
Visst, man blir less på att inte få tilldela en float ett heltalsvärde men det tvingar en nybörjare att alltid hålla koll på vad ett uttryck evaluerar till och detta blir till en stor hjälp senare. Vem vet inte varför ett tal blir "avrundat" vid en heltalsdivision efter att de läst ADA?
Enkel parameteröverföring
En vettig uppdelning men function/procedure-uppdelning och bra med in/out/in out för parametrar. Visst sätt ett &-tecken så får du en referens och kan ändra på din variabel, problemet med det är ju att för att lära sig referenser ska man lära sig pekare och det är inget man vill sätta sig in i när man lär sig att göra underprogram. Mycket lättare att lära sig att "in out" betyder att du får in ett värde på variabeln och kan ändra på det för att sedan skicka tillbaka det nya värdet (även om det är samma sak)
Enkelt att komma igång
Installera gnat och en vettig texteditor (självklart emacs ) så är du igång.

En klar nackdel är ju såklart att det inte är ett så stort (eller iaf populärt) språk och det kan vara svårt att få hjälp. Då är det ju tur att många här har pluggat D/C i Linköping och läst grundläggande ADA. Finns alltid någon som kan svara på nybörjarfrågor.

Permalänk
Medlem
Skrivet av erlc:

En snäll kompilator
Har ni använt någon annan kompilator som säger "program.adb:12: missing ; " eller "<något> undefined, possible misspelling of <något annat>"

Det ska nämnas att detta inte är unikt för Ada. Clang (C-frontenden till LLVM) ger också hjälpsamma felmeddelanden, t.ex.

Skrivet av erlc:

Tydliga block
Visst det är vackert med krullparenteser eller indentering för att se kodblock men betydligt lättare med if ... end if;, loop ... end loop; eller procedure ... begin ... end;

Jag skulle vilja påstå att det viktigaste verktyget för att få strukturerad kod och tydliga kodblock, oavsett språk, är indentering. Övertydliga avslutningar av block är syntaxsalt och syftar mest till att tvinga programmeraren att visa att denne vet vad som pågår. Relativt meningslöst, alltså.

Skrivet av erlc:

Lätt syntax
Språket har mycket ren engelska med många saker som är riktigt intuitiva, hur vettigt känns det egentligen med == för att jämföra saker? Visst man lär sig men en nybörjare har svårt att lära sig ändå, utan alla småsaker.

Gäller även i stor utsträckning Python och Ruby (och Haskell, där språket då är det matematiska, inte engelska).

Skrivet av erlc:

Enkelt att komma igång
Installera gnat och en vettig texteditor (självklart emacs ) så är du igång.

Gäller även Ruby, Python, C, C++, Haskell, Lisp, Pascal, BASIC-dialekter m.fl.; nästan alla språk kan användas med endast kompilator och textredigerare. Just emacs är väl kanske inte det självklara valet för en nybörjare.

Skrivet av erlc:

En klar nackdel är ju såklart att det inte är ett så stort (eller iaf populärt) språk och det kan vara svårt att få hjälp. Då är det ju tur att många här har pluggat D/C i Linköping och läst grundläggande ADA. Finns alltid någon som kan svara på nybörjarfrågor.

Ada har ju sina tillämpningar i den amerikanska militären, främst i kritiska tillämpningar. Det är inte riktigt skapat för den mer generella marknaden. Det är ett väldigt verbost språk, men det liknar inte de språk som normalt används och därför kan det bli svårt för nybörjare att gå över till ett mer "användbart" språk (jag upplever att nybörjare ofta hänger upp sig på syntax, och det kan vara ett problem även vid en sådan övergång). Ada är inte lämpligt om man snabbt vill komma igång med "användbara" program eller spel i ett vanligt OS.

Permalänk

Alla språk utom C#. Vad är idén med att programmera om man ska vara instängd hos Microsoft? Då kan du väl lika gärna köra game maker. C# är till Java vad Vista var till Mac OSX. Ett dåligt försök till att kopiera ett bra koncept.

Om du vill ha mer konkreta råd skulle jag rekommender Java, Python eller C++. Java och Python har många bra tutorials på webben och du behöver inte tänka lika mycket på hur det ska lösas rent tekniskt så att du kan fokusera på programmeringen. De kommer inte vara lika episka som C++ men lättare att lära sig. Sen är det en fråga vad du har som del mål. Vill du programmera till Andriod så är det Java som gäller medan Symbian och iOS tar C/C++. De flesta spel utvecklas i C++.

Skrivet av macher:

Jag skulle välja C# eller Python. C# för att du kan göra ganska avancerade spel via XNA (Magicka är ex. gjort i XNA) och du slipper royalties.

Du menar det spel som lyckades med bragden att 51% av PCG Sverige, en tidning som gett Spore 82%. Torr humor och jag hatar det.

Permalänk
Medlem
Skrivet av HarmlessWarrior:

Alla språk utom C#. Vad är idén med att programmera om man ska vara instängd hos Microsoft? Då kan du väl lika gärna köra game maker. C# är till Java vad Vista var till Mac OSX. Ett dåligt försök till att kopiera ett bra koncept.

Om du vill ha mer konkreta råd skulle jag rekommender Java, Python eller C++. Java och Python har många bra tutorials på webben och du behöver inte tänka lika mycket på hur det ska lösas rent tekniskt så att du kan fokusera på programmeringen. De kommer inte vara lika episka som C++ men lättare att lära sig. Sen är det en fråga vad du har som del mål. Vill du programmera till Andriod så är det Java som gäller medan Symbian och iOS tar C/C++. De flesta spel utvecklas i C++.

Du menar det spel som lyckades med bragden att 51% av PCG Sverige, en tidning som gett Spore 82%. Torr humor och jag hatar det.

Java och 3D = NoNo. Javas lumpsamlare, ajaj. Java är bra till mycket, men inte till spel.

Vare sig du gillar Magicka eller inte spelar ingen roll. Andra gillar det, kolla på försäljningssiffrorna och läs fler recensioner. Anledningen till att jag valde Magicka var för att visa vad som är möjligt med C#.

Till vilka plattformar säljs spel? Framförallt konsoler och till Windows. Att säga att man låser in sig till M$ när man utvecklar C#, visst det gör man. Man når kanske bara 50% med XNA. Men, du slipper sitta och grotta ned dig OpenGL eller för den delen Ogre. Du kan väldigt fort få ihop enkla 2D-spel och sedan gå över till 3D. XNA har till skillnad mot andra "spelmotorer" mycket gratis men låter dig samtidigt knacka egna shaders etc, om du vill. Du kan t o m relativt enkelt implementera Deferred rendering. Fördelen med C# är att du kan börja med ett språk som är relativt lätt att lära sig och sedan utvecklas med det. Du kan komma väldigt långt innan du behöver byta språk till C++, vilket kan vara tryggt att veta som nybörjare. Som jag tidigare nämnt använder sig Unity av C# för skriptning, och med Unity når du även OSX och *nix.

Vill man dock lära sig att programmera så rekommenderar jag Python. Ska man programmera spel får man räkna med att byta språk ifall man vill syssla med 3D.

C++ _kan_ vara bra som förstaspråk. Det är dock tungt, omständigt och svårt. Det är väldigt lätt att ge upp programmering helt och hållet ifall man läser det på fritiden. Läser man det i en utbildning kanske det är lättare att hålla ut tills man över huvud taget kan rita ngt. grafiskt. Dock är det helt klart det språk man så småningom måste lära sig och bemästra ifall man vill knacka egna 3D-motorer.

Att börja med GameMaker, Unity, Blizz whatever är inte alls dumt. Ifall man vill göra spel dvs. När man vuxit ut ex. GameMaker kan man börja med C# eller Python och då sedan tidigare ha lite koll på kontrollstrukturer etc. Det hjälper en hel del. Så började jag.

Permalänk
Medlem
Skrivet av HarmlessWarrior:

[...] Java [...] ett bra koncept.

Okej.

Permalänk
Skrivet av zAjtarN:

Hej!

Tänkte börja programmera. Har INGA alls kunskapar av att programmera. Jag skulle vilja programmera spel. Någon som har tips på guider som är bra?

Nu skulle vara ett passande tillfälle att berätta vilken sida av kraften du valde...

Permalänk
Medlem

Har i omgångar varit nyfiken på Scala men skrämts bort av syntaxen och nya begrepp som closures, mixins, traits osv. Nu har jag börjat kolla på det igen och det ser riktigt intressant ut! Jag är ju lite Java-nörd men efter att ha suttit med C# ett tag märker man att det fattas lite saker. Inte så att man inte kan göra samma saker i Java, men det är mer omständigt.

Samtidigt gillar jag den lättsamma (nåja, under Suns styre iaf) inställningen och plattformsoberoendet hos Java, samt de många trevliga IDE:erna som finns att tillgå. Programmerar man i C# verkar det vara Visual Studio och inte så mycket annat, kanske MonoDevelop om man inte har jättehöga krav.

Scala verkar vara det naturliga steget från Java in i ett modernare objektorienterat språk som fortfarande är lika öppet och plattformsoberoende som Java. Finns det någon här som kan fylla i med egna tankar och erfarenheter kanske?

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Har i omgångar varit nyfiken på Scala men skrämts bort av syntaxen och nya begrepp som closures, mixins, traits osv. Nu har jag börjat kolla på det igen och det ser riktigt intressant ut! Jag är ju lite Java-nörd men efter att ha suttit med C# ett tag märker man att det fattas lite saker. Inte så att man inte kan göra samma saker i Java, men det är mer omständigt.

Samtidigt gillar jag den lättsamma (nåja, under Suns styre iaf) inställningen och plattformsoberoendet hos Java, samt de många trevliga IDE:erna som finns att tillgå. Programmerar man i C# verkar det vara Visual Studio och inte så mycket annat, kanske MonoDevelop om man inte har jättehöga krav.

Scala verkar vara det naturliga steget från Java in i ett modernare objektorienterat språk som fortfarande är lika öppet och plattformsoberoende som Java. Finns det någon här som kan fylla i med egna tankar och erfarenheter kanske?

Jag har börjat med Scala den senaste tiden. Då för att göra lite webb-programmering. Jag kan säga att jag inte kommer att använda nåt annat språk på server-sidan iaf, Scala fungerar utmärkt som server-språk. Det har väldigt bra prestanda osv. Ett problem är att språket är väldigt komplext, så det kan bli avancerat. Men nu handlade detta om clientprogrammering antar jag och då handlar det mest om vilket ramverk man vill använda så språket kommer lite i andra hand.

Permalänk
Medlem

Jag började med Autoit, vilket inte är så svårt, så det kan man börja med. Annars när jag ska läsa programmering på gymnasiet, då börjar vi med java.

Permalänk
Medlem

Vill lära mig Java. Vart finns det guider typ?

Permalänk
Inaktiv
Skrivet av zAjtarN:

Vill lära mig Java. Vart finns det guider typ?

http://www.youtube.com/watch?v=Hl-zzrqQoSE