Avatar billede ricorn1234 Nybegynder
07. maj 2005 - 16:48 Der 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?

Håber nogle kan svare!

Venlig Hilsen
Nikolaj Hansen
Avatar billede arne_v Ekspert
07. maj 2005 - 17:16 #1
Mange spørgsmål.

Der bliver uden tvivl skrevet langt mere spil kode i C++ end i C#.

C# har en store fremtid foran sig. C++ vil fortsat blive brugt i mange år.

Der er meget mere C++ kode end C# kode men det er mit indtryk at der skrives
mere nyt C# kode end C++ kode (med hensyn til spil se tidligere svar).

pro C# : C# har garbage collection, C# bruger ikke pointere (medmindre i unsafe).
pro C++ : fuld kontrol med alt, findes til flere platforme end C#.

Man kan næsten alt i alle sprog, hvis man vil.

Jeg kan godt lide C#, C++ er et meget svært sprog.
Avatar billede ricorn1234 Nybegynder
07. maj 2005 - 17:28 #2
hmm tak arne! Har dog lige en ting til!.

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?
Avatar billede bertelbrander Novice
07. maj 2005 - 17:36 #3
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.
Avatar billede arne_v Ekspert
07. maj 2005 - 17:36 #4
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.
Avatar billede bertelbrander Novice
07. maj 2005 - 17:39 #5
Hvis du synes at C++ er for svært, og det kan man godt argumentere for, synes jeg at du skulle kikke på Java eller Python.
Avatar billede ricorn1234 Nybegynder
07. maj 2005 - 18:12 #6
Tak for hjælpen! Især til dig arne_v! smid lige et svar, så du kan få dine velfortjente 100 point :D
Avatar billede arne_v Ekspert
07. maj 2005 - 18:14 #7
kommer her
Avatar billede ricorn1234 Nybegynder
07. maj 2005 - 18:14 #8
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?
Avatar billede arne_v Ekspert
07. maj 2005 - 18:21 #9
Sprog som Java og C# er meget meget inspireret af C++.

Og også sprog som Delphi og Ada er blevet lidt inspireret.
Avatar billede ricorn1234 Nybegynder
07. maj 2005 - 18:22 #10
ok. Så siger jeg mange tak for hjælpen! :D
Avatar billede ricorn1234 Nybegynder
07. maj 2005 - 18:25 #11
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?
Avatar billede arne_v Ekspert
07. maj 2005 - 18:33 #12
Mest maskinen.

Men lige netop i spil betyder de sidste marginaler sommetider noget.

Og i nogle tilfælde vil man i C++ kunne lave noget der kører betydeligt
hurtigere end Java eller C#.

Under alle omstændigheder er C++ kode mere predictable end Java og C# kode
fordi man selv kontrollerer mere.
Avatar billede nlf Nybegynder
07. maj 2005 - 23:12 #13
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++)
Avatar billede nlf Nybegynder
07. maj 2005 - 23:15 #14
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.
Avatar billede arne_v Ekspert
07. maj 2005 - 23:15 #15
hvilken JVM er "Java er betydeligt langsommere end C#" testet med ?
Avatar billede bertelbrander Novice
08. maj 2005 - 00:26 #16
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.
Avatar billede nlf Nybegynder
08. maj 2005 - 01:26 #17
@arne_v

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.
Avatar billede arne_v Ekspert
08. maj 2005 - 11:56 #18
SUN Java lavede et volsomt hop op far 1.3.x til 1.4.x

IBM Java og BEA Java er ofte betydeligt hurtigere end SUN Java

jeg har selv målt lidt her http://www.eksperten.dk/artikler/67
Avatar billede nlf Nybegynder
08. maj 2005 - 21:18 #19
@arne_v

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.
Avatar billede arne_v Ekspert
08. maj 2005 - 21:34 #20
ingen info = default

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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 17:10 Joomla artikler Af rmadsen80 i CMS-systemer
I går 16:54 Printervalg til kontor Af tumben i Printere
I går 15:08 Http client med X509Certificate2 Af joki i C#
I går 13:02 Hjemmenetværk Af Andfer i LAN/WAN
I går 11:17 Chrombook Af lurup i Andre styresystemer


White paper
Tidsbegrænset kampagne: Overvejer du at udskifte eller tilføje printere i din forretning? Vi kan tilbyde én eller flere maskiner gratis