07. maj 2005 - 16:48Der er
19 kommentarer og 1 løsning
C++ vs C#
Hej alle derude!
Jeg ville hører om der er nogle, som kan svare på nogle spørgsmål vedrørende c++ og c#:
- Hvilket sprog er bedste til at programmere spil og programmer i? - Hvilket sprog er fremtidssikret? - Hvilket programmeringsprog bruger firmaer til programmer og spil? - Hvad er fordelene ved sprogene? - Hvad kan mest og hvad vil kunne mest de næste år? - Hvad syntes i selv om sprog/ene?
Jeg er jo 14 år og jeg gerne vil lave spil/programmer!.. =)
Vil C++ være bedre om de 7-8 år eller vil C# være det fortrukne sprog. Det ville da være ærgeligt hvis man har brugt 7-8år. på noget, som er forældet til den tid. er det da ikke rigtigt?
Der er ingen chance for at C++ er forældet om 7-8 år.
Den tid du bruger på C++ vil under alle omstændigheder ikke være spilt, da du kan bruge det meste af din viden til det næste sprog, uanset om det er C#, java eller hvad der nu måtte være moderne om 10 år.
Du vil sansynligvis skulle lære mere end et sprog.
Det er aldrig spildt at lære C++. Andre sprog bruger som oftest en delmængde af C++'s muligheder d.v.s. at kan man C++ er de andre sprog nemme at lære.
Om spil branchen om 7-8 år bruger C++ eller C# eller noget helt tredie ved jeg ikke. Jeg tvivler på at selv spidserne i spil branchen ved det. Fordi 7-8 år er lang tid.
Iøvrigt vil jeg mene at du ikke skal specialisere dig så tidligt. Bliv god til at programmere. Og se så hvad der om 5 år interesserer dig og hvilke teknologier der er relevante for det.
Og Arne_v man kan faktisk sige at C++ er i alle store sprog som bliver brugt til spil og programmer! Altså C++ er på måde ne far til mange af sprogene eller noget?
Eller jo der var en ting jeg undrer mig over. I c++ eller diverse programmerings sprog! Så når man ex programmere spil som counter-strike og Warcraft 3 er der forskel på hastigheder i forskellige sprog, eller er det computeren der afgør hastighden?
Vil godt lige tilføje, at Java er betydeligt langsommere end C#, og at .NET (deri hører C#) fidusen snart bliver hurtigere med 2.0 end den nuværende 1.1, men den forbliver dog stadig langsommere end C++ (helt op til 5-10% i nogle tilfælde, så vidt jeg ved), hvorfor spiludviklere/-firmaer vil sværge til C++ indtil fordelene (produktiviteten) opvejer ulemperne (hastigheden og at firmaernes "basecode", altså standard biblioteker, skal mere eller mindre omskrives til .NET for at yde deres bedste, som de nuværende gør i C++)
Det med de 5-10% - det var vist kun i ekstremt optimerede tilfælde.. så vidt jeg husker, skal man vist ikke regne med nogen større forskel (allerhøjst et par procent) indtil man virkelig begynder at lave krævende applikationer, der yder deres bedste i hvert af disse sprog. Disse tal afhænger selvfølgelig også utroligt meget af, at programmørerne kan presse deres sprog til det yderste.
Jeg tror ikke man meningsfuldt kan lave en måling der siger at det ene sprog er xx % hurtigere end et andet, det afhænger alt for meget af hvad programmet gør.
Når man er nybegynder inden for programmering er det, efter min ringe mening, vigtigere at sproget er let at lære, end om en eller anden test siger at det ene sprog er 11 % hurtigere end det andet.
Beklager, ordet 'betydeligt' er dårligt lagt i den sammenhæng. Jeg mente bare at det var langsommere, ikke betydeligt men bare notérbart, grundet nogle tests jeg læste for et par år tilbage. Jeg har lige tjekket nyere tests end dem jeg før har læst (kan ikke lige huske, hvor gamle de første var, men kan godt være at de var lidt for gamle til at opbygge fakta), og de viser minsandten at Java er blevet betydeligt hurtigere op gennem årene. Skal nok lige tjekke mine kilder først, inden jeg smider sådanne fakta på bordet næste gang ;-)
@bertelbrander
Som sagt skriver jeg også at det afhænger af en hel del faktorer, hvorfor man jo selvfølgelig ikke må sammenligne procenterne med normale applikationers ydelse i alle situationer. Jeg er selvfølgelig enig med dig i, at sproget skal være let at lære - prøver også, formentlig ikke tydeligt nok kan jeg godt se, at fortælle, at hastigheden ikke spiller en særlig stor rolle for nybegyndere. Det er jo egentlig heller ikke særligt svært at skifte fra C# til C++, hvis man behøver de sidste dråber ydelse, som "higher-level" sprog jo næsten altid stjæler fra én.
Mange tak for det, så jeg kunne blive opdateret. Interessante målinger, men du har ikke skrevet noget hvilke optimeringsparamtre du har benyttet, så jeg formoder at der ingen er påsat til nogen af compilerne? Kan dog ikke lige forstå at GCC ligger så langt nede (eller oppe om man vil), da den jo er meget rost de fleste steder, og MSVC 6 jo netop har/er en dårlig compiler, hvilket jo ikke lader til at være tilfældet med aritmetiske operationer. Optimering har jo desværre ikke nogen større indvirkning på dine resultater, men en benchmark med lidt mere avancerede test situationer ville være dejligt at have som fakta, men vil jo så også forringe sammenlignligheden mellem de forskellige sprog, som du jo også selv skriver.
GCC er langt bedre end MSVC6 med hensyn til overholdelse af standarderne men MSVC6 optimerer udmærket
der må være nogle optimerings muligheder idet der jo faktisk er forskel på tallene
den perfekte benchmark findes ikke
men hvis koden offentliggøres sammen med resultaterne så kan folk både teste efter og bedre vurdere hvad der er målt
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.