Na jednoj drugoj temi o programiranju sam ja ispalio da je C# čista kopija Jave i bio napadnut od strane nekih članova da nemam pojma i slično. Evo otvaram novu temu u kojoj ću pokušat argumentirati zašto je to tako a vi se nadovežite. Koliko ja znam Java je prva izbacila virtualnu mašinu koja joj je omogućila da programer svoj kod pokreće u njoj, a da ona vodi računa o nekim stvarima koje programeru olakšava izradu koda. To još seže u vremena kad je Microsoft kao odgovor izbacio svoju Microsoft Javu i bilo je tu sudskih tužbi i drugog kačenja. Nakon što je Java postala hit, Microsoft je krenuo sa svojom .NET platformom. ako pogledate arhitekturu i način rada .NET-a vidjet ćete da je .NET čisto virtualna mašina. U međuvremenu se Java razvijala i dobila neke nove funkcije kao upravljanje memorijom i ispravila dosta bug-ova. Microsoft je objavio novi jezik C#.
Sad ako malo bolje usporedite kod pisan u oba jezika vidjet ćete da su nevjerojatno slični. Definicija API-a u Javi i C# je skoro identična . Način pisanja koda je identičan i isti program napisan u Javi i C# je skoro pa jednak.
Ja sam nekoliko godina na faksu učio u Microsof VS okolini, najviše C#. Nakon što sam se zaposlio dobio sam jedan manji projekt, manju aplikaciju sa bazom u Javi. Totalno noob, trebalo mi je nekoliko dana da naštiman netbeans i uhvatin konce kako početi sa radom. Nakon toga sam normalno programirao, kao da nikada nisam napustio C#. Tehnika programiranja je ista, način na koji se radi tamo i ovamo je skoro isti, većina imena funkcija ista ili skoro pa ista. Svakin danom sam se sve više čudio kako je jednostavan prijelaz između ova dva jezika. Kasnije sam otkrio J2EE i ostao paf. Microsoft je tek prošlu godinu objavio .NET framework 3.0 koji donosi WCF ( a integriran je 100% tek u VS 2008), ta tehnologija je najavljivana kao revolucionarna i neznam što. Ali kasnije sam vidio da postoji masu aplikaciju već napisanih u Javi koji obavljaju bez problema one zahtjeve koje WCF tek donosi...
Dakako da ta dva jezik imaju razlika, i svojim razvojem iz dana u dan tu prvenstveno mislim na primjene sa drugim tehnologijama poput XML-a, i WCF-a, te razvojem JVM-a .NET-a će se javiti još masu razlika, ali oni su u biti isti, i koriste se za programiranje sličnih problema. Sad kad pogledan da je Java tu bila prije C#, onda mi jednostavno on izgleda kao čista kopija.
Ovo pišem iz osobnog iskustva i prema nekakvom mom osjećaju kod prijelaza... E sad znam da će se javiti masu njih koji će navesti razlike i reći da nemam pojma i da prvo proguglan da sam ovo izbacio bez napisane linije koda, ali slobodno guglajte i navodite razlike...