Gå til innhold

Anbefalte innlegg

Heisan

Denne .NET verdnen er jo helt enorm og valgene er jo utvilsomt mange. Det finnes så utrolig mange verktøy på markedet og det er jo ikek lett å ta rett valg bestandig.

 

Selv har jeg akkurat konvertert fra noe som heter Clarion da det ikke er støtte for .NET og sansynligheten til at man er produktiv etter at de har lansert dette en gang til høsten er vel heller små. Hittil har jeg kunn sett et "Hello World" eksempel.

 

Jeg valgte VB2005 som platform, men går ut ifra at mange av dere der ute bruker andre ting.

Hvis vi nå skulle ta en oppsummering, innenfor Visual Studio, hva ville dere da si om de forskjellige verktøyene? Hva er styrken og hva er svakheten ved de forskjellige verktlyene? og ikke minst - Hvis du skulle lage noe så enkelt som et ordre/lager/faktura system, hva hadde du valgt for å komme raskest mulig i mål?

 

mvh

Ole

Lenke til kommentar
Videoannonse
Annonse
Jeg synes C# er overlegent - uansett.

7925159[/snapback]

Heisan, Kunne du utdype litt mer? Jeg er veldig nysgjerrig på hva du kan med C# som ikke går i VB, eller hvorfor det er bedre/enklere i C#

 

Ole

Et lite eksempel på kode ville vert utrolig kult. Har aldri skrivi ei linje C# så det kunne vert morro å sett litt på det

 

Ole

Lenke til kommentar

http://www.codeproject.com/dotnet/vbnet_c__difference.asp

 

 

C#.Net

[System.ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never]
class Test
{

 private static int _Tall = 5;
 public static int Tall
 {
   get
   {
       return _Tall;
   }
 }

 public int Tull(int test)
 {
    int Svar = test * Tall;
    return Svar;
 }

 public Test()
 {
 }

}

 

VB.Net

<System.ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never)> _
Class Test

 Private Shared _Tall as Integer = 5
 Public Shared Readonly Property Tall as Integer
   Get
      Return _Tall
   End Get
 End Property

 Public Function Tull(test as Integer) as Integer
   Dim Svar as Integer = test * Tall
   Return Svar
 End Function

 Public Sub New()
 End Sub

End Class

Lenke til kommentar
Jeg valgte VB2005 som platform, men går ut ifra at mange av dere der ute bruker andre ting.

Før .Net programmerte jeg i VB6. Det var derfor naturlig å skifte til VB.Net for meg. For et år siden måtte jeg begynne å bruke C# pga. et prosjekt jeg var med i. Av en eller annen grunn (som jeg ikke helt klarer å sette fingeren på) synes jeg nå at C# ser ryddigere ut enn VB.Net.

 

Hvis du skulle lage noe så enkelt som et ordre/lager/faktura system, hva hadde du valgt for å komme raskest mulig i mål?
SQL Server 2000/2005, C# og nHibernate til OR-mapping.
Lenke til kommentar
http://www.codeproject.com/dotnet/vbnet_c__difference.asp

 

 

C#.Net

[System.ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never]
class Test
{
......
}

 

VB.Net

<System.ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Never)> _
Class Test
......
End Class

7925348[/snapback]

 

HAHAHA!! Var dette et godt eksempel tro? Ser ingen forskjell jeg, annet en at du må gjøre som i C/C++ og bruke { og }

Lenke til kommentar
HAHAHA!!  Var dette et godt eksempel tro?  Ser ingen forskjell jeg, annet en at du må gjøre som i C/C++ og bruke { og }

7927713[/snapback]

 

Det er ikke så mye forskjell i vanlig kode. Litt små syntaxforskjeller her og der... Eksempelet viste også at VB.Net koden bruker mer plass enn C#.

 

F.eks:

C#:

public static int Tall

VB.Net:

Public Shared Readonly Property Tall as Integer

 

Det var bare et veldig enkelt eksempel på vanlig kode. Se i linken øverst i post'n for flere forskjeller...

 

 

Personlig liker jeg best C# på grunn av syntax'en. VB.Net blir veldig raskt rotete og tungvindt å lese. Under er det listet opp noen fordeler og ulemper med begge språkene. Hva man velger vil være en smakssak... :)

 

 

* C# er mer brukt på nettet og det er enklere å finne eksempelkode og hjelp.

 

* VB.Net har også noen stygge features som er enablet som default (implicit konvertering av typer).

 

* C# har støtte for unsafe (pointere).

 

* VB.Net har "my" (jeg syntes denne er dårlig på grunn av at man ikke lærer å bruke .Net Framework skikkelig).

 

* VB.Net legger automatisk til referanse til Microsoft.VisualBasic. Dette gjør at man fortsetter å bruke uvaner som cInt, Mid, InStr, UCase, etc istedenfor å bruke OOP versjonene som allerede ligger tilgjengelige i rammeverket.

 

* VB.Net har automatisk støtte for single-instance applikasjoner, noe jeg savner i C#.

 

* VB.Net kan ikke lage array's med 0 elementer. Dim MyList as New String(0) <-- Her vil den faktisk inneholde 1 stk string...

 

* C# har anonyme metoder.

 

* Man kan ikke raskt se forskjell på funksjoner og arrays i VB.Net: Test = Tull(5) <-- Funksjon eller array??

 

* VB.Net vil som default ikke vise "advanced" funksjoner. Det er en option som gjør at du kan se disse.

 

* C# har ?? og ?:. Eks1: string Test = EnString ?? EnAnnenString; Eks2: string Test = EnString != null ? EnString : EnAnnenString; (Ja, VB.Net har IIF)

 

* C# kan sette flere variabler på samme linje: a = b = c = d = 5;

 

* etc.......

Lenke til kommentar

VB.Net fikk XML kommentarer i .Net 2.0 (Visual Studio 2005)

 

Skriv 3 stk ' (''') så kommer det automatisk opp slik som det gjør med /// i C# :)

 

 

Linq/.Net versjoner/etc:

* Linq kommer i C# 3.0 og VB.Net 9.0

* .Net 3.0 er allerede ute (følger med Vista og finnes på Windows Update for XP)

* Visual Studio.Net 2007 med støtte for .Net 3.0 er ikke ute ennå.

* Det finnes et add-on til Visual Studio.Net 2005 med støtte for Linq (ihvertfall for C#).

* C# 3.0 og VB.Net 9.0 er ikke med i .Net 3.0. Disse kommer i .Net 3.5(?).

* .Net 3.0 er ikke et komplett CLR som 2.0. Versjon 3.0 krever faktisk 2.0, fordi det er "kun ekstra" klasserbibliotek.

* Microsoft har fått endel klager på grunn av .Net 3.0 fordi mange mener det ikke er en "ordentlig" versjon, men et tillegg til 2.0.

 

 

 

Btw: det er en liten feil i generics eksempelet i VB.Net. Det skal være:

Dim a As System.Collections.Generic.List(Of Single)

Morsomt med generics er at de (som vanlig arrays) kan inneholde generics:

Dim a as New List(of List(of Integer))

Dim Telefonnummere as New Dictionary(Of String, List(Of String)) ' For et dictionary hvor key er et navn og hvert navn kan inneholde flere telefonnummere...

:)

Endret av jorn79
Lenke til kommentar
Jo, husker ikke helt hva det het, har bare beta versjonen, men sånn jeg har forstått er det ingen forskjell på språket

Selvom Linq høres ut som en forskjell spør du meg.

7939704[/snapback]

 

* Linq er ikke med i .Net 3.0.

* Linq er med i C# 3.0.

* .Net 3.0 inneholder ikke C# 3.0

 

see?

 

.Net 3.0 inneholder Windows Comunication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF - ikke WWF på grunn at den forkortelsen er brukt av World Wildlife Foundation), etc...

 

.Net 3.0 var det som tidligere hadde kodenavn WinFX.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...