Permalänk
Medlem

Lära sig c++ som nybörjare?

Tjena!
Jag hade tänkt jobba inom spelbranschen i framtiden, helst som programmerare och undrar om det är smartare att lära sig c++ redan från början då det är det används mest ute i dator/tv-spelsbranshen eller om det är smartast att börja med t.ex. java då jag hört att det är lite svårare i c++ då man själv måste rensa minnet. Har bara lite grundläggande kunskaper om java och objektorienterat såsom att skapa objekt men fortfarande inte så mycket till att skapa ett program då jag inte kan så mycket så jag förstått logiken inom det än.

Så om man skulle sammanfatta frågan, är c++ det smartaste valet ifall man verkligen vill satsa på spelprogrammering i framtiden eller är det bättre börja med något lite "enklare" programspråk innan man förstått logiken inom objektorienterad programmering?

Mvh Alfred

Permalänk
Hedersmedlem

Kort och enkelt svar. Satsa på ett språk som Python först för att lära dig programmering generellt. När du lärt programmera så att du känner dig säker i det med till exempel Python. Då kan du gå vidare och använda C++. Bry dig inte lika mycket om språket i början. Viktigare är det att få rätt tänk.

Permalänk
Medlem

Är det lättare att börja med det än t.ex. java?

Permalänk
Hedersmedlem

Ja det skulle jag säga, det är inte samma krav på objektorienterat tänk i Python. Det finns möjlighet till det men man måste inte.

Python har väldigt enkel syntax och mycket fungerar som man förväntar sig. Det finns snygga lösningar på saker och språket är gjort för att det ska gå snabbt och enkelt att implementera lösningar.

Permalänk
Medlem

Aha ok, men vet du någon bok eller hemsida där dom lär ut Python bra?

Permalänk
Medlem

Personligen skulle jag skippa Python och köra på med C# eller C++, dock kan det vara bra att lära sig Python efter...

Permalänk
Medlem
Skrivet av alfreda:

Aha ok, men vet du någon bok eller hemsida där dom lär ut Python bra?

Edit, det var vist en eventuell piratsida jag länkade till.... *bort*

Permalänk
Medlem
Skrivet av alfreda:

Aha ok, men vet du någon bok eller hemsida där dom lär ut Python bra?

Pröva t.ex. med Codeacademy, ett mycket enkelt sätt att lära sig lite grunder på.

Permalänk
Medlem

Man kodar direkt i cmd:n eller?

Permalänk
Medlem
Skrivet av Dalton Sleeper:

Personligen skulle jag skippa Python och köra på med C# eller C++, dock kan det vara bra att lära sig Python efter...

Jag håller med, lika bra att lära sig koncepten från början. Börja med enkla projekt i konsolen tills du känner dig säker nog för att börja använda grafikbibliotek.

Visa signatur

Desktop: | Win10 | InWin 303 | ASUS TUF X570 | AMD Ryzen 5 3600 | Noctua NH-U12S (PP) | Intel 600p 256GB | Gigabyte GTX 670 | 32GB DDR4 2400Mhz | Corsair RM650x | 3x 1080 Screens |
Datacenter: | 1x Physical | 1x Virtual |
Laptop: | 2x |

Dell Certified Technician

Permalänk
Medlem

Nu blev man lite osäker..

Permalänk
Medlem

Tjena

För ett tag sedan plöjde jag igenom youtube efter guider för programmering, främst C++men var även intresserad utav andra språk.
Mr.1Buying har en kanal på YouTube som är grym för nybörjare, är både pedagogiskt och så får man förklarat vad varje steg och tecken innebär och dess betydelsei processen, störtskön kille :=)
Han borde ha en egen radiokanal.

Har själv startat upp C++ och håller på att lära mig, tanken är att jag ska söka till IT Säkerhet i Blekinge till hösten och vill vara lite förbered.

Mr.1Buying rekomenderar C++ framför C# (med en bra motivering, kolla första avsnitten) vilket jag tror är logiskt.

Språk som finns

Python
Java
Javascript
xHTML
PHP och MySQL
CSS
C#
C++

Mvh och lycka till

Visa signatur

Ett härligt gäng med div. elektronik.
Marknadsreferenser | Rabattkoder | Dagens fynd | Övriga fynd

"The mediocre teacher tells, The good teacher explains, The superior teacher demonstrates but the great teacher inspires."

Permalänk
Medlem

Kör C++, där började jag!

Tips på hur du kan börja:

0: Förstå hur uppställningenen av main(), och funktioner ska se ut & hur du inkluderar bibliotek osv.

1. initiera lite variabler, for / while loopar & prova på lite "if" satser. Skriv ut något på skärmen (T.ex. summan av A & B)

2. Lär dig vad en Array är & hur du på olika sätt kan lagra värden i dem med hjälp av loopar osv. Också hur du kan läsa värden ur den.

3. Börja med funktioner, förstå hur du anropar dem , hur du skickar med ett värde till en funktion och där du sedan kanske manipulerar värdet, skicka tillbaka det och skriv ut på skärmen. (kan du allt hittills så kan du börja skapa lite textbaserade spel)

4. Lär dig grunderna hur classer fungerar & hur du skapar objekt.

5. Ladda ned ett grafikbibiliotek (Smfl, SDL) och gör ett litet grafiskt spel!

6. OpenGL?

Testa gärna mitt spel: http://crazycubes.net (utvecklat i C++)

Bara öva öva öva, kom på olika projekt & nöt!

Visa signatur

[IT-Dept]
Ryzen 1700 OC - 32 - 1070

Permalänk
Medlem

Jag började med Java. Gick sedan vidare till PhP sedan C++, sen dess är jag flytande i de flesta webspråken och ett flertal andra språk.

Mitt bästa tips; Lär dig lite generella programmeringsgrunder, som nämnt ovan, sätt dig sedan ner, kom på något du vill göra, gärna något lite för stort för dig att egentligen göra, och försök. Kolla genomgångar på youtube etc. Här är det lättare i Java då det är bättre dokumenterat för nybörjare än vad C++ är.

Permalänk
Medlem

Bara jag som slår ett slag för C?

Lär dig C och om du vill lära dig mer objektorienterade högnivå-språk så kör på exempelvis Python som någon nämnt.

Kan du C i grunden kan du utan större svårigheter lära dig vad som helst. C ställer ganska höga krav och för att bemästra det behöver man lära sig mer djupgående om hårdvaran (låter mer avancerat än vad det kanske är). Men i min mening är det att "lära sig på riktigt".

Visa signatur

Citera mig för svar.
Arch Linux

Permalänk
Medlem

Kommer nog bli att få kontroll på c++ och sedan börja kolla lite på opengl. Ni som programmerar c++, vilken IDE föredrar ni förresten? (då jag inte riktigt blivit van vid en så vill jag ha en som jag kan använda på långsikt)

Permalänk
Medlem
Skrivet av alfreda:

Kommer nog bli att få kontroll på c++ och sedan börja kolla lite på opengl. Ni som programmerar c++, vilken IDE föredrar ni förresten? (då jag inte riktigt blivit van vid en så vill jag ha en som jag kan använda på långsikt)

Sitter du på Windows så finns ju alltid Microsofts Visual Studio, Express- eller studentversion ska väll vara gratis...

Ang C som nämndes ovan så går väll det också bra, dock kan du skriva C i ett C++ projekt för att sen att gå över till de mer C++ specifika delarna när det behövs.

Permalänk
Medlem
Skrivet av Zezo:

xHTML och CSS är inga språk, det är markup precis som tex BBcode

Visa signatur

Desktop: | Win10 | InWin 303 | ASUS TUF X570 | AMD Ryzen 5 3600 | Noctua NH-U12S (PP) | Intel 600p 256GB | Gigabyte GTX 670 | 32GB DDR4 2400Mhz | Corsair RM650x | 3x 1080 Screens |
Datacenter: | 1x Physical | 1x Virtual |
Laptop: | 2x |

Dell Certified Technician

Permalänk
Medlem
Skrivet av JamesBanana:

xHTML och CSS är inga språk, det är markup precis som tex BBcode

Tack för tillrättavisning.

Visa signatur

Ett härligt gäng med div. elektronik.
Marknadsreferenser | Rabattkoder | Dagens fynd | Övriga fynd

"The mediocre teacher tells, The good teacher explains, The superior teacher demonstrates but the great teacher inspires."

Permalänk
Medlem

Angående val utav IDE så finns det otroligt många.

Jag personligen kör på Visual Studio 2013 Professional. Gratis för studenter

För 3D Java kör jag på BlueJ och för vanlig Java kör jag i Eclipse.

Tips på användbara IDEer är Netbeans och Microsoft Visual Studio dock, då de kommer med inbyggda "kompilatörer".

Permalänk
Medlem

Personligen hade jag svårt med C++ (antagligen för att jag var 10 och inte kunde engagera mig tillräckligt). Några år senare, började jag med Python och det har inte varit några problem med det. Frågan är dock, är det bara för att jag är äldre? Men jo, jag tycker nog att Python är mycket enklare, som du antagligen förstått.

Om C++ inte är hugget i sten, tycker jag att du borde ta en titt på den här guiden: www.sthurlow.comdu får lära dig grunderna i "textprogrammering", det vill säga, allt från basic input output, while- och for-loopar, fuktioner, klasser, listor mm. Lagom lätt att förstå. Efter det är det inte så svårt att avancera till C++ eller Java eller vad än du vill.

Visa signatur

:)

Permalänk
Medlem
Skrivet av FilosofN:

Personligen hade jag svårt med C++ (antagligen för att jag var 10 och inte kunde engagera mig tillräckligt). Några år senare, började jag med Python och det har inte varit några problem med det. Frågan är dock, är det bara för att jag är äldre? Men jo, jag tycker nog att Python är mycket enklare, som du antagligen förstått.

Om C++ inte är hugget i sten, tycker jag att du borde ta en titt på den här guiden: http://www.sweclockers.com/forum/newreply.php?do=newreply&noq..., du får lära dig grunderna i "textprogrammering", det vill säga, allt från basic input output, while- och for-loopar, fuktioner, klasser, listor mm. Lagom lätt att förstå. Efter det är det inte så svårt att avancera till C++ eller Java eller vad än du vill.

Får inte länken att funka

Permalänk
Medlem
Skrivet av alfreda:

Får inte länken att funka

Oj råkade klistra in nån random länk här är den: www.sthurlow.com

Visa signatur

:)

Permalänk
Medlem
Skrivet av cyphric:

Angående val utav IDE så finns det otroligt många.

Jag personligen kör på Visual Studio 2013 Professional. Gratis för studenter

För 3D Java kör jag på BlueJ och för vanlig Java kör jag i Eclipse.

Tips på användbara IDEer är Netbeans och Microsoft Visual Studio dock, då de kommer med inbyggda "kompilatörer".

Hej igen!
Vilken av dessa ska man ladda ner när de kommer till visual studio?
http://www.visualstudio.com/downloads/download-visual-studio-...

Permalänk
Medlem
Skrivet av alfreda:

Kommer nog bli att få kontroll på c++ och sedan börja kolla lite på opengl. Ni som programmerar c++, vilken IDE föredrar ni förresten? (då jag inte riktigt blivit van vid en så vill jag ha en som jag kan använda på långsikt)

Du kan komma riktigt långt med bara en texteditor som är speciellt ämnad för programmering, exempelvis notepad++ och sublime text. Då kompilerar du själv från prompten, vilket kan vara bra för att lära sig veta vad som händer i kompileringsfasen senare när du kör ett riktigt IDE. Med ett IDE kan kompileringen annars kännas lite som svart magi, om man inte kan grunderna

Jag skulle nog börjat med C, för att undvika alltför stor förvirring med många nya begrepp på en gång. C++ är ett superset av C, vilket betyder att när du väl ska börja med C++ så kan du använda precis allt du har lärt dig i C. Men man får tänka på att programmeringsstilen och problemlösningsmetodiken kan variera stort mellan språken, så det kan vara kontraproduktivt att lösa ett problem i C-stil med C++.

Fast om man lär sig C++ från grunden genom en bok så blir det mest C-liknande i början ändå. Äh, kör C++ på en gång

Permalänk
Medlem
Skrivet av alfreda:

Hej igen!
Vilken av dessa ska man ladda ner när de kommer till visual studio?
http://www.visualstudio.com/downloads/download-visual-studio-...

Hej!

Den snabbaste versionen och den som är mest "light-weight" är Visual studio express 2013 update 3 for windows desktop!

Permalänk
Datavetare
Skrivet av Mikael07:

Du kan komma riktigt långt med bara en texteditor som är speciellt ämnad för programmering, exempelvis notepad++ och sublime text. Då kompilerar du själv från prompten, vilket kan vara bra för att lära sig veta vad som händer i kompileringsfasen senare när du kör ett riktigt IDE. Med ett IDE kan kompileringen annars kännas lite som svart magi, om man inte kan grunderna

Jag skulle nog börjat med C, för att undvika alltför stor förvirring med många nya begrepp på en gång. C++ är ett superset av C, vilket betyder att när du väl ska börja med C++ så kan du använda precis allt du har lärt dig i C. Men man får tänka på att programmeringsstilen och problemlösningsmetodiken kan variera stort mellan språken, så det kan vara kontraproduktivt att lösa ett problem i C-stil med C++.

Fast om man lär sig C++ från grunden genom en bok så blir det mest C-liknande i början ändå. Äh, kör C++ på en gång

C är inte längre en delmängd av C++, har inte varit det sedan 1999 när ISO C99 kom. Men håller nog ändå med om att det kan vara lite enklare att komma igång i C jämfört med C++ då C är ett rejält mycket enklare språk. C++ och även C# har brutalt många finesser i språket, vilket också syns i de väldigt långa dokument för språkdefinition som dessa språk har. C (och även Java) är klart enklare på den punkten.

Vill man så går det naturligtvis att dra igång direkt med C++, så håller med där också. Själv började jag med BASIC och sedan blev det assembler, har skrivit ett bilspel (typ super-cars fast enklare) och flipperspel på Amigan helt i assembler
Rekommenderar dock ingen att börja med assembler idag, finns väldigt få anledningar att välja assembler över C eller C++ i dagens läge. På Amiga-tiden var kvalitén på C-kompilatorer rätt usel jämfört med idag så då var assembler motiverat.

Visa signatur

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

Permalänk
Moderator
Festpilot 2020, Antiallo
Skrivet av virtual void:

C är inte längre en delmängd av C++, har inte varit det sedan 1999 när ISO C99 kom. Men håller nog ändå med om att det kan vara lite enklare att komma igång i C jämfört med C++ då C är ett rejält mycket enklare språk. C++ och även C# har brutalt många finesser i språket, vilket också syns i de väldigt långa dokument för språkdefinition som dessa språk har. C (och även Java) är klart enklare på den punkten.

Vill man så går det naturligtvis att dra igång direkt med C++, så håller med där också. Själv började jag med BASIC och sedan blev det assembler, har skrivit ett bilspel (typ super-cars fast enklare) och flipperspel på Amigan helt i assembler
Rekommenderar dock ingen att börja med assembler idag, finns väldigt få anledningar att välja assembler över C eller C++ i dagens läge. På Amiga-tiden var kvalitén på C-kompilatorer rätt usel jämfört med idag så då var assembler motiverat.

Beror väl på vad man vill lära sig. Att optimera C-kod i assembler är ganska skoj om det är kritiska grejer som bör optimeras.

Jag började med VHDL följt av java, gick sen på Assembler och C och slutligen C++ här senast. Att förstå assembler och vad man får ut av en C/C++ -kod som kompileras är nog häftigast hittills.

Visa signatur

 | PM:a Moderatorerna | Kontaktformuläret | Geeks Discord |
Testpilot, Skribent, Moderator & Geeks Gaming Huvudadmin

Permalänk
Medlem

Jag tog mina första steg i C++ genom att skriva in mig på en distanskurs i ämnet på Uppsala universitet, med högst rudimentära programmeringskunskaper i bagaget. Funkade precis hur bra som helst för mig. Kursmaterialet var riktigt bra, och man hade fördelen av att ha någon som bedömde ens kod.

Många påstår att man bör börja med något enklare språk, och avancera till det man vill hålla på med senare, men jag vill nog mena på att det är helt onödigt att ta den omvägen. Har man bara gett sig fan på att lära sig det, så är eventuell frustration när det kör ihop sig i början lätt att handskas med.

Ser att det blivit lite IDE-diskussion också. Jag tycker om Code::Blocks.

Visa signatur

Nu lurade jag dig att slösa bort ett par värdefulla sekunder av ditt liv på att läsa denna fullständigt poänglösa signatur!

Permalänk
Datavetare
Skrivet av DavidtheDoom:

Beror väl på vad man vill lära sig. Att optimera C-kod i assembler är ganska skoj om det är kritiska grejer som bör optimeras.

Jag började med VHDL följt av java, gick sen på Assembler och C och slutligen C++ här senast. Att förstå assembler och vad man får ut av en C/C++ -kod som kompileras är nog häftigast hittills.

Jobbar ofta med skriva programvara för extremt prestandakritiska system, är ändå rätt länge sedan jag hackade assembler sist (gjorde det för någon ARM CPU för ett par år sedan).

Däremot händer det att jag läser den genererade assembler för vissa väldigt kritiska funktioner för att se att kompilatorn inte gjort något skumt, i nära nog 100% av fallet så gör kompilatorn ett bättre jobb än vad en människa skulle göra för hand. Helt enkelt för mycket information att hålla i huvudet för att kunna hårdoptimera för dagens väldigt komplicerade CPUer + att de saker man faktiskt kan göra går i princip alltid att göra från C också.

En sak som TS skulle kunna leka med är ju att läsa in sig på någon relativt enkel algoritm för sortering eller liknade, skriva ett program som mäter tiden det tar att sortera ett stort antal element eller ännu bättre (men lite svårare att skriva) ett program som mäter hur många element man kan sortera på en fix tid. Sedan kan man testa lite olika angreppssätt för att optimera sin kod. Är det just sortering kan man även variera hur man sparar sina element, länkad list, array etc. Får man lite känsla för hur olika designval påverkar prestanda, sett spelbloggar där man bara genom att ändra sättet som data ligger i RAM fått upp till x10 prestandaförbättring trots samma underliggande algoritm!

Tycker KTH (på "min tid") hade en ganska kul laboration, är också något TS skulle kunna börja med. Uppgiften var att i C skriva ett packman-spel i konsol-läge. Man slipper tänkta på grafikdelen som är rätt mycket detaljer. Går att göra massor med roliga algoritmer på hur "smarta" spöken spelet har. Läser man på om lite Hill climbing så kan man konstruera en mardröm för packman där spökena tar hänsyn till varandras position så de kan snabbt och effektivt ringa in packman.

Visa signatur

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