Hvad er forskellen på MS Visual Basic og C/C++?

Tags:    programmering

User
Bruger #522 @ 08.11.01 11:10
Hejsa..

Jeg vil gerne til at lære at programmere rigtigt så derfor mangler jeg lidt information om de forskellige sprog. Er der evt. nogen som har nogle gode links eller lign? En forkalring fra jer ville heller ikke være af vejen... :-)


Det jeg hovedsagligt leder efter er info' om MS Visual Basic og C/++... Hvad er de og hvad er forskellen på dem......

Takker mange gange...

Mvh Frederik



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
<quote>Hejsa..

Jeg vil gerne til at...
</quote>

Jeg tror det er svært -- eller i bedste fald meget omfattende -- at definere forskellen på Visual C++ og Visual Basic, men jeg vil gerne gi' en hjælpende hånd, så her kommer der nogle få eksempler på nogle af de forskelle, der er.

VC (Visual C++) tager meget lang tid at lære i forhold til VB (Visual Basic). VB er utroligt nemt at lære og bruge, mens VC er ganske besværligt (sommetider).

VB producerer ikke helt så effektiv maskinkode, som VC gør. VC giver en masse "options" til kompileringen, som VB ikke gør. Mht til assembly rutiner kan VC programmer inkludere sektioner, der er skrevet i assembly. Jeg TROR, at disse sektioner kopileres direkte, dvs. uden at compileren "optimerer" eller på anden måde "laver om på koden". Dette kan VB ikke klare.

Både VB og VC er meget fleksible med hensyn til API-kald til externe DLL filer, og mht. ActiveX komponenter, så som kontrolelementer og lignende. De er også begge meget ens, når det kommer til det grafiske design. De producerer begge "even-driven programs" -- dvs. "hændelses-styrede programmer" på dansk.

Hvis man skal være fornuftig, må man se i øjnene, at der er nogle opgaver, der bedst løses med det ene sprog, og andre opgaver, der løses bedst med det andet sprog. Det nytter ikke noget, at man baserer sit valg på "religion" -- man kan ikke sige at VC er værre eller bedre end VB. Alting er relativt, som manden sagde.

VC har unægteligt bedre kontrol over ALTING end VB har. Som C programmør har du fuldstændig kontrol over alting, mens BASIC programmøren får flere ting forærende på bekostning af performance. Min personlige mening er, at meget performance-orienterede opgaver løses bedst i VC. Det samme gælder nogle dele af netværks-baserede opgaver, da VC forholdsvis let kan overføres til andre operativsystemer og kompileres. Sorterings-mekanismer og lignende rutiner, der kræver enorm fart og hukommelse løses ALTID bedst i assembly. Mindre (ikke nødvendigvis små) programmer laves bedst i VB. BASIC er let og hurtigt at arbejde med og er simpelthen bare skønt. Hvis udviklingstiden skal holdes nede, findes der ganske enkelt ikke andre svar end VB.

Det optimale er at programmere i både VB og VC -- meget gerne også i assembly (eller "maskinkode-programmering", som nogle mennesker kalder det). Ved at udvikle de meget krævende dele i C og de mere generelle dele i BASIC, opnår man både fede interfaces, god stabil kode og minimale udviklingstider. Prisen for at arbejde hurtigt og effektivt er dog, at man må investere både tid og penge i at anskaffe sig og lære sprogene.

VB's kode ligner Engelsk ret meget, mens VC's kode ser lidt mere matematisk ud. Om VB kode er "pænere" eller mere "læselig" end VC kode, er vist et spørgsmål om smag og behag. Personligt synes jeg, at VB koden er pænere.

Dette var bare nogle få tanker omkring VB versus VC, der er mange mange andre ting, man kan nævne, men denne post er allerede blevet ret lang. Det er næsten en artikel, haha.

Mit råd til dig er at overveje, hvordan du vil gribe det hele an. Hvis du vil starte med at programmere "rigtigt" .. dvs. den hårde metode, så vær indstillet på at ofre mindst 6 måneder på at lære inden du kan skrive et egentligt program. Til gengæld vil du ALDRIG fortryde, at du investerede den tid i at lære VC.

På den anden side kan det være, at du vil i gang med det samme og så komme til de mere tekniske dele senere. I det tilfælde skal du nok vælge VB, da det er meget let a programmere i og barnemad at lære. Så kan du jo gå videre til VC senere, hvis din karriere som programmør udvikler sig positivt.

Jeg tror, du kommer til at lære begge sprog før eller siden.



<quote>Hejsa..

Jeg vil gerne til at lære at programmere rigtigt så derfor mangler jeg lidt information om de forskellige sprog. Er der evt. nogen som har nogle gode links eller lign? En forkalring fra jer ville heller ikke være af vejen... :-)


Det jeg hovedsagligt leder efter er info' om MS Visual Basic og C/++... Hvad er de og hvad er forskellen på dem......

Takker mange gange...

Mvh Frederik</quote>

Hej Frederik

Jeg ved desvære ikke så meget om MS VB. Da jeg valgte programmerings sprog, blev det C/C++ fordi at sproget er nemt at gå til, både som DOS og Windows ligne applikationer. Det firma jeg arbejder i programmere i MS VB før, men på grund af C/C++ blev brugt mere og mere både i PC programmer men også i micro processore skiftede de til C/C++.
En anden fordel at på de fleste uddannelsesteder som endnu ikke bruger Java, er det C/C++ der bliver undervist i, da Java og C/C++ ligner hinanden.

Så set fra mit synpunkt, er det helt klart C/C++ du skal vælge.

Med venlig hilsen
Thomas Vanting



<quote>
VC har unægteligt bedre kontrol over ALTING end VB har. Som C programmør har du fuldstændig kontrol over alting, mens BASIC programmøren får flere ting forærende på bekostning af performance. Min personlige mening er, at meget performance-orienterede opgaver løses bedst i VC. Det samme gælder nogle dele af netværks-baserede opgaver, da VC forholdsvis let kan overføres til andre operativsystemer og kompileres. Sorterings-mekanismer og lignende rutiner, der kræver enorm fart og hukommelse løses ALTID bedst i assembly. Mindre (ikke nødvendigvis små) programmer laves bedst i VB. BASIC er let og hurtigt at arbejde med og er simpelthen bare skønt. Hvis udviklingstiden skal holdes nede, findes der ganske enkelt ikke andre svar end VB.
</quote>
[SNIP]

Mjah, jeg vil nu godt lige komme med et par tilføjelser. For det første har du ganske rigtigt
meget stor kontrol over tingene når du koder i C, til gengæld skal du virkelig holde tungen
lige i munden for der er ikke megen hjælp at hente i type checking osv. hvis du laver en
fejl opdager du det tit, meget tit, først når du forsøger at afvikle programmet.

Jeg vil så også lige tilføje at den opfattelse som hedder at tidskrævene operation bør kodes i
assembler faktisk er forældet. Moderne C og pascal compilere er efterhånden så gode at den
besparelse du opnår ved at kode f.eks. en sortering i assembler er meget minimal, og du har
den fordel at du ikke skal til at lære assembler som meget meget let kan blive ekstremt kryptisk.
Ikke sådan at forstå at assembler er skidt at lære, der er selvfølgelig ting som assembler
er velegnet til, man skal bare være opmærksom på at man sjældent vinder performance på
det.

Et sprog/udviklingsmiljø som klart også er værd at overveje (ikke for at starte en religionskrig
omkring det) er Delphi. Delphi har mange af styrkerne fra både VB og VC. Det er et elegant
sprog, det er let at lære (i modsætning til C), man kan lave simple programmer på ingen tid,
det er meget kraftfuld (lig C, i modsætning til VB). Der udover har Delphi en meget stærk type
definition som vil sige at du ikke får lov til at kompilere hvis to typer simpelthen ikke passer
sammen. Det er der eksempler på at du kan i C.

Men som nævnt et sted i religionskrig forummet, er det faktisk et spørgsmål om smag, for alle
sprog passer til hver deres område og anvendelse.

Mvh
Thomas
tdue@mail.dk



User
Bruger #522 @ 26.11.01 15:59
Hej igen.

Tak for jeres svar. Jeg må dog erkende at jeg er lidt usikker mht. til hvilke sprog jeg skal vælge. Kan i fortælle mig hvordan ligger Java og Delphi i forhold til C++ & VB?

Mange tak.

Mvh Frederik






Ikke en skid andet end struktur, selve koderne (fx "begin" i Delphi og "}" eller "{" i C++), og et par enkelte features og den egentlige lethed i selve sproget. Men de kan i det store hele udrette det samme!



t