Citat:
Originally posted by Robert@Jun 23 2005, 08:44
DU glömde tillägga att nivån (lowlevel vs highlevel) är... få se om jag får det rätt nu...lägre(?) än c#/c++
|
Skulle nog säga att VB & C# båda är en
högre nivå än C++ följt av C, assembler osv.
Nivån har ju inget med hur likt tal/skrivspråk det är utan abstraktionen ner mot hårdvaran.
Vill bara gnälla lite på argumentet att VB är enklare för man slipper bry sig om måsvingar och radslut...
Jag hävdar då att C# är bättre för att man kan formattera sin kod för bättre läsbarhet eftersom man har större
frihet över hur koden formatteras eftersom radbrytningar inte påverkar kodens betydelse. Sug på den karamellen ett tag... Framstår det inte som extremt korkat att hur du formatterar din kod påverkar hur den fungerar? Visst man kan komma runt detta i VB - jag vet, men det är ju minst lika illa som att avsluta rader med ;
Python är ett annat exempel som är mer skrämmande än VB på denna punkt. I Python avgör antalet tabbar hur koden fungerar.
Kod:
Enkelt python exempel:
def hw(hm):
i = 0
while (i < hm):
print('Hello ')
print('World')
hw(3);
Koden skriver ut "Hello Hello Hello World" (fast med varje ord på en ny rad).
Att låta formattering styra funktion av kod är ju like dumt som att blanda utseende och innehåll i en websida - något som väl alla här försöker undvika bl.a. genom att använda CSS.
jag har ett par gånger fått höra kommentarer som "va kan man ha de olika villkoren i en if-sats på olika rader i C" från folk som först lärt sig VB (utan att känna till "_"-tricket) och sedan C++. Läsbarhet handlar inte bara om hur språket ser ut utan hur det används. Två exempel (med reservation för ev. syntax fel):
Exempel 1: VB
Kod:
private sub volvo(saab,audi)
if saab < 0 then
volvo = -1
elif saab = 0 then
volvo = 1
else
volvo = audi * volvo(saab-1, audi)
end if
end sub
Exempel 2: C
Kod:
int power(int base, int exponent)
{
if (exponent < 0)
return -1;
if (exponent == 0)
return 1;
return base * power(base, exponent-1);
}
Vilken funktion tog längst tid att förstå?