Vaughn Skrevet 1. september 2004 Del Skrevet 1. september 2004 søppel: Her er eksemplet ditt. Min valgte CL-implementasjon er SBCL. Det finnes en implementasjons-uavhengig FFI, men denne er en smule tungvint, og vanligvis ikke verdt det. SBCL er uansett fri programvare... Så vidt jeg vet kan ikke SBCL grense direkte mot C++, men man kan aksessere C++-funksjoner via C, så det er ikke så mye ekstra arbeid. Jeg kan dog ta feil; det er ingen egentlig grunn til at det ikke er mulig. Her er et enkelt eksempel som bruker atoi, skjønt denne funksjonen finnes i Lisp-biblioteket også. Gi eventuelt en C-prototype om du vil ha noe spesifikt. Først, la oss definere den. Dette er ikke nødvendig å gjøre på forhånd, men det er raskere: > (sb-alien:define-alien-routine "atoi" int (str c-string)) Normalt må vi laste inn biblioteket først, men atoi finnes i libc, så det er unødvendig. Det finnes nå en funksjon kalt "atoi", som oppfører seg akkurat som alle andre Lisp-funksjoner. La oss prøve den: > (atoi "NAN") -> 0 > (atoi 12) -> feilmelding; den vil ha en streng. > (atoi "1s4") -> 1 Jepp, den oppfører seg akkurat som atoi i C... ikke akkurat merkelig. Lenke til kommentar
Steinbitglis Skrevet 6. september 2004 Del Skrevet 6. september 2004 Hvordan lærer man seg Lisp? Har aldri hørt om språket før og jeg finner ingen bøker om Lisp på nettsida Datajungelen. I bruk er helt sikkert Lisp et godt språk å kunne, men jeg tipper at en lærer mye mer av å sette seg inn i C++. Uansett om man skal bruke det mye eller lite, så er det kjekt å kunne når man skal lære seg andre språk. C++ er på en måte et "grunnleggende" språk. Lenke til kommentar
kjetil7 Skrevet 6. september 2004 Del Skrevet 6. september 2004 Mitt tips for nybegynnere er enten C++, Java eller C# (avhengig av hva du ønsker å lage). Alle disse språkene er ganske like på syntaks. C++ har en del elementer som ikke Java og C# har, så det er nok enklere å lære Java og C#. Men hvis du kan C++, bruker du ikke lang tid på å lære Java og C# (tar nok litt lengre tid andre veien). Det som eventuelt vil ta litt tid er å bli vant til klassebibliotekene/pakkene. Hvis du velger Lisp skal du være klar over at det ikke på noen måte ligner de mest populære språkene som C++, Java, C# og PHP. Ja, du kan gjøre mye i Lisp på få linjer, men er det et mål i seg selv da? For meg betyr lesbarhet mye mer! Lispkode ser ofte ganske "grumsete" ut selv for et godt trent øye. Det er heller ikke noe problem å lære seg Lisp senere hvis en skulle ønske det. Og kanskje er Python et bedre alternativ? Lenke til kommentar
A_N_K Skrevet 6. september 2004 Del Skrevet 6. september 2004 Mitt tips for nybegynnere er enten C++, Java eller C# (avhengig av hva du ønsker å lage). Eller D? Selv ser jeg C++ som forholdsvis gammeldags (foretrekker det like fullt framfor Java), D har f.eks kvittet seg med C-preprosessoren. Sannsynligvis vil man komme bort i C/C++ før eller senere i forbindelse med eksisterende kode, men for å lære faget er det etter min mening like greit å starte med et mer moderne språk. Lenke til kommentar
kjetil7 Skrevet 6. september 2004 Del Skrevet 6. september 2004 Ja, D er lovende. Men er etter min mening ikke nok utbredt til å kunne anbefales for en nybegynner. Lenke til kommentar
A_N_K Skrevet 6. september 2004 Del Skrevet 6. september 2004 (endret) Det er sant at det ikke er spesielt utbredt, men det bør ikke være noe stort problem å lære seg andre språk i C-familien når først det grunnleggende sitter (som kan ta en stund). Edit: Sant å si heller jeg egentlig til Python som førstespråk. Edit1: Et åpenbart problem med D for en nybegynner vil jo være begrensede læringsressurser (bøker etc.), av en eller annen grunn falt ikke dette meg inn med det samme (begynner å bli blasert med åra?) :| Endret 6. september 2004 av A_N_K Lenke til kommentar
kjetil7 Skrevet 6. september 2004 Del Skrevet 6. september 2004 (endret) Jeg er enig i det. Men for meg er det ganske vesentlig hva det finnes av gammel kode/kodeeksempler, dokumentasjon og bøker. D er fortsatt i utviklingsfasen og er vel ikke i nærheten av å bli standardisert i løpet av de nærmeste årene? D har mange spennende elementer i seg, men det gjenstår å se om det noen gang vil bli utbredt. Det er jo allerede snakk om D 2.0 eller D++... (eller E, hehe). Edit: så ikke at du hadde oppdatert posten din angående læringsressurser... Endret 6. september 2004 av kjetil7 Lenke til kommentar
A_N_K Skrevet 6. september 2004 Del Skrevet 6. september 2004 Har nettopp skummet i gjennom whitepaperet, må si at det tiltaler meg mer og mer for lavnivå-programmering. Vurderer å skrive om en software 3D-motor jeg har begynt på (av ren egeninteresse) i D, regner med at det vil være verdt det for videre utvikling. 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å