Permalänk
Medlem

C# och C++ - Plus och Minus?

Vilket är bäst av C# och C++?
Eller... Man kan ju inte riktig säga vilket som är bäst men vad har det ena som den andra inte har och vad har den ena för bra och dåliga saker?
Vad är negativt/positivt med C#/C++?

Vilket är lättast att komma igång med osv...?

Jag har programmerat sen jag var 9 (typ fyra år nu)
Jag har alltid använt GML som måga tror är värdelöst och "simpelt" och har tränat lite Java för att kuna modda vissa spel

Tack I förväg

Visa signatur

Fisk :3

Permalänk
Medlem

Även om språken ser liknande ut är de väldigt olika. C# är mer likt java, det är säkrare och håller dig i handen mer. Jag har inte kodat C# på många år nu men många verkar gilla det för att skapa desktop-applikationer och liknande. Är mycket enkelt att komma igång i, även om jag tycker att syntaxen lämnar en hel del att önska.

C++ bör man väl egentligen bara använda om man behöver rejält med prestanda, och är kontrollfreak. Det är väldigt mycket att hålla reda på, och väldigt många fallgropar man kan gå ner i. Man måste också hantera minne själv, vilket har både för och nakdelar.

Det är min personliga åsikt. Ledsen att det inte blev nån enkel för/mot-lista, men det är inte så enkelt. Beror helt på vilka typer av projekt man vill göra och vart man vill komma med sitt kodande.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem
Skrivet av Linus371:

Vilket är bäst av C# och C++?
Eller... Man kan ju inte riktig säga vilket som är bäst men vad har det ena som den andra inte har och vad har den ena för bra och dåliga saker?
Vad är negativt/positivt med C#/C++?

Vilket är lättast att komma igång med osv...?

Jag har programmerat sen jag var 9 (typ fyra år nu)
Jag har alltid använt GML som måga tror är värdelöst och "simpelt" och har tränat lite Java för att kuna modda vissa spel

Tack I förväg

Allt beror på vad du ska göra.

Visual C# gör det väldigt lätt att skriva winform/WPF applikationer vilket också gör det perfekt för att upprätta windows program snabbt och enkelt. Efter som C# jobbar mot .net framework(biblioteket) så kan man med enkelthet gå mellan olika språk, ex vb.net, j# o.s.v som alla jobbar mot samma framework. Man kan även ha en blandad applikation. Snabbheten är inget jag hade funderat på merän om man ska göra en grafikmotor eller något annat krävande. Är det sen så att man behöver komma närmare hårdvaran så kan man alltid köra unmanages C#.

När det gäller valet mellan C# och VB.NET så är det främst en smaksak. Men jag anser att C# är det solklara valet då det finns mycket mer exempel här och syntaxen känns bättre (enligt mig).

När det gäller C++ så är jag inte så säker på vilka användnings område det används inom, kanske hårdvarunära programmering? Annars är det generellt C man använder för detta.

Java har jag provat par gånger men personligen håller jag mig ifrån det på grund av det röriga biblioteket och iallafall då sega gränssnittet.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av jdv:

Även om språken ser liknande ut är de väldigt olika. C# är mer likt java, det är säkrare och håller dig i handen mer. Jag har inte kodat C# på många år nu men många verkar gilla det för att skapa desktop-applikationer och liknande. Är mycket enkelt att komma igång i, även om jag tycker att syntaxen lämnar en hel del att önska.

C++ bör man väl egentligen bara använda om man behöver rejält med prestanda, och är kontrollfreak. Det är väldigt mycket att hålla reda på, och väldigt många fallgropar man kan gå ner i. Man måste också hantera minne själv, vilket har både för och nakdelar.

Det är min personliga åsikt. Ledsen att det inte blev nån enkel för/mot-lista, men det är inte så enkelt. Beror helt på vilka typer av projekt man vill göra och vart man vill komma med sitt kodande.

Men med C#... om man använder det med XNA. Är det tillräkligt bra till att göra spel med då?

Visa signatur

Fisk :3

Permalänk
Medlem
Skrivet av Linus371:

Men med C#... om man använder det med XNA. Är det tillräkligt bra till att göra spel med då?

Man gör kanske inte nästa crysis på det direkt men som hobby projekt funkar det utmärkt.

Visa signatur

CPU : AMD Ryzen 5 5600X Moderkort : ASUS ROG Strix B550-F GAMING Grafikkort :EVGA GeForce GTX 1080 Ti FTW3 iCX Gaming HDMI 3xDP 11GBMinne : Corsair 16GB Chassi :Fractal Design Define 7 Compact Nätdel : Corsair RM750x Skärm #1 : Asus VG349Q Ultrawide Skärm #2 : Acer X34 Ultrawide

Permalänk
Medlem
Skrivet av Linus371:

Men med C#... om man använder det med XNA. Är det tillräkligt bra till att göra spel med då?

Absolut. Jag har förstått att XNA är riktigt bra, men har inte använt det själv. Själv föredrar jag dock C och ett scriptspråk som Lua eller Scheme, men det är för det är det jag är van vid och kan skriva saker snabbt i det. Kan dessutom köras på fler platformar (Linux, OS X, etc.) även om Mono verkar vara rätt bra. Osäker på Mono:s XNA stöd.

Även om du väljer att lära dig C# nu kan det vara värt att senare lära sig iallafall hjälpligt med ett lågnivåspråk som C senare. Samt ett ännu mer högnivåspråk så man kan skriva enkla scriptbara applikationer. Det har man nytta av även i C# när man måste skriva en native-DLL eller vill göra ett spel som nån ska kunna scripta in enklare spellogik i efter att man kompilerat.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem
Skrivet av jdv:

Absolut. Jag har förstått att XNA är riktigt bra, men har inte använt det själv. Själv föredrar jag dock C och ett scriptspråk som Lua eller Scheme, men det är för det är det jag är van vid och kan skriva saker snabbt i det. Kan dessutom köras på fler platformar (Linux, OS X, etc.) även om Mono verkar vara rätt bra. Osäker på Mono:s XNA stöd.

Även om du väljer att lära dig C# nu kan det vara värt att senare lära sig iallafall hjälpligt med ett lågnivåspråk som C senare. Samt ett ännu mer högnivåspråk så man kan skriva enkla scriptbara applikationer. Det har man nytta av även i C# när man måste skriva en native-DLL eller vill göra ett spel som nån ska kunna scripta in enklare spellogik i efter att man kompilerat.

Menar du att XNA gör så att det funkar på Linuc och OS X också?
Jag läste att den bara funkade med XBOX och Windows!

Så du menar att C# är bra, men jag borde lära mig någonting annat i längden?
Och funkar XNA bra med 3D också eller är det bara bra i 2D?
och är det tillräkligt snabbt för 3D spel?

Visa signatur

Fisk :3

Permalänk
Medlem
Skrivet av Linus371:

Menar du att XNA gör så att det funkar på Linuc och OS X också?
Jag läste att den bara funkade med XBOX och Windows!

Nej jag skriver som en kratta. XNA är Windows/XBOX, men ev. kan man köra det via Mono. Unity är dock en 3D-motor skriven i C# som fungerar på många plattformar via Mono, den är dock ett rätt stort framework och man har inte lika stor frihet att göra saker som i XNA utan mer jobb.

Skrivet av Linus371:

Så du menar att C# är bra, men jag borde lära mig någonting annat i längden?
Och funkar XNA bra med 3D också eller är det bara bra i 2D?
och är det tillräkligt snabbt för 3D spel?

Ja det kommer funka för både 2D och 3D. Bloodline champions är t.ex. skrivet i XNA. C# är jättebra att lära sig, men i stora spelbolag används det främst för att göra verktyg, editorer och andra GUI-program. Ett lågnivåspråk och ett högnivå/script-språk kan vara ett vettigt komplement i längden.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem
Skrivet av jdv:

Ja det kommer funka för både 2D och 3D. Bloodline champions är t.ex. skrivet i XNA. C# är jättebra att lära sig, men i stora spelbolag används det främst för att göra verktyg, editorer och andra GUI-program. Ett lågnivåspråk och ett högnivå/script-språk kan vara ett vettigt komplement i längden.

Tack för hjälpen
Men vilket språk använder alla stora företag då... Dom som då gjorde typ battlefied och dirt spelen och såna?

Men hela tråden verkar luta mot C# som jag faktiskt såg lite fram emot

Visa signatur

Fisk :3

Permalänk
Medlem

Spel för nybörjare: XNA
Spel för proffs: C++
Programvara: C# om det gäller windows.

Så är min uppfattning iaf. Men när det gäller spel så skulle jag säga att det är C++ som gäller tillsammans med directx.

Permalänk
Medlem
Skrivet av Linus371:

Tack för hjälpen
Men vilket språk använder alla stora företag då... Dom som då gjorde typ battlefied och dirt spelen och såna?

C++, eller ett subset av C++. Ev. ett högnivåspråk för att scripta logik i banor elelr andra betéenden som är bra om man kan ändra snabbt utan att kompilera om hela spelet.

Spel som ska gå på konsol har ofta rejäla minnes/prestandabegränsningar. Man kan liksom inte uppgradera sin Xbox360, så det är ofta värt att skriva i krångligare kod för att få saker så effektivt som möjligt.

EDIT: Man använder ofra många språk när man gör spelet, men alla används inte sedan i det som skeppas (det som spelaren kör). C# används som jag tidigare nämnt t.ex. för att utveckla interna verktyg så som baneditorer.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.

Permalänk
Medlem
Skrivet av jdv:

Nej jag skriver som en kratta. XNA är Windows/XBOX, men ev. kan man köra det via Mono. Unity är dock en 3D-motor skriven i C# som fungerar på många plattformar via Mono, den är dock ett rätt stort framework och man har inte lika stor frihet att göra saker som i XNA utan mer jobb.

Unity motorn är skriven i C++ och inte i C#.

http://answers.unity3d.com/questions/9675/is-unity-engine-wri...

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem
Skrivet av MagnusL:

Sorry, där får man för att man uttalar sig om sånt man inte har full koll på.

Visa signatur

void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.