skillnader mellan vb.net och c#?
Hej
Är det någon skillnad, tex prestanda mässigt, mellan vb.net och c#? Rent syntaktiskt är det ju uppenbarligen skillnad, men förutom det.
Någon som har koll?!
/Peter
Svara
Sv: skillnader mellan vb.net och c#?
eftersom båda språken kompilerar till MIDL som mellansteg skall det enligt microsoft inte skilja nångontign prestanda mässigt mellan språken .. däremot är stränghanteringen mognare än den i c, ett arv från vb6 medans C# kommer kunna ges möjligheter till unsafe mode och pekare ...
Svara
Sv: skillnader mellan vb.net och c#?
enligt Microsft så skall det vara det ...
meningen med hela CLR är att du skall kunna utföra precis samma uppgift med vilket språk du än väljer att använda och utan några som helst prestanda eller funktions förluster ..
så i princip kommer Cobol funka likadant som C# och Python på .NET plattformen. I framtiden skall det bara handla om en vilket språk du känner för att prata med MS produkter för tillfället .. ..
Svara
Sv: skillnader mellan vb.net och c#?
Är det inte då rätt poänglöst att utveckla ett helt nytt språk? Ok att ha stöd för .net i redan befintliga språk som folk är vana vid, men att skapa ett helt nytt bara för saken skull...!?
Svara
Sv: skillnader mellan vb.net och c#?
Två av de främsta anledningarna till att Microsoft skapade C# var att de inte fick använda Java längre, samt att de flesta av Microsofts egna utvecklare föredrar språk med "C liknande" syntax (krullparenteser, semikolon osv).
Och nej, jag tycker inte det var poänglöst att skapa ett nytt språk. Eftersom C# var nytt kunde det utformas så att det passade .NET på bästa möjliga sätt. Andra språk som VB och C++ begränsas något av bakåtkompatibilitet.
MS
Svara
Sv: skillnader mellan vb.net och c#?
>båda språken kompilerar till MIDL som mellansteg
Tror nog du menar MSIL :-)
MS
Svara
Sv: skillnader mellan vb.net och c#?
ok, men då är ju svaret på min ursprungliga fråga att andra språk är begränsade i förhållande till .net jämfört med c#... Vore dock intressant att veta var i begränsningarna ligger.
/Peter
Svara
Sv: skillnader mellan vb.net och c#?
hmm det finns ingen bakåtkompabilitet i vb.net som skall upprätthållas alls ... inte helelr i de flesta andra språk ..
C# är för att java människor och c++ människor inte skall överge microsofts plattform. Vissa delar av .NET är skrivet i C# men de delarna är lika tillgängliga på samma sätt från alla språk...
Vi har haft den här disskusionen innan MS och hittills har du inte kunnat visa något konkret som skull göra c# mer 'anpassat' till .NET än ngt annat språk.. Likanr mer ett religionskrig för mig ...
Svara
Sv: skillnader mellan vb.net och c#?
>hmm det finns ingen bakåtkompabilitet i vb.net som skall upprätthållas alls ... inte helelr i de flesta andra språk ..
Visst finns det det. Ta exempelvis lokala Static variabler. Det finns inget stöd för såna i CLR, och därför inte heller i C#. Men i både VB.NET och MC++ går det att deklarera lokala varaiabler som Static. Kompilatorerna får alltså fejka stöd för detta på ett eller annat sätt. Testa att kompilera denna kod, och öppna sedan programfilen med ILDASM för att se det ganska fula resultatet.
Public Class C
Public Sub S
Static i As Integer = 5
End Sub
End Class
Jag säger inte att detta är dåligt. Det är trots allt lite det som är meningen med VB, att det ska dölja skitjobbet från användaren. Men man bör vara medveten om att ifall man flitigt använder Static variabler så kommer programmet bli större och eventuellt marginellt långsammare.
Ett annat exempel på samma sak är On Error felhantering som också finns kvar i VB.NET för bakåtkompatibilitetens skull. Även där blir resultatet fulare och långsammare kod än om man kör med SEH.
>Vi har haft den här disskusionen innan MS och hittills har du inte kunnat visa något konkret som skull göra c# mer 'anpassat' till .NET än ngt annat språk..
Hoppas jag lyckats bättre nu :-)
>Likanr mer ett religionskrig för mig ...
Nix, det är jag inte intresserad av. Man jag tycker det är intressant att belysa de skillnader mellan språken som trots allt finns. Vad man sen väljer att använda är upp till var och en.
MS
Svara
Sv: skillnader mellan vb.net och c#?
>ok, men då är ju svaret på min ursprungliga fråga att andra språk är begränsade i förhållande till .net jämfört med c#...
Framför allt så finns det en del skillnader mellan språken - sen om man tycker de är begränsningar eller ej är väl kanske en smaksak. Om man kollar på VB.NET, C# och MC++, så finns det finesser i vart och ett av språken som inte de andra stöder. Skillnaderna är allt för många för att skriva ner här.
MS
Svara
Sv: skillnader mellan vb.net och c#?
Jag forstor va du seger, men jag haller inte riktigt med .. Det finns sjelvklart en massa feautrs i vb.net som ligger kvar. men det er ingenting i vbs kompilator som seger att den maste ta hansyn till det om du inte anvender de funktionaliteterna ..
anvender du inte static variabler sa kommer vb's kompilator inte att skapa konstig ILD kod, alltsa er det inte san bakatkompabilitet pa det settet som tex win95 hade mot DOS utan mer ett dstod for gammal teknik...
du kan dessutom pa samma sett skriva riktigt roten kod i C# eller c++ om du inte vet vad du gor, sa det er inget argument..
Faktum er att vb teamet uttalat har brutit all bakat kompabilitet for att ner de enda holl pa skulle kunna fixa det som var daligt i spraket ...
ledsen for att di svenske boksteverna saknas men er i barcelona ...
Svara
Sv: skillnader mellan vb.net och c#?
förresten skapar STATIC i C# bättre IL kod än den i VB ??
Svara
Sv: skillnader mellan vb.net och c#?
>förresten skapar STATIC i C# bättre IL kod än den i VB ??
Som jag sa tidigare:
"Ta exempelvis lokala Static variabler. Det finns inget stöd för såna i CLR, och därför inte heller i C#."
C# har visserligen ett nyckelord som heter static, men det har inte samma funktion som Static i VB. static i C# är analogt med Shared i VB.NET.
MS
Svara
Sv: skillnader mellan vb.net och c#?
Jag läste i boken "Inside C#" att alla net-språk teoretiskt sätt har samma möjligheter, men att ms har lagt begränsningar i kompilatorerna. C# skall vara det språk som har störst stöd för .net - Man kan alltså i C# dra störst nytta av .net jämfört med tex jscript och vb.net
Svara