hej! Oj vilka frågor :-) Ok, handlar denna fråga egentligen om att jämföra två språk, C# och Java eller handlar den kanske snarare mer om att jämföra två plattformar, .NET och J2EE? Om man bara jämför språken rent innehållsmässigt och syntaxmässigt så är inte skillnaden jättestor. C# är en ganska snarlik kopia av javas syntax och api. Denna jämförelse är dock inte särskilt intressant utan det är väl mer plattformarna i sig som är intressanta? Oj... "Oj..." sa Johan...jag skulle nog vilja ropa "hjälp!" Whooohoo... Äsch nu fredar vi... Nu tar vi trollet!!! *retas* Ok, jag hade inte tänkt att fortsätta den här diskussionen. Men...jag gör en sista gästmedverkan för att försöka reda ut en del begrepp. Johan, du är säkert duktig vad gäller .Net och C# men jag tror att det brister i kunskaperna kring J2EE. Jag har inte tagit någon sida här, varken för java eller .Net. Men eftersom jag arbetat med båda plattformarna, vilket inte särskilt många här verkar ha gjort, så tänkte jag att jag kunde representera Java/J2EE sidan i en diskussion som kunde föra Millow till ett beslut vilket språk/plattform han skulle börja titta på. Några stridsyxor behöver vi alltså inte prata om och jag tycker att ditt förslag om bärs låter bra Johan :) Jag har en massa saker att säga egentligen men jag tar bara det viktigaste....vilket ändå blev ganska mycket. "Guidelines" för mig är riktlinjer. Kanske fel ord i detta sammanhang? Men jag tycker att en spec som säger gör på detta viset är just riktlinjer. En Guide typ... Hej! Vad menar du med att Java inte är en öppen standard? > Vad menar du med att Java inte är en öppen standard? > Java ägs till 100% av Sun och är inte någon standard. C# däremot är en godkänd standard (se ovan). Kalle Dahlberg: "Vad menas med att något är en standard?" Några följdfrågor: * Margin: Auto; fungerar fin fint för mig kör IE 6. Sedan är det väl så att hela .Net inte ingår i den standard du hänvisar till. Har inte riktigt koll på vad som är standardiserat. Men två stora delar som jag inte tror ingår är winforms och Asp.net , dessa delar är ju inte helt oviktiga. > * C# : Precis som jag skrev öppen standrard öppnar möjligheter till att föer använder sig av den. Alltså C#. "Är en sluten standard meningsfullare än en öppen specifikation som inte sökt status som "standard"?" WinForms + ASP .Net är typ arkitekturer med vissa grund klasser. Java & C-Sharp
Vad är skillnaden, kodmessigt mellan Java och C-Sharp?
Är det lätt att programera C-Sharp om man kan Java?
Och vad ska man satsa på, Java eller C-Sharp?
Mvh EmilSv: Java & C-Sharp
Allt handlar om Smak och tycke. I dag har C# med .Net ramverk mer att erbjuda än Java. Men sedan får man ju ta hänsyn til vilka behov det kan finnas och filket språk man vill tro på. C# och Java är rätt snarlika. Så kan du redan java är c# väldigt lätt att lära sig. Kan man c# och vill lära java år det ungefär samma..
Vill inte säga om det nea är bättre än den andra, det är mer en smaksak.
//Johan NSv: Java & C-Sharp
Till att börja med, Johan N har nog inte arbetat särskilt mycket med J2EE då han säger att: "I dag har C# med .Net ramverk mer att erbjuda än Java" utan att på något sätt tala om vad som finns så mycket mer i .NET än i Java. För det andra kan man inte jämföra en plattform/ramverk med ett språk. Ett mer korrekt uttalande från Johan hade låtit "I dag har C# med .Net ramverk mer att erbjuda än Java och J2EE". Fast hans uttalande hade ju fortfarande saknat argument... Kanske vill du komplettera med en motivering Johan? Och är det plattformar/ramverk vi diskuterar så handlar det nog inte så mycket om "tycke och smak".
Onkelborg säger att C# är plattformsoberoende. Jag hoppas att du inte menar allvar. Mono i all ära är ett bra initiativ men den är väl inte riktigt kompatibel ännu? Försök också att deploya en .NET applikation på en AS400 ;)
Johan Normén säger att C# är en öppen standard. På vilket sätt är den öppen? Jag säger inte emot dig, bara nyfiken :)
Om vi ska räkna upp för och nackdelar med de olika plattformarna är jag gärna med. Men ofta brukar dessa disussioner tyvärr bli ganska otrevliga och drivas med en nästan religös fanatism av personer som endast arbetat med den ena plattformen. Men slipper man en sådan typ av diskussion så kanske Millow kan få ett svar han/hon blir nöjd med.
/KlasSv: Java & C-Sharp
Johan N sa mycket :-)
Klart man inte kan jämföra J2EE med .Net ramverk då J2EE skulle vara en liten del i ex .Net ramverk. Då .Net ramverk är arkitekturer, API:er, designmönster, språk runtime etc... J2EE är mer en guideline för Enterprise arkitektur.
Ang "I dag har C# bla bla..." texten så har du rätt formulerade mig lite knasigt.
Vad jag syftade på är att det finns fler saker i C# syntax som Java språket inte erbjuder. Ex Unsafe mode, pekare etc..., Enum, Proterties (smaksak),Struct m.m.
API:erna i sin grund erbjuder mer än JAVA med APIer i grund. Men Java med 3:de parts APIer etc gör ju självklart Java i sig mkt kraftfullare då man idag inte har lika många APIer till .Net ramverk, dock kommer det mer o mer. Sedan har vi ju ASP .Net arkitekturen som ingår i .Net ramverk som skilljer sig markant från ex JSP på många fronter. Web-servicens arkitektur och enkelhet, Jitten är annorlundare med sitt cachestöd etc... än VM. Så Java vs C# med .Net ramverk (Måste säga så då Java är mer än bara ettspråk då man i dess plattform får med API:er m.m.) så erbjuder .Net med C# mkt mera.
Rotor (CLI) till FreeBSD är vad jag vet redan klar? Mono är så gott som klar, fattas lite saker men går att köra. Mer o mer Runtimes etc kommer ju att skapas då tillverkare har lust att göra dessaa. Precis som med Java, där många 3:de parter började göra Runtimes innan dess var java inte ett skit platformsoberoende det heller. Om man nu sall yttra så fina ord :-)
Gällade öppen standard så har C# skickats för standalisering och det har gått genom.
http://news.com.com/2100-1007_3-995108.html en liten artikel.
O Ja jag anser att det är SMAK o TYCKE som avgör vilken plattform man vill köra på.
Gillar man C# syntaxen och .Net Apierna bättre? (Smaken som avgör) gillar man de saker C# har o känner att man har nytta av dem så...(Tycke och Smak!)
//Johan NSv: Java & C-Sharp
<johan>
Klart man inte kan jämföra J2EE med .Net ramverk då J2EE skulle vara en liten del i ex .Net ramverk. Då .Net ramverk är arkitekturer, API:er, designmönster, språk runtime etc... J2EE är mer en guideline för Enterprise arkitektur.
</johan>
Jag hoppas verkligen att du är ironisk eller något liknande med texten du skrivit ovan. Är du inte det så vet jag faktiskt inte om jag ska skratta eller gråta. Vad menar du med att man INTE kan jämföra .NET med J2EE? Vad jag menade, tyckte också att jag var ganska tydlig, var att man inte kan jämföra ett språk och en plattform. Alltså, man kan inte jämföra C# och J2EE eller .NET och Java men .NET vs J2EE går alldeles utmärkt. Att påstå att man inte kan jämföra dessa båda plattformar visar att du inte har arbetat med J2EE. J2EE var en plattform långt före .NET ens hade fått sitt namn. J2EE är en mer mogen plattform och innehåller allt som du påstår att den inte innehåller + ganska mycket till. Vad menar du med att J2EE är en guideline? J2EE är en specifikation från Sun som kan implementeras av vem som helst. Exempel på företag och applikationsservrar som implementerar specen är BEA/Weblogic, IBM/Websphere, Ironflare/Orion mfl. De här applikationsservrarna innehåller mängder av funktionalitet, även sådan som inte finns i .NET som tex stöd för persistence via cmp bönor. Att J2EE bara skulle vara en liten del i .NET...läs på din läxa :) Gå ut på nätet och googla runt lite på söktermer som t ex ".net vs j2ee" eller titta in på http://java.sun.com/j2ee/1.4/docs/ så kommer du att förstå att J2EE är väldigt mycket mer än "guidelines"...
<johan>
Ang "I dag har C# bla bla..." texten så har du rätt formulerade mig lite knasigt.
Vad jag syftade på är att det finns fler saker i C# syntax som Java språket inte erbjuder. Ex Unsafe mode, pekare etc..., Enum, Proterties (smaksak),Struct m.m.
API:erna i sin grund erbjuder mer än JAVA med APIer i grund. Men Java med 3:de parts APIer etc gör ju självklart Java i sig mkt kraftfullare då man idag inte har lika många APIer till .Net ramverk, dock kommer det mer o mer.
</johan>
Jag vet inte om du formulerade dig så att man förstår dig bättre den här gången ;)
<johan>
Sedan har vi ju ASP .Net arkitekturen som ingår i .Net ramverk som skilljer sig markant från ex JSP på många fronter. Web-servicens arkitektur och enkelhet, Jitten är annorlundare med sitt cachestöd etc... än VM. Så Java vs C# med .Net ramverk (Måste säga så då Java är mer än bara ettspråk då man i dess plattform får med API:er m.m.) så erbjuder .Net med C# mkt mera.
</johan>
Vad menar du med att asp.net och .jsp skiljer sig åt markant? Teknikerna är faktiskt ganska lika. Jag saknar en förklaring till varför är asp.net så är mycket bättre? Web-services finns i javavärlden också. Och eftersom du aldrig verkar ha arbetat med den så förstår jag inte riktigt dina argument om enkelhet? Och återigen...man kan inte jämföra ett språk, java, och en plattform, .NET.
<johan>
Rotor (CLI) till FreeBSD är vad jag vet redan klar? Mono är så gott som klar, fattas lite saker men går att köra. Mer o mer Runtimes etc kommer ju att skapas då tillverkare har lust att göra dessaa. Precis som med Java, där många 3:de parter började göra Runtimes innan dess var java inte ett skit platformsoberoende det heller. Om man nu sall yttra så fina ord :-)
</johan>
Jag måste tyvärr småle åt när du skriver om Microsoft och plattformsoberoende...sorry men jag tror inte vi är där riktigt ännu :)
<johan>
O Ja jag anser att det är SMAK o TYCKE som avgör vilken plattform man vill köra på.
Gillar man C# syntaxen och .Net Apierna bättre? (Smaken som avgör) gillar man de saker C# har o känner att man har nytta av dem så...(Tycke och Smak!)
</johan>
Så om en kund ber dig motivera varför du tycker att det är bättre att använda .NET framför J2EE så kommer du att svara att enligt ditt "tycke och smak" är .NET bättre? Ehhh...låt säga att du var försäljare av tv-apparater, skulle du då också motivera att du tycker kunden skulle köpa en Sony framför en Philips eftersom Sonyn mer tilltalar din smak och ditt tycke och helt bortse från om det är en plasmaskärm, om den har stereoljud, om den är färg eller svartvit, pris etc? Hmmm...
Jag hoppas att du inte tar illa upp Johan av det jag skrivit, inte alls mitt syfte, men för att kunna debatera ett ämne som detta måste man också ha hyfsad kunskap om BÅDA plattformarna.
/KlasSv: Java & C-Sharp
1... J2EE är Ex så som Win DNA var en samling dokument och byggklossar, guidelines etc för att bugga JUST Enterpriselösningar...
2... C# innehåller mer syntax än Java, ec för Structs, Enums, Propterties etc...
Du kan inte installera JITTEN (CLR) utan att få med API:er, När du instalerar JAVA får du oxå med APIer men de onfattar inte lika mkt som .Net i sin grund. Dock om du lägger till J2EE så får du mer relativt mkt API:er som ingår by Default i .Net ramverk.
3... Nej jag jämför inte C# med J2EE utan med JAVA (Som är ett sårk plus en plattform hur man nu vil se det. )
"The Java platform is the ideal platform for network computing. Running across all platforms -- from servers to cell phones to smart cards -- Java technology unifies business infrastructure to create a seamless, secure, networked platform for your business. "
4... Vart jömför jag språket Java med .Net ramverk? Självklart jämför jag .Net ramverk med Java Plattform då jag skriver Java... Men det kanske inte var så tydligt?
5... "J2EE är en specifikation från Sun" precis gudidelines hur du skall gå till väga för att bygga Enterpriselösningar. Det är dess syfte så som Win DNA var långt innan J2EE.
I .Net Ramverk finns redan detta, och visst J2EE fanns innan namnet .Net kom men inte när .Net hette nextgeneraton, eller då Win DNA existerade.
6... Jag kallar saker som fungerar under andra system som har en arkitektur för att vara platformsoberoende, JUST platforsmoberoende. :-) och .Net _ÄR_ platformsoberoende. Dock finns det inga direkt super heta Runtimes snurrande på marknaden då många av dem ligger under UTV... Platformsombeoende innebär inte att man på alla os måste kunnaköra .Net idag. Java var ex platformsoberoende innan det ens gick att köra på alla systemen.
7... Om en kund vill ha en TV och denna TV är bättre i mina ögon än TV nr två så visst skulle jag rekomendera den TV jag ansåg bäst. Skulle kund säga jag vill ha en TV som klarar detta that's it och den skulle vara billigare så skulle jag rekomendera den.
Då C# kräver färre rader kod, går snabbare och ger bättre prestanda så rekomenderar jag C# vöre Java, men är priset viktigare dår man IDAG vill köra på en Linux skulle jag rekomendera Java då Mono inte är helt klart ännu. Men jag skulle informera om Monos Status så kund sedan kan avgära vilken teknik han/hon vill nyttja.
8... Webservices. ok, testa mig. Jag gör en class sätter attributet [Webmethod] över en metod, så nu är jag klar. Hur gör du i Java? ;-)
Vi tar det igen.
J2EE är specifikationer på hur man med Java som platform bygger Enterpriselösningar med Produkter så som Websphere, Webservice, Transaktonshanterare, etc...
.Net Ramverk motsvarar J2EE + Java Platform + Webservice + Transaktionshanterare etc... (Är du med nu?)
Java (Platform) = Språk + Apier.
Java = språk
Java har två betydelser. Skulle varit lite mer utförlig kanske? Trodde du förstod när jag sa .Net vs Java att jag då menade de två platformarna och inte .Net vs Språket.
PS. Ja jag är dum i huvudet ;-) sp jag tar inte illa upp. Ds...
//Johan N
C# = Bara språk med syntaxSv: Java & C-Sharp
Du tog i yxan som om jag klagade på Java vilket jag absolut inte tyckte att jag gjorde, dock var jag kansek inte tillräckligt tydlig så Java ansågs nersågat i mitt inlägg :-(
Men nu skakar vi hand och dricker lite bärs...
//Johan NSv: Java & C-Sharp
<b>
<johan>
Rotor (CLI) till FreeBSD är vad jag vet redan klar? Mono är så gott som klar, fattas lite saker men går att köra. Mer o mer Runtimes etc kommer ju att skapas då tillverkare har lust att göra dessaa. Precis som med Java, där många 3:de parter började göra Runtimes innan dess var java inte ett skit platformsoberoende det heller. Om man nu sall yttra så fina ord :-)
</johan>
Jag måste tyvärr småle åt när du skriver om Microsoft och plattformsoberoende...sorry men jag tror inte vi är där riktigt ännu :)
</b>
ja du får le hur mycket du vill , vissa delar går utmärkt att porta och är inte alls hårt knutet till windows..
det som har varit problemet för mono är system.windows.forms namespacet , eftersom det är knutet mot windows fönsterhantering.
dock har de löst det genom att använda delar av en windows emulator , (OBS! DELAR AV , mono körs inte i själva emulatorn utan mono använder sig av emulatorns kod)
<b>
Så om en kund ber dig motivera varför du tycker att det är bättre att använda .NET framför J2EE så kommer du att svara att enligt ditt "tycke och smak" är .NET bättre? Ehhh...låt säga att du var försäljare av tv-apparater, skulle du då också motivera att du tycker kunden skulle köpa en Sony framför en Philips eftersom Sonyn mer tilltalar din smak och ditt tycke och helt bortse från om det är en plasmaskärm, om den har stereoljud, om den är färg eller svartvit, pris etc? Hmmm...
</b>
det där var väll lite på gränsen till löjligt?
var det inte du själv som sa att j2ee och .net plattformarna var ganska lika.
och är de ganska lika så handlar det väll om tycke och smak?
visst , vore de helt olika och inte var tänkta till att användas till samma saker så är det ju en annan femma.
//RogerSv: Java & C-Sharp
Den första frågan gällde om det var ett språk eller en plattform som skulle jämföras. Det vet jag fortfarande inte. Vi kanske råkat ut för en begreppsförvirring här.
<johan>
1... J2EE är Ex så som Win DNA var en samling dokument och byggklossar, guidelines etc för att bugga JUST Enterpriselösningar...
</johan>
Att jämföra J2EE med Windows DNA visar att kunskapen kring J2EE saknas. J2EE != Windows DNA ;) J2EE är, återigen, enkelt förklarat en specifikation från Sun på vad som ska finnas i en appliaktionsserver för att den ska kunna bli J2EE certifierad. Specifikationen innehåller APIer som SKA implementeras etcetra och INGA "guidelines". Och vad menar du med "guidelines" föresten? Menar du "design patterns" så är ju det en helt annan sak. J2EE specen säger ingenting om detta. Vem som helst kan implementera dessa specifikationer, alltså de som ingår i J2EE specen, och försöka få sin appliaktionsserver J2EE certifierad av sun. Exempel på dessa är IBM, BEA mfl. Återigen...läs på läxan ;) Jag arbetar för närvarande på fritiden i ett stort projekt med att implementera en ny appserver så de där specarna kan jag ganska väl :)
<johan>
5... "J2EE är en specifikation från Sun" precis gudidelines hur du skall gå till väga för att bygga Enterpriselösningar. Det är dess syfte så som Win DNA var långt innan J2EE.
</johan>
Se mitt svar under punkt 1 och även längre ner.
<johan>
6... Jag kallar saker som fungerar under andra system som har en arkitektur för att vara platformsoberoende, JUST platforsmoberoende. :-) och .Net _ÄR_ platformsoberoende.
</johan>
Ok...här har vi återigen en definitionsfråga. Jag förstod inte att du menade plattformsoberonde i teorin. Är det vad du menar så håller jag fullständigt med dig. Men jag tror att det kommer att dröja väldigt länge innan man kan ladda ner runtime miljöer från microsoft för andra operativsystem än Windows eller?
<johan>
Då C# kräver färre rader kod, går snabbare och ger bättre prestanda så rekomenderar jag C# vöre Java, men är priset viktigare dår man IDAG vill köra på en Linux skulle jag rekomendera Java då Mono inte är helt klart ännu. Men jag skulle informera om Monos Status så kund sedan kan avgära vilken teknik han/hon vill nyttja.
</johan>
Du säger att C# är snabbare och ger bättre prestanda. Till vilka tester refererar du då? Microsofts? De säger så klart att C# är snabbare? Suns...knappast...för de säger att java är snabbare. Tittar man på oberoende tester så ser man att de faktiskt presterar lika under liknande förhållanden. Jag tror att det är arkitekturen och utvecklares kompetens avgör om en lösning blir snabbare än en annan. Sedan undarar jag på vilka plattformar som C# eller .Net presterar bättre än java...Solaris? Linux? HP-AUX? AS 400 :) Antalet kodrader beror också på utvecklare och vilken typ av lösning man bygger...och är det verkligen en relevant jämförelse? Jag har faktiskt inte märkt att antalet kodrader skiljer sig markant i de projekt jag arbetat i där man använt liknande lösningar/arkitektur.
Bara en fråga...är det verkligen någon kund som skulle vilja bygga en storskalig och affärskritisk lösning på ett open-source projekt som Mono? Här ligger ett av problemen med .Net och plattformsoberoende anser jag. Microsoft har väl ingen stämpel som säger att en miljö som t ex Mono är .Net certifierad? Hur kan man vara 100% säker på att applikationen man byggt kan flyttas mellan plattformar om den inte är certifierad på något sätt? Och vem tar ansvar för att Mono verkligen lever vidare. Visst, det är open source och man kan göra förändringar själv men vem ska kunden halshugga när något krånglar? Kanske är detta något som Micrsoft tittar på?
<johan>
Vi tar det igen.
J2EE är specifikationer på hur man med Java som platform bygger Enterpriselösningar med Produkter så som Websphere, Webservice, Transaktonshanterare, etc...
</johan>
Vi tar det igen...se svar under punkt 1 mm. ;) Här är du helt fel ute Johan...Webspehere mm är produkter som är J2EE certifierade, alltså byggda efter, och implementerar, den specifikation (J2EE) som definierats av sun. I en produkt som Websphere måste transaktionshantering, meddelandehantering och en massa andra saker finnas. Annars kan den aldrig bli J2EE certifierad. J2EE är absolut INTE "...specifikationer på hur man med Java som platform bygger Enterpriselösningar" utan specifikationer på hur man bygger en produkt som t ex Websphere. Det är ju precis samma sak med .Net. Det finns en spec som man kan implementera, som ju t ex då Mono projektet gör, men tyvärr är fallet med .Net att det bara är Microsoft som än så länge är "certfierad".
<johan>
.Net Ramverk motsvarar J2EE + Java Platform + Webservice + Transaktionshanterare etc... (Är du med nu?)
</johan>
Nej jag är inte med...och inte du heller tror jag ;) J2EE innehåller nämligen transaktionshantering, webservices, meddelandehantering mm. Det är inget som ligger och flyter någonstans för sig självt. Det kan göra det men det MÅSTE ingå i produkter som är J2EE certfierade. Återigen...J2EE är INTE några "guidelines".
Och nu till Roggan...nej föresten, han sa ju egentligen inget så där finns inget att säga. Jag håller mig till Johan och bärsen istället. Skål Johan ;)
Lästips vad J2EE är, om ni fortfarande inte förstår mina förklaringar och tror att det är "guidelines" ;), kan ni hitta på:
http://swedish.connection.se/fragorsvar.htm (liten, kanske för enkel, förklaring på svenska)
http://java.sun.com/j2ee/1.4/docs/
/KlasSv: Java & C-Sharp
Men ja det kanske är helt fel ord.
Win DNA var just specar på hur man byggde Enterpriselösningar, och detta påstår jag att J2EE oxå har,men då jag fick uppfattningen att jag hade fel, blev bara diksussionen en galen snurra med påståenden som var felaktiga, från min sida.
Sant jag är ingen hajare på J2EE, läst lite och har kompisar som jobbar under dessa specar och min fakta baseras mest från deras ord. jag anser dock fortfarande att J2EE inte är ett ramverk och oberoende tester har oxå yttrat dessa ord, att .Net ramverk vs J2EE inte går att jämföra då det inte är samma sak.
Ang färre kod och prestanda syftar jag på SUNs tester, MS tester samt opartiska tester. Där CLR visar sig vara snabbare att hantera IL koden än VM med bytekoden mkt pga deras cache teknik. Kan inte du testa som kör båda platformarna? någon helloworld som baseras på ticks? Färre rader kod, ja... där var jag lite elak, självklart beror det på vad man gör. Ex Webservices som endast kräver ett attribut så är allt klart ger färre skrivna rader än för Java. (finns dock mer o mer hjälpmedel till Java nu, tevliga 3:departs apps). Vissa Apier i .Net ramverk krävr oxå färre rader kod än de som följer med i Java platformen. Ex WebRequest tjosan, dataaccess har jag oxå för mig m.m. Om nan inte räknar med de 3:de parts APIer som finns. Där ligger Java klart längre fram.
Ang Mono så håller jag nog med dig, idag vet vi inte hur bra den är på Enterpriselösningar då den inte är 100% klar. Så jag skulle nog heller inte bygga på den, det var mer att besvara argumentet att .net faktiskt går att köra under mer än bara Windows. Vad jag tycker är synd är att MS inte själva bygger CLR:er för de olika system. FreeBSD hjäpte de förvisso till med.
Ang platformsberoende så förstod jag nog att du syftade på att man typ bara behövde slänga över koden till en annan masin så fungerade det hyggligt bra. Men jag ville mer se det från specarnas berättelse.De är gjorda för att fungera under alla tänkbara platformar men CLR:er finns inte till dem än.
Jag fastnade för .Net men klandrar inte Java. Den nackdel jag ser med Java är att de idag inte har de där enkla sakerna som finns i .Net speciellt Webservices. sedan blir man van vid att nyttja Properties som är snabbare än metoder som gör samma sak. samt constructs som är value types. Som även i C# 2 med partialtypes kommer gå lite bättre än Javas motsvarighet i Tiger. Där man inte kan använda Value types. Man blir lixom lite beroende av dessa små saker. Sedan är Javan så stor så jag känner att jag inte direkt har all kontroll på 3:de partsprodukterna. Transactionshanterare i massor, dataccess komponenter i massor m.m. blir lite svårt att välja o vraka, samt så finns ju rädslan att bra komponenter faktiskt slutar uppdateras pga konkurs eller andra orsaker, händer faktiskt i OSS världen. Det jag inte gillar med .Net är något sm talar emt denna JAVA nackdel. Man släpper in för få 3:de parts leverantöer och förlitar sig på MS saker som inte als behöver vara bäst, men av en ond Psykologi vet man att MS saker kommer i alla fall att finnas kvar. Önskade man inte hade denna rädlsa för 3:de parts apps som man ex har i javas fall.
En annan tjusning är att man kan välja vilket språk man tycker bäst om. Ungefär som i Linux världen, man tar det gui man gillar bäst. typ. Dock har detta sina nakcdelar oxå, då det inte blir lika lätt att supporta sina klasser m.m. då man måste ge API exempel på flera olika språk. Altlt gott för något ont med sig. :-)
Du har jobbat med båda platoformarna vad har du för ärlig syn på dem? Om du bortser från att du kanske är mer förtjust i den ena o inte den andra?
Sedan tar vi o dricker bira o pratar om något annat :-)Sv: Java & C-Sharp
Syntaxmässigt är språken väldigt lika, det är lätt att byta mellan språken. Det som är svårt är att det är två olika ramverk i botten, vilket gör att man man måste lära sig att behärska både .Net Framework och J2SE/J2EE, vilket är i mastigaste laget. Eftersom jag kodat mycket i Java så tycker jag att det är lätt att hitta i Java API dokumentation. Men jag tor att så fort jag jobbat ett tag i .NET så kommer jag att uppleva .Net framework lika lätt...
Ja, vad ska man satsa på?
Java, C#, VB.Net, C++, COBOL.NET???
Jag tror att man ska satsa på båda platformarna, eftersom Java har ett stort försprång när det gäller kod som redan är skriven så tror jag att båda plattformarna kommer att finnas kvar länge, vilket innebär att underhåll, nyutveckling och vidareutveckling kommer att ske med både Java och .Net... Sv: Java & C-Sharp
Java Language Specification: http://java.sun.com/docs/books/jls/
Java Virtual Machine Specification: http://java.sun.com/docs/books/vmspec/
Fler finns...Sv: Java & C-Sharp
Java ägs till 100% av Sun och är inte någon standard. C# däremot är en godkänd standard (se ovan).
Ang. diskussionen mellan Johan N. och Klas A. så skulle jag vilja lämna ett par kommentarer.
Klas har helt rätt i att J2EE och .NET är helt jämförbara. Även jag har jobbat med båda plattformarna. I mitt fall, med BEA Weblogic 8 som applikationsserver (J2EE-certifierad), får man med väldigt mycket "gratis", då de har hållit sig till Suns spec och sedan utökat funktionaliteten avsevärt.
Johan har däremot rätt i (enl. min erfarenhet) att .NET kräver mindre kod och har bättre prestanda på windows-plattformen, vilket inte är särskilt överraskande. Microsoft har helt enkelt tagit Java-plattformarnas "idé" och gjort en egen variant som är mycket lovande. Exempelvis ASP.NET har "lånat" väldigt mycket bra av JSP/Servlet teknologin i J2EE. Därefter har man vidareutvecklat så att ASP.NET nu är kanske den mest utvecklade tekniken.
Vad gäller Webservices så är alla stora java-implementationer ganska långt efter .NET prestandamässigt tyvärr.
/KalleSv: Java & C-Sharp
Vad menas med att något är en standard? Måste det vara antaget av något institut för att få kallas standard?Sv: Java & C-Sharp
Jo kollade upp det sen, det vara flera siter som jämförde J2EE med .Net som flera ggr påstod att man inte kunde jämföra dem då de inte alls var jämförbara, Samma sa en kollega som sitter med J2EE, han sa att J2EE är mer en rekommenadation över hur man bygger Enterpriselösningar och i denna ingår vissa delar som medföljer. Man baserar ju alltid sin fakta på den kunskap man fått, och självklart litar man på folk som sitter med J2EE saker. Han hänvisade mig till denna text.
- J2EE is a specification architected and controlled by Sun, and is not a product. IBM's WebSphere and BEA's WebLogic are the most widely[1] vendor/product implementation of J2EE.
- Microsoft's .NET platform is a family of products rather than specifications, with specifications used primarily to define points of interoperability.
Det var detta jag utgick från.
Skall bli kul att se hur nästa Java Vs .Net version kommer att se ut. Rätt lika har jag hört.
JNSv: Java & C-Sharp
En standard är en överenskommelse eller regel om hur någonting ska se ut,
fungera eller på annat sätt förhålla sig. Standarder leder till att utrustningar blir
kompatibla, det blir enklare att tillverka och använda standardiserade
produkter osv. Standarder leder därför ofta till att användandet ökar och
därmed också försäljningsvolymerna. Standarder leder ofta till att branschen
utvecklas då det blir enklare och mer intressant att tillverka den
standardiserade produkten och komponenter och tillämpningar till denna.
Standarder kan växa fram naturligt (de facto standard) eller genom samarbete mellan företag. Standarder kan också växa fram som resultat av lagstiftning och regler.
En standard kan hållas hemlig, sluten av ett företag och kallas då proprietär. Om standarden är tillgänglig och går att ta del av för vem som helst kallas den öppen.
Med tillgänglig menas dels att andra tillåts ta del av tekniska specifikationer för hur
standarden fungerar, dels att detta är gratis.
JNSv: Java & C-Sharp
Är en sluten standard meningsfullare än en öppen specifikation som inte sökt status som "standard"?
Värnar Microsoft om standarder?
Varför har Microsoft valt att publicera C# som en standard?
Varför publicerar inte Microsoft DOC-formatet som en öppen standard när det ändå redan är en de facto-standard?
Varför följer inte Microsoft de av W3C publicerade öppna standardena, så att "margin: auto;" funkar för att centrera ett block i HTML?Sv: Java & C-Sharp
* Ang Word: fråga MS :-) (Ps det är inget proggrameringsspråk)
* C# : Precis som jag skrev öppen standrard öppnar möjligheter till att föer använder sig av den. Alltså C#.
* Värnar....: Ja det tycker jag, de följer den rätt bra, faktiskt bättre än många andra, DOCK! Lägger de till saker men det betyder inte att Standarden inte följs. IE klarar typ allt W3c erbjuder + lite extra ditlagda modifikationer.
Jag följer oxå standarder, men kan lägga till saker som jag anser saknas för att min applikation skall fungera så som jag vill ha den. Men fortfarande kan alla system som följer dess standard prata med mitt system.
JNSv: Java & C-Sharp
Sv: Java & C-Sharp
Är det inte öppenheten snarare än det att det är en standard som medför detta?
Är en sluten standard meningsfullare än en öppen specifikation som inte sökt status som "standard"?Sv: Java & C-Sharp
Vilka frågor :-)
Idag är det fint att ha en öppen standard. Och visst är det alltid att vem som kan se specifikationen?
JNSv: Java & C-Sharp
Om du kollar mono samt CLI så kan du se källkoden till de flesta av ASP .Nets
specifika klasser.
Dock är den öppna standarden C#. Där IL oxå är öppen för dem som vill skapa kompilatorer. (Om jag inte minns helt fel)
JN