andesam Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 Hvilket av av alle programmerings språkene i denne jungelen er det mest komplekse? Trodde det var C++, men har hørt noen som mener det ikke er det. Lenke til kommentar
Jihadinmymind Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 synes 1337 språket også kalt leet! eks: * H4v3 y0u h34rd 4b0u7 1337 |4n6u463? 7h3n y0u c4n wr173 m3 b4ck 1n 1337! * du lik3r @ \/ær3 kj3mp3 kul m3d 1337 tull lol Lenke til kommentar
andesam Skrevet 24. mai 2004 Forfatter Del Skrevet 24. mai 2004 t3nkt3 n@ p@ pr¤6ra|\/||\/|3r|n6§ §pr@k j36 da... Lenke til kommentar
Dead_Rabbit Skrevet 24. mai 2004 Del Skrevet 24. mai 2004 Mankinkode er vel det letteste å skrive, men det er jo veldig vanskelig alikevel da har jeg et intrykk av. Jeg vil tro det er det som er det mest komplekse språket selv om det har enklest syntaks liksom. Lenke til kommentar
andesam Skrevet 24. mai 2004 Forfatter Del Skrevet 24. mai 2004 Finnes det noen språk som kan måle seg med C++? Var en som sa C++ var det man skulle begynne med, også skal man gå over til mer komplekse sprøk senere. Stemmer dette? Lenke til kommentar
EasyRaider Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 (endret) Tror ikke det finnes noe som er særlig mer komplekst enn C++. Men det er uansett et trygt valg å begynne med. Det er ikke det letteste språket å lære, men det er raskt, fleksibelt og verdifullt å kunne i profesjonell sammenheng. PS. Jeg er ingen ekspert. Endret 25. mai 2004 av EasyRaider Lenke til kommentar
Dead_Rabbit Skrevet 25. mai 2004 Del Skrevet 25. mai 2004 (endret) Kansje Assembly eller makinkode som jeg nevnte ovenfor. Jeg har hørt at det er mest pugging og sånt på Assembly men det er jo kanske komplekst de greiene man gjør da. Og samme med maskinkode anntar jeg bare at det er enda lettere å skrive, og enda vanskligere å skjønne. Edit: PS. Jeg er ingen ekspert. Ikke jeg heller Endret 25. mai 2004 av zirener Lenke til kommentar
thotta Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 Hvis han tenker på å lære seg et programmeringsspråk, tror jeg nok ikke assembly er tingen. Vanlige programmer lages ikke med det. Maskin kode er heller ikke det samme, såvidt jeg vet. Dette er kompilert kildekode, som dermed kan utføres av datamaskinen. C++ er relativt avansert ja. Man kontollererer mye selv, men dette resulterer også i at det er mye å passe på. (minnelekasjer kan oppstå lett med uvettig programmering i C++. Det forekommer selvfølgelig i andre språk også...) Språk som Java og Visual Basic er også "avanserte språk", men det er en del ting man slipper å ta hensyn til. I disse språkene er enkelt å greit å lage grafiske brukergrensesnitt. Dette er ikke fullt så enkelt med C++. Men tror det er kommet en del verktøy som gjør at du kan lage GUI veldig lett i C++ også. Men basisen i programmering er mye det samme i veldig mange språk. Både C++ og Java kan være grei å begynne med. Visual Basic er ikke så lurt å begynne med tror jeg, for da er det lett å bli altfor opphengt i GUI'et i stedefor selve logikken. (VB er "veldig" GUI fokusert fra første stund). Lenke til kommentar
Dead_Rabbit Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 (endret) Assembly? Som første språk? Er det ikke sånn at man må skrive 20 linjer bare for hello world eller noe sånn a? Hva mente du med: "Dette er kompilert kildekode"? Du mente vel ikke at maskinkode blir kompilert? Det er jo det maskinen forstår så hvorfor skal det bli kompilert? Mulig det bare er jeg som er litt treg ass Edit: Makinen ja, det hørtes jo bra ut Endret 26. mai 2004 av zirener Lenke til kommentar
thotta Skrevet 26. mai 2004 Del Skrevet 26. mai 2004 Var det ikke du som tenkte han kunne tenke på assembly da?? eller maskin kode?? Kansje Assembly eller makinkode som jeg nevnte ovenfor. Jeg mente dette ikke var stedet å begynne. Dette er et lav-nivå språk, i forhold til mer moderne høy nivå språk som C++ og Java. Og maskinkode? Det kan man da ikke "skrive" i det hele tatt, vel? Med: "Dette er kompilert kildekode"mente jeg nettopp at kildekode blir til <maskinkode> når du har kompilert den. Lenke til kommentar
Dead_Rabbit Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 (endret) Ojsann, tror jeg(eller begge) har missforstått litt jeg . Var det ikke du som tenkte han kunne tenke på assembly da??eller maskin kode?? Det var det jeg kunne komme på som avanserte språk, jeg mente egentlig ikke at han skulle sette i gang å lære deg . Og maskinkode? Det kan man da ikke "skrive" i det hele tatt, vel?Med: "Dette er kompilert kildekode"mente jeg nettopp at kildekode blir til <maskinkode> når du har kompilert den. Joda, det er mulig å "skrive" maskinkode, men det er jo veldig vanskligk, og veldig tidkrevente. Med: "Dette er kompilert kildekode"mente jeg nettopp at kildekode blir til <maskinkode> når du har kompilert den. Det gjør den, med unntak av noen små greier som jeg ikke husker. Tror det var noe med visual basic.net eller noe sånn, men mulig(sansynlig) jeg at jeg tar feil. Edit: Unødvendig med så mye QOUTE. Endret 27. mai 2004 av zirener Lenke til kommentar
jorgis Skrevet 27. mai 2004 Del Skrevet 27. mai 2004 Hva med binærkoding? Mekke hele stasen i 0'er og ettall? Det kan nok bli litt vanskelig/komplekst. Lenke til kommentar
Giddion Skrevet 28. mai 2004 Del Skrevet 28. mai 2004 etter min mening er assambly et lett språk å forstå og lære, men vanskelig å lage store programmer, men c/c++ er vanskelig å lære, men "lett" å lage store programmer, men man trenger ikke å kunne 100% av C/C++ for å lage store programmer selv om de ofte blir bedre jo mere man kan Lenke til kommentar
Orjanp Skrevet 28. mai 2004 Del Skrevet 28. mai 2004 Assembly? Som første språk? Er det ikke sånn at man må skrive 20 linjer bare for hello world eller noe sånn a? For noen er vel kanskje dette interessant. Her er forskjell på quicksort algoritmen i c/c++ og assembly. Assembly koden er min egen, så den er kanskje ikke helt optimalisert. Først i c/c++. /* Standard quicksort. */ static void quicksort(int a[], int left, int right) { int lp = left - 1; int rp = right; int v = a[right]; /* the partioning element */ if (right <= left) /* Array has one or null elements to sort */ return; /* No elements to the left of lp are greater than the partioning elemnt. */ while (1) { while (a[++lp] < v); while (v < a[--rp]) /* In case the partioning element is the smallest in the array */ if (rp == left) break; if (lp >= rp) break; /* Deadlock, switch elements and continue */ s wap(&a[lp], &a[rp]); } /* This completes the partioning */ swap(&a[lp], &a[right]); /* Now every element to the left of a[lp] are smaller than a[lp], * and every element to the right is larger. */ quicksort(a, left, lp - 1); quicksort(a, lp + 1, right); } void swap(int *x, int *y) { int temp = *x; *x = *y; *y = temp; } Så i assembly. .586 ;32-bits(with pentium instructions). .MODEL flat ;Flat memory model. ;;Deklarering av metoder som ligger i .asm fila. PUBLIC _quicksort .DATA dummy DB 1 .CODE ;Begin code segment. ;;Plassering av argumenter på stakken. tab = 16 ;EBP + 8 left = 20 ;EBP + 12 right = 24 ;EBP + 16 ;;Plassering av lokale variabler på stakken. ;lp = - 4 ;EBP - 4 ;rp = - 8 ;EBP - 8 ;v = - 12 ;EBP - 12 ;; static void quicksort(int tab[], int left, int right) { _quicksort: push ebp ;lagrer gammel base peker. push esi push edi mov ebp, DWORD PTR tab[esp] mov esi, DWORD PTR left[esp] mov edi, DWORD PTR right[esp] ;; int lp = left - 1; mov eax, esi ;flytter left til EAX. dec eax ;trekker en fra left. ;; int rp = right; mov ebx, edi ;flytter right til EAX. ;; int v = tab[right]; mov ecx, [ebp+edi*4] ;legger tab[right] til EAX. ;; if (right <= left) cmp edi, esi ;sammenlikner right og left. ;; return; jle jumpPoint05 ;avslutter metoden hvis right er less or equal. ;; while (1) { jumpPoint01: ;; while (tab[++lp] < v); inc eax cmp [ebp+eax*4], ecx ;sammenlikner tab[++lp] < v jl jumpPoint01 ;hopper til jumpPoint01 hvis tab[++lp] er mindre enn v. ;fortsetter helt til den finner en verdi større enn pivot. jumpPoint02: ;; while (tab[--rp] > v) dec ebx cmp [ebp+ebx*4], ecx ;sammenlikner tab[--rp] og v. jle jumpPoint03 ;hopper til jumpPoint02 hvis tab[--rp] er mindre eller lik v ;; if (rp == left) break; cmp ebx, esi ;sammenlikner rp med left. jne jumpPoint02 ;hopper til jumpPoint02 hvis rp ikke er lik left. jumpPoint03: ;; if (lp >= rp) break; cmp eax, ebx ;sammenlikner lp og rp. jge jumpPoint04 ;hopper til jumpPoint04 hvis lp er større eller lik rp. ;; swap(&tab[lp], &tab[rp]); push ecx mov edx, [ebp+eax*4] mov ecx, [ebp+ebx*4] mov [ebp+eax*4], ecx mov [ebp+ebx*4], edx pop ecx ;; } jmp jumpPoint01 ;hopper til jumpPoint01. jumpPoint04: ;; swap(&tab[lp], &tab[right]); push ecx mov edx, [ebp+eax*4] mov ecx, [ebp+edi*4] mov [ebp+eax*4], ecx mov [ebp+edi*4], edx pop ecx ;; quicksort(tab, left, lp - 1); push eax push ebx push ecx dec eax push eax push esi push ebp call _quicksort ;kaller metoden _quicksort. add esp, 12 ;fjerner de variablene som ble pushet. pop ecx pop ebx pop eax ;; quicksort(tab, lp + 1, right); push eax push ebx push ecx push edi inc eax push eax push ebp call _quicksort ;kaller metoden _quicksort. add esp, 12 ;fjerner de variablene som ble pushet. pop ecx pop ebx pop eax jumpPoint05: pop edi pop esi pop ebp ;;} ret ;avslutter metoden. end Lenke til kommentar
Dead_Rabbit Skrevet 28. mai 2004 Del Skrevet 28. mai 2004 Ble litt forvirra jeg, av så mye komentering i C++ koden... Lenke til kommentar
Orjanp Skrevet 29. mai 2004 Del Skrevet 29. mai 2004 C koden er ikke min... det er grunnen Lenke til kommentar
jberg Skrevet 1. juni 2004 Del Skrevet 1. juni 2004 og her er quicksort i haskell, til sammenlikning qsort [] = [] qsort (x:xs) = qsort elts_lt_x ++ [x] ++ qsort elts_greq_x where elts_lt_x = [y | y <- xs, y < x] elts_greq_x = [y | y <- xs, y >= x] Lenke til kommentar
lispnik Skrevet 1. juni 2004 Del Skrevet 1. juni 2004 Hvilket av av alle programmerings språkene i denne jungelen er det mest komplekse? Trodde det var C++, men har hørt noen som mener det ikke er det. Utvilsomt er Common Lisp (CL) det beste språket Men veien for å nå nirvana er lang. Her finns det abstraksjonsmekanismer som strekker seg langt utover det man finner i C++. For å nevne noen egenskaper ved CL iforhold til C++. 1. Fleksibelt makro-system (kode=data), man må nesten trekke litt på smilebåndet med tanke på preprosessoren 2. Dynamisk objektsystem og metaobjekt-protokoll 3. Condition-system (C++-programmerere skjønner som oftest ikke bæret når man sier at stacken ikke behøver å utrulles før man håndterer en unntaks-situasjon) Mulig litt mye teori for newbies her, men man begynner gjerne ikke å programmere i CL før man har vært i felten noen tiår. Det tar ofte lang tid å skjønne konseptene. 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å