Avatar billede tommer Nybegynder
14. april 2004 - 09:56 Der er 36 kommentarer og
1 løsning

Vb eller C#

jeg kunne godt tænke mig at få nogle input til om hvilket sprog der har flest fordele.
Hvad kan man i C# som man ikke kan i vb ?? eller omvendt ??
hvad er bedst ???
fordele/ulemper ??
Avatar billede burningice Nybegynder
14. april 2004 - 10:16 #1
umiddelbart kan man det samme i begge sprog... dog er C# noget pænere og kan i enkelte tilfælde køre hurtigere fordi man er tvunget til at skrive sin kode ordenligt. I VB er det muligt at sætte Option Strict til off, og så kan man skrive den ene linje slam-kode efter den anden uden at kompileren brokker sig.

Personligt synes jeg også at VB.Net ofte er ulogisk bygget op, og det virker som om det har nogle "hovsa"-løsninger for at få det til at ligne det gamle vb6 så meget som muligt. Det har bl.a. medført flere forskellige globale funktioner som ikke helt giver så meget mening i et Object Orienteret miljø.

I sidste ende er det dog en smags sag, og hvad man evt. kan i forvejen.
Avatar billede basementjack Nybegynder
14. april 2004 - 12:10 #2
Jaaa.. Men af samme grund er det lettere at prøve sig frem for den uerfarne.. !)
Avatar billede chanlo Nybegynder
14. april 2004 - 13:42 #3
oki, det er bare fordi jeg gerne vil overbevise min chef om at c# er det rigtige, da det er det jeg kender mest(lidt) til...
Avatar billede burningice Nybegynder
14. april 2004 - 14:41 #4
tommer, chanlo... hvad sker der her?
Avatar billede tommer Nybegynder
14. april 2004 - 17:28 #5
en fejl, send et svar...og ja ja ja jeg ved det godt....
Avatar billede burningice Nybegynder
14. april 2004 - 19:05 #6
ja... du ved godt det er "udsmidningsgrund" ?!
Avatar billede tommer Nybegynder
14. april 2004 - 19:10 #7
nej det vidste jeg ikke da jeg oprettede.....
tak for hjælp, jeg vil fjerne den ene konto.. sorry
Avatar billede burningice Nybegynder
14. april 2004 - 19:14 #8
det er nok en meget god ide :) så kommer man i hvert fald ikke i klemme
Avatar billede repsak Nybegynder
14. april 2004 - 19:21 #9
æhhh hvad er der smart ved at have to konti? :-s

Iøvrigt ligner C# også mere kendte sprog som Java og C++, så hvis man senere vil lære disse er C# et godt fundament. Men hvis du spørger til hvad der er bedst eller har flest fordele så tror jeg der kommer står religionskrig.
Avatar billede guidmaster Nybegynder
14. april 2004 - 21:43 #10
Hvad kan jeg sige? http://weblogs.dotnetforum.dk/guidmaster/articles/196.aspx

Når man vælge et .NET sprog er der ikke noget der er mere rigtig end noget andet. At der i VB skulle være lavet nogle 'hovsa' løsniger passer vist ikke helt ;)
Der er lavet nogle metoder der gør at det er nemmere for en gammel VB6 programmør at skifte til .NET, men for en der skal til at starte med .NET vil man ikke støde ind i disse - hvis man altså vælger at programmere ud fra hvordan .NET frameworket er bygget op.

Så som jeg skriver i min lille klumme(se ovenstående link) så handler det mest af alt om at bruge .NET Frameworket - om man så vælger VB med semikolon eller VB.NET er knap så vigtigt.

Vælg derfor det der ligner det du er vant til at bruge istedet for at lade dig på virke af hvad der måske er 'cool'.
Avatar billede tommer Nybegynder
15. april 2004 - 00:24 #11
tak for det guidmaster ;-) ok krumme..
Avatar billede jakobg Nybegynder
15. april 2004 - 17:29 #12
Jeg er RET uenig i at C# kode skulle være pænere. Det er helt klart en smagssag, og personligt mener jeg f.eks. at VB.NET er det pæneste og det nemmeste at arbejde med.

Hvis du slet ikke har nogen erfaring med programmering eller måske har lavet en smule ASP, så tror jeg VB.NET er nemmere at starte med. Den er knap så hysterisk med syntaxen, og det er HELT sikkert at du vil sidde og bande over de skide semikoloner i C#. Kort sagt er VB.NET formentlig mindre frustrerende at arbejde med, hvis du er helt grøn.
VS.NETs Intellisense er fantastisk, og hjælper dig rigtigt godt med VB.NET (og C#, for den sags skyld).

Den eneste nævneværdige konkrekte fordel jeg kan se ved C# er dens auto-kommenteringsfeature, som VB.NET mangler helt.
Endelig er der jo det ulykkelige kendsgerning, at C# tilsyneladende er langt det mest udbredte programmeringssprog i ASP.NET. Dvs. du ofte vil se bøger og artikler med kode eksempler i C#.

Men jeg vil altså anbefale VB.NET frem for C# alligevel.

Og hvis der er nogen der har lyst til at skændes om det, så er bolden hermed kastet op! :)
Avatar billede guidmaster Nybegynder
15. april 2004 - 17:59 #13
Der finders altså gratis værktøjer (Power Toys til VS.NET 2003) som giver dig mulighed for at lave auto kommentering i VB.NET ;)
http://www.gotdotnet.com/team/ide/
Avatar billede jakobg Nybegynder
15. april 2004 - 21:05 #14
guidmaster,
Tak, den havde jeg faktisk hørt om, men jeg har desværre de hérsens fanatiske purist-tendenser: Hvis det ikke er lavet af M$ til VS.NET, så bruger jeg det ikke... :) Og ja, det er en tåbelig holdning, men jeg tror jeg venter til Whidbey kommer.
Avatar billede tommer Nybegynder
15. april 2004 - 21:12 #15
der går bare mere end 1 år inden whidbey kommer.......
Avatar billede guidmaster Nybegynder
15. april 2004 - 21:17 #16
jakobg>> Power Toys er mere eller mindre lavet af MS - det er folk der er ansat hos MS der har lavet disse i deres fritid.
Avatar billede burningice Nybegynder
15. april 2004 - 21:35 #17
jakobg>> jeg vil nu mene at ting som eventhandlers og delegates er lavet på en ret "klodset" måde i VB.Net... Handles og AdressOf.

Arrays bliver jeg også ved med at lave forkert, men det er jo ikke sprogets skyld, men en vanesag.

Ang. de trælse ; i C#, så lærer man det meget hurtigt, og det er da ikke meget være end de evigt irreterende End's i VB.Net (End If, End Sub, End For osv. osv.)

Nå, det er ikke nogen religionskrig det her, så jeg vil stoppe. Selvfølgelig er det en smags sag, det er det altid indenfor det her. Dog kommer man hurtigt videre ved at kunne C#, da den har den typiske C-syntaks som også bruges af Java, JavaScript, C++, php m.fl.
Avatar billede jakobg Nybegynder
16. april 2004 - 09:30 #18
guidmaster,
Okay, dét vidste jeg så slet ikke, måske skulle jeg tjekke den ud alligevel. :)

cyberfessor,
C# vs. VB.NET udvikler sig altid til en religionskrig, og det er helt rigtigt, at valget bør træffes ud fra hvilken erfaring man har i forvejen: C, C++, Java og hele dén lejr vil naturligvis altid vælge C#, mens VB og ASP-lejren nok føler sig mest hjemme i VB.NET.
Mine største irritationsmomenter mht. C# er følgende:
- semikoloner
- case-sensivitet, kan føre til noget temmelig uoverskuelig kode
- {} i stedet for End if, End Sub, osv, de kan være svære at spotte
- måden man deklarerer en variabel på i C# giver bare INGEN mening for mig :)
Avatar billede burningice Nybegynder
16. april 2004 - 09:36 #19
arj... casesensetive giver NETOP overskuelighed

at folk kan skrive

Dim foo as Object = miTGRid.RoWS(4).colUMNS(3).TExt osv

giver ikke ligefrem
Avatar billede burningice Nybegynder
16. april 2004 - 09:36 #20
... overskuelighed
Avatar billede repsak Nybegynder
16. april 2004 - 09:50 #21
jakobg -> hehehe jeg kunne ikke være mere UENIG end i din sidste kommentar :-)
Det giver nu en langt mere læselig kode når statements står omklamret af {} istedet for at man skal lede efter en speciel tekst (END)
Men vi blir nok aldrig enige alligevel ;-)
Avatar billede jakobg Nybegynder
16. april 2004 - 10:11 #22
cyberfessor,
Du må ikke glemme, at VS.NET netop retter den slags for dig med Intellisense: Dvs. når jeg starter med at skrive
label1
og taster enter, bliver det rettet til
Label1
hvis variablen først er deklareret Label1. Dvs. kode som du giver et eksempel på aldrig vil forekomme, hvis det er lavet i VS.NET.
Men hvis man laver det samme nummer i C#, tror VS.NET at man refererer til noget helt andet. Man skal med andre ord selv sidde og fedte med store og små bogstaver, hvilket jeg mener er mere omstændigt.
Og hvis en ekstra kreativ programmør begynder at lave flere variable med (næsten) samme navn (objtest og objTest), begynder det først for alvor at blive totalt uoverskueligt. C# tillader den slags frækheder, og det kan nemt blive uoverskueligt for en nybegynder.

repsak,
Det er selvfølgelig en vanesag, hvad øjet er vant til at se efter, men jeg vil til hver en tid påstå, at en tekst på adskillige bogstaver springer mere i øjet end en enkelt væltet Tuborg-klamme. :) Og husk på, at Intellisense automatisk tilføjer "End Function", når du begynder en ny funktion, så arbejdsmæssigt er der ikke den store forskel...

Kan forresten bede VS.NET om at "rette" spacing i en linie kode i C#? Altså så
Label1.Text="Hello World";
bliver rettet til
Label1.Text = "Hello World";??
Med VB.NET i VS bliver den slags nemlig altid rettet, så man får en ensartet kode. Det undrer mig lidt, at man kan bruge både den kompakte og ikke-kompakte form i C#.
Det er naturligvis i småtingsafdelingen, men alligevel noget der irriterer mig mht. C# vs. VB.NET.
Avatar billede repsak Nybegynder
16. april 2004 - 10:16 #23
jeg bruger slet ikke VS.NET så jeg lider ikke under alle der der ting - hehe
Man kan ligeså godt lave tingene ordentligt selv. Det er en dårlig vane at sjuske og så få en computer til at rette det igennem. Det er stadig smart - helt enig, men sådan er det jo ikke ude i 'den virkelige verden'... :-)
Avatar billede jakobg Nybegynder
16. april 2004 - 10:22 #24
repsak,
Jeg har dagligt svært ved at få armene ned igen af ren og skær begejstring over Visual Studio .NET 2003: Det er det mest fantastiske stykke værktøj jeg nogensinde har oplevet.
Så du har min allerdybeste medfølelse, og jeg håber for dig at du en dag giver VS.NET en chance. Hvordan kan det være, at du ikke bruger den nu?
Avatar billede burningice Nybegynder
16. april 2004 - 10:24 #25
*ryster på hovedet* Intellisense mig her, og Intellisense mig der... jo, det er selvfølgelig smart, og gør livet lettere når man hurtigt skal have skrevet noget kode, men... du kan på ingen måde promovere et sprog ud fra hvad en teknik som Intellisense kan gøre. Hvad med alle dem som ikke har VS.Net? skal de så frarådes at bruge VB.Net, fordi at sproget ikke er godt nok til at skrive i et program som notepad.

Ang. at oprette public variabler som kun adskiller sig på casen, så er det imod CLS-standarden, så det tror jeg ikke du vil komme ud for særlig tit. At kunne lave en public IsActive-property og en private isActive-variabel ser jeg dog kun som en fordel, da man på den måde kan have en hvis form for tilhørsforhold mellem variabler og deres properties, uden at skulle til at bruge _ eller andet gejl. Altså, en tommelfingerregel er at variabler der starter med STORT bogstav er public, og dem med småt er private.

Der er den Intellisense igen... hvad skulle man dog gøre uden den? Verden ville være fortabt... :P
Så længe man bruger tab til at indent'e sin kode, så skulle der ikke være den store fare for at miste overblikket, om man bruger } eller End... dog er } mere konsekvent da den bruges til alle former for afslutning, mens at der findes en masse forskellige End's.

Ja, igen... du kan på ingen måde blive irreteret over et sprog, fordi at et program som VS.Net laver underlige ting ved det... Don't blame the language, blame the program
Avatar billede burningice Nybegynder
16. april 2004 - 10:26 #26
jakobg>> nu er det ikke alle der enten har masser af penge, eller bruger piratkopiere software i flæng
Avatar billede repsak Nybegynder
16. april 2004 - 10:34 #27
cyberfessor -> Jeg kunne ikke være mere enig... :-D
jakobg -> Jeg tvivler ikke et sekund på at VS.NET er genialt, men
1) jeg har ikke penge til det (er ikke tilhænger af piratSW)
2) jeg synes ikke man lærer den dybere mening med sproget når al kode bliver serveret, og hvis du selv skriver koden, så bliver den saftsuseme også rettet for spaces, case og alt mulig andet. Der kommer måske nok en dag, hvor jeg må indse at VS.NET er 'det man bruger' på arbejdsmarkedet, men så må jeg tage stilling til det der :)
Avatar billede jakobg Nybegynder
16. april 2004 - 10:46 #28
cyberfessor,
Vi kan godt blive enige om, at VS.NET er ret dyr, men i det lange løb bliver den omkostning indhentet af forberet produktivitet. Jeg mener at .NET Frameworket er så stort og komplekst, at det er meget svært at få det fulde udbytte, hvis man eksempelvis anvender Notepad.
Og jo, jeg syntes egentligt godt, at man kan promovere et sprog ud fra hvilke værktøjer man kan anvende til at skrive i det: VB.NET er nemt med VS.NET. I den sidste ende handler det om hvad man får ud af det, og med ASP.NET/VB.NET/VS.NET kombinationen kan man udrette nogen ret fede ting på kort tid og af høj kvalitet.
Og ja, mit allerførste råd til alle der vil begynde med .NET er helt klart Visual Studio.NET 2003.

Jeg er selv totalt hysterisk mht. navngivning af variable, følger navnestandarder slavisk, så du og jeg vil aldrig løbe ind i den slags problemer som jeg beskriver. Men så længe det er muligt for den uerfarne programmør, dvs. sproget rent faktisk tillader det, kan der nemt snige sig uvaner ind i udviklingen. Både VB.NET og VS.NET gør meget for at hjælpe programmøren på rette spor.
Avatar billede jakobg Nybegynder
16. april 2004 - 10:51 #29
repsak,
Prøv at kigge på Microsofts ISV program:
http://www.microsoft.com/danmark/partner/partnerskab/isv.asp
Gennem det kan din arbejdsplads/virksomhed få billig adgang til MSDN og software fra M$. Tjek det ud, vi har haft rigtig meget gavn af det...

Kode SKAL da serveres, så man kan fokusere alt det spændende og netop sætte sig ind i de svære ting, istedet for at sidde og slås med trivielle problemer igen og igen. :)
Avatar billede burningice Nybegynder
16. april 2004 - 10:54 #30
At bruge flere tusind kroner på at komme i gang med .Net vil jeg ikke mene er rentabelt. Jo, der findes #SharpDevelop og WebMatrix som gode gratis alternativer, og den førstnævnte har da også en udemærket Intellisense der sagtens kan bruges.

Dog vil jeg netop mene, at man bør STARTE med en simpel texteditor og skifte når man engang har fået det grundlæggende på plads. Jeg har da stødt på folk der har arbejdet med VS.Net i et år men er totalt hjælpesløse når det tages fra dem. De kan ikke nogen som helst af klasserne eller deres properties udenad, og hved ikke hvordan at man bruger Commandline compileren. Det er rystende og ærgeligt hvis de kommer ud et sted der IKKE bruger VS.Net.

Ang. at få udbytte af hele .Net frameworket, så mener jeg det afhænger ene og alene om ens evne til at slå op i SDK'et og tyde hvad der står.
Avatar billede jakobg Nybegynder
16. april 2004 - 11:00 #31
cyberfessor,
Hvis man starter med Notepad og .NET er ret stor chance for at de fleste vil give op inden de rigtigt kommer igang.
Og jeg er også tilbøjelig til at give dig ret i, at det er trist når man er på herrens mark fordi VS.NET bliver taget fra en. Men på den anden side, så syntes jeg at jeg har mere vigtige ting at fylde mit hoved med end udenadslære. Man skal tage imod den hjælp som man bliver tilbudt, for det hele handler om bundlinie i den sidste ende. Hvis man ikke altid vælger den bedste og mest effektive metode, så spilder man bare tiden...
Vil du hellere bruge 30 sekunder i SDK'en, eller vente et kvart sekund på at Intellisense gør arbejdet for dig?
Avatar billede jakobg Nybegynder
16. april 2004 - 11:03 #32
repsak,
Det var iøvrigt Empower programmet (under ISV), som jeg mente, sorry:
http://www.microsoft.com/danmark/partner/partnerskab/empowerisv/default.asp
Avatar billede burningice Nybegynder
16. april 2004 - 11:16 #33
Jeg siger ikke at man skal kunne hele frameworket udenad. Dog skal man have en hvis forståelse hvordan det er bygget op. Kender man først det grundlæggende, så kommer man rigtig rigtig langt, da det hele er opbygget meget konsistent. Man behøves altså ikke at kunne skrive alle properties og klasser fejlfrit, men hvis man ikke ved hvad man skal lede efter og hvad de forskellige ting kan, så kan man få smidt alt det Intellisense i hovedet uden det hjælper.
Avatar billede repsak Nybegynder
16. april 2004 - 11:27 #34
jakobg -> Jeg synes at det er lidt ærgeligt argument at mene at VB.NET er godt - fordi at VS.NET er opfundet. Det siger vel mere om VS.NET end om VB.NET...?
Iøvrigt så mener jeg ike at det er noget problem at lære udenad. Det er jo meget naturligt at hvis du arbejder meget med det så kommer det af sig selv. Jeg kan alle de klasser som jeg skal bruge til måske 90% af et program (noget er måske copy/paste fra et gammelt program). Jeg er godt klar over at min texteditor måske også liiige er det ekstreme, men jeg har 100% føling med compilere, spaces, statemente m.m.
HVis man ikke kan huske 'hverdagens' almindelige klasser nu så får man et problem når man bliver 60år :-/
Avatar billede jakobg Nybegynder
16. april 2004 - 11:33 #35
repsak,
Min egen erfaring siger mig, at jeg er mere tilbøjelig til at opdage nye (og bedre) metoder når jeg har Intellisense'en til at hjælpe mig. Så kommer jeg mere rundt i krogene af Frameworket frem for bare altid at bruge den sammen metode som sidst. Der er som regel altid plads til forbedringer. :)

VB.NET er godt, VS.NET gør VB.NET uovertruffent! :)
Avatar billede repsak Nybegynder
16. april 2004 - 11:40 #36
Jah, men om du bruger IS eller læser artikler/reseracher/bøger whatever... det er vel det samme.
Og jeg synes at dette her munder ud i at VB.NET er MEGET løst sprog, mens hvis det bruges med VS.NET så bliver der strammet lidt på det på auto-alt-muligt
Avatar billede basementjack Nybegynder
16. april 2004 - 14:40 #37
Nogen der kender til IntelliSense hvor det ikke er Vs.Net?.. Jeg har set at cyberfessor har skrevet #SharpDevelop, men den kan ik lave aspx....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester