Avatar billede sjaka Nybegynder
18. august 2004 - 12:36 Der er 28 kommentarer og
1 løsning

Java vs. C#

Hej.
Er der en som kan komme med en kort, men præcis oversigt over hvad forskellen på java og C# er?
Også argumenter for at man burde vælge det ene og det andet sprog.
På forhånd tak =)
Avatar billede Slettet bruger
18. august 2004 - 12:41 #1
Du har liiiiige startet en religionskrig :-D hehehe.

C# er et programmeringssprog til Microsofts .NET-framework, hvor Java er et programmeringssprog til afvikling under en Java Virtuel Maskine. Sprogene kan stort set det samme, og hvis man skal se på forskelle (mht. muligheder) vil den største forskel vel ligge i at Java er en ældre mere gennemarbejdet teknologi end .NET-frameworket. Men mulighederne er "de samme".

.NET skulle også være platformsuafhængigt som Java er det, men sidste gang jeg tjekkede var Mono-projektet ikke langt fremme, så .NET (især med UI-komponenter) er ikke muligt på nuværende tidspunkt.

Nogle links til artikler / diskussioner:

http://www.computerworld.com/developmenttopics/development/story/0,10801,71221,00.html
http://www.ftponline.com/wss/2002_04/magazine/columns/strategy/

Håber du kunne bruge det til noget. :-)
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:42 #2
Ikke den store forskel i selve syntaksen :o)

Java oversætter til Byte kode, C# oversætter til noget lignende der hedder MSIL (Micrsoft Intermediate Language).

Java bliver (stortset) ikke brugt nogensteder mere, C# kommer med tiden til at erstatte Java som et platformuafhængigt programmeringssprog. Endvidere kan du lave egentlige eksekverbare filer i C#.
Avatar billede Slettet bruger
18. august 2004 - 12:42 #3
Hov, supplerende er sprogene meget ens syntaktisk i hvert fald, så om du starter på det ene frem for det andet er vist nok "hip som hap".

Udviklingsværktøjer til begge teknologier findes både i kommerciel / open source / gratis licenser.
Avatar billede erikjacobsen Ekspert
18. august 2004 - 12:43 #4
"Java bliver (stortset) ikke brugt nogensteder mere"...
http://www.jobindex.dk/cgi/jobsearch.cgi?q=java
Avatar billede Slettet bruger
18. august 2004 - 12:45 #5
@ frederikschack:

Det med at Java IKKE bruge nogensteder mere er en fisk, har du hørt om J2EE, JSP, Applet'er, J2ME (java til mobiltelefoner) osv. Den påstand du kommer med holder IKKE vand.

Mht. at kunne lave egentlige eksekverbare filer i C#, så er de ikke mere eksekverbare end at de også kræver at man har .NET-frameworket installeret. Ligeledes kan man også lave eksekverbare filer til Java, hvor man laver en binær bootstrap til at start JVM, og derefter afvikler bytecode.

Dine argumenter er en anelse for svage, kom igen :-)
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:46 #6
En af fordelene ved .NET platformen er at du kan bruge et væld af programmeringssprog, J#, VB, C# o.s.v.

.NET platformen afvikler også programmerne hurtigere end JAVA, hvilket skyldes at den kun skal kompilere koden en gang.
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:47 #7
EricJacobsen, jo til Oracle og andet, det er ganske vidst rigtigt :)
Avatar billede Slettet bruger
18. august 2004 - 12:48 #8
Man skal også kun compile java-kode een gang, skal stadigvæk fortolkes op imod et framwork. Dette gælder for begge dele.

Java er ikke langsomt, det er en myte. Dog er UI / Swing en del ressourcekrævende, men at påstå det er LANGSOMT er vist at gå over stregen. UI i .NET-frameworket eksekveres dog hurtigere, det giver jeg dig ret i.
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:50 #9
Corholio, ok, men kommer der til at ligge en JVM eller .NET framework på de fremtidige versioner af windows??? *G*
Avatar billede eksperten007 Nybegynder
18. august 2004 - 12:51 #10
C# syntax ligger meget op af C++.
C# OOP ligger meget op af Java.

Inden for OOP er C# nok en lille smule foran Java.

Begge SDK'er kan downloades gratis.

Bruger man tit MS produker som SQL server er det nok en fordel med .Net (C#).
Skal du lave desktop programmer er C# klart at foretrække. Java syntes på flere punkter at være notorisk langsom at afvikle.

Om man skal vælge det ene eller andet er tit et "religionsspørgsmål".

Jeg har valgt begge dele som lilleraturinput, men bossen vil kun have C# :)
Tror at i fremtiden vil .Net trænge mere ind på uddannnelsesinstitutionerne end i dag. Men begge sprog er her nok om 10 år. Medmindre Bill G. køber Sun.

Ellers google:
http://www.google.com/search?sourceid=navclient&ie=UTF-8&q=java+vs%2E+c%23
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:52 #11
Corholio. Så vidt jeg har forstået, så oversætter .NET frameworket til MSIL og derfra kun en gang når det skal afvikles. Derimod så kompilerer JAVA runtime.
Avatar billede dsj Nybegynder
18. august 2004 - 12:54 #12
.NET er _ikke_ platformsuafhængigt - hvornår har man sidst hørt om at Microsoft understøter andre systemer end deres egne??

Java kører mod en virtual machine, men det gør .NET også - faktisk er .NET en ret eksakt kopi af den måde Java virker på.

Java bliver stadig brugt mange steder. Især i udlandet (f.eks. USA) har Java større indpas end i Europa, nok mest i forhold til J2EE-platformen.

Jeg arbejder professionelt med både C# .NET og Java, og synes godt om begge sprog. Fordelen ved C# er, at det har adgang til alle Windows' native funktioner, hvilket Java ikke har. Dette forhold gør .NET's desktop-GUI noget mere effektivt end Java's. Dette er dog noget Sun er ved at rette op på i den kommende Java-version: J2SE 1.5.

Dog har Java-API'et den fordel, at det indeholder langt flere funktionaliteter til f.eks. behandling af tid, kalendre osv. På dette område er .NET noget mere skrabet. Bl.a. indeholder .NET ingen funktionalitet til at beregne uger - noget som er lidt af en selvfølge i Java.
Avatar billede Slettet bruger
18. august 2004 - 12:54 #13
Nej, det er ikke korrekt. Java kompiles til bytecode som JVM'en så fortolker / afvikler. Der kompiles ikke hver gang :-)
Avatar billede Slettet bruger
18. august 2004 - 12:55 #14
*hvisker til Shaka* jeg SAGDE at du havde startet en religionskrig *g* :-)
Avatar billede arne_v Ekspert
18. august 2004 - 12:57 #15
Med hensyn til udbredelse af C# og Java se http://www.eksperten.dk/artikler/251
som viser at Java er 1.5-3 gange mere brugt end C#
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:57 #16
Corholio, der er noget om at de nyere versioner af Java kan identificere "hot spots", altså kode der bliver brugt gentagne gange og det genbruger den. Men ellers skulle Java kompilere det runtime.
Avatar billede arne_v Ekspert
18. august 2004 - 12:58 #17
Med hensyn til hastighed af C# og Java se http://www.eksperten.dk/artikler/67
som viser at der ikke er nogen nævneværdig forskel (Java resultaterne afhænger
meget af hvilken JVM man kører med)
Avatar billede dsj Nybegynder
18. august 2004 - 12:58 #18
Desuden er der en stor open-source kultur omkring Java, som gør det muligt at finde gratis kode til stort set hvad som helst rundt omkring på nettet - dette er ikke helt tilfældet med .NET - open-source er jo heller ikke just Microsoft's kop te.

Uanset hvordan det kompileres, afvikles både Java og .NET i en virtual machine. I .NET kompileres først til maskin-kode, når applikationen startes op i en virtual machine.
Avatar billede eksperten007 Nybegynder
18. august 2004 - 12:59 #19
*hviske videre* det er fordi folk ikke ved, at der kun findes en gud, som både Java og C# stammer fra...
Avatar billede frederikschack Nybegynder
18. august 2004 - 12:59 #20
Arne v, jo, men .Net er jo også et meget nyt sprog. Antallet af hosts der udbyder .NET platformen er ikke så stort, og det tager også tid for at sprog at etablere sig blandt udviklere.
Avatar billede frederikschack Nybegynder
18. august 2004 - 13:00 #21
Eksperten007, he he, nemlig! *G* ALLE religioner vil blive forenet inden for de næste 10 år, forhåbentligvis.
Avatar billede arne_v Ekspert
18. august 2004 - 13:03 #22
fredrik>

Det du skrev "Java bliver (stortset) ikke brugt nogensteder mere" er lodret forkert.

Min artikel beskriver hvordan verden ser ud idag.

Det er svært at spå især om fremtiden.
Avatar billede frederikschack Nybegynder
18. august 2004 - 13:07 #23
Arne v, det er rigtigt, jeg kom også i tanke om at der er forskellige programmer som f.eks. Oracle hvor man udvikler med Java. Men jeg tror at det er på vej ud. Jeg elsker Java som programmeringssprog, men er overbevist om at .NET kommer til at hyle Java ud af markedet. Det skyldes primært at Microsoft kommer til at diktere standarden, ved at levere .NET platformen sammen med Windows XP. Ikke at jeg kan lide Microsoft, bestemt ikke, men IE vs. Netscape var også en religionskrig, og den kommer nok til at ligne denne religionskrig mellem Java og C# :o)
Avatar billede arne_v Ekspert
18. august 2004 - 13:08 #24
Tilbage til det oprindelige spørgsmål.

Der er en rimelig grundig gennemgang her:
  http://www.25hoursaday.com/CsharpVsJava.html
Avatar billede arne_v Ekspert
18. august 2004 - 13:14 #25
fredrik>

.NET skal nok overhale Java på markedet for desktop PC applikationer. Det er jeg
heller ikke i tvivl om.

Men da det marked udgør en meget lille del af software markedet, så er det
ikke afgørende.
Avatar billede arne_v Ekspert
18. august 2004 - 13:16 #26
"der er forskellige programmer som f.eks. Oracle hvor man udvikler med Java."

hvis du opfatter JDev og OC4J som værende Java verdenen, så kan jeg godt se
hvordan du er nået til din konklusion, men dine forudsætninger er helt forkerte.
Avatar billede frederikschack Nybegynder
18. august 2004 - 13:18 #27
Arne v, det er muligt :o)
Avatar billede sjaka Nybegynder
18. august 2004 - 14:11 #28
Hovsa. Var lige til pause, og kom tilbage og så der lå en masse mail.. "hva faen?? er der spam-geil på eksperten?"
høh. Nej, jeg vidste egentlig ikke hvad jeg startede, men i skal alle ha tak for indlæg. Det har helt sikkert givet mig bedre indsigt i forskellene på C# og Java =)
Avatar billede Slettet bruger
18. august 2004 - 23:20 #29
Jeg takker for point :-) Held og lykke med den spændende verden indenfor OOP, hvad enten det måtte være Java, C# eller noget andet :-)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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