Gromguten Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 Hei! jeg her helt blank på programmering ( eneste jeg har gjort er litt mirc scripting og litt vb ) Men jeg lurer på om jeg skal kanskje prøve å lære meg litt c++.. ? Men lurer egentlig på hva man lager med C++. Sånn som jeg har forstått det så er det litt grafikk og sånn, men kan ikke noen utdype det litt? hva bruker dere c++ til? Lenke til kommentar
A_N_K Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 Øh, tror tilsvarende spørsmål er stilt hundre-og-ørten ganger før i forumet. Lenke til kommentar
Gromguten Skrevet 29. januar 2005 Forfatter Del Skrevet 29. januar 2005 Ja, det var d jeg trodde, derfor søkte jeg på søk, men fann faktisk ingenting. Sikkert bare jeg som søkte på de gale ordene.. Lenke til kommentar
☀ ❄ Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 C++ kan brukes til nær sagt alt. Det er mest hensiktsmessig å bruke C++ til større prosjekter (større programmer, spill, osv), men du kan fint bruke C++ til små hjelpeprogrammer o.l. også. Dersom du bruker C++ er det i alle fall ikke språket som setter begrensningene. Lenke til kommentar
Gromguten Skrevet 29. januar 2005 Forfatter Del Skrevet 29. januar 2005 C++ kan brukes til nær sagt alt. Det er mest hensiktsmessig å bruke C++ til større prosjekter (større programmer, spill, osv), men du kan fint bruke C++ til små hjelpeprogrammer o.l. også. Dersom du bruker C++ er det i alle fall ikke språket som setter begrensningene. Okai! thx! Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) (defun addn (n) #'(lambda (x) (+ x n))) Denne funksjonen (skrevet i Common Lisp) tar en parameter n, og returnerer en funksjon som tar en parameter x og legger til tallet n. Ganske tøfft? Dette går ikke å uttrykke i C++. Jeg har vanskelig for å forklare det jeg skal frem til nå, men det kan kanskje sammenlignes med at det finnes (menneske)språk der man for tall kun har ett ord, så når man skal uttrykke at det er tre epler, så må man si: "Det er nuff nuff nuff epler!" Det går fint å uttrykke alle tall i dette språket, men det er ikke hensiktsmessig. Derfor har man laget et "språk" - eller et (tall)system som er mer hensiktsmessig: "Det er 3 epler!" Ved hjelp av begge språkene kan man uttrykke de samme tingene, men det er ikke like lett eller hensiktsmessig i begge to. Ha dette i bakhodet når du prøver ut forskjellige språk, enten nå eller siden. Edit x: Ta forøvrig en titt: http://www.research.att.com/~bs/applications.html Endret 29. januar 2005 av søppel3 Lenke til kommentar
saboi Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) den lambdaen må vel kalle opp funksjonen igjen bare denne gangen med n - 1? ellers så ser jeg ikke helt åssen den kan telle riktig.. altså returnerer den en funksjon som igjen kaller opp hovedfunksjonen? syns ikke det kommer veldig klart utfra den funksjonen der, da er det mye lettere å lese denne i haskell som gjør akkurat det samme addn 1 = 1 addn n = (\x -> x + addn (x - 1)) n Endret 29. januar 2005 av saboi Lenke til kommentar
GeirGrusom Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 Synes det høres ut som vanlig recursing jeg, kan ikke lisp så... Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) (defun addn (n) #'(lambda (x) (+ x n))) ..nå kan jeg si: (setf (symbol-function 'add-3) (addn 3))(add-3 3) 6 (add-3 2) 5 ..og.. (setf (symbol-function 'add-4) (addn 4))(add-4 4) 8 Jeg regner med at dette taler for seg selv. Endret 29. januar 2005 av søppel3 Lenke til kommentar
saboi Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 joda jeg tviler ikke på at det funker men hva gjør alt det set-greiene? det ser ut som om du bare lager en vanlig loop som kaller funksjonen 4 ganger med parameteren 4 f.eks? hvorfor kan du ikke kalle den som en vanlig funksjon? addn (4) Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 Denne funksjonen (skrevet i Common Lisp) tar en parameter n, og returnerer en funksjon som tar en parameter x og legger til tallet n. (setf (symbol-function 'add-4) (addn 4)) "add-4" er nå navnet på funksjonen som returneres fra addn-funksjonen. Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) Eller hva med dette: (defun doStuff (what parameter) (funcall what parameter)) (doStuff (lambda (x) (+ x 3)) 4)7 Jeg sender to parametere til doStuff: * En funksjon som tar en parameter og legger 3 til den parameteren: (lambda (x) (+ x 3)) * Tallet 4 ...og doStuff returnerer dermed 7. Endret 29. januar 2005 av søppel3 Lenke til kommentar
saboi Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 ok.. det var jo litt teit at hvis man f.eks skal gjøre addn 10 så må man lage navn på funksjonen den returnerer.. i haskell eksempelet er det bare å kalle addn som den er. jeg trodde det var meningen med lambdas, at de ikke skulle ha navn. det blir jo feil også siden addn 4 ikke skal bli 8 men 10.. Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) Oki, ja - det går å gjøre det direkte også så klart: (funcall (addn 4) 4) 8 ..men i Common Lisp går ikke dette: ((addn 4) 4) ..som hadde vært mer naturlig kanskje. Mener det går i Scheme da. Edit: Ikke lambda dette - det er sending/returnering av funksjoner "rundt om kring". Endret 29. januar 2005 av søppel3 Lenke til kommentar
saboi Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 konklusjon: haskell > lisp Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 (endret) Nei, konklusjon; ha et åpent sinn. Edit: Tosk Endret 29. januar 2005 av søppel3 Lenke til kommentar
søppel3 Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 Ikke i sammenheng med deg. Lenke til kommentar
GeirGrusom Skrevet 29. januar 2005 Del Skrevet 29. januar 2005 return C++ > (haskell | lisp); // Returnerer alltid true 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å