Gå til innhold

Hvordan starte/lære seg C++ som nybegynner?


Anbefalte innlegg

Skrevet

Jeg er helt ny innen programering og tenkte meg at jeg så vidt kansje skal sette meg inn i det. Så det jeg lurer på er som følger:

 

1. Hvilke programmer/programm bør jeg bruke? Jeg har innstalert Visual C++, er dette programmet greit, eller finnes det noe bedre program jeg burde bruke. Har hørt noe om DevC++.

 

2. Er det noen linker/ Bøker som er gode å bruke som hjelp? Har hørt rykter om at boken "Accelerated C++" er god.

 

3. Hvordan bør jeg starte? Og har noen en god oppgave som er fin å starte med.

 

Gi gjerne link til andre poster hvor noen har svart på noen av spørsålene mine.

Videoannonse
Annonse
Skrevet

Jeg har ingen erfaring med C++, men programmerer endel i C nå. Har kommet over flere nettsteder for C/C++ som anbefaler at du lærer C før du lærer C++, ettersom C++ er en videreføring av C.

Skrevet

Man trenger ikke lære seg C før C++, du trenger bare å holde deg unna Classes og OOP når du begynner.

 

Jeg vil annbefale Code::Blocks med Mingw/GCC, fungerer helt fint, og du hører ikke microsoft står i bakgrunnen og klager på at den ikke finner windows.h og round() >_>

 

http://www.cplusplus.com/doc/tutorial/

er den guiden jeg likte best, og jeg syntes var enklest å følge =)

 

 

Her er en fin oppgave: Få skjermen til og printe "Hello World"

Tips: cout;

 

Hvis du vil ha noe vanskeligere, få skjermen til og printe noe du selv har skrevet inn i en konsole.

Tips: cin;

Skrevet

Jeg kommer nok til å starte med C++, jeg har allerede satt meg litt inn i det og det blir da vanskeligere å gå til C. For hvis jeg har forstått rett er C++ bare en påbygger til C.

 

En ting til, jeg lurer på hva forsjellen på .NET, C++, Java, DirectX og alle de andre programerings språkene er? Og hvilket som er best å starte med med for meg (som er nybegynner)?

Skrevet (endret)
En ting til, jeg lurer på hva forsjellen på .NET, C++, Java, DirectX og alle de andre programerings språkene er? Og hvilket som er best å starte med med for meg (som er nybegynner)?

8844429[/snapback]

 

.NET er en plattform og DirectX er et bibliotek/grensesnitt. Når det gjelder "alle de andre" programmeringsspråkene er de ganske utallige, og du burde søke etter en sammenlikning for å få oversikten. Hovedforskjellen er bruksområde: Java egner seg f.eks. bedre til nettbaserte applikasjoner og muligens undervisning, enn C++ gjør, mens C++ egner seg best til spill og mer eller mindre lavnivåprosjekter, der ytelse og støtte av plattformen er det viktigste. (C++ kan f.eks. brukes til å programmere programvare for å styre et missil, mens det ville vært lite hensiktsmessig å bruke Java til noe tilsvarende.)

 

Her finner du en oversikt over forskjellige språk sammenliknet med D. Ulempen med en slik tabell er at du sannsynligvis ikke forstår hva halvparten av radene innebærer før du har en del programmeringserfaring.

 

 

Når det gjelder hvorvidt du skal lære deg C eller C++ først er valget opplagt: C++. Du lærer ikke noe "mer" om du lærer deg C først, det er ikke noe lettere å lære C først, og du skriver ikke bedre kode om du lærer deg C først. Tvert imot: C++ har mange gode løsninger som C mangler (kort sagt hele standardbiblioteket, pluss en del andre ting). Utviklere som har sin bakgrunn fra C har etter min erfaring dessuten en tendens til å skrive C++ på en veldig C-aktig måte, og skriver dermed dårlig C++, fordi de ikke utnytter mulighetene som ligger i språket.

 

 

Edit: DirectX er i litt større perspektiv kanskje vel så mye et grensesnitt som et bibliotek.

Endret av Lstor
Skrevet (endret)

Ok, da blir det C++.

 

En liten ting til, som sakt har jeg ingen tidligere erfaring, og har tenkt å sette meg inn i programering, og kansje lage små programmer og muligens små spill når jeg blir bedre. Er det C++ det beste valget da?

Endret av s1991
Skrevet
Ok, da blir det C++.

 

En liten ting til, som sakt har jeg ingen tidligere erfaring, og har tenkt å sette meg inn i programering, og kansje lage små programmer og muligens små spill når jeg blir bedre. Er det C++ det beste valget da?

8844814[/snapback]

 

Til slike formål (småsaker) kan kanskje et litt "lettere" språk (både når det gjelder læring og syntaks/bruk) være bedre, f.eks. Python eller Ruby.

Skrevet (endret)

Ok.

Men jeg har lite lyst til å lære et språk og så måtte lære alt fra bunnen igjen når jeg har blitt bedre.

Jeg har lyst til å lære et språk som blir brukt av flere enn bare nybegynnere. For når jeg har blitt bedre i det nybegynnerspråket, må jeg lære at ra bunnen av i C++.

 

Og ettersom jeg blir bedre og bedre vil jeg gå over til mer avanserte ting.

 

Spørsmålet var mer om C++ er et programm som blir brukt av avanserte brukere. Sånn at jeg ikke bruker mye krefter på et program for så å lære ett nytt et senere.

Endret av s1991
Skrevet
Ok.

Men jeg har lite lyst til å lære et språk og så måtte lære alt fra bunnen igjen når jeg har blitt bedre.

Jeg har lyst til å lære et språk som blir brukt av flere enn bare nybegynnere. For når jeg har blitt bedre i det nybegynnerspråket, må jeg lære at ra bunnen av i C++.

 

Og ettersom jeg blir bedre og bedre vil jeg gå over til mer avanserte ting.

 

Spørsmålet var mer om C++ er et programm som blir brukt av avanserte brukere. Sånn at jeg ikke bruker mye krefter på et program for så å lære ett nytt et senere.

8845045[/snapback]

 

C++ er absolutt et programmeringsspråk som blir brukt av avanserte brukere, (men det er forsåvidt Python også.) Er mange som sier at man bør begynne med et lett språk, men det er egentlig bare tull. Gå rett på C++ du (du har vel allerede begynt.) ;)

Skrevet

Etter å ha lest litt på forumet her tror jeg også at det er det beste, å starte rett på C++. Jeg har også så vidt begynt med å lære programmet å kjenne. Har også laget det første programmet "Hello World".

Skrevet

Flotters. Er forsåvidt ikke så viktig hva man starter med noe, bare man starter. Jeg begynte også med C++, og har aldri angra noe på det. De fleste språkene er veeldig like uansett.

Skrevet

Hva med et lite HelloWorld OOP eksempel:

#include <iostream>

#include <string>

 

using std::string;

using std::cout;

 

class Skrik

{

public:

void setSkrik(string value)

{

  verdi = value;

}

void printSkrik()

{

cout << verdi << "\n";

}

private:

string verdi;

};// veldig lett å glemme semikolon når du skriver klassedefinisjonen

 

int main(int argc, char *argv[])

{

Skrik hehe;

hehe.setSkrik("Hahahaha");

hehe.printSkrik();

system("pause");

return 0;

}

 

Husk at her kan du også dele koden inn i flere filer, men det gjorde ikke jeg nå da.

Du kan putte klassedefinisjonen i en Skrik.h fil, definere funksjonene i Skrik.cpp og bare ta #include "Skrik.h" i programmet ditt.

Men når du definerer funksjonene må du skrive Skrik::setSkrik(string value).

Hvis ikke vet ikke programmet at funksjonen setSkrik hører til klassen Skrik.

Skrevet (endret)

For guds skyld. Han poster under C/C++ forumet, og han sier at han har bestemt seg for å lære C++. Hver gang noen spør hva de bør begynne med av C og C++, er det alltid noen som skal pensle det hele inn på å starte med C#, Python, Ruby, Lisp eller whatever.

 

Edit: Og ja. Poenget var: drit i å gjøre det der hele tiden...

Endret av staalezh
Skrevet
For guds skyld. Han poster under C/C++ forumet, og han sier at han har bestemt seg for å lære C++. Hver gang noen spør hva de bør begynne med av C og C++, er det alltid noen som skal pensle det hele inn på å starte med C#, Python, Ruby, Lisp eller whatever.

 

Edit: Og ja. Poenget var: drit i å gjøre det der hele tiden...

8852115[/snapback]

 

Der må jeg faktisk ta deg litt selv, kjære Ståle, for ettersom han er helt ny har han ingen forutsetning for å vite hva som er riktig, og dermed kan det jo hende at det er noe annet enn C/C++ som er tingen for ham. Men ut ifra hans ønsker synes jeg C++ er et åpenbart valg.

 

Frysning: La ham ha en naturlig progresjon, og ikke forvirr ham med mer komplisert kode enn han allerede har kommet til. Alt til sin tid.

Skrevet
Frysning: La ham ha en naturlig progresjon, og ikke forvirr ham med mer komplisert kode enn han allerede har kommet til. Alt til sin tid.

8852285[/snapback]

 

Den er jeg helt enig med. OOP er ikke det første man bør mestre i C++, det er en rekke ting som skal inn først: generell tenkemåte, syntaks, variabler, funksjoner, tabeller/arrays, og en hel del til. Såklart kunne trådstarter pugget OOP-ting (som f.eks. Hello World), men da blir det som med using namespace std; i starten -- man har det der, men vet ikke hvorfor.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...