Hovedforskjell: Java er et programmeringsspråk, som har blitt påvirket av C-språket. Det henter mye av sin syntaks fra C og C ++, men det har færre lavnivå fasiliteter enn heller. Java er et generell programmeringsspråk som er utformet for å ha færre implementasjonsavhengigheter i forhold til tidligere språk. C #, også kjent som C-skarp, er et objektorientert programmeringsspråk. C # er et multi-paradigm programmeringsspråk. C # er basert på C programmeringsspråket. Det ble opprinnelig utviklet av Anders Hejlsberg for Microsoft for bruk i sin .NET rammeverk.

Java ble utviklet av James Gosling ved Sun Microsystems og ble utgitt i 1995. Den ble opprinnelig utgitt som en sentral komponent i Sun Microsystems Java-plattform. Sun har siden lisensiert det meste av sin Java-teknologi under GNU General Public License. Dette betyr at all teknologi som er lisensiert under GNU General Public License, er åpen kildekode og generelt tilgjengelig uten omkostninger. Sun Microsystems sluttet seg til Oracle Corporation.
Java er utformet slik at den samme koden kan kjøre på ulike plattformer. dvs. utviklere har lov til å "skrive en gang, kjøre hvor som helst" (WORA). Derfor er Java-applikasjoner vanligvis kompilert til bytecode. En klassefil som inneholder en Java bytecode kan deretter kjøres på en hvilken som helst Java Virtual Machine (JVM). Dette ville være uavhengig av dataarkitektur.
Fra og med 2012 har Java blitt et av de mest populære programmeringsspråkene for bruk. Dette gjelder spesielt for klient-server webapplikasjoner. Mange andre systemer har utviklet alternative implementeringer av Sun-teknologier, for eksempel GNU Compiler for Java og GNU Classpath.
C #, også kjent som C-skarp, er et objektorientert programmeringsspråk. C # er et multi-paradigm programmeringsspråk. Det inkluderer sterk skrive, imperativ, deklarativ, funksjonell, prosessorisk, generisk, objektorientert (klassebasert) og komponentorienterte programmeringsdisipliner.
C # er basert på C programmeringsspråket. Det ble opprinnelig utviklet av Anders Hejlsberg for Microsoft for bruk i sin .NET rammeverk. C # -språket ble senere godkjent som standard av Ecma (ECMA-334) og ISO (ISO / IEC 23270: 2006). C # er et av programmeringsspråkene designet for Common Language Infrastructure. C # er ment å være et enkelt, moderne, generelt formål, objektorientert programmeringsspråk.

- C # -språket er ment å være et enkelt, moderne, generelt formål, objektorientert programmeringsspråk.
- Språket og implementeringen av dette skal gi støtte til programvare engineering prinsipper som sterk type kontroll, kontroll av array grenser, oppdagelse av forsøk på å bruke uninitialized variabler og automatisk søppel samling. Programvare robusthet, holdbarhet og programmerer produktivitet er viktig.
- Språket er ment for bruk i utvikling av programvarekomponenter som er egnet for distribusjon i distribuerte miljøer.
- Kildekodeportabilitet er svært viktig, og det er programmeringsportabilitet, spesielt for de programmerne som allerede er kjent med C og C ++.
- Støtte til internasjonalisering er svært viktig.
- C # er ment å være egnet til å skrive applikasjoner for både vert og innebygde systemer, alt fra det store som bruker sofistikerte operativsystemer, ned til de svært små som har dedikerte funksjoner.
- Selv om C # -programmene er ment å være økonomiske med hensyn til minne- og prosesskravkrav, var ikke språket ment å konkurrere direkte på ytelse og størrelse med C eller monteringsspråk.
Som det er basert på C-språket, er det ganske lik det. Den deler til og med noen syntaktiske konvensjoner med C. Men en ulempe med C # er at, som den ble utviklet av Microsoft for bruk i .NET-rammen, fungerer den bare på Microsoft-operativsystemer.
Noen forskjeller mellom Java og C #:
- C # gir flere datatyper sammenlignet med Java.
- C # inneholder flere primitive datatyper enn Java.
- C # støtter operatør overbelastning mens Java ikke gjør det.
- C # støtter stang typen mens Java ikke gjør det.
- Alle datatyper i C # er stut.
- C # gir bedre versjon enn Java.
- C # tillater parametere å bli sendt ved referanse ved hjelp av ref-søkeordet, mens Java tillater parametere som skal sendes etter verdi.
- C # tillater variabelt antall parametere ved hjelp av param-søkeordet.
- C # gir statiske konstruksjoner for initialisering.
- C # gir goto-setning i stedet for pauseoppstillingen.
- Deklarasjon av arrays er forskjellig i C # sammenlignet med Java.
- Konvensjonen for Java er å sette en offentlig klasse i hver fil, og noen kompilatorer krever dette. C # tillater noen kildefilarrangement.
- Java støtter ikke hendelser og delegater.
- I Java er metodene virtuelle som standard, men kan gjøres endelige. Mens i C # de er forseglet som standard, men kan gjøres virtuelle.
- C # har ikke sjekket unntak.
- Java tillater ikke opprettelse av brukerdefinerte verdi typer.
- Java har ikke overbelastning av operatør og konvertering.
- Java har ikke iteratorblokker for enkel implemetering av iteratorer.
- Java har ikke noe som LINQ.
- Delvis på grunn av ikke å ha delegater, har Java ikke noe ganske som anonyme metoder og lambda-uttrykk.
- Java har ikke uttrykkstrener.
- C # har ingen anonyme indre klasser.
- Java har ikke noe som samsvarer med C # 3.0-anonyme typer.
- Java har ikke implisitt skrevet lokale variabler.
- Java har ikke utvidelsesmetoder.
- Java har ikke objekt- og samlingsinitiator-uttrykk.
- Java har ikke egenskaper som en del av språket; de er en konvensjon av få / sett / er metoder.
- Java har ikke ekvivalent med "usikker" kode.
- Java's enums er mye mer objektorientert.
- Java har ingen preprocessor-direktiver (#define, #if etc i C #).
- Java har ingen tilsvarende C # 's ref og ut for å passere parametere ved referanse.
- Java har ingen ekvivalenter av delvise typer.
- C # grensesnitt kan ikke deklarere felt.
- Java har ingen usignerte heltalltyper.
- Java har ingen språkstøtte for en desimaltype.
- Java har ingen ekvivalenter av nullable verdi typer