Huvudskillnad: Java är ett programmeringsspråk som har påverkats av C-språket. Det härledar mycket av sin syntax från C och C ++, men det har färre lågnivåer än vad som helst. Java är ett allmänt programmerat språk som är utformat för att ha färre implementeringsberoende än i tidigare språk. C #, även känd som C-skarp, är ett objektorienterat programmeringsspråk. C # är ett programmeringsspråk med flera paradigm. C # är baserat på C-programmeringsspråket. Det var ursprungligen utvecklat av Anders Hejlsberg för Microsoft för användning i dess .NET-ramverk.
Java utvecklades av James Gosling vid Sun Microsystems och släpptes 1995. Det släpptes ursprungligen som en kärnkomponent i Sun Microsystems Java-plattform. Sun har sedan licensierat större delen av sin Java-teknik enligt GNU General Public License. Det innebär att all teknik som är licensierad enligt GNU General Public License är öppen källkod och generellt tillgänglig utan kostnad. Sun Microsystems fusionerades slutligen till Oracle Corporation.
Java är utformad så att samma kod kan köras på olika plattformar. dvs utvecklare får "skriva en gång, springa var som helst" (WORA). Således sammanställs Java-applikationer typiskt för bytecode. En klassfil som innehåller en bytecode för Java kan sedan köras på någon Java Virtual Machine (JVM). Detta skulle vara oavsett datorarkitektur.
Från och med 2012 har Java blivit ett av de mest populära programmeringsspråk för användning. Detta gäller speciellt för klient-server webbapplikationer. Många andra system har utvecklat alternativa implementeringar av Sun-tekniker, som GNU Compiler för Java och GNU Classpath.
C #, även känd som C-skarp, är ett objektorienterat programmeringsspråk. C # är ett programmeringsspråk med flera paradigm. Den innehåller starkt skrivande, imperativ, deklarativ, funktionell, processorienterad, generisk, objektorienterad (klassbaserad) och komponentorienterad programmeringsdisciplin.
C # är baserat på C-programmeringsspråket. Det var ursprungligen utvecklat av Anders Hejlsberg för Microsoft för användning i dess .NET-ramverk. C # -språket godkändes senare som standard av Ecma (ECMA-334) och ISO (ISO / IEC 23270: 2006). C # är ett av de programmeringsspråk som är utformade för gemensam språkinfrastruktur. C # är avsett att vara ett enkelt, modernt, allmänt ändamålsenligt objektorienterat programmeringsspråk.
- C # -språket är avsett att vara ett enkelt, modernt, allmänt ändamålsenligt objektorienterat programmeringsspråk.
- Språket och implementeringen av detta bör ge stöd för mjukvaruteknik, såsom stark typkontroll, kontroll av arraygränser, upptäckt av försök att använda uninitialiserade variabler och automatisk insamling av sopor. Programvarans robusthet, hållbarhet och programmeringsproduktivitet är viktiga.
- Språket är avsett att användas för att utveckla programvarukomponenter som är lämpliga för distribuering i distribuerade miljöer.
- Källkodsportabilitet är mycket viktigt, liksom programmerarens bärbarhet, speciellt för de programmerare som redan är bekant med C och C ++.
- Stöd till internationalisering är mycket viktigt.
- C # är avsett att vara lämplig för skrivning av applikationer för både värd och inbyggda system, allt från de mycket stora som använder sofistikerade operativsystem, till den mycket lilla som har dedikerade funktioner.
- Även om C # -programmen är avsedda att vara ekonomiska med avseende på minne och processkraftsbehov, var språket inte avsett att konkurrera direkt på prestanda och storlek med C eller monteringsspråk.
Eftersom det bygger på C-språket, är det ganska likt det. Det delar till och med några syntaktiska konventioner med C. En nackdel med C # är dock att den, som den utvecklades av Microsoft för användning i dess. NET-ram, fungerar bara på Microsoft operativsystem.
Några skillnader mellan Java och C #:
- C # ger fler datatyper jämfört med Java.
- C # innehåller mer primitiva datatyper än Java.
- C # stöder operatörsöverbelastning medan Java inte gör det.
- C # stöder strut-typen medan Java inte gör det.
- Alla datatyper i C # är strut.
- C # ger bättre versionering än Java.
- C # tillåter parametrar att skickas genom referens med hjälp av ref-sökordet, medan Java tillåter parametrar att överföras efter värde.
- C # tillåter variabelt antal parametrar med param-nyckelordet.
- C # tillhandahåller statiska konstruktörer för initialisering.
- C # ger goto-förklaring i stället för break-uttalandet.
- Deklaration av arrays är olika i C # jämfört med Java.
- Konventionen för Java är att sätta en offentlig klass i varje fil och vissa kompilatorer kräver detta. C # tillåter eventuella källfilarrangemang.
- Java stöder inte händelser och delegater.
- I Java är metoderna virtuella som standard men kan slutgiltiga. Medan C # de är förseglade som standard, kan de göras virtuella.
- C # har inte kontrollerat undantag.
- Java tillåter inte skapandet av användardefinierade värdetyper.
- Java har inte överbelastning av operatör och konvertering.
- Java har inte iteratorblock för enkel implemetation av iteratorer.
- Java har inget som LINQ.
- Delvis på grund av att inte ha delegater, har Java inte något som helst som anonyma metoder och lambda uttryck.
- Java har inte uttrycksträd.
- C # har inga anonyma inre klasser.
- Java har inte något som motsvarar de anonyma typerna C # 3.0.
- Java har inte implicit skrivit lokala variabler.
- Java har inte förlängningsmetoder.
- Java har inte objekt och samlingsinitialiseringsuttryck.
- Java har inte egenskaper som en del av språket; de är en konvention av get / set / är metoder.
- Java har inte motsvarande "osäker" kod.
- Java's enums är mycket mer objektorienterade.
- Java har inga förbehandlingsdirektiv (#define, #if etc i C #).
- Java har ingen motsvarighet till C # s ref och ut för att passera parametrar genom referens.
- Java har ingen ekvivalent av partiella typer.
- C # -gränssnitt kan inte deklarera fält.
- Java har inga osignerade heltalstyper.
- Java har inget språkstöd för en decimaltyp.
- Java har ingen ekvivalent värderingsvärden