Kluven kring val av första språk

Trädvy Permalänk
Medlem
Registrerad
Dec 2015

Kluven kring val av första språk

Målet är att programmera i c++, ingen vettig anledning förutom att majoriteten av spel är programmerade just i c++ och det känns som ett språk som är i stort sett användbart i alla områden.

Dock så läser man dagligen om avrådandet om att börja med c++ pga att det skulle vara komplicerat.
Folk tipsar istället om python, java och C#.

Är verkligen c++ så "svårt" som folk säger, vad menas med att språket är svårt i jämförelse med andra språk?

Edit: Det känns också som att alla tipsar om att börja med de språk som de själva började med.

// UsAndThem

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2014
Skrivet av UsAndThem:

Målet är att programmera i c++, ingen vettig anledning förutom att majoriteten av spel är programmerade just i c++ och det känns som ett språk som är i stort sett användbart i alla områden.

Dock så läser man dagligen om avrådandet om att börja med c++ pga att det skulle vara komplicerat.
Folk tipsar istället om python, java och C#.

Är verkligen c++ så "svårt" som folk säger, vad menas med att språket är svårt i jämförelse med andra språk?

Edit: Det känns också som att alla tipsar om att börja med de språk som de själva började med.

// UsAndThem

Rent spontant så tror jag att när folk skriver "svårt" så menar dom att det inte är intuitivt om man ej sysslat med programmering förut.

Själv började jag med Java, och det tyckte jag var en bra start. Kan även tänka mig att Python, som du skriver, är väldigt lätt första språk. Dessa språk kräver lite mindre tekniskt tänk, ofta, även om man kanske är lite mer begränsad ibland. Generellt så är det ju enklare med så kallade "högnivå" språk, eftersom dom är längre från maskinkod, och mer "Psuedo-kod", alltså hur man tänker om man bara skriver ner ett enkelt flöde i programmet, typ:

Gör detta
sen gör detta.
Om detta är fallet
gör detta
annars gör detta.

Edit: Ovanstående ska alltså vare lättare att översätta till verklig kod i mer högnivå programmeringsspråk, och svårare i mer maskinnära språk. C++ och C är mer maskinnära än till exempel Java och Python.

Trädvy Permalänk
Medlem
Registrerad
Dec 2015

Om jag skulle vilja programmera en journal, ett sätt att loggföra mina t.ex gympass, med vikter, set, reps, osv osv

Vilket språk lämpar sig bäst till sådana lite simplare applikationer?

Trädvy Permalänk
Medlem
Plats
Paris
Registrerad
Nov 2015
Skrivet av UsAndThem:

Om jag skulle vilja programmera en journal, ett sätt att loggföra mina t.ex gympass, med vikter, set, reps, osv osv

Vilket språk lämpar sig bäst till sådana lite simplare applikationer?

Om du arbetar med Windows och behöver grafisk interface så är C# ett bra nybörjarspråk.

Andra alternativ är Java och Python som båda är bra alternative. Jag arbetar själv framförallt med Python.

Citat:

Är verkligen c++ så "svårt" som folk säger, vad menas med att språket är svårt i jämförelse med andra språk?

C++ är inte speciellt svårt, men det krävs avsevärt mer arbeta för att göra något simpelt som du beskriver, om man jämför med språk som t.ex. C#. Sedan beror det mycket på vilket platform du arbetar med, vad (och varför) du vill lära dig osv.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2014
Skrivet av UsAndThem:

Om jag skulle vilja programmera en journal, ett sätt att loggföra mina t.ex gympass, med vikter, set, reps, osv osv

Vilket språk lämpar sig bäst till sådana lite simplare applikationer?

Beror ju helt på var du vill loggföra det. Vill du ha det tillgängligt på mobilen så är ju Android bra. Att ha ett sånt mål på ett enkelt program är väldigt bra att ha som ett start-projekt för att lära sig lite grunder. Dock kan det vara bra att börja med lite programming-basics i Java om du ska programmera Android (som typ hur if-satser fungerar, for-loopar och while-loopar). Finns säkert snabba instruktioner online.

Android har väldigt bra stöd för att skapa enkla GUI med listor och räknare osv, och jag tror du skulle tycka om att ha det på mobilen, så kolla runt lite om du hittar nån bra guide om en simpel grund för Android.

Tyvärr kan jag inte säga något om Python för just detta fall, har väldigt begränsad erfarenhet av Python, men tror det skulle kunna funka där också, om du vill ha det på datorn.

Edit: Som @eandersson_net skriver så är C# bra om du vill göra ett enkelt GUI till windows. Programmeringsspråk är helt enkelt verktyg för vad du vill göra, där du väljer det som lämpar sig bäst för uppgiften, precis som att det finns tillfällen då en hammare passar, och tillfällen då en skruvmejsel passar.

Trädvy Permalänk
Medlem
Registrerad
Dec 2015

Ska kika lite på det i helgen, kan tänka mig att det blir lite lättare att komma igång om man faktiskt har ett litet enklare projekt att börja med.

Har lite erfarenhet ifrån gymnasiet (10 år sedan), med VG i programmering A och B.
Om jag inte missminner mig så var det Visual Basic i A-kursen och C++ eller något i B-kursen.

Allt är bortglömt, men vill minnas att det var en av få gånger man faktiskt hade en gnutta kul.

Trädvy Permalänk
Medlem
Plats
Hudiksvall
Registrerad
Jul 2009

Om du t.ex. vill jobba med att utveckla spellogik för högbudget-titlar så kör på c++.
Vill du göra desktop-program och enkla spel för Windows så kan du nöja dig med c#.
Så länge du har motivationen ser jag ingen större anledning att börja med något 'enklare' språk.

Chassi: DAN A4 | MB: ASUS VI Impact | GPU: Titan X | CPU: 4770K | RAM: 2x8GB Corsair Vengeance | SSD: Samsung 830 512GB | Skärm: ASUS Swift IPS

Trädvy Permalänk
Medlem
Registrerad
Jan 2011

Jag håller med om att C++ kan vara riktigt svårt för någon som är ny. Det är såklart extremt kraftfullt, men tyvärr också sjukt stort och brett, vilket gör det svårare att lära sig programmering som tankesätt - alltså hela den biten som är oberoende av just språket man skriver i.

Jag skulle nog börjat med C# om jag fick välja. Det känns mer som ett språk som bara funkar och är ett av de lättare att komma igång med. Sen är steget över till C++ inte så stort när man väl "kan" programmera.

Trädvy Permalänk
Medlem
Plats
Malmö
Registrerad
Dec 2011
Skrivet av UsAndThem:

Ska kika lite på det i helgen, kan tänka mig att det blir lite lättare att komma igång om man faktiskt har ett litet enklare projekt att börja med.

Har lite erfarenhet ifrån gymnasiet (10 år sedan), med VG i programmering A och B.
Om jag inte missminner mig så var det Visual Basic i A-kursen och C++ eller något i B-kursen.

Allt är bortglömt, men vill minnas att det var en av få gånger man faktiskt hade en gnutta kul.

Det bästa du kan gör att att till och med börja med enkla saker som att skriva ut en rad tex, rada upp nummer, göra enkla loppar, kalla på enkla funktioner, osv. Sen när du känner att du har hyffsad koll på det hade jag fixat något enklar program.

Som alla säga är Java, Pyton, mm lättare då du tex slipper saker som minnes alokering. Grund principen i programmering får du i vilket språk du än väljer att läsa och att sen röra sig till ett annat går relativt lätt. För att få in rätt tänk runt progammering hade jag själv börjar med ett av de lättare språken då programmering är till 90% felsökning och allt du lägger till genom att gå på C++ direkt är fler saker som kan gå fel --> svårare felsökning.
Lär du dig då tänket runt programmering i ett annat språk kan du bara vid ett lite senare tillfälle hoppa till C++ och bara behöva tragla med de nya bitarna och förhoppningsvis även bara behöva felsöka just dessa.

Jag läste själv programmering på Gymnasium och Högskola och där börjades det med Java på båda. Under tiden på högskolan läste vi även många kurser som hade anknytning till programmering och helt plötsligt fick vi utskrift från tex C++ och man kunde förstå den utan att jobbat i det innan. Dock var det en lite annan historia att börja skriva koden själv, men det blev ändå så klart att det inte spelar så stor roll vilket språka du börjar i. Att röra sig emellan är inte speciellt svårt när man har lärt sig grunden.

Jag har lite svårt att tolka om detta rör sig om ren hobby-verksamhet eller hela din livsstil, beroende på detta kan kommande stycke vara delvis / helt orelevant.
Ängående delen där du säger att det roligaste du gjorde i skolan var programmering så kan jag säga att jag kände lika dant. Det jag tror mig har kommit fram till är att jag vill göra något praktiskt och progammering kom närst det när man satt i skolbänken. Mitt tips om du inte testa på något mer praktsikt yrke / utbildning är att testa det, det kan mycke väl rör sig om att det är det som passar dig, oavsett hur lätt / duktig du var det teoretiska ämnena.

Dator Intel i5 3570k @ 4.2GHz - Noctua NH-D14 - Asus R9 290X DCII - MSI Z77A-G45 - Corsair V LP 16GB - Crucial MX100 512GB - Corsair HX750 - ASUS STX
Skärm Eizo EV2736W @ 2560x1440 - Benq XL2411Z @ 144Hz
Ljud Sonos amp - Dali Lektor 2 - XTZ 99 W8.16
NAS Synology DS212+ 2x2Tb

Trädvy Permalänk
Medlem
Plats
Paris
Registrerad
Nov 2015
Skrivet av xinux:

Om du t.ex. vill jobba med att utveckla spellogik för högbudget-titlar så kör på c++.
Vill du göra desktop-program och enkla spel för Windows så kan du nöja dig med c#.
Så länge du har motivationen ser jag ingen större anledning att börja med något 'enklare' språk.

Har man motivationen så spelar det inte så stor roll vilket språk man börjar med, om inte annat så är det lättare att fortsätta motivera sig när man kan skapa något användbart och snyggt någorlunda snabbt. Sedan ska vi inte glömma att många stora titlar är gjorda med C# och Unity idag. Det är inte längre ett krav för stora titlar att skrivas i C eller C++. Men självklart finns det begränsningar.
http://madewith.unity.com/games

Sedan är det inte längre lika svårt att gå från ett enkelt språk som Python till C++ idag som det va för några år sedan. C++ har blivit mycket lättare att arbeta med, och det finns idag så pass mycket gratis inlärningsmaterial och sidor som t.ex. Stackoverflow där man kan få hjälp om man fastnat.

Mycket lättare att gå från att lära sig ett "enkelt" språk till C++, än att gå från noll till att lära sig C++ direkt. =]

Trädvy Permalänk
Medlem
Plats
Borås
Registrerad
Okt 2002

Om målet är att programmera i C++ så tycker jag det är vettigt att försöka lära sig C++ istället för något annat. Jag tror inte det blir lättare att lära sig C++ genom att först lära sig något annat.

Eller jo visst är det lättare att lära sig ett nytt språk om man tränat programmering innan i ett annat språk men det jag menar att jag inte tror det går fortare att lära sig C++ genom att börja med ett annat språk jämfört med att börja med C++ direkt.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

Håller helt med @ronnylov, om målet är att skriva spel i C++ varför ska du då först lära dig något annat?

Sedan verkar många här fortfarande referera till 90-tals C++. I "modern" C++, d.v.s. C++11 och senare, så är det full möjligt och till och med rekommenderat att skriva sina program på ett sätt där man aldrig kommer behöva tänka på att explicit hantera minne. C++ möjliggör och tillåter fortfarande explicit hantering av resurser, något man lär behöva hålla på med så fort man vill göra mer avancerade applikationer och spel. Alla typer av spel som överhuvudtaget är möjligt att skriva i t.ex. C# eller Python är däremot fullt möjliga att skriva i C++ helt utan explicit minneshantering.

Vidare får nog de som hävdar att C++ är ett mer komplicerat språk än t.ex. C# och Python nog specificera vad man menar. Sett till antal finesser som är del av syntax lär C# numera vara mer komplicerat än C++, Python har också en rad finesser som om de används skulle totalt förvirra majoriteten av de som är "Python-programmerare". Skulle snarare hävda att många saker är enklare (mindre "error-prone") i C++11 än i C#, ta en sådan sak som att binda en resurs till ett visst programblock i koden. Det är automatiskt i C++11 tack vare RAII (som kommer av att det är väldefinierat när varje objekts destruktorer körs) medan C# kräver att man explicit "dekorerar" sin resurs med using nyckelordet (glömmer man detta är det helt odefinierat när resursen frias, något som kan leda till deadlocks och race i multitrådade program).

Visst finns det mycket enklare språk än C++, några exempel är Erlang och Clojure som har väldigt enkla språkdefinitioner. Ingen av dessa är nog förstahandsval för spelprogrammering

Det som är en komplicerande faktor i C++ är nog främst ett relativt begränsat standardbibliotek. Grundtanken med C++ standardbibliotek är att endast erbjuda byggstenar som är väldigt generella och väldigt portabla till alla möjliga system. C++ (och än mer C) används ju i allt från väldigt enkla system som helt saknar mänsklig interaktion till de mest avancerade server och superdatorsystem, GUI är då inte riktigt något som lämpar sig för standardbiblioteket. För spel lär du köra DX eller kanske än mer sannolik någon spelmotor, så hantering av ljud och bild finns där.

Vill du skriva mer "vanliga" applikation i C++ kan du titta på Qt. Bl.a. de nya Crimson drivarna från AMD använder Qt för UI (ett stort klagomål innan var att den C#/.NET UI man hade innan var segt och väldigt resurskrävande). Skype är ett annat exempel på användare av Qt. Detta bibliotek gör det möjligt att utveckla grafiska applikationer som bl.a. kan köras på Windows, OSX och Linux.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Plats
Paris
Registrerad
Nov 2015
Skrivet av Yoshman:

Håller helt med @ronnylov, om målet är att skriva spel i C++ varför ska du då först lära dig något annat?

Känns som om folk hänger upp sig på C++ som ett krav för spel utveckling. Självklart är det onödigt att lära sig ett annat språk först om man enbart tänk lära sig C++, men kanske bättre att fråga varför han vill lära sig C++ för spelutveckling. Vilken typ av spel har han tänkt utveckla, vill han jobba inom industrin osv.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av eandersson_net:

Känns som om folk hänger upp sig på C++ som ett krav för spel utveckling. Självklart är det onödigt att lära sig ett annat språk först om man enbart tänk lära sig C++, men kanske bättre att fråga varför han vill lära sig C++ för spelutveckling. Vilken typ av spel har han tänkt utveckla, vill han jobba inom industrin osv.

Själv hänger jag upp mig mest på att det skulle vara signifikant enklare att börja i något annat språk än C++11. Självklart ska en nybörjare inte försöka använda de mest avancerade finesserna från start, för grundläggande program kommer man få något som är väldigt snarlikt vare sig man använder C++, Java, C#, JavaScript, Python eller Ruby. När man kliver upp lite i svårighetsnivå kommer dessa börjar divergera en del, men har mer att göra med att man då typiskt börjar använda respektive språk/plattforms unika bibliotek.

Undantaget i min lista där är kanske JavaScript, det är ett enormt missförstått språk då det på grundläggande sätt skiljer sig från de andra (främst av Java och C# programmerare som verkar vara de som har svårast att greppa skillnaden mellan typbaserad objektorietering och prototypbaserad OO, JS biblioteken är också asynkrona i grunden något som helt klart kan upplevas svårare för nybörjare och de som är van med sekventiella program). Tänker man på JS som LISP med C-syntax så kommer man skriva betydligt mycket bättre JS-kod

Själv hade jag grundläggande kunskap i BASIC när jag verkligen lärde mig programmera, det i assembler. Gick väldigt fort att lära sig skriva enklare spel helt i assembler på t.ex. C=64 och Amiga500. Tittade lite på C då och upplevde det som väldigt komplicerat jämfört med assembler. Som språk är ju assembler extremt simpelt, i princip flyttar man data mellan RAM och register samt manipulerar data via aritmetik och bitoperationer. Idag finns däremot överhuvudtaget ingen anledning att skriva direkt i assembler då dagens kompilatorer är så pass bra och alla moderna OS är designade kring C så absolut "lägsta" nivå idag är nog "vanlig" C.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Plats
Borås
Registrerad
Okt 2002

Finns förstås andra aspekter än själva språket också. Kan vara vilken plattform man vill jobba med. C# är exempelvis inte särskilt populärt på Linux, java funkar på de flesta plattformar liksom Python och ska man jobba inom embedded blir det mer C eller C++ som är hårdvarunära. Vilka programbibliotek man vill använda påverkar också valet. Ska man göra appar för exempelvis Android då blir det ju java i första hand och kör man iOS blir det Objective-C. Webbapplikationer har också sina olika favoritspråk och där är C++ knappast ett av dem.

Å andra sidan finns ingen anledning att bara lära sig ett enda språk. Även om man råkar välja "fel" förstaspråk kommer man ändå ha nytta av att ha lärt sig programmeringstänket som till stor del är lika. Och som nämnts är det ju lättare att lära sig ett nytt språk om man tränat programmering innan så det är nog viktigare att komma igång än att hålla på att grunna över språkvalet.

Trädvy Permalänk
Medlem
Plats
Hudiksvall
Registrerad
Jul 2009

Om man vill utveckla som hobby, eller vill hamna på en indiestudio med osäker framtid så kan man ju nöja sig med Unity.
Med högbudgettitlar menar jag AAA-spel som Crysis och Battlefield.

Chassi: DAN A4 | MB: ASUS VI Impact | GPU: Titan X | CPU: 4770K | RAM: 2x8GB Corsair Vengeance | SSD: Samsung 830 512GB | Skärm: ASUS Swift IPS

Trädvy Permalänk
Medlem
Plats
Paris
Registrerad
Nov 2015
Skrivet av Yoshman:

Själv hänger jag upp mig mest på att det skulle vara signifikant enklare att börja i något annat språk än C++11. Självklart ska en nybörjare inte försöka använda de mest avancerade finesserna från start, för grundläggande program kommer man få något som är väldigt snarlikt vare sig man använder C++, Java, C#, JavaScript, Python eller Ruby. När man kliver upp lite i svårighetsnivå kommer dessa börjar divergera en del, men har mer att göra med att man då typiskt börjar använda respektive språk/plattforms unika bibliotek.

Undantaget i min lista där är kanske JavaScript, det är ett enormt missförstått språk då det på grundläggande sätt skiljer sig från de andra (främst av Java och C# programmerare som verkar vara de som har svårast att greppa skillnaden mellan typbaserad objektorietering och prototypbaserad OO, JS biblioteken är också asynkrona i grunden något som helt klart kan upplevas svårare för nybörjare och de som är van med sekventiella program). Tänker man på JS som LISP med C-syntax så kommer man skriva betydligt mycket bättre JS-kod

Själv hade jag grundläggande kunskap i BASIC när jag verkligen lärde mig programmera, det i assembler. Gick väldigt fort att lära sig skriva enklare spel helt i assembler på t.ex. C=64 och Amiga500. Tittade lite på C då och upplevde det som väldigt komplicerat jämfört med assembler. Som språk är ju assembler extremt simpelt, i princip flyttar man data mellan RAM och register samt manipulerar data via aritmetik och bitoperationer. Idag finns däremot överhuvudtaget ingen anledning att skriva direkt i assembler då dagens kompilatorer är så pass bra och alla moderna OS är designade kring C så absolut "lägsta" nivå idag är nog "vanlig" C.

Absolut. Håller med. Tror dock vi fokuserar på fel sak här. Det handlar framförallt om spel utveckling, som jag förstått det i alla fall. Att jobba i dagens spelindustri handlar väldigt lite om vilket språk, utan framförallt vilken spelmotor du kommer arbeta med.

T.ex. Frostbite (Battlefield osv) använder Python/LUA för spel logik.

Så istället tycker jag det är bättre att fokusera på vad han vill göra (dvs vilken typ av spel). T.ex. om han vill göra ett mobil spel eller Indie spel så är Unity ett av de enklaste motorerna att böra med, det är även helt gratis att börja med.
https://unity3d.com/

Vill han göra nästa World of Warcraft så räcker kanske inte Unity, men då borde han se till att börja en spel inriktad utbildning också. =]

Trädvy Permalänk
Medlem
Registrerad
Dec 2015

Om vi säger såhär, just nu är det på hobby-nivå, om ens det.
Anledningen till att mitt mål var just C++ var pågrund av att jag kollat upp i förväg i vilket språk de flesta spel idag programmeras i och då tog för givet att C++ var "the language" för spel.

Rätta mig om jag har fel, det har jag helt säkerligen.

Mitt mål är inte att utveckla nästa Call of Duty.
Mitt mål idag är att först skapa en typ av journal där jag kan loggföra mina gympass.
Därefter skulle jag vilja utveckla ett simpelt 2D spel, ett stort 2D spel men med simpel grafik, och simpelt gameplay.

Detta är mina två mål idag, stegmål kan vi kalla det.
Vilket språk som lämpar bäst vet jag inte, kanske inte finns något språk som lämpar sig bättre än något annat.

Jag vill inte ta genvägar genom att använda mig av program eller annat som gör halva jobbet åt mig, vet inte vad unity är, men får känslan av att det är ett hjälpmedel för att slippa programmera allt.

Jag vill lära mig programmera, kunna skapa saker själv.
I dagsläget vet jag inte ens om det är något för mig, men en sak vet jag och det är att snabba resultat kommer boosta mitt intresse, och långsamma resultat kommer sänka mitt intresse, det är jag ganska säker på.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011

@UsAndThem: Beror ju på vad målet är med att göra ditt gym-log program, tittar man på det i isolation känns det som något man idag skulle göra webbaserat. Då skulle du börja titta på JavaScript, kör du NodeJS är det ju samma språk både i front-end som back-end vilket gör det enklare för dig att experimentera med var det är lämpligast att köra olika saker (på server vs klient).

Om du vill göra allt från scratch i ditt spel är nog det mest relevanta att fundera på om vilket API du vill använda. Kör du t.ex. DirectX så är C++ enklast, andra alternativ kommer eventuellt med andra självklara val på språk. Enklare 2D spel kan man naturligtvis göra via vilket UI API som helst, så C++ är inte alls ett krav här.

Går ju att göra detta webbaserat med HTML5, då skulle du skriva JavaScript (eller något som kompileras till JS, t.ex. TypeScript). En kul grej med att göra det webbaserat är ju att det då fungerar på så många olika enheter!

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Registrerad
Maj 2014
Skrivet av UsAndThem:

Mitt mål är inte att utveckla nästa Call of Duty.
Mitt mål idag är att först skapa en typ av journal där jag kan loggföra mina gympass.
Därefter skulle jag vilja utveckla ett simpelt 2D spel, ett stort 2D spel men med simpel grafik, och simpelt gameplay.

Vad jag förstår så används C# i Unreal Engine och Unity3D när det gäller spel utveckling och de flesta AAA konsol titlar använder sig nog av Unreal Engine.

Trädvy Permalänk
Medlem
Registrerad
Dec 2015

Börjat lite smått i C# under helgen, Visual Studio känns som en gedigen IDE.
Just nu känns det som att C# är det jag kommer börja med.

Har dock sökt två distanskurser nu till våren, Java och C#
Hoppas på C# så jag kan fortsätta med Visual Studio, ser mycket bättre ut än Eclipse.

Om inte så är nog Java minst lika bra som första språk som C#.

Funderar på att beställa hem någon bok, med övningar i.

C# bok:
Skarp programmering med C# av Jan Skansholm

Java böcker:
Java direkt med Swing av Jan Skansholm
Java steg för steg av Jan Skansholm
Big Java: Late Objects av Cay S. Horstmann (Engelskt språk, även om min engelska är bra så kan det vara mer motiverande med en bok skriven i svenska.

Trädvy Permalänk
Datavetare
Plats
Stockholm
Registrerad
Jun 2011
Skrivet av VexedRelic:

Vad jag förstår så används C# i Unreal Engine och Unity3D när det gäller spel utveckling och de flesta AAA konsol titlar använder sig nog av Unreal Engine.

Unreal Engine har plugins för att tillåta scriptning i en lång rad språk, bl.a. C# (även om det stödet verkar lagts på is sedan maj i år), men i grunden är detta en C++ motor och ett spel som använder UE4 kommer i grunden vara en C++ applikation.

Unity själv är skrivet främst i C++, däremot är den kod man skriver som användare av Unity någon av C# (endast språket, det är inte .NET), JavaScript (samma här, är språket JavaScript med andra bibliotek, kallas också UnityScript) eller Boo (påminner en hel del om Python). Vilket språk man väljer är helt upp till vad man gillar/är van med, prestandamässigt och funktionalitetsmässigt skiljer det i princip ingenting utan allt kompileras till maskinkod.

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Trädvy Permalänk
Medlem
Plats
Götet, typ
Registrerad
Okt 2004
Skrivet av UsAndThem:

Målet är att programmera i c++, ingen vettig anledning förutom att majoriteten av spel är programmerade just i c++ och det känns som ett språk som är i stort sett användbart i alla områden.

Dock så läser man dagligen om avrådandet om att börja med c++ pga att det skulle vara komplicerat.
Folk tipsar istället om python, java och C#.

Är verkligen c++ så "svårt" som folk säger, vad menas med att språket är svårt i jämförelse med andra språk?

Edit: Det känns också som att alla tipsar om att börja med de språk som de själva började med.

// UsAndThem

Jag tycker man kan säga att C# är ett bra val, att skapa ett grafiskt interface till ett litet program är ju supersmidigt där och själva språket är i svårighetsnivå som java. Python är det lättaste språket att lära sig och det finns enklare gui-bibliotek som gör det superlätt att ha några rutor och grejor med. Men det blir inte riktigt i samma nivå som med c#.
C++ används ju till väldigt mycket och en fördel med det är att din kod aldrig slutar funka. Kör du java och alla uppdaterar sina jra ett par år så kanske din kod buggar sedan. Men c++ är som dess skapare säger en elefant och folk använder i ibland/ofta bara en liten del av det för just det man jobbar med.
En viktig aspekt är att när man lär sig sitt första språk lär man sig också att programmera. Det är inte samma sak som att man lär sig syntaxen i just det språket.

/M

Trädvy Permalänk
Medlem
Registrerad
Dec 2015
Skrivet av Marowak:

Jag tycker man kan säga att C# är ett bra val, att skapa ett grafiskt interface till ett litet program är ju supersmidigt där och själva språket är i svårighetsnivå som java. Python är det lättaste språket att lära sig och det finns enklare gui-bibliotek som gör det superlätt att ha några rutor och grejor med. Men det blir inte riktigt i samma nivå som med c#.
C++ används ju till väldigt mycket och en fördel med det är att din kod aldrig slutar funka. Kör du java och alla uppdaterar sina jra ett par år så kanske din kod buggar sedan. Men c++ är som dess skapare säger en elefant och folk använder i ibland/ofta bara en liten del av det för just det man jobbar med.
En viktig aspekt är att när man lär sig sitt första språk lär man sig också att programmera. Det är inte samma sak som att man lär sig syntaxen i just det språket.

Tackar.

Nästa steg blir att bekanta sig lite med Unity3D.
Skall försöka skapa något enkelt till att börja med, t.ex snake, något space shooter game (asteroids liknande) eller liknande.

Jag tycker det är askul att berätta stories, om inte programmering vore något så hade jag älskat att skriva manus till film.
Tänkte att jag kan slå två flugor i en smäll, mitt intresse för teknik/IT och mitt intresse för filmskapande, och göra ett story-based spel tillslut.
Komiskt nog spelar jag själv inte liknande spel, men det är själva berättandet och gameplay som blir det intresssanta.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2007

Javascript, framtidsspråk och en relativt hög inlärningskurva.

Trädvy Permalänk
Medlem
Plats
Paris
Registrerad
Nov 2015
Skrivet av UsAndThem:

Tackar.

Nästa steg blir att bekanta sig lite med Unity3D.
Skall försöka skapa något enkelt till att börja med, t.ex snake, något space shooter game (asteroids liknande) eller liknande.

Jag tycker det är askul att berätta stories, om inte programmering vore något så hade jag älskat att skriva manus till film.
Tänkte att jag kan slå två flugor i en smäll, mitt intresse för teknik/IT och mitt intresse för filmskapande, och göra ett story-based spel tillslut.
Komiskt nog spelar jag själv inte liknande spel, men det är själva berättandet och gameplay som blir det intresssanta.

Haha, ja samma här. Spelar väldigt lite nu för tiden, men göra spel är alltid kul. Att börja med Unity3D är grymt, finns mycket material för att lära sig och oändligt med tutorials på t.ex. Youtube.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Apr 2006

Ett annat sätt att välja första språk är att kolla på någon tjänst som tex monster för jobbmöjligheter och se vad som efterfrågas mest.

INTEL CORE I7 3930K 3.20GHZ 12MB S-2011, FRACTAL DESIGN MIDITOWER DEFINE R3, CORSAIR HX 1050W, ASUS RAMPAGE IV FORMULA, Asus STRIX GTX970, CORSAIR 16GB DDR3 DOMINATOR QUAD 1866MHZ CL9 (4X4GB) Ljud: ASUS Xonar D2X/XDT 7.1 | Elac 5.1 +förstärkare | Cambridge dacmagic plus | Astro gaming A40 | Sennheiser HD 650
You ask me if I have a god complex? Let me tell you something, I am god!