Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  16 2244
Etter å ha sett etse sin guide til idiomatisk python sitter jeg og vurderer en begynner guide i Clojure. Sett at det er et veldig sært språk og kanskje veldig uvant for alle dere imperative folka, lurte jeg på om det var noen generell interesse for en slik guide før jeg satte med ned i noen timer og skriver dette.
▼ ... over en uke senere ... ▼
Go for it. Trenger noe å lese på om kveldene.
Kopimist
Trådstarter
Sitat av hayer Vis innlegg
Go for it. Trenger noe å lese på om kveldene.
Vis hele sitatet...
Skal få skrivd dette iløpet av uka. Litt hektisk hverdag for tia.
King of Destructions
lilpsych's Avatar
do it mister =)
Kopimist
Trådstarter
Sitat av alexanderb Vis innlegg
Vis hele sitatet...
Det finnes da flere guides til Clojure, ja. Etse sin guide til idiomatisk Python er forøvrig ikke ny heller. Så ser virkelig ikke poenget at du poster den.
Dersom du skal skrive en guide til Clojure uten å ha lest andres guider så lurer jeg litt på intensjonene dine, og ikke minst den endelige kvaliteten på din guide...
Sitat av alexanderb Vis innlegg
Dersom du skal skrive en guide til Clojure uten å ha lest andres guider så lurer jeg litt på intensjonene dine, og ikke minst den endelige kvaliteten på din guide...
Vis hele sitatet...
vel, jeg ville aldri prøvd å ødelegge gode intensjoner og kreativiteten til folk. Om ikke annet vil det være en god øvelse i å prøve å skrive tekster hvor man forklarer ting til andre over tekst - noe som er hovedårsaken til at jeg selv skriver noen guider innimellom her på forumet, selv om temaet er forklart mange ganger andre plasser (og sikkert forklart mye bedre andre plasser).

Eneste måten å bli bedre på er å prøve, få feedback og så prøve på nytt.
Kopimist
Trådstarter
Sitat av alexanderb Vis innlegg
Dersom du skal skrive en guide til Clojure uten å ha lest andres guider så lurer jeg litt på intensjonene dine, og ikke minst den endelige kvaliteten på din guide...
Vis hele sitatet...
Jeg skjønner virkelig ikke hvor du fikk det ifra. Du kommer og linker en liste om guides uten å engang nevne intensjonene dine, og når jeg kommenterer din intensjon, som jeg tolker er "Men mange andre har skrevet det før." så svarer ut ifra det.

Hvor du får fra at jeg ikke leser andre sine guides vet jeg ikke, men jeg kan si til deg at jeg hadde ikke drevet med programmering uten å ha lest meg opp på alt jeg kan få kloa i.

Jeg setter virkelig spørsmålstegn ved dine intensjoner på forumet ved meningsløse innlegg.
▼ ... over en uke senere ... ▼
Ser ikke grunnen til at han ikke skal skrive en guide selv om slutt resultatet kanskje ikke blir topp. Hvis den ikke blir den beste guiden skrevet noen gang kan jo vi som leser den komme med litt konstruktiv kritikk.

Edit:
alias yolo='git commit -am "DEAL WITH IT" && git push -f origin master'
Vis hele sitatet...
Hhahahaha
Sist endret av hayer; 23. september 2013 kl. 10:02.
▼ ... over en uke senere ... ▼
En Clojure-guide høres ut som en god idé. Ja, såklart finnes det guider fra før, men det er ikke akkurat så mange. Har du tenkt å skrive på norsk så er det vel så og si ingen. Å skrive en guide er en ganske lærerikt, både når det gjelder den faglige kunnskapen, men også det å formidle noe på en forståelig måte. Det tvinger deg til å virkelig tenke over de tingene du forklarer. Jeg har i alle fall lært mye selv av å skrive diverse guider (noen så elendige at de forhåpentligvis har forsvunnet).

Å beregne én uke på å skrive guiden tror jeg forresten er litt optimistisk (vel, det kommer jo an på hvor detaljert den skal være).
Kopimist
Trådstarter
Sitat av Jaffe Vis innlegg
En Clojure-guide høres ut som en god idé. Ja, såklart finnes det guider fra før, men det er ikke akkurat så mange. Har du tenkt å skrive på norsk så er det vel så og si ingen. Å skrive en guide er en ganske lærerikt, både når det gjelder den faglige kunnskapen, men også det å formidle noe på en forståelig måte. Det tvinger deg til å virkelig tenke over de tingene du forklarer. Jeg har i alle fall lært mye selv av å skrive diverse guider (noen så elendige at de forhåpentligvis har forsvunnet).

Å beregne én uke på å skrive guiden tror jeg forresten er litt optimistisk (vel, det kommer jo an på hvor detaljert den skal være).
Vis hele sitatet...
Har hatt dette på todo lista mi nå siden jeg skrev det. Men Laptopen døde og jeg har flytta så blitt litt mye å gjøre den siste måneden.

Men å skrive en ukes tid er mer enn nok for å forklare litt om historien bak LISP, sammen med hva Clojure er og hvordan man setter opp leiningen. Blir ingen lang guide på hvordan man skal sette opp et helt dev miljø heller.
Lisp er ekstremt ulikt andre språk som python, php, java, c og c++. Lærer deg å bli en betre programmerer av å lære deg det, for du må tenke på helt andre måter.. F.eks Lisp Scheme.. Den første implementasjonen AFAIK. har f.eks ikke loops.. E.g ingen "for" eller "while" Så en funksjon må kalle på seg selv flere ganger mens et globalt variabel teller f.eks.

https://en.wikipedia.org/wiki/Scheme...ng_language%29

Bruker litt Common Lisp på jobb.
Sist endret av meeh; 3. oktober 2013 kl. 20:43.
Sitat av meeh Vis innlegg
Lisp er ekstremt ulikt andre språk som python, php, java, c og c++. Lærer deg å bli en betre programmerer av å lære deg det, for du må tenke på helt andre måter.. F.eks Lisp Scheme.. Den første implementasjonen AFAIK. har f.eks ikke loops.. E.g ingen "for" eller "while" Så en funksjon må kalle på seg selv flere ganger mens et globalt variabel teller f.eks.

https://en.wikipedia.org/wiki/Scheme...ng_language%29

Bruker litt Common Lisp på jobb.
Vis hele sitatet...
Veldig enig der! Etter å ha lært Lisp har stilen min i andre språk (til og med i et lavnivåspråk som C) endret seg ganske mye. Det samme gjelder nesten samtlige jeg kjenner (noen har parentes-allergi og har ikke kommet seg over syntaksen, som for øvrig kanskje er teknisk sett den enkleste syntaksen i noe som helst språk).

Det negative med å lære Lisp er at en etter hvert ser hvor mye andre språk mangler, eller hvor store omveier de går for å gjøre ting, syns jeg i alle fall. Konsepter fra funksjonell programmering som høyere ordens funksjoner, anonyme funksjoner, closures osv. har først nå begynt å komme skikkelig i vinden -- dette er noe Lisp-språkene har hatt i ca. 50 år. Lisp var jo også det første språket med en garbage collector.

Scheme er forresten ikke den første implementasjonen. John McCarthy (oppfinneren) implementerte selv Lisp på MITs maskiner, den første kompilatoren var ferdig i 1962. I løpet av 70-tallet ble det utviklet såkalte Lisp-maskiner, som faktisk kjørte Lisp-kode rett på hardwaren (altså med dedikerte kretser for cons/car/cdr, listemanipulering osv. -- ikke kompilering til en eller annen generell prosessorarkitektur). Scheme dukka først opp i 1975 og skilte seg i grunn litt ut fra de andre Lisp-dialektene ved å være veldig minimalistisk.

Looping i Scheme er som du sier ganske annerledes; man må utelukkende bruke rekursive funksjoner for å iterere. Det er ikke helt riktig at man bruker en global variabel for å iterere. Litt av poenget er jo at man ønsker å unngå endrende state så mye som mulig. I stedet er det vanlig å la telleren være et argument til funksjonen. Ganske ofte trenger man jo heller ikke en teller; hvis funksjonen bare skal gå gjennom en liste vet man jo at man skal stoppe når lista er tom. Heldigvis har Scheme halekallsoptimalisering, så en rekursiv funksjon som utfører det samme som en vanlig loop i et imperativt språk ville gjort, blir like effektiv.
Bra innlegg Jaffe, takk for rettelsen!
Kopimist
Trådstarter
Skyter kjapt inn med et kurs som startet IDAG på coursera.
https://www.coursera.org/course/proglang

Tar for seg funksjonelle konsepter i Standar ML, Racket og Ruby. Verdt å få med seg mens det går!
▼ ... over en måned senere ... ▼
Jeg har produsert endel LISP / Clojure-innhold på bloggen min de siste årene. For dem som er interessert - her er en kjapp oversikt over det mest essensielle: