C# framtiden inom spelprogrammering?

Trädvy Permalänk
Medlem
Plats
Gävle, Bomhus
Registrerad
Aug 2004

C# framtiden inom spelprogrammering?

En bekant till mig har sagt att DirectX11 kommer vara optimerat för C# och knappt programmeringsbart eller väldigt svårt med C++, stämmer detta eller är det bara rykten?

Annars kanske man ska ta och börja lära sig C#?
Ni får gärna rekommendera C# böcker / webbsidor med nyttig läsning om man vill lära sig C# om fallet skulle vara att min vän har rätt.

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2005

Re: C# framtiden inom spelprogrammering?

Citat:

Ursprungligen inskrivet av FrozenSnake
En bekant till mig har sagt att DirectX11 kommer vara optimerat för C# och knappt programmeringsbart eller väldigt svårt med C++, stämmer detta eller är det bara rykten?

Annars kanske man ska ta och börja lära sig C#?
Ni får gärna rekommendera C# böcker / webbsidor med nyttig läsning om man vill lära sig C# om fallet skulle vara att min vän har rätt.

Jag har ingen aning om det ligger någon sanning i det han/hon säger men det låter väldigt konstigt att man skulle utesluta ett av världens vanligaste och mest använda programmeringsspråk. Jag vet inte hur stor andel av alla spelprogrammerare som använder C++ men jag har alltid hört att det är nummer ett i just spelbranschen.

Trädvy Permalänk
Medlem
Plats
Cyberspace
Registrerad
Apr 2008

Re: C# framtiden inom spelprogrammering?

Citat:

Ursprungligen inskrivet av FrozenSnake
En bekant till mig har sagt att DirectX11 kommer vara optimerat för C# och knappt programmeringsbart eller väldigt svårt med C++, stämmer detta eller är det bara rykten?

Annars kanske man ska ta och börja lära sig C#?
Ni får gärna rekommendera C# böcker / webbsidor med nyttig läsning om man vill lära sig C# om fallet skulle vara att min vän har rätt.

Ursäkta om jag trollar lite (har inte programmerat C på över 15 år), men DX11 är väl ett bibliotek, och dessa kan man anropa från olika dialekter av högninvåspråk, eller?

There are two kinds of people: 1. Those that can extrapolate from incomplete data.
Min tråkiga hemsida om mitt bygge och lite annat smått o gott: www.2x3m4u.net

Trädvy Permalänk
Medlem
Plats
Gävle, Bomhus
Registrerad
Aug 2004

Re: Re: C# framtiden inom spelprogrammering?

Citat:

Ursprungligen inskrivet av Superb
Jag har ingen aning om det ligger någon sanning i det han/hon säger men det låter väldigt konstigt att man skulle utesluta ett av världens vanligaste och mest använda programmeringsspråk. Jag vet inte hur stor andel av alla spelprogrammerare som använder C++ men jag har alltid hört att det är nummer ett i just spelbranschen.

Jag ska utbilda mig till spelprogrammerare och vill därför lägga tid på huvudspråket först och om språken skiftar kanske jag ska börja med C# också.

Fick detta svaret på ett annat forum:

Citat:

I don't know much about DX11 yet, but some reasons C++ was the main game dev language was speed and popularity (and there weren't tons of other choices). C# is a teensy bit slower, but is definitely popular. MS seems to be pushing it a lot as a desktop, web, and game language, in all of the .net stuff and Xna. I can see it becoming bigger in the game industry.

Är lite nyfiken på hur det ligger till med DX11 och eftersom det tydligen inte är släppt än så hoppas jag att MS inte ska förstöra för C++

Citat:

Ursprungligen inskrivet av Dr.Mabuse
Ursäkta om jag trollar lite (har inte programmerat C på över 15 år), men DX11 är väl ett bibliotek, och dessa kan man anropa från olika dialekter av högninvåspråk, eller?

Vet inte riktigt hur det ligger till DX har jag alltid lekt med i C++ inte C/C#. Men eftersom det är MS som pluppar med DX så kan dom nog utesluta vissa språk.

Trädvy Permalänk
Medlem
Registrerad
Jul 2001

med XNA Game Studio är det enkelt att börja programmera

http://creators.xna.com/en-GB

Har varit på detta forum på tok för länge...

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004

Det finns alldeles för många optimeringar, renderingsmotorer och så vidare skrivna i C++ för att en övergång ska kunna ske över ett par år eller liknande. Allt måste då skrivas om i C# unsafe, och C# fungerar inte heller alltid på samma sätt, man skulle alltså behöva optimera igen och så vidare. Dessutom är inte C# lika snabbt som C++, och ett par klockcykler extra är avgörande om det är ett par klockcykler som körs flera hundra gånger i sekunden. Så jag tror att Microsoft måste göra något väldigt drastiskt om det ska bli nästa industristandard i spelbranschen, det känns inte som att det kommer hända helt enkelt.

Däremot är det som UndCon säger väldigt enkelt numera att skapa spel i C# med ramverket XNA. Det gör att vi säkert kommer få se fler och fler amatörspel som är lättare att underhålla, förändra och bygga vidare på (vilket är några av nackdelarna med stora applikationer i C++). C# är lättare att refaktorisera och har en strängare objektorientering, vilket är bra för collab och säkert skulle snabba upp själva programmeringen i spelutvecklingen. Men som sagt är det inte riktigt lika snabbt, vilket är #1.

Trädvy Permalänk
Medlem
Plats
i din garderob
Registrerad
Sep 2007

Men är det inte så att de flesta spel flaskar på GPU-sidan? Då borde ett par klockcykler inte spela någon roll så länge grafikrutinerna är bra, och den delen sköter DirectX.

Är inte insatt i spelprogrammering, undrar mest.

Bilanaloger är som Volvo — varenda svenne kör med dem

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

Att DX11 blir C#-only verkar vara helt fel. MS har backat av C#-bindingsen för DX sedan ett tag och vill att man använder XNA istället. Vad som är viktigt är dock detta: Direct3D (likaså OpenGL) är bara lager ovanpå vad grafikkortet klarar av. Det viktiga är inte att kunna använda ett API utan att förstå vad grafikkortet klarar av att göra snabbt.

När det gäller C# funkar det nog bra för att skriva spel i Windows, på xbox eller som högnivåspråk på andra platformar (som unity gör). Men rent generellt är det svårt att se det som en ersättare för C++ i spelutvecklingssammanhang. När man bara har 256 MiB system-minne och 7 relativt svårprogrammerade små-CPU:er med bara 256 KiB minne (PS3) är det svårt att få in en stor VM. Men det är klart att det går

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

Trädvy Permalänk
Medlem
Plats
Mitt i Skåne
Registrerad
Okt 2001

Nackdelen med att skriva spel i C# är att koden körs i en virtuell maskin likt java. I ett C++ spel/program exekveras den kompilerade koden "as is" för det OS det är kompilerat för.
I fallet C# kompileras koden till en generell binär som sedan under runtime översätts (av den virtuella maskinen .NET) till det aktuella OSet som sedan exekverar outputen från .NET maskinen.

Jag ser det som mycket osannolikt att C# ska ersätta C++ till spelutveckling bara pga DX11.

Best regards
Knight

Idag kom Athlon64

Trädvy Permalänk
Medlem
Plats
Exil i huvudstaden
Registrerad
Jul 2004

Jag tycker det verkar logiskt att gå mot t.ex. C#. Men som nämnts tidigare, det är mycket existerande kod och kompetens som bygger på C++ så det är inget man överger i första taget misstänker jag.

Det hindrar dock inte att man fasar in C# som ett alternativ där man har lyxen att kunna välja. När det gäller prestandabiten kan jag inte säga att jag är kompetent nog att säga vad som händer inom kompilatortekniken framöver. Klart är att C# måste ha bra prestanda för att seriöst kunna konkurrera med C++ där prestanda är viktigt.

Det går redan nu att använda C# till ganska mycket även där prestanda/hårdvarustöd är viktigt, men det bygger ofta på att man använder C#-kod som i sig anropar t.ex C++-kod.

Crap.

Trädvy Permalänk
Medlem
Plats
/dev/null
Registrerad
Aug 2008

C# eller C++ etc spelar ingen roll, när du blir mer van vid programmering så kommer du inse att språket är av sekundär betydelse, det handlar mer om koncept såsom OOP (objektorienterad programmering).

När du har förstått saker som arv, klasser etc, så kommer du inse att specifik syntax är ointressant, sådant kollar man upp i dokumentationen.

Personligen skulle jag dock börjat med C#, då du slipper bekymra dig om saker som minnesallokering, garbage collection etc, och kan inrikta dig mer på vad programmet skall göra.

Om du inte redan går på en formell utbildning inom spelprogrammering, kolla upp utbudet av distanskurser. Personligen tycker jag distanskurser är ett utmärkt sätt att komma igång med ett nytt språk/koncept.

/PeCe

NUC: Intel i5-4250U | 8GB RAM | 250GB SSD
Laptop: Dell Latitude E7270
Laptop: MacBook Air 13"

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av Teknocide
Men är det inte så att de flesta spel flaskar på GPU-sidan? Då borde ett par klockcykler inte spela någon roll så länge grafikrutinerna är bra, och den delen sköter DirectX.

Är inte insatt i spelprogrammering, undrar mest.

Jag är inte heller så insatt, men tänkte mig klockcykler både för CPU och GPU. Kan ju uppkomma såna scenarion när man abstraherar kod. Vet inte vad det är som flaskar mest just nu för speltillverkarna... en intressant fråga! Men det pushar ju fortfarande både GPU och CPU-tillverkarna framåt dagligen... så det borde betyda att det fortfarande spelar stor roll.

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av PeCe
C# eller C++ etc spelar ingen roll, när du blir mer van vid programmering så kommer du inse att språket är av sekundär betydelse, det handlar mer om koncept såsom OOP (objektorienterad programmering).

Nja, du missar en viktig poäng; om man vill bli spelprogrammerare måste man kunna det som används för att programmera spel. Och det är i dagsläget C++, helt på grund av dess prestanda. CPUn struntar blankt i om språket som körs var objektorienterat eller inte. Så hans fråga är om industristandarden C++ kommer att förändras och han istället ska satsa på C#, men svaret hittills är att det inte kommer ske.

Och ja, vill man lära sig programmera i allmänhet är C# ett bättre alternativ än C++.

Trädvy Permalänk
Medlem
Plats
/dev/null
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av azoapes
Nja, du missar en viktig poäng; om man vill bli spelprogrammerare måste man kunna det som används för att programmera spel. Och det är i dagsläget C++, helt på grund av dess prestanda. CPUn struntar blankt i om språket som körs var objektorienterat eller inte. Så hans fråga är om industristandarden C++ kommer att förändras och han istället ska satsa på C#, men svaret hittills är att det inte kommer ske.

Och ja, vill man lära sig programmera i allmänhet är C# ett bättre alternativ än C++.

Tror du missar min poäng. Lär man sig konceptet OOP så kan man sedan skriva kod i C#, C++, java m fl objektorienterade språk.

När jag lärde mig OOP så använde jag java, men trots det har jag inga problem att skriva ett program i t ex C++, just för att de båda använder samma koncept.

I ett större programmeringsprojekt brukar det mesta skrivas i pseudokod, långt innan man sätter sig och knackar kod, vilket i sig är ett tydligt exempel på att det är viktigare att kunna konceptet än ett specifikt språk.

/PeCe

NUC: Intel i5-4250U | 8GB RAM | 250GB SSD
Laptop: Dell Latitude E7270
Laptop: MacBook Air 13"

Trädvy Permalänk
Medlem
Plats
Laholm
Registrerad
Okt 2005

Vad ni glömmer är att det finns kompilerare för C# som kompilerar det till maskinkod, precis som en kompilerare för C++. (Mono har en sådan.)

ASP.NET programmerare i C#
Twitter: http://www.twitter.com/hagbarddenstore

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jul 2004

Jag har inte ens sett något om att .Net ska ha stöd för DX11 alls utan att använda separata wrappers (tex slimDX), precis som för DX10. Skulle dock vara trevligt om det dök upp.

Någon som har länk till att det faktiskt kan vara aktuellt?

Trädvy Permalänk
Medlem
Registrerad
Dec 2004
Citat:

Ursprungligen inskrivet av PeCe
Tror du missar min poäng. Lär man sig konceptet OOP så kan man sedan skriva kod i C#, C++, java m fl objektorienterade språk.

När jag lärde mig OOP så använde jag java, men trots det har jag inga problem att skriva ett program i t ex C++, just för att de båda använder samma koncept.

I ett större programmeringsprojekt brukar det mesta skrivas i pseudokod, långt innan man sätter sig och knackar kod, vilket i sig är ett tydligt exempel på att det är viktigare att kunna konceptet än ett specifikt språk.

/PeCe

Men du missar en detalj i det hela.

För att skriva högpresterande system så är valet av språket viktigt.

Automatisk minneshantering är bra för vanliga projekt, men i projekt där du vill ha full koll på vad som händer och när det händer så är det en mycket sämre idé.

Och så finns det några andra detaljer som t.ex. att skriva mycket tidskritiska delar av koden med cache-line storlekare i åtankarna... eller instruktions throughput/latencies. Jag tvivlar på att det är ämnen som en C# programmerare någonsin kommer att komma i kontakt med (helt enkelt för att det mer eller mindre är irrelevant för dem).

Nej, jag tror att C++ kommer leva kvar som det huvudsakliga spel-programeringsspråket en lång, lång tid. Dock så är det inte omöjligt att icke tidskritiska delar kommer att skrivas med t.ex. C#. Faktum är att många spel redan idag använder ett högnivåsspråk för scripts och GUI.

ps. För att återigen förtydliga det hela. Att skriva ett tidskritiskt C++ system skiljer sig rätt så mycket från att skriva ett vanligt C++ system. En vanlig bra C++ programmerare behöver inte nödvändigtvis vara bra på att skriva tidskritiska system med språket och vice versa.

"Nothing is impossible because impossible itself says I M Possible..."

Trädvy Permalänk
Medlem
Plats
Here & There
Registrerad
Okt 2008
Citat:

Ursprungligen inskrivet av HRN
Jag har inte ens sett något om att .Net ska ha stöd för DX11 alls utan att använda separata wrappers (tex slimDX), precis som för DX10. Skulle dock vara trevligt om det dök upp.

Någon som har länk till att det faktiskt kan vara aktuellt?

Microsoft har ju redan en wrapper, nämligen XNA. "Problemet" är ju att XNA är inriktat mot Xbox360 (och dess HW).

Ser det som mycket tvilsamt att de kommer med en generel DX wrapper då det ville betyda mycket mer arbete för varje release - först klargör de DX, sedan måste de uppdatera wrappern. Men SlimDX gör ju ett mycket bra jobb.

What I'm watching thru myTV
[Annons bortredigerad av moderator]

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2007

Som Dr.Mabuse sa så är väl DX11 ett bibliotek och borde därmed vara ungefär lika lätt att använda oavsett språk. Men om det skulle vara så att Microsoft pushar C#+DX11 mer än andra kombinationer så tror jag de förhastar sig lite – DX är ju inte det enda grafikbiblioteket, så det kan finnas en viss risk att utvecklare byter bibliotek istället för att byta språk.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jul 2004
Citat:

Ursprungligen inskrivet av emigrating12
Microsoft har ju redan en wrapper, nämligen XNA. "Problemet" är ju att XNA är inriktat mot Xbox360 (och dess HW).

Ser det som mycket tvilsamt att de kommer med en generel DX wrapper då det ville betyda mycket mer arbete för varje release - först klargör de DX, sedan måste de uppdatera wrappern. Men SlimDX gör ju ett mycket bra jobb.

Exakt, och XNA har bara stöd för DX9 vad jag har för mig så vill man använda DX10 eller senare så är det antagligen SlimDX som gäller.

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Nov 2001
Citat:

Ursprungligen inskrivet av HRN
Exakt, och XNA har bara stöd för DX9 vad jag har för mig så vill man använda DX10 eller senare så är det antagligen SlimDX som gäller.

Mycket av det beror nog på att det kort som sitter i 360:n och som är en av XNA:s targets bara stödjer DX9 (+ lite mer).

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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jun 2004
Citat:

Ursprungligen inskrivet av PeCe
Tror du missar min poäng. Lär man sig konceptet OOP så kan man sedan skriva kod i C#, C++, java m fl objektorienterade språk.

När jag lärde mig OOP så använde jag java, men trots det har jag inga problem att skriva ett program i t ex C++, just för att de båda använder samma koncept.

Nej, det kan man verkligen inte. Det blir aningen lättare för en nybörjare, men inte mer än så. Så fort det handlar om mer avancerad programmering än Hello World är du kokt. Att kunna syntax (hur man skriver något) är en ganska liten del av att kunna programmera i ett språk Och att kunna det objektorienterade konceptet är också bara en del av ett språks syntax. Du kan t.ex. inte skriva extension methods eller Compare-metoder i C# bara för att råkar kunna Java och C++. Nej, det svåra och viktiga är vad du skriver, och varför. Och det skiljer sig markant mellan olika applikationstyper, språk, teknikbaser och så vidare. Säg t.ex. att du byter från D3D till OGL. Vips, så måste du lära dig mängder av nya optimeringar.

Citat:

Ursprungligen inskrivet av hagbarddenstore
Vad ni glömmer är att det finns kompilerare för C# som kompilerar det till maskinkod, precis som en kompilerare för C++. (Mono har en sådan.)

Vad menar du nu? ngen.exe ? Det blir ju alltid ett lager emellan?

Jag skulle till diskussionen vilja citera detta:

Citat:

Från http://www.codeproject.com/KB/cs/CSharpVsCPP.aspx
Except for writing time-critical blocks of code, prefer C#. Write all your algorithmic code in C++ (not VC++ .NET), compile it into a dll and call that using a Dll Interop through C#. This should balance the performance. This technique is not new or not invented by me or anyone. It's similar the old age C programming vs Assembly, where people on one camp fight assembly programming is faster and the other camp stating C is easier to develop and then people started using assembly embedded within a C program for time-critical applications using an asm block.

Notera att en stor del av koden i ett spelprojekt är just algoritmisk.

Trädvy Permalänk
Medlem
Plats
/dev/null
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av Weeblie
Men du missar en detalj i det hela.

För att skriva högpresterande system så är valet av språket viktigt.

Automatisk minneshantering är bra för vanliga projekt, men i projekt där du vill ha full koll på vad som händer och när det händer så är det en mycket sämre idé.

Och så finns det några andra detaljer som t.ex. att skriva mycket tidskritiska delar av koden med cache-line storlekare i åtankarna... eller instruktions throughput/latencies. Jag tvivlar på att det är ämnen som en C# programmerare någonsin kommer att komma i kontakt med (helt enkelt för att det mer eller mindre är irrelevant för dem).

Nej, jag tror att C++ kommer leva kvar som det huvudsakliga spel-programeringsspråket en lång, lång tid. Dock så är det inte omöjligt att icke tidskritiska delar kommer att skrivas med t.ex. C#. Faktum är att många spel redan idag använder ett högnivåsspråk för scripts och GUI.

ps. För att återigen förtydliga det hela. Att skriva ett tidskritiskt C++ system skiljer sig rätt så mycket från att skriva ett vanligt C++ system. En vanlig bra C++ programmerare behöver inte nödvändigtvis vara bra på att skriva tidskritiska system med språket och vice versa.

Tro mig, efter att ha skrivit realtidsapplikationer så vet jag mycket väl hur det är att skriva tidkritiska program vad gäller val av språk etc. Det är dock inte det det handlar om.

Vad jag försöker säga är att lär du dig OOP, så kan du skriva kod i valfritt OOP-språk, t ex C++. Ett mycket vanligt problem med många självlärda programmerare är att de kan ett programmeringsspråk, men de kan egentligen inte programmera.

Jag håller helt och fullt med om att resurskrävande spel bör skrivas i C/C++ (då det finns kompilatorer för dessa som ger mycket snabb maskinkod), men vägen till att skriva spel i C++ bör tas stegvis.

För att göra en av de omåttligt populära biljämförelserna: Om du skall bygga en sportbil, kommer det bli mycket lättare om du börjar med att lära dig hur bilar fungerar, istället för att börja bygga sportbilen direkt.

Så min "ordination":
Börja med grundläggande OOP. När du behärskar det någorlunda, välj ett OOP-språk till vilket DirectX-API:et finns. I detta läget, använd en färdig kodbas (skriven av dig eller nedladdad) och lär dig DirectX-API:et. Först efter detta bör du ge dig på att skriva mindre applikationer som använder sig av DirectX.

Citat:

Ursprungligen inskrivet av azoapes
Nej, det kan man verkligen inte. Det blir aningen lättare för en nybörjare, men inte mer än så. Så fort det handlar om mer avancerad programmering än Hello World är du kokt. Att kunna syntax (hur man skriver något) är en ganska liten del av att kunna programmera i ett språk Och att kunna det objektorienterade konceptet är också bara en del av ett språks syntax. Du kan t.ex. inte skriva extension methods eller Compare-metoder i C# bara för att råkar kunna Java och C++. Nej, det svåra och viktiga är vad du skriver, och varför. Och det skiljer sig markant mellan olika applikationstyper, språk, teknikbaser och så vidare. Säg t.ex. att du byter från D3D till OGL. Vips, så måste du lära dig mängder av nya optimeringar. Vad menar du nu? ngen.exe ? Det blir ju alltid ett lager emellan?

Jag skulle till diskussionen vilja citera detta: Notera att en stor del av koden i ett spelprojekt är just algoritmisk.

Att "man" kan kanske var att generalisera, men att säga att "man" inte kan är detsamma. Jag lärde mig OOP i java, och hade inget som helst problem att börja skriva relativt komplicerade applikationer i C++. Koncept handlar om varför man gör saker på ett visst sätt, språk om hur. Hur kan man slå upp, varför måste man förstå.

/PeCe

NUC: Intel i5-4250U | 8GB RAM | 250GB SSD
Laptop: Dell Latitude E7270
Laptop: MacBook Air 13"

Trädvy Permalänk
Medlem
Registrerad
Jul 2004

Var det inte samma snack om att "ingen kan ju gör ett spel i ett så högnivåspråk som C++ utan assembler är det enda rätta!" Lika så directX osv..?

Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Mar 2002

C++ kommer att fasas ut till förmån för språk med kortare utvecklingstid och färre buggar. De som inte tror detta är samma typ som trott att C aldrig kunde ersätta Assembly, eller C++ ersätta C. Det är en naturlig utveckling och är oundviklig, men det tar tid. Sen om det blir C#, Java eller något annat språk är svårt att svara på.

System.out.print(madness ? this.is.SPARTA : "");

Trädvy Permalänk
Medlem
Registrerad
Dec 2004
Citat:

Ursprungligen inskrivet av Kejsarn
Var det inte samma snack om att "ingen kan ju gör ett spel i ett så högnivåspråk som C++ utan assembler är det enda rätta!" Lika så directX osv..?

Det går utmärkt att göra spel i t.ex. C#, men jag tror att när man nämner vanlig spelutveckling så tänker man mera på dem spelen som är "cutting edge". Där finns det en fundemental skillnad mellan att gå från assembler till C++ och att gå från C++ till C#.

I grund och botton är C/C++ (speciellt C) designat med tankarna att det inte ska vara nämnvärt långsammare än assembler medan C# (och Java och andra högnivåspråk) är (oftast) designat med portabilitet och "enkelhet" i tankarna istället.

"Nothing is impossible because impossible itself says I M Possible..."

Trädvy Permalänk
Medlem
Registrerad
Dec 2004
Citat:

Ursprungligen inskrivet av Ghost_Overdoze
C++ kommer att fasas ut till förmån för språk med kortare utvecklingstid och färre buggar. De som inte tror detta är samma typ som trott att C aldrig kunde ersätta Assembly, eller C++ ersätta C. Det är en naturlig utveckling och är oundviklig, men det tar tid. Sen om det blir C#, Java eller något annat språk är svårt att svara på.

C++ har inte ersatt C och C har inte ersatt assembler.

C är t.ex. de facto språket som används när man skriver kärnorna i operativsystemen. Assembler används när man verkligen försöker klämma ut det allra minsta ur ens processor (klassiskt fall: GMP).

Stämmer nog fint att mycket av det som C++ gör idag kommer istället att göras i C# eller andra riktiga högnivåsspråk. C++ kommer istället troligen att hitta sin nisch någonstans mellan C och "dem andra" (i spel-fallet, endast för att skriva "motorn" i spelet).

"Nothing is impossible because impossible itself says I M Possible..."

Trädvy Permalänk
Medlem
Plats
/dev/null
Registrerad
Aug 2008
Citat:

Ursprungligen inskrivet av Ghost_Overdoze
C++ kommer att fasas ut till förmån för språk med kortare utvecklingstid och färre buggar. De som inte tror detta är samma typ som trott att C aldrig kunde ersätta Assembly, eller C++ ersätta C. Det är en naturlig utveckling och är oundviklig, men det tar tid. Sen om det blir C#, Java eller något annat språk är svårt att svara på.

Det är inte omöjligt att C++ fasas ut, men jag tror det kommer ta mycket lång tid innan det händer. C++ är i allra högsta grad levande, och utvecklas fortfarande (googla på "C++0x").

Skulle dock inte vilja påstå att C ersatt assembly eller att C++ ersatt C. Vad gäller "embedded systems" som har mycket begränsade resurser, både vad gäller minne och beräkningskraft, är dessa språk fortfarande dominerande.

/PeCe

NUC: Intel i5-4250U | 8GB RAM | 250GB SSD
Laptop: Dell Latitude E7270
Laptop: MacBook Air 13"

Trädvy Permalänk
Medlem
Plats
Karlskrona
Registrerad
Feb 2007

Intressant diskussion, jag tror dock att c++ kommer överleva ett tag till. DX11 kommer ju om ett par månader och nästan alla spelföretag kodar i c++. Däremot tror jag att det mycket möjligt kan bli så att man kodar vissa bitar (t.ex. spelmotorn) i c++ och importerar dll eller vad det var någon annan skrev ovanför för att sedan använda sig av C#.

Till trådskaparen vill jag säga att ALLA speltutbildningar i Sverige använder sig av c++ i första hand.
På BTH, där jag precis läst 3 år, så var det så att man började med c++, sen algoritmer i c++ och sedan lite uppgifter i Java mot slutet. Jag läste inte spelprogrammering, utan itsäkerhet men det var samma kurser första året.

Jag vill rekommendera dej att börja här: http://cplusplus.com/doc/tutorial/
Bra guide som är skriven i steg för steg.

Spelprogrammering i C# och XNA tror jag inte är något som utövas på högskolor.

Är inte spel på Xbox360 skrivit i c#? Har för mig att jag hört det nånstans. Har endast 3g nu över sommaren, så orkar inte kolla.

AMD 1800X@Noctua NH-U12F | asus prime x370pro | MSI ARMOR 1070 8GB| 2x8GB Corsair Vengeance DDR4 3GHZ | NZXT H440 | CoolerMaster V850 | SSD 120GB+240GB*2 | DELL 2713HM | DELL 2209WA | Coolermaster quickfire | Razer Deathadder 2013.

Phenom X6 1045T | Corsair TWIN2X PC6400C4DHX 2x2GB + Crucial Ballistix Sport 2x2GB | Gigabyte ma785gmt-us2h | Silverstone Temjin 08 | Corsair VX450

Trädvy Permalänk
Medlem
Plats
Solna
Registrerad
Mar 2002
Citat:

Ursprungligen inskrivet av PeCe
Skulle dock inte vilja påstå att C ersatt assembly eller att C++ ersatt C. Vad gäller "embedded systems" som har mycket begränsade resurser, både vad gäller minne och beräkningskraft, är dessa språk fortfarande dominerande.

/PeCe

Ja, men nu diskuterar vi spelprogrammering. Där trodde assemblyprogrammerarna att C aldrig skulle kunna ta över som dominerande språk. Optimeringar görs fortfarande i viss mån i assembly, men det är C++ som är det dominerande språket liksom mer högnivåspråk kommer vara i framtiden, även om C++ utvecklas.

System.out.print(madness ? this.is.SPARTA : "");