WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Lära sig asp. (https://www.wn.se/forum/showthread.php?t=8573)

Robert 2005-06-23 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++

Alltså om man jämför 3 olika språk, Lingo, VB och c++ så skriver man mest som en människa i Lingo (Flash). Följande exempel:

LINGO:
Kod:

on hellworld
 set the text of field 1 = "Hello World"
end

VB:
Kod:

Private Sub FOrm_Load()
  minTextLabel.text = "Hello World"
end sub

C++(typ C#)
Kod:

#include <iostream>

int main()
{
  std::cout << "Hello, world!\n";
}


kanske lite assembler?:
Kod:

reset
  LDX #$00
 cycle
  LDA hworld,X
  BEQ reset
  STX cache
  JSR $FFD2
  LDX cache
  INX
  JMP cycle
 hworld
 .text "Hello, World!"
 .byte 13,0
 cache
 .byte 0


jimmie 2005-06-23 09:24

Citat:

Originally posted by Robert@Jun 23 2005, 07: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++

Alltså om man jämför 3 olika språk, Lingo, VB och c++ så skriver man mest som en människa i Lingo (Flash). Följande exempel:

LINGO:
Kod:

on hellworld
 *set the text of field 1 = "Hello World"
end

VB:
Kod:

Private Sub FOrm_Load()
 * minTextLabel.text = "Hello World"
end sub

C++(typ C#)
Kod:

#include <iostream>

int main()
{
 * *std::cout << "Hello, world!\n";
}


kanske lite assembler?:
Kod:

reset
 * *LDX #$00
 cycle
 * *LDA hworld,X
 * *BEQ reset
 * *STX cache
 * *JSR $FFD2
 * *LDX cache
 * *INX
 * *JMP cycle
 hworld
 .text "Hello, World!"
 .byte 13,0
 cache
 .byte 0


Varför inte mikroprogrammering? ;) Riktigt skoj jue!

eg0master 2005-06-23 12:14

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å?

Yepp 2005-06-23 12:30

Citat:

Originally posted by Fluffe@Jun 22 2005, 12:28
Tycker att Robert täcker grunden bra!
Håller helt klart med - tackar för den mindre lektionen av Robert. Du har antagligen övertalat mej, men kanske ännu inte min kalender...

Fluffe 2005-06-23 14:32

Citat:

Originally posted by Robert@Jun 23 2005, 08:44
C++(typ C#)
Kod:

#include <iostream>

int main()
{
 * *std::cout << "Hello, world!\n";
}


Nu kanske vi har tappat tråden lite, men måste bara kommentera detta:

c# och c++ är inte riktigt rättvist att jämföra. Hehe, här kommer ännu en härlig åsikt som säkert många reagerar på. Men c++ är, enligt mig, bara ett riktigt dåligt försök att göra ett funktionellt språk &copy; till att bli objektorienterat. Men det är som du skriver Robert olika nivåer på språken. C är mycket mer maskinnära där den fyller sin funktion. Man kommer ju ihåg när man svor över det lilla labkortet med ljussignaler.. ;)

c# är ett objektorienterat språk som i mångt och mycket liknar java, som microsoft säkert har sneglat både en och två gånger på medans de utvecklat c#.

Robert 2005-06-23 15:36

Citat:

Originally posted by eg0master@Jun 23 2005, 12:14
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? 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.

Tja, formateras och formateras... sist jag satt i skolbänken så var det ett språk som börjar på bokstaven C som gjorde skillnad på stora och små bokstäver (variabler)... :D

Ang skriva koden på längden eller höjden; det beror väl bara på hur man vill skrolla i kodeditorn... känns fortfarande som struntargument när det gäller att välja språk.. :)
Radbrytning eller måsvinge eller vad som helst; det är bara ett ascii-tecken och det behövs väl i alla språk, alltså någon form av "syntax-delare" eller vad man ska kalla det för? Skulle bli jobbigt för kompilatorn annars... fast man kan ju resonera så att c# är jobbigt för det kräver en ; i slutet av en rad trots att det sitter ett radbrytningstecken efter (jaja, det går att skriva på bredden...)


Alla tider är GMT +2. Klockan är nu 00:32.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson