Eudoxos Skrevet 29. mars 2002 Del Skrevet 29. mars 2002 Hva er folks meninger om hvorfor C# (ikke) vil slå an? Dette nye C-språket laget av MS i et desperat forsøk på å få kontroll over enda mer av dataverdenen, vil folk i det hele tatt bruke dette, siden det allerede finnes både C++ og Java fra før? Siden MS har muligheten til å kontrollere dette språket fullt ut, vil de følge IEs gode eksempel, og la parseren tolerere uavsluttede klammer og parenteser, og ikke være så nøye med semikolon? Hva er forresten forskjellene mellom C# og C++, sånn rent programmeringsteknisk? -- Eudoxos Lenke til kommentar
oyvind_b Skrevet 2. april 2002 Del Skrevet 2. april 2002 Noen programmeringstekniske forskjeller: - C# har automatisk minnehåndtering (noe du må gjøre selv i C++) - C# er fullt objektorientert (C++ er ikke det) - C# har ikke pekere (C++ har pekere) - ++ Andre ting: - C# (og andre språk for .NET) kjører i en slags virtuell maskin slik at det i teorien kan kjøre på andre operativsystemer. En ting: det hadde vært ille om C# tolererte manglende semikolon og slikt... et øyeblikk lurte jeg på om meldingen din var skrevet 1. april... [ Denne Melding var redigert av: oyvind_b på 2002-04-02 08:15 ] Lenke til kommentar
Johan Skrevet 26. april 2002 Del Skrevet 26. april 2002 Jeg har programmert en god del i C#. Det er 95% likt c++. Det tolererer selvsagt ikke manglende semikolon og slikt. Lenke til kommentar
Psy Skrevet 2. mai 2002 Del Skrevet 2. mai 2002 C# er langt ifra 95% likt C++, du har klasser og namespaces, men det er jo nesten alt. Det minner mye mer om java enn C++. Lenke til kommentar
A_N_K Skrevet 2. mai 2002 Del Skrevet 2. mai 2002 Quote: On 2002-05-02 02:56, Psy skrev:C# er langt ifra 95% likt C++, du har klasser og namespaces, men det er jo nesten alt. Det minner mye mer om java enn C++. Så er Java igjen basert på C++ .. Men C# er åpenbart ment å være en Javadødare, så det er ikke så rart om det ligner. Lenke til kommentar
MailMan13 Skrevet 3. mai 2002 Del Skrevet 3. mai 2002 Code: using System;using System.IO;public class App { public static void Main() { FileStream fs = null; try { fs = new FileStream(@"C:NotThere.txt", FileMode.Open); } catch (Exception e) { Console.WriteLine(e.Message); } finally { if (fs != null) fs.Close(); } }} Litt c#, Bytt ut 'using' med 'import', 'IO' med 'io' og 'FileStream'' med 'FileReader' så skulle en jvm kjørt den der :smile: Flere eks på http://msdn.microsoft.com/theshow/Episode0...08/Richter.html Eneste forskjellen jeg kan se er i navnene til standardklassene, samt at java er mer konsistent med upper/lower case i klassenavnene. [ Denne Melding var redigert av: MailMan13 på 2002-05-03 12:30 ] Lenke til kommentar
DrDoogie Skrevet 3. mai 2002 Del Skrevet 3. mai 2002 Saa hva er konklusjonen? Er C# nok et patetisk forsoek fra M$ paa aa innbille folk at de "innovererer", eller har det noe for seg? Hva er fordelen med C# framfor C++? Lenke til kommentar
A_N_K Skrevet 3. mai 2002 Del Skrevet 3. mai 2002 Vanskelig å se noen fordeler med et enda et ledd i M$ plan for å ta over verden : ) Men det er vel det samme som med Java, at det er plattformuavhengig og litt mer ryddig enn C++. Lenke til kommentar
goggi Skrevet 3. mai 2002 Del Skrevet 3. mai 2002 Det er også mange applikasjoner som ikke er mulig i C++,men kun i VB og C# som f.eks. ASP.NET web app. Det som er merkelig er at de ikke har fjernet VB. Lenke til kommentar
Coq Rouge Skrevet 8. juni 2002 Del Skrevet 8. juni 2002 C# virker på mange måter som et intressant språk. Ikke det at jeg har fått prøvd det enda, men kommer nok til å prøve det så fort jeg får tilgang (i løpet av sommeren en gang regner jeg med). En av de store fordelene i mine øyne er det at MS med dette legger press på Sun som da må gjøre Java bedre, og konkuranse ender som regel i bedre produkter. Coq Rouge PS: Må bare få rette på en ting fra oyvind_b: c# er ikke fullt objektorientert. Pr idag er det vel bare SmallTalk som er 100% objektorientert da ALT er klasser (inkludert de standard typene int, float osv). Alle andre programeringsspråk implementerer disse som en del av programmeringsspråket og kompilatoren. Men skal du være FULLT OBJEKTORIENTERT, må du kunne lage dine egene implementasjoner av disse og kunne arve fra dem. Når så du sist denne linjen: "class test extends int"? Men c# er som java fullt objektorientert i den betydningen at du må implemtentere alt eget som klasser. Men dette er som sagt flisespikking :wink: Lenke til kommentar
A_N_K Skrevet 8. juni 2002 Del Skrevet 8. juni 2002 Quote: Den 2002-06-08 02:37, Coq Rouge skrev:PS: Må bare få rette på en ting fra oyvind_b: c# er ikke fullt objektorientert. Pr idag er det vel bare SmallTalk som er 100% objektorientert da ALT er klasser (inkludert de standard typene int, float osv). Alle andre programeringsspråk implementerer disse som en del av programmeringsspråket og kompilatoren. Men skal du være FULLT OBJEKTORIENTERT, må du kunne lage dine egene implementasjoner av disse og kunne arve fra dem. Når så du sist denne linjen: "class test extends int"? Int og float etc. fins som klasser i Java i alle fall, kan tenke meg at det er likt i C# siden de har lånt såpass mye annet fra Java. Klassen for int heter dog ikke Int, men Integer. Lenke til kommentar
iGGy Skrevet 19. juni 2002 Del Skrevet 19. juni 2002 Quote: oyvind_b skrev (2002-04-02 08:14):Noen programmeringstekniske forskjeller:- C# har automatisk minnehåndtering (noe du må gjøre selv i C++)- C# er fullt objektorientert (C++ er ikke det)- C# har ikke pekere (C++ har pekere)- ++ Hva gjør C# som språk mere objektorientert enn C++ ? Lenke til kommentar
iGGy Skrevet 19. juni 2002 Del Skrevet 19. juni 2002 Hvorfor sier folk at java er "fullt objektorientert"??? Et språk som ikke støter operator overloading kan da ALDRI kalles objektorientert spør du meg. Java er ikke basert på C++, det er "basert på" (bah) C. Og så har dem smellt på new operatoren og muligheten til å skrive klasse.metode(parameter); istedet for metode(klasse,parameter); Æ lik itjs java. Lenke til kommentar
LeD Skrevet 19. juni 2002 Del Skrevet 19. juni 2002 Quote: Den 2002-06-19 11:14, iGGy skrev:Hva gjør C# som språk mere objektorientert enn C++ ? Argumentet for å kalle C# (eller egentlig .NET-plattformen) mer objektorientert enn C++ er: - Alt er objekter, også primitive typer. (f.eks er "int" et alias for klassen "System.Integer32"). I Java finnes jo både int og klassen Integer. I C# (.NET) altså bare sistnevnte. - Alle klasser arver fra klassen System.Object, akkurat som i Java. Om dette er positivt er jo en annen sak. Blir nok enklere å programmere når man ikke trenger å tenke på pekere, primitive typer, osv... Men man mister jo både kontroll og forståelse. LeD Lenke til kommentar
A_N_K Skrevet 19. juni 2002 Del Skrevet 19. juni 2002 Quote: Den 2002-06-19 11:15, iGGy skrev:Hvorfor sier folk at java er "fullt objektorientert"??? Et språk som ikke støter operator overloading kan da ALDRI kalles objektorientert spør du meg. Java er ikke basert på C++, det er "basert på" (bah) C. Og så har dem smellt på new operatoren og muligheten til å skrive klasse.metode(parameter); istedet for metode(klasse,parameter);Æ lik itjs java. Hva har operatoroverlasting med objekter å gjøre?? Altså jeg kan skjønne at det kan være komfortabelt med denne typen overlasting i forbindelse med klasser, men knapt nødvendig. Det er meget mulig at de har utelatt det for å gjøre ting mer ryddig (akkurat som multiple inheritance er utelatt). Kan ikke se hvorfor Java ikke skal være et derivat av C++ for den saks skyld, C har jo ikke klasser eller inheritance/polymorfi f.eks. [ Denne Melding var redigert av: A_N_K på 2002-06-19 17:38 ] Lenke til kommentar
iGGy Skrevet 1. juli 2002 Del Skrevet 1. juli 2002 Quote: LeD skrev (2002-06-19 12:15): Quote: Den 2002-06-19 11:14, iGGy skrev: Hva gjør C# som språk mere objektorientert enn C++ ? Argumentet for å kalle C# (eller egentlig .NET-plattformen) mer objektorientert enn C++ er: - Alt er objekter, også primitive typer. (f.eks er "int" et alias for klassen "System.Integer32"). I Java finnes jo både int og klassen Integer. I C# (.NET) altså bare sistnevnte. - Alle klasser arver fra klassen System.Object, akkurat som i Java. Om dette er positivt er jo en annen sak. Blir nok enklere å programmere når man ikke trenger å tenke på pekere, primitive typer, osv... Men man mister jo både kontroll og forståelse. LeD Ditt første poeng, "alt er objekter" er OK. Ditt andre henviser til .net plattformen, og ikke C# som språk, som jeg spurte om. .net plattformen finnes også helt og holdent til C++ (tror jeg?!). Lenke til kommentar
iGGy Skrevet 1. juli 2002 Del Skrevet 1. juli 2002 Quote: A_N_K skrev (2002-06-19 15:29): Quote: Den 2002-06-19 11:15, iGGy skrev: Hvorfor sier folk at java er "fullt objektorientert"??? Et språk som ikke støter operator overloading kan da ALDRI kalles objektorientert spør du meg. Java er ikke basert på C++, det er "basert på" (bah) C. Og så har dem smellt på new operatoren og muligheten til å skrive klasse.metode(parameter); istedet for metode(klasse,parameter); Æ lik itjs java. Hva har operatoroverlasting med objekter å gjøre?? Altså jeg kan skjønne at det kan være komfortabelt med denne typen overlasting i forbindelse med klasser, men knapt nødvendig. Det er meget mulig at de har utelatt det for å gjøre ting mer ryddig (akkurat som multiple inheritance er utelatt). Kan ikke se hvorfor Java ikke skal være et derivat av C++ for den saks skyld, C har jo ikke klasser eller inheritance/polymorfi f.eks. Op.overloading gjør at man f.eks kan behandle ting som "objekter" og utføre operasjoner på dem.. f.eks cout >> "blablabla"; eller "std::string n; n += "Tore";" type ting... At multiple inheritance er utelatt gjør vel ikke ting så mye mer ryddig? Hvorfor var det uryddig? Java har jo "multiple inheritance" av interfaces... (interface er vel i prinsippet bare en abstract C++ klasse). Lenke til kommentar
LeD Skrevet 1. juli 2002 Del Skrevet 1. juli 2002 Quote: Den 2002-07-01 11:01, iGGy skrev:Ditt andre henviser til .net plattformen, og ikke C# som språk, som jeg spurte om. .net plattformen finnes også helt og holdent til C++ (tror jeg?!). Riktig. Men C# er laget for .NET-plattformen, og gir liten mening for seg selv. I f.eks. Java er språket og klassebiblioteket ikke adskilt på samme måten. Det finnes flere språk til .NET-plattformen. Men .NET gir sterke begrensninger på språkene. Så det er stort sett bare syntaksen som er forskjellig. Objekter/typer som du spør om, er det .NET som "bestemmer", ikke C#. Alle .NET-språk vil altså være "like objektorienterte". LeD [ Denne Melding var redigert av: LeD på 2002-07-01 11:46 ] Lenke til kommentar
LeD Skrevet 1. juli 2002 Del Skrevet 1. juli 2002 Quote: At multiple inheritance er utelatt gjør vel ikke ting så mye mer ryddig? Hvorfor var det uryddig? Java har jo "multiple inheritance" av interfaces... (interface er vel i prinsippet bare en abstract C++ klasse). Interfaces støttes også i .NET. De finnes jo nettopp fordi man ikke har klart å implementere multippel arv. Hvor nyttig eller ryddig multippel arv er kan nok diskuteres. Men jeg ser ingen fordeler med å ikke støtte det. Skader ikke å masse muligheter som du ikke bruker. Er verre å ha for få... LeD Lenke til kommentar
oyvind_b Skrevet 1. juli 2002 Del Skrevet 1. juli 2002 Quote: Den 2002-06-08 02:37, Coq Rouge skrev:...PS: Må bare få rette på en ting fra oyvind_b: c# er ikke fullt objektorientert. Pr idag er det vel bare SmallTalk som er 100% objektorientert da ALT er klasser (inkludert de standard typene int, float osv). Alle andre programeringsspråk implementerer disse som en del av programmeringsspråket og kompilatoren. Men skal du være FULLT OBJEKTORIENTERT, må du kunne lage dine egene implementasjoner av disse og kunne arve fra dem. Når så du sist denne linjen: "class test extends int"?Men c# er som java fullt objektorientert i den betydningen at du må implemtentere alt eget som klasser. Men dette er som sagt flisespikking :wink: Beklager, men du tar feil. Som du sikkert allerede har sett (et av innleggene til LeD) arver alle standard typene også fra object. Du hadde kunne lage en klasse som arver fra f.eks. int dersom int ikke hadde vært sealed. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå