GeirGrusom Skrevet 5. desember 2004 Del Skrevet 5. desember 2004 En kan ikke bruke basic til dette fordi det ikke har noen lav-nivå funksjoner som C har, det du skriver er ikke nødvendigvis det du får, dessuten er ikke Basic en standard, det er kan hende Visual Basic.NET er det, men jeg tror ikke det. Jeg syns man like godt bare kan hoppe rett på C++ jeg. Da lærer man seg å programmere grundig og man trenger ikke å bytte språk p.g.a at språket du programmerer i ikke klarer den oppgaven du skal løse. Da er det bedre og hellerbytte til lettere språk siden, syns jeg. BTW: Det med at pekere er så vanskelig avhenger av om man tar seg tid til å lese en god bok. Pekere er jo veldig nyttig også, så vi som driver med C++ er heldige som har det. C++ er i seg selv et ganske stort område, når en kommer til classes, og templates, interfaces osv. så blir det ganske stort, enklere språk som ja, basic, lærer du jo mye om hvordan programmering foregår (selvom det er liten klasse støtte, og avhengig av ActiveX for å fungere) men teorien er fortsatt den samme. Det er pekere som gjør C og C++ så bra, du har full kontroll over det du driver med, jeg tror jeg ... elsker pekere instruksjon 0x8d er også en favoritt... Lenke til kommentar
Frank2004 Skrevet 5. desember 2004 Del Skrevet 5. desember 2004 Begynn med C++, da får du gode programmeringsvaner. Beklager, men C++ er ikke spesielt bra som førstespråk, siden det lar en gjøre omtrent hva som helst. Java vil mye oftere protestere på eller umuliggjøre dårlige vaner. Det er også noe lettere å begynne med, siden man ikke trenger å skjønne fullt så mye om pekere. PHP, Perl og BASIC er sansynligvis de verste språkene å begynne med om man vil lære å programmere skikkelig. Jeg syns man like godt bare kan hoppe rett på C++ jeg. Da lærer man seg å programmere grundig og man trenger ikke å bytte språk p.g.a at språket du programmerer i ikke klarer den oppgaven du skal løse. Det er vel strengt tatt ikke så mange oppgaver som løses bedre og raskere med C++ enn Java.. I tillegg til at språket hjelper deg å gjøre ting riktig og unngå en rekke vanlige feil, så har du også et større og mer brukervennelig standard-bibliotek å leke deg med. Da er det bedre og heller bytte til lettere språk siden, syns jeg. Det som er flott er jo at når du først kan programmere, så er det greit å plukke opp syntax for de mest brukte språkene. Så, om du en dag finner ut at du skal skrive en skjermkort-driver, er det ingenting i veien for å lære seg C. BTW: Det med at pekere er så vanskelig avhenger av om man tar seg tid til å lese en god bok. Pekere er jo veldig nyttig også, så vi som driver med C++ er heldige som har det. Forskjellen mellom Java og C++ er vel litt mer enn referanser vs. pekere, og det er vel heller sjelden jeg sitter og tenker at _nå kunne jeg hatt bruk for litt peker-aritmetikk_.. Lenke til kommentar
Frank2004 Skrevet 5. desember 2004 Del Skrevet 5. desember 2004 (endret) Hva er galt med Basic? Problemet med Basic er vel først og fremst den begredelige syntaksen. Greit, enkle ting går fint i Basic (også), men når du skal gjøre noe litt mer avansert så kommer språket i veien. Endret 5. desember 2004 av Frank2004 Lenke til kommentar
Dead_Rabbit Skrevet 6. desember 2004 Del Skrevet 6. desember 2004 Det er vel strengt tatt ikke så mange oppgaver som løses bedre og raskere med C++ enn Java.. I tillegg til at språket hjelper deg å gjøre ting riktig og unngå en rekke vanlige feil, så har du også et større og mer brukervennelig standard-bibliotek å leke deg med. Det kan godt tenkes, men hvis man begynner med C++ begrenser ikke språket deg, selv om du kansje kunne gjort det enklere i andre språk. Forskjellen mellom Java og C++ er vel litt mer enn referanser vs. pekere, og det er vel heller sjelden jeg sitter og tenker at _nå kunne jeg hatt bruk for litt peker-aritmetikk_.. wink.gif Ikke? Hmm... Snålt! Lenke til kommentar
GeirGrusom Skrevet 6. desember 2004 Del Skrevet 6. desember 2004 Forskjellen mellom Java og C++ er vel litt mer enn referanser vs. pekere, og det er vel heller sjelden jeg sitter og tenker at _nå kunne jeg hatt bruk for litt peker-aritmetikk_ Det er ikke pekere i Java, en peker går vanligvis til en primitiv datatype, (som int, char osv) en referanse er til et objekt. (du har pekere i C# sånn til informasjon) Pekere er fryktelig kjekt, fordi det øker hastigheten i programmet betydelig... int *arguments = new int[256]; for(register int x = 0;x<256;x++) arguments[x] = x; kan gjøres med int *arguments = new int[256]; for(int x = 0, register int *ptr = arguments;x<256;x++,ptr++) *ptr = x; siden [/code] mov eax, 4 mul eax, x mov dword ptr[eax], x[/code] er tregere en add eax, 4 mov dword ptr [eax], x Altså i andre språk en C og C++ kan du ikke velge dette selv, du må nødvendigvis gi array[index], dette er en av mange ting som gjør at jeg foretrekker C++. Lenke til kommentar
skravlekaspar2000 Skrevet 6. desember 2004 Del Skrevet 6. desember 2004 Det er ikke pekere i Java, en peker går vanligvis til en primitiv datatype, (som int, char osv) en referanse er til et objekt.(du har pekere i C# sånn til informasjon) jeg hadde et par prosjekter med c#. tror ikke det var pekere i den versjonen av språket jeg brukte. da hadde det referanser. men man kunne ikke gjøre pekeraritmetikk med disse referansene. har dette blitt endret? Lenke til kommentar
GeirGrusom Skrevet 6. desember 2004 Del Skrevet 6. desember 2004 det har alltid vært der, du må deklarere funksjonen som "unsafe" unsafe void main() { int *ptr a; } allokering ligger i marshal klassen. Lenke til kommentar
Frank2004 Skrevet 6. desember 2004 Del Skrevet 6. desember 2004 Forskjellen mellom Java og C++ er vel litt mer enn referanser vs. pekere, og det er vel heller sjelden jeg sitter og tenker at _nå kunne jeg hatt bruk for litt peker-aritmetikk_ Det er ikke pekere i Java, Nei, Java har referanser, som stort sett gjør den samme nytten og er mye tryggere å jobbe med. en peker går vanligvis til en primitiv datatype, Javel?! en referanse er til et objekt. Referanse kan vel bety så mangt, er f.eks. godt mulig å ha referanser til en primitiv i C++. Skjønner ikke hvorfor du på død og liv skal prøve å vrenge på det jeg sier. Skulle vel komme tydelig fram at jeg snakker om referanser i Java som en analog til pekere i C++; begge brukes for å behandle ting som ligger i minnet et sted. Jupps, pekere er litt mer fleksible, men poenget mitt var altså at jeg sjelden savner akkurat det. (du har pekere i C# sånn til informasjon) Og det alene er vel grunn nok til å sky C# som pesten, ihvertfall når du tar en titt på folka du skal jobbe med. Pekere er fryktelig kjekt, fordi det øker hastigheten i programmet betydelig... int *arguments = new int[256]; for(register int x = 0;x<256;x++) arguments[x] = x; kan gjøres med int *arguments = new int[256]; for(int x = 0, register int *ptr = arguments;x<256;x++,ptr++) *ptr = x; Hmm... Hos meg kompileres eksemplene dine til akkurat det samme. Og det er vel heller liten tvil om hvilken variant som er mest lesbar? -- ; ; void main() { ; int *arguments = new int[256]; ; @1: push 1024 call @$bnwa$qui pop ecx mov edx,eax ; ; for (register int x = 0; x < 256; x++) { ; ?live16385@16:; EDX = arguments @2: xor eax,eax mov ecx,edx mov edx,ecx ; ; arguments[x] = x; ; ?live16385@32:; EAX = x, EDX = @temp1 @3: mov dword ptr [edx],eax @5: inc eax add edx,4 cmp eax,256 jl short @3 ; ; } ; } ; ; ; void main() { ; int* arguments = new int[256]; ; @1: push 1024 call @$bnwa$qui pop ecx ; ; register int* ptr = arguments; ; ?live16385@16:; EAX = arguments mov edx,eax ; ; for (int x = 0; x < 256; x++, ptr++) { ; ?live16385@32:; EDX = ptr @2: xor eax,eax ; ; *ptr = x; ; ?live16385@48:; EAX = x, EDX = ptr @3: mov dword ptr [edx],eax @5: inc eax add edx,4 cmp eax,256 jl short @3 ; ; } ; } ; Lenke til kommentar
tvangsgreie Skrevet 7. desember 2004 Del Skrevet 7. desember 2004 BTW: Det med at pekere er så vanskelig avhenger av om man tar seg tid til å lese en god bok. Pekere er jo veldig nyttig også, så vi som driver med C++ er heldige som har det. Selvsagt er det ikke noen umulighet å lære seg pekere, men det øker i nokså begrenset grad forståelsen for programmering generelt. Siden pekere kan brukes og misbrukes på alle slags vis i C(++), er sjansen stor for an man vil få dårlige vaner om man bruker dem før man har vent seg til å skrive god og forståelig kode. Om fleksibilitet i seg selv hadde vært positivt for språket man skal lære å programmere i, ville jeg anbefalt Perl, men de fleste som kan programmere skjønner hva slags kode en slik person sansynligvis ender opp med å skrive. Lenke til kommentar
andm Skrevet 8. desember 2004 Forfatter Del Skrevet 8. desember 2004 Er C# noe å begynne å lære som et førstespråk? Har sett litt i en bok kalt "Teach Yourself C# på 21 dager (ISBN: 82-7772-242-7)", og det så interessant ut. Noen som har innvendinger? Lenke til kommentar
A_N_K Skrevet 8. desember 2004 Del Skrevet 8. desember 2004 D mangler forresten stack-objekter, men har både referanser og pekere. Sistnevnte for lavnivå-arbeid, og interfacing med C. Lenke til kommentar
buskmann Skrevet 12. desember 2004 Del Skrevet 12. desember 2004 Er C# noe å begynne å lære som et førstespråk? Ja, i alle fall når du har tenkt å gå over til C senere. C, C#, Java og C++ har alle veldig lik syntaks på basisstrukturen. Riktignok med forbehold om at C# har jeg ikke brukt. C# er for øvrig Microsofts versjon av Java. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå