vet ej hur ja ska börja med c++ eller c # känner mig mest förvillad av dom Det kan vara bra till en början att starta med att skapa Console Application. Håller på att läsa C# nu i skolan, riktigt intressant och roligt! Lycka till! Är du nybörjare på programmering? Har du kodat hemsidor tidigare? Ta C# som är mycket bekvämare för en nybörjare än C++ jag har programmerat i c o c++ o visual basic jag har programmerat c o c++ tidigare men nu har ja visual studio 2008 o känner mig bara förvillad jag vill mest göra spel o dyligt inte så mycket webaplikationer Inget slår C/C++ i prestanda, så ska du göra egna 3D-grejer så kanske C/C++ kan komma ifråga. För övriga 98% tar jag 100 ggr hellre C# (som är *mycket* Java-"inspirerad") > Inget slår C/C++ i prestanda Men det är en kompilatorfråga, så det går inte att ha som argument (och det är för övrigt fullt möjligt att använda en egen minnesallokering i C++). Det var bara ett exempel ;) Du skulle lika gärna kunna virra bort dig totalt i en c++-app istället för att skriva en väl fungerande app i c#, tittar man sedan på prestandan så.. jag vet ej om ja ska välja c# eller det c++ som finns i vs 2008 Vill du satsa på avancerade spel så är det C++ som gäller, om du nöjer dig med enklare spel så fungerar C#. Du kan kika på XNA Game Studio där du kan utveckla spel till PC, XBox 360 samt Zune. >>Sanning med modifikation; läste om något test för länge sedan där .net var bättre än c++ då minnesallokeringen var mer effektiv i .net då .net allokerade större bitar minne på en gång till skillnad från c++ som allokerade många små bitar istället Jag hörde av en kollega att C++ kommer att innehålla en garbage collector i nästa version. Har dock inte så mycket info om det. :-) Inte helt korrekt, men implementation av det kommer underlättas: >>så finns det mängder med ställen där det går betydligt snabbare att arbeta med C++ än C#. Det är en fråga om vana. <b>>Jag har inte följt de nyare versionerna av C++, men kommer man att fortsätta utveckla språket alltså?</b> > Det dåliga ryktet C++ har är inte befogat... =/ nån bra bok ja kan använda för c++ i den som finns i vs 2008 <b>Dessutom, sålänge alla api:n man vill jobba mot är hopplöst jobbiga då de inte tar strängklasser som parametrar och retunerar resultat som vilken normal funktion som helst, och inte kastar exceptions utan kräver explicit felkontroll, så är det rätt lätt att virra bort sig.</b> Vilken vill du ha? De som har stöd för .NET är VS 2002, 2003, 2005, 2008 och kommande 2010. Annars har du Visual Basic 6 och Visual C++ 6 (tror jag det är). Den enda anledningen till att du skulle vilja ha en annan version är för att samarbeta med någon annan. men c++ 2008 e mer likt java eller c tyckte jag o såg inte ut som det c++ ja använt mig av tidigare Det är samma sak, c++ är c++ (även om det finns äldre och nyare versioner, det tillkommer i princip bara saker, men gammal syntax finns kvar.) Sedan kan kompilatorn/utvecklingsmiljön se olika ut, men det har inget med koden att göra <b>>men c++ 2008 e mer likt java eller c tyckte jag o såg inte ut som det c++ ja använt mig av tidigare</b>jag har visual studio 2008
/andersSv: jag har visual studio 2008
Mvh PatrikSv:jag har visual studio 2008
Själv började jag med hemsidor när jag var 15 och sen så smått och väldigt trevande med enkel programmering på Macen. Började sen en KY-utbildning till programmerare för att ett år efter examen där börja på Göteborgs universitet, systemvetenskap.
mvh PerSv: jag har visual studio 2008
Jag har kodat C++ i 15 år och saknar det inte. C# är mycket behagligare för allmän programmering, och kan användas för både desktop-appar och web.
C/C++ använder man bara när man måste, och det är inte många som kodar en web-app i C++, det lovar jag... ;-)Sv:jag har visual studio 2008
har sen ja blev av med visual studio 6.0 inte programmerat i c eller c++ alls
bara vbSv: jag har visual studio 2008
har inte proggat på nåra år nu
inte sen ja blev av med mitt visual studio 6.0Sv:jag har visual studio 2008
/andersSv:jag har visual studio 2008
Sv: jag har visual studio 2008
Sanning med modifikation; läste om något test för länge sedan där .net var bättre än c++ då minnesallokeringen var mer effektiv i .net då .net allokerade större bitar minne på en gång till skillnad från c++ som allokerade många små bitar iställetSv:jag har visual studio 2008
Det finns andra grejer som är viktigare; kollar du på funktionell programmering så kan du få prestandavinster på helt andra sätt, och i alla VM så finns i teorin möjligheter till dynamisk kodanalys, något som tyvärr inte utnyttjas fullt ut.
Men kollar vi på rena beräkningar (t.ex. fysikmotorer som jag har jobbat med), så är allt annat uteslutet.Sv: jag har visual studio 2008
(Vad jag försökte få fram är alltså att om man är nybörjare så har man nog inte så mycket koll på att hur c++ allokerar minne är en kompilatorfråga, och att man kanske ska vara lite försiktig med att skapa och förstöra objekt hela tiden, för att ta ett exempel. Och har man ingen koll på vad man gör så kan man lätt trassla in sig och skriva obegriplig kod :P C++ är i mina ögon klart värre att komma igång i än c# )Sv:jag har visual studio 2008
/andersSv: jag har visual studio 2008
http://www.xna.com
Lycka till!Sv:jag har visual studio 2008
;-) senast jag kollade så allokerade C++ inget alls på egen hand...
Det är såklart jag som programmerare som bestämmer vad som allokeras i C++, men visst stämmer det att man numera hellre använder Windows allokeringsfunktioner för mer avancerade appar. Gamla hederliga malloc() (och hans sjutton kusiner) har ju sina begränsningar, men eftersom man har källkoden till CRT ser man iaf vad som görs.
Garanterat: C++ kör åttor runt C# och Java om en kompetent programmerare skriver appen.
Däremot tar det väl 20 ggr så lång tid att göra det i C++.....
PeterSv: jag har visual studio 2008
Sv:jag har visual studio 2008
http://en.wikipedia.org/wiki/C%2B%2B0x
De viktigaste delarna i nya C++ är den kraftigt utökade möjligheten till metaprogrammering, inbyggt stöd för trådning etc., där C++ länge har legat efter, och att vi ytterligare närmar oss fp.
Sen skulle jag nog motsätta mig det mesta folk säger om utvecklingstiden. Det finns egentligen ingenting som skulle göra att det går snabbare i C# utom de inbyggda biblioteken. Kan man standardbiblioteket ordentligt så finns det mängder med ställen där det går betydligt snabbare att arbeta med C++ än C#. Det är en fråga om vana.Sv: jag har visual studio 2008
Jo så är det såklart, det stämmer oavsett språk. Jag jobbade med C++/MFC/STL i 15 år (UI till trading-applikationer), men problemet är ju att det inte utvecklas några mer toolkits i denna miljö.... då är det svårt att vara effektiv.
Sen blev jag så trött på MS misshandel av språket med alla _tstrncpy() man skulle hålla reda på, alla macrosar som styrde Unicode och MCSB eller vad fasiken det kallades osv osv. Till slut såg koden ut som ett gäng apor levt rövare med tangentborder. Fler #ifdef-rader än vanlig kod.
Så jag förföll till Java/C# där man trots allt kan koncentrera sig på vad som skall göras istf på allt runtomkring.
Men C++ kommer alltid ha en plats nära mitt hjärta.
Jag har inte följt de nyare versionerna av C++, men kommer man att fortsätta utveckla språket alltså?Sv:jag har visual studio 2008
Ja, herregud. C++ är fortfarande väldigt stort på alla områden utom "Windowsapplikationer med jävligt grafiska formulär och en databas" och "Webbapplikationer". Och C++.NET gör ju att man faktiskt kan göra windowsapplikationer utan att spy över MS påhitt.
Man ska ha klart för sig att C++ har gått i bräschen för i stort sett alla viktigare konstruktioner i oo-språk utom reflection. "Generics" har funnits i C++ i över 10 år. Multipelt arv har alltid funnits (och titt som tätt så får någon panik i C# för att det inte finns), osv. Metaprogrammering har funnits sen templating, och där är inte C# ikapp än.
Det dåliga ryktet C++ har är inte befogat... =/Sv: jag har visual studio 2008
Mja, jag är lite delad.. Jag är nog lite benägen att skylla en del på böcker (stoppa din sträng i en array, när det finns inbyggda klasser..?), men också för att det är fruktansvärt lätt att skriva dålig kod (där t.ex. c#/java leder; man slipper bry sig om pekare och att slänga objekt, vill man så kan man till viss del, men då måste man väldigt explicit säga det, i c++ är det _väldigt_ enkelt att göra dåliga saker)
Dessutom, sålänge alla api:n man vill jobba mot är hopplöst jobbiga då de inte tar strängklasser som parametrar och retunerar resultat som vilken normal funktion som helst, och inte kastar exceptions utan kräver explicit felkontroll, så är det rätt lätt att virra bort sig.
Visst, språket i sig är starkt och bra _om_ man orkar sätta sig in i det och har bra läromedel, men det är som sagt väldigt lätt att göra snedsteg.Sv:jag har visual studio 2008
ja har c++ black bookSv: jag har visual studio 2008
Att standardbibliotekets funktioner inte tar strängar är delvis en prestandafråga, C++ är designat för absolut kontroll och effektivitet, ibland på bekostnad av användarvänlighet (precis som att destruktorer inte är virtuella som standard), något som paradoxalt nog blir viktigare och viktigare. (Kolla "The free lunch is over" i kombination med "Cache coherency" för ett mycket bra argument att inte tvinga destruktorer att vara virtuella.)
Delvis är det, förstås, ett ganska jobbigt och löjligt problem för både nybörjare och vana programmerare, men som går att lösa genom språkförändringar. Problemet är bara att C++-kommittén inte hann få in tillräckligt med grejer till förra versionen (eftersom det finns detaljerade prestandakrav i standarden, ofta tillsammans med förslag på implementationer etc., och då fick man helt enkelt skära bort vissa delar). Där finns också irriterande och löjliga grejer som att nästlade templates behöver mellanrum:
"vector<list<int>>" är förbjudet, man måste skriva "vector<list<int> >"
Många såna här grejer kommer rättas upp i C++0x. Och kollar man på många av de "senaste" tilläggen i C#, så ser man hur man börjar närma sig standardbiblioteket i C++.
<b>>Visst, språket i sig är starkt och bra _om_ man orkar sätta sig in i det och har bra läromedel, men det är som sagt väldigt lätt att göra snedsteg.</b>
Håller helt med, men det blir säkrare, enklare, snabbare och mer kraftfullt med tiden. Så fort det börjar komma in lite fp så tror jag att utvecklingstiden kan komma ner ordentligt.
<b>>nån bra bok ja kan använda för c++ i den som finns i vs 2008</b>
"den C++ som finns i vs 2008" är inget annat än "C++". (Vilket man iofs inte kan säga om tidigare versioner av VS, men ändå.) Alla böcker funkar. En bra bok är "Accelerated C++".
Men jag skulle nog rekommendera något annat språk. Jag är inte med på vad du menar med att du vill "göra spel".
Pratar du om små visuella applikationer? C#
Pratar du om enklare beräkningar? Python eller Ruby
Pratar du om "riktiga spel"? Ja, C++ då, men om du känner dig förvirrad av skillnaden på C# och C++ så tror jag du kan ta det lite lugnt med "riktiga spel" och satsa på C# istället.Sv: jag har visual studio 2008
Sv: jag har visual studio 2008
VC++6 är totalt värdelös, och bör inte användas öht. Sv:jag har visual studio 2008
Sv: jag har visual studio 2008
Sv: jag har visual studio 2008
För det första så finns det inget som heter C++ 2008. Det finns C++98, (med små förändringar 2003) och C++0x som enligt kausalitetsprincipen blir C++09.
För det andra har jag ytterligt svårt att se hur något kan vara mer likt "java eller c", eftersom man grovt sett kan säga C -> C++ -> Java.
Om "det c++" som du har använt dig av tidigare hade andra språkkonstruktioner så har du antagligen lyckats få fram något annat än C++, eller så har du bara använt ett annat bibliotek. Notera också att C++.NET skiljer sig en del.
Standardkod c++ ser ut som:
#include <iostream>
class x {
public:
void test_print(void) {
std::cout << "test";
}
} ;
int main()
{
x y;
y.test_print();
}
Är det något sånt du har skrivit?