Avatar billede creative79 Nybegynder
26. maj 2005 - 22:45 Der er 7 kommentarer

c++ vs java

Jeg går på andet semester på datamatiker uddannelsen og overvejer at flytte skole. Problemet er imidlertidig at på min nuværende uddannelse bruger vi c++ og den anden skole bruger java. Derfor har jeg følgende spørgsmål.
1. Er det let at skifte fra c++ til java?
2. Er der forskel på hvad man bruger de 2 sprog til?
3. Hvad er bedst/lettest at programmere i?

På forhånd tak!
Avatar billede arne_v Ekspert
26. maj 2005 - 22:51 #1
re 1)

Hvis du er god til C++ så vil du ikke have de store problemer med at lære
Java.

Hvis du er dårlig til C++ så ...

re 2)

Ja. Lidt. Omend begge sprog anvendes til mange forskellig eting.

Java - J2EE (EJB, servelt, JSP), crossplatform GUI, mobil apps
C++ - styresystemer, databaser, webservere, high performance GUI, spil

re 3)

bedst er en smagsag

Java er nemmest at lære og bruge.
Avatar billede claus_joergensen Nybegynder
26. maj 2005 - 23:04 #2
Hvis du vil lave GUI applikationer , og de skal være hurtigere skal du bruge C++.
Java er genneralt langsomt i forhold til C++ , men er nemmere at bruge til f.eks. netværks programmering.

Og også lettere at lærer/forstå.
Avatar billede arne_v Ekspert
26. maj 2005 - 23:53 #3
jeg tror ikke at der er belæg for generelt at sige at Java er signifikant langsommere
end C++, men lige netop på GUI området er der mærkbar forskel - en swing GUI kræver både
mere memory og mere CPU power - det koster at den samme binære kode kan eksekveres
på Win32/x86, Solaris/SPARC, MacOSX/PPC etc..
Avatar billede jakoba Nybegynder
27. maj 2005 - 17:45 #4
Uenig.
Der er helt klart belæg for at sige at fortolket Jcode wil køre langsommere end assembler.
Men der er ikke belæg for at sige at hastighed er eneste der betyder noget. Det er det langtfra. Hastighed er blot meget nemmere at sammenligne end 'godhed' så dovne mennesker vil fokusere på hastighed og prøve a konkludere noget udaf det :-)

mvh JakobA
Avatar billede arne_v Ekspert
27. maj 2005 - 19:27 #5
det er en naturlov at der kan skrives assembler der er hurtigere eller
mindst lige så hurtigt som ethvert HLL (da den jo altid kan generere
de samme instruktioner)

det er ikke en naturlov at kode skrevet i assembler er hurtigere end
kode skrevet i et HLL (det afhænger meget af evnerne hos assembler
programmøren)

det må også være en naturlov at der kan skrives en compiler som
genererer kode der er hurtigere end ethvert JIT compilet sprog
(den kan igen igen udføre de samme instruktioner og undlade JIT compiler
overhead)

men det er ikke en naturlov at en compiler vil generere hurtigere
kode end JIT compilet kode (det afhænger af compileren)

compileren har ganske vist den fordel at der kan prækompiles så
den undgår overhead, men JIT compileren ved mere når den compiler
på runtime - den ved hvilken CPU der er, den ved hvor meget memeory der
er, den kender værdien af diverse indlæste variable, den kan have observeret
mønstre i brugen af koden

så intet er givet

de tests jeg har lavet antyder at de hurtigste compilere er minimalt (<10%)
hurtigere end de bedste JVM's, at de langsomste compilere er meget hurtigere
end de langsomste JVM's, men også at de langsomste compilere er noget langsommere
(>10%) end de hurtigste JVM's

det er derfor jeg ikke mener at man kan tale om en signifikant forskel
Avatar billede claus_joergensen Nybegynder
27. maj 2005 - 19:31 #6
hehe, jeg mente også GUI. Console basered programmer i java kører lynede hurtig synes jeg.
Det jeg sammeligner med at at jeg og en ven, kodede en mp3 afspiller, han i C++, mig Java. Og der er virklig mærkbar forskel i hastighed.

Men Java kører jo også med Framework, derfor er det vel nærmere at sammenligne med C#, hvis man skulle diskuttere hastighed.

ASM vil vist altid være hurtigst, eller hva ?-)
Avatar billede arne_v Ekspert
24. juli 2005 - 16:47 #7
creative>

Tid at få afsluttet spørgsmålet ?

Bed dem du synes har hjulpet dig ligge et svar og giv dem lidt tid inden du accepterer
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