Jeg tror det er viktig å lese minst to til tre gode bøker om softwareutvikling hvert år, og her kan du lese om slike bøker som jeg har lest, og hva jeg har å fortelle om dem.

Hackere og malere

Tuesday, December 25th, 2012
7 kommentarer

graham

Paul Graham er en kjendis i utviklerverden. I tilfelle du ikke har hørt om ham vil jeg gjerne rette på det nå. I 1995 startet graham selskapet Viaweb, som ble internetts første Application Service Provider (ASP). De lagde et produkt som lot folk bygge online butikker, og utviklingen ble gjort i programmeringsspråket Common Lisp. Tre år senere ble produktet deres solgt til Yahoo! for 50 millioner dollar i Yahoo!-aksjer.

På 90-tallet skrev Graham to bøker om Lisp, og “On Lisp” (tilgjengelig som PDF) regnes som en betydningsfull klassiker. Paul har også en webside med flere velkjente artikler om Lisp’s betydning – f.eks. Beating the Average fra 2001 – og artikler om mange andre, spennende tema.

I 2005 var han med å stifte finansieringsselskapet Y Combinator, som har hjulpet igang en rekke teknologi-startups. Han står dessuten bak den populære lenke-tjenesten Hacker News. Graham er også utdannet Master of Science og Doctor of Philosophy fra Harvard.

En bok du bør lese..

Hackers & Painters: Big Ideas from the Computer Age er en samling av Paul Grahams essays, og ble publisert i 2004. Jeg bestemte meg for å lese boken i romjulen i år, og foreløpig har den overgått alle mine forventninger.

Paul Graham takes on big ideas writing with a grace, clarity and humor rare not only among his sister and brother geeks, but among the best writers anywhere. - David Weinberger

Hackers & Painters er ikke bare skrevet for utviklere, men for alle som er interessert den teknologiske tidsalderen vi befinner oss i. Graham forklarer hvem vi utviklere er, og hva programmering er for noe. Hans innsikt i hvordan samfunnet og mennesker fungerer er imponerende, og hans kunnskap om å skape vellykkede teknologiselskaper er inspirerende og nyttig.

Boken er variert, lettlest, og anbefales på det sterkeste! Du vil sansynligvis ikke være enig i alt hva Graham har å si, men han vil garantert få deg til å tenke interessante tanker.

Helge anbefaler Lean Startup [Luke 9, 2012]

Sunday, December 9th, 2012
Ingen kommentarer

I 2005/2006 jobbet jeg som senior konsulent i itslearning. En vennegjeng startet det som et universitetsprosjekt, og i dag er det et internasjonalt selskap – over 200 ansatte i 8 land – med millioner av brukere og sterk vekst. En av disse grunderne var Helge Hannisdal (@hhannis), som ledet utviklingsavdelingen den gang jeg var der.

Helge

Hvem er du?
Jeg er ekte bergenser og entreprenør som er lindenskaplig opptatt av teknologi og nyskapning.

Hva er jobben din?
Akkurat nå har jeg sabbattår fra itslearning som jeg grunla sammen med noen venner i 1999. Nå jobber jeg noen timer i uken som mentor/rådgiver/investor i et par spennende nye teknologibedrifter i Bergen, men bruker mest tid sammen med familien:)

Hva kan du?
Jeg kan litt om veldig mye.

Hva liker du best ved yrket ditt?
Å skape nye produkter og bygge selskaper – det er Lego for voksne.


Da jeg begynte med programvareutvikling på slutten av 90 tallet var det vanlig å jobbe etter fossefallsmetoden. Etter å selv ha erfart alle de negative utfordringene med denne metoden, ble jeg tidlig i 2006 overbevist om at Agile utviklingsmetodikk var løsningen. Jeg har benyttet det i itslearning siden 2007, samt at jeg anbefaler det til alle som spør meg om råd om hvordan organisere utviklingsdelen av selskapene sine.

Som gründer i itslearning og nå som mentor og rådgiver i flere gründerselskaper, har jeg lenge tenkt på hvorfor man ikke benytter tilsvarende “agile” og “lean” teknikker i resten av selskapet, og ikke minst i selve etableringen av et selskap eller et nytt produkt?

Etter hvert som jeg søkte denne kunnskapen kom jeg over en metodikk kalt “lean startup”. Jeg begynte med boken til Eric Ries – hvor han blant annet fortalte at han og resten av teamet jobbet knallhardt med scrum i 6 måneder med effektive sprinter, koderefaktorering, unit-testing og så kom de til at all koden måtte kastes fordi de hadde bygget de feile funksjonene. Etter dette gjennomførte Eric et lite eksperiment som på kort tid ga ham den samme læringen som månedsvis med koding.

Mange produkter (innkludert Eric Ries sitt produkt) er bygget på for mange antakelser, og Eric argumenter for at man heller bør bygge på “validated learning”. Han har definert en feedback-loop: Build-Measure-Learn som oppsummer noe av det viktigste i “lean startup”. (Se under – NB “build” i modellen er gjerne en mockup eller prototype, og trenger ikke å være ferdig kode).

The-Lean-Startup-1024x776

Klikk for full størrelse

Etter å ha slukt det som er av litteratur innenfor “lean startup” tenker jeg selv tilbake på alle funksjonene vi har bygget i itslearning som ikke blir brukt og på konsepter vi først har bygget for så å selge dem. Her har nok tusenvis av timer gått tapt.

Så mitt råd til alle utviklere er å slutte å programmere og heller jobbe med å sikre at når det først utvikles noe, så er det det noe kundene både kommer til å betale for og ikke minst bruke :)

Dersom du jobber med utvikling av produkter, enten på teknisk eller forretningsmessig side, anbefaler jeg å lese boken til Eric Ries “The Lean Startup”, den finnes også som video – bestiller du nå rekker du å lese den i romjulen :)

Etter å ha lest boken til Eric Ries er du helt sikkert frelst og lurer på “ok, hvordan kommer jeg i gang?” – da kommer Ash Maura sin “Running Lean” godt med, den finnes også som video. Jobber du i et stort selskap kan du også lese hvordan Spotify bruker “lean startup” for 250 mennesker, så dette fungerer like bra med 1 ansatt som 250.

Som ingeniør elsker jeg verktøy, så jeg har også med noen verktøy tips:

  • Lean Launch Lab – er nyttig for å administrere og planlegge eksperimenter og modellere forretningsmodelle
  • Kiss Metrics -  er en flott måte å sammenfatte alle målinger fra mobile apps, websider og applikasjoner. Er helt uunnværelig for å gjennomføre mange ulike eksperimenter. 

PS: I forbindelse med sabbatåret sitt har Helge opprettet en gründerblogg han kaller H5 Innovations.

Les deg til å bli en mer profesjonell utvikler

Sunday, July 8th, 2012
7 kommentarer

Det er sommer, og da har man gjerne litt ekstra tid til å lese noen gode og inspirerende bøker. Og jeg har et par anbefalinger til deg. Her presenterer jeg to bøker som handler om hvordan profesjonelle utviklere tenker, jobber og generelt forholder seg til faget sitt, oppgavene sine og andre mennesker de må sammarbeide med.


Bildet er tatt av Hermine på 2 år!

Den første boken heter The Clean Coder, og er skrevet av Robert C. Martin (a.k.a. Uncle Bob). Den må ikke forveksles med Martins forrige bok, Clean Code (anmeldt i 2009). Mens Clean Code handlet om hvordan man programmerer – skriver god kode – så handler The Clean Coder om oss utviklere, og om alt vi gjør når vi ikke koder.

Martin har snakket mye om profesjonalitet de siste årene, og i denne boken oppsummerer han sine tanker om dette. Har du fulgt forelesningene hans på NDC eller andre steder så har du nok hørt mye av materialet før, men slik jeg ser det er det noe vi ikke kan høre for ofte.

Det som derimot gjorde The Clean Coder verdt å lese for meg var at boken er en slags selvbiografi. Uncle Bob forteller en rekke historier fra sin lange karriære, historier jeg ikke hadde hørt før. Han forteller om dyrkjøpte erfaringer – om situasjoner hvor han ikke oppførte seg profesjonelt, og hvilke konsekvenser det fikk.

Andre ting Bob snakker om i boken sin er hvordan man sier NEI til ting (når det er det man bør gjøre), hvordan man trener for å bli bedre, hvordan man administrerer tiden sin, hvordan man sammarbeider, og hvordan man takler stress. Han vier selvsagt også deler av boken til testdrevet utvikling og akseptansetesting, og skriver en hel del om det vanskelige temaet estimering.


Den andre boken jeg vil trekke frem er skrevet av en litt mindre kjent forfatter – Ka Wai Cheung. Tittelen er The Developer’s Code, med tagline: What Real Programmers Do. Cheung’s bok er løsere i formen enn Bob’s; den er mer som en samling blogposter, som alle har til felles at de deler erfaringer og tanker om profesjonell programmering.

I The Developer’s Code vil du kunne lese om hvordan du motiverer deg selv, hvordan du blir produktiv, og hvordan du administrerer kompleksitet. Cheung har også en rekke tips til hvordan vi utviklere skal forholde oss til kundene våre, og hvordan du lærer fra deg på en effektiv måte. Men kanskje det aller mest sentrale er budskapet om at du skal være stolt over yrket ditt.


Begge disse bøkene egner seg både for ferske og for mere erfarne utviklere. De som ikke har så mye erfaring vil lære mye nyttig, mens den vil fungere som en god påminnelse for dem som har holdt på en stund. The Clean Coder er klart den beste av de to bøkene (i mine øyne), men The Developer’s Code har også endel gullkorn, og flere av dem inspirerte i alle fall meg. Begge er uansett lettleste, og vil egne seg bra som sommerlektyre.

Er du interessert i andre bøker i samme sjanger kan du ta en titt på The Pragmatic Programmer, som kanskje er den hyppigst anbefalte boken for utviklere. En annen bok, som jeg ikke har lest selv enda men har hørt mye bra om, er The Passionate Programmer.

God bok!

Et boktårn

Thursday, March 8th, 2012
5 kommentarer

Jeg stablet opp programmeringsbøkene jeg har liggende rundt omkring her hjemme, og endte opp med dette tårnet:

WP_000274

Noe som ser spennende ut? Jeg har -  hmm, la meg se – i alle fall fem bøker jeg holder på med akkurat nå. Og så har det nettopp ankommet tre nye i postkassen. Jeg får ikke lest så mye som jeg hadde håpet i nyttårsforsettet mitt, men litt blir det da tid til.

I tillegg til de jeg leser og de jeg skal igang med å lese, så er det en hel rekke bøker jeg har lest som jeg kunne tenke å blogge litt om.  Håper å få tid til det også snart.

Nå ville jeg uansett bare gi et lite livstegn fra meg, og vise frem “stabelen min” - i tilfelle det skulle kunne inspirere noen til å finne seg en god bok å lese.

Klar for hardcore

Saturday, January 21st, 2012
Ingen kommentarer

Her kommer nok en Lisp-er-bedre-enn-andre-språk-blogpost!

Jeg har nylig mottatt noen nye bøker fra Amazon, deriblant Let Over Lambda (subtitle: 50 years of Lisp). Dette skal være en av de mest hardcore programmeringsbøkene som finnes. Det føles som om jeg har oppdaget dødehavsrullene, som om jeg har funnet en glemt skatt med potensialet til å totalt forandre mitt syn på verden. Jeg er klar for å ta steget opp til et helt nytt nivå.

Let Over Lambda er en bok om å kode og utnytte makroer i Lisp – fortrinnsvis Common Lisp. Med makroer lager man programmer som lager programmer. Det finnes flere språk som støtter metaprogrammering, men Common Lisp er det ypperste.

La meg sitere et av de første avsnittene i boken:

“Macros are the single greatest advantage that Lisp has as a programming language and the single greatest advantage of any programming language. With them you can do things that you simply cannot do in other languages. Because macros can be used to transform lisp into other programming languages and back, programmers who gain experience with them discover that all other languages are just skins on top of lisp. This is the big deal. Lisp is special because programming with it is actually programming at a higher level. Where most languages invent and enforce syntactic and semantic rules, lisp is general and malleable. With lisp, you make the rules.

Boken er en stor egotripp – bare de aller beste utviklerne leser Let Over Lambda sies det. De smarteste utviklerne ender alltid opp med Lisp. Lisp er ikke skrevet for å gjøre programmering enkelt, men for å gi deg som utvikler all makt og alle muligheter.

Om fremtiden ligger i makroer – som Let Over Lambda hevder – eller ikke, så er jeg uansett klar for å utvide mine egne ferdigheter og potensielle produktivitet, og gleder meg til å lære å lage optimale abstraksjoner.

Leseliste for 2012

Tuesday, December 27th, 2011
7 kommentarer

Jeg har et problem! Listen over programmeringsrelaterte bøker jeg ønsker å lese bare vokser og vokser. Men for et par måneder siden ble jeg nødt til å begynne å kjøre til jobb, i stedet for å reise kollektivt, og det betyr desverre langt mindre tid til lesing.

Jeg har lest mange bra bøker de siste årene, men nå har det stoppet helt opp. Jeg har ikke klart å fullføre hverken SICP eller Peter Norvig’s Paradigms of Artificial Intelligence Programming som jeg begynte på i sommer. Og Continous Delivery, som jeg kjøpte inn på jobben i høst, har jeg ikke engang startet på.

ManWithBook

Men lesing er viktig, både for motivasjon, inspirasjon og for kunnskapen det gir meg. Jeg har litt tid hver kveld som jeg normalt ikke bruker til noe annet enn random browsing. Denne tiden er bedre utnyttet til å lese kloke ord fra en bok. Ett nyttårsforsett for neste år blir derfor å snu litt på vanene, slik at jeg får lest noen fantastiske bøker også i 2012.

Og bøkene jeg har på listen min er…

Det er mange gamle bøker her – bøker som ofte omtales som “required reading” for seriøse utviklere. Ved å liste dem om håper jeg å hjelpe andre å finne god utvikler-litteratur. Om du har lest noen av disse bøkene er jeg også interessert i å høre hva du synes om dem.

The Art of the Metaobject Protocol

Om hvordan man kan designe et ekstremt fleksibelt system, med bakgrunnsinformasjon fra Common Lisps fantastiske objektsystem (CLOS). Bør være nyttig for alle utviklere som er interessert i kode-design eller programmeringsspråk generelt. 345 sider.

Gödel, Escher, Bach: An Eternal Golden Braid

Douglas Hofstadter’s klassiker fra 1979 om hva mening, forståelse og tanker er laget av. 832 sider. Amazon- og Google-utvikler Steve Yegge har følgende å si:

“if you’re a programmer and you haven’t yet read Gödel, Escher, Bach: An Eternal Golden Braid (usually known as “GEB”), then I envy you: you’re in for a real treat. Get yourself a copy and settle in for one of the most interesting, maddening, awe-inspiring and just plain fun books ever written. The Pulitzer Prize it won doesn’t nearly do it justice. It’s one of the greatest and most unique works of imagination of all time.”

The Reasoned Schemer

Jeg nevnte denne boken om koblingen mellom funksjonell og logisk programmering i posten om Prolog. 176 sider.

Thinking Forth

Denne klassikeren om gode programmerings- og designteknikker nevnte jeg i posten om Forth. 316 sider.

Growing Object-Oriented Software, Guided by Tests

En praktisk bok for objektorienterte utviklere som vil bli moderne TDD-eksperter. 384 sider.

The annotated Turing

Tagline: a guided tour through Alan Turing’s historic paper on computability and the Turing machine. Dette er historien vår, og vår mest betydningsfulle modell for hva vi kan gjøre med datamaskiner. Skrevet av Charles Petzold, som jeg har sansen for (boken Code var helt fantastisk). 384 sider (Turings orginale tekst er på 36 sider).

A Discipline of Progamming

Dijkstra’s klassiker fra 1976, hvor han diskuterer hva en algoritme er for noe, hva vi egentlig gjør når vi programmerer, og til slutt viser en rekke, vakre algoritmer. 217 sider.

Programming Pearls

En rekke problemer, og løsningene på dem. Fokuserer på rask, effektiv og korrekt kode. 256 sider.

Pearls of Functional Algorithm Design

Denne boken er laget over samme mal som Programming Pearls, men inneholder funksjonelle algoritmer. Boken bruker Haskell. 290 sider.

Let over Lambda

En avansert bok om den mest avanserte byggestenen i det mest avanserte programmeringsspråket: altså handler det om makroer i Common Lisp! Denne boken flytter grensen for hva vi kan få til med kode. Jeg er litt redd for den, usikker på om jeg vil klare å henge med. 384 sider.

Program or be Programmed

Om den digitale revolusjonen, hvordan den påvirker oss, og hvordan vi bør forholde oss til den. Er ikke helt sikker på hva for en bok dette er egentlig, men interessen er vekket. 152 sider.

Computing: A Human Activity

En samling sentrale tekster om programmering fra 1951 til 1990. 630 sider.

Hacker’s Delight

Et grundig kompendium av programmerings-triks. Har 18 fem-stjerners anbefalinger på Amazon, og ingen lavere. 306 sider.

Hackers and Painters: Big Ideas from the Computer Age

En samling med esseys om å drive business, om teknologi og programmering, og om samfunnet vi lever i, skrevet av Lisp-guru og internett-pioner Paul Graham. 271 sider utgitt i 2004.

Noen bøker jeg er litt mere usikker på

The lambda calculus: its syntax and semantics

Den ultimate referansen til Lambda Calculus, såvidt jeg har forstått. Grisedyr å kjøpe, men tilgjengelig for nedlasting. Jeg har lyst å besitte denne kunnskapen, men vet foreløpig ikke om jeg er villig til å gjøre investeringen i tid og konsentrasjon. 621 sider.

Refactoring: Ruby Edition

Martin Fowler’s Refactoring: Improving the Design of Existing Code er en betydningsfull klassiker. Dette er Ruby-utgaven, og jeg tenker at den kan inneholde enda mer spennende teknikker. Den har derimot fått litt dårlig omtale grunnet endel feil i kode og diagrammer, så enten bør jeg vente på neste utgave, eller kanskje jeg bør lese orginalen (noe jeg skulle ha gjort for lenge siden uansett). 480 sider.

How to Design Programs

En introduksjonsbok til programmering som visstnok også skal kunne lære erfarne, hardbarka utviklere et og annet om hvordan man bygger software. Boken gir deg en universal “oppskrift” på hvordan man løser problemer og implementerer løsninger. 720 sider.

Event Processing in Action

En bok om event-dreven arkitektur fra 2010. Noen litt dårlige anmeldelser gjør meg usikker. 325 sider.

Learn You a Haskell for Greater Good

Jeg er ikke sikker på om jeg vil bruke mer tid på Haskell. Men om jeg skal det, så er nok dette en bok jeg skal lese. Også tilgjengelig online. 400 sider.

Expert F#

Dette virker som en av de bedre F#-bøkene, og Don Syme (designeren av språket) er en av forfatterne. Igjen er jeg usikker på om jeg skal bruke mer tid på dette språket, men det frister faktisk mer enn Haskell. 640 sider.

Types and Programming Languages

En praktisk bok om typesystemer. Jeg føler meg litt svak på området, og tror dette verket kunne gitt meg god balast. Men foreløpig mangler jeg litt påkrevd motivasjon. 645 sider.

Noen interessante bøker “under utvikling”

Metaprogramming in .NET

En bok om CodeDOM, Reflection.Emit, Expressions, IL rewriting, og potensiell bruk av DLR internt i .NET-applikasjoner. Skal være ferdig til våren 2012. Ca 400 sider.

Machine Learning in Action

Om å finne og trekke ut verdifull informasjon fra et hav av rådata. Estimert ferdig i mars 2012. Ca 375 sider.

Secrets of the JavaScript Ninja

Her “avslører” jQuery-designer og Mozilla-evangelist John Resig hvordan JavaScript-eksperter jobber. Estimert ferdig i mai 2012. Ca 300 sider.

Seven Databases in Seven Weeks

Denne guiden til moderne databaser og No-SQL bevegelsen fra Pragmatic Programmers er i beta, muligens ferdig i mars. Teknologiene som dekkes er Redis, Neo4J, CouchDB, MongoDB, HBase, Riak og Postgres (?). Ca 330 sider.

The Developer’s Code: What Real Programmers do

En bok med tips til hvordan moderne utviklere bør forholde seg til metaforer, motivasjon, produktivitet, kompleksitet, undervisning, kunder m.m. I beta hos Pragmatic Programmers, ferdig i mars. Estimert til å ende på 250 sider.

Den Pragmatiske Utvikleren

Tuesday, October 4th, 2011
1 kommentar

pragprogcoverAndy Hunt er en av de 17 utviklerne som var med og laget The Agile Manifesto. Dave Thomas er Ruby-utvikleren som er kjent for å ha kommet opp med konseptet Code Kata. I 1999 gikk disse to sammen og skrev boken The Pragmatic Programmer: From Journeyman to Master.

I dag er dette den boken som oftest anbefales til nye softwareutviklere, og i mange firmaer er det til og med fast praksis å dele den ut til nye ansatte. Den inneholder et hav av praksiser og andre tips til praktisk og pragmatisk utvikling – både for team og individuelle utviklere. Boken står for smidighet og kritisk tenking, oppfordrer til nysgjerrighet, og legger vekt på nødvendigheten av å stadig utvide og foredle ens kunnskaper og ferdigheter.

Mange av mine lesere har nok lest den allerede, og nå har også jeg endelig gjort det!

The Pragmatic Programmer er en god introduksjon for relativt ferske utviklere, eller mer erfarne utviklere som ikke har vært eksponert for praksisene og prinsippene tidligere. For meg personlig var det ikke så mye å hente da jeg leste den nå – etter å ha vært en aktiv smidig utvikler i noen år. Den inneholdt noen gullkorn som også jeg kunne ha nytte av, men stort sett var det kun oppfriskning av velkjent stoff.

Likevel er boken fortsatt, selv om den ble skrevet for 12 år siden, ganske frisk og aktuell, og passer for dem som vil kalle seg software craftsmen. Den går ikke veldig i dybden på temaene den tar opp, og satset i stedet på å dekke mange fasetter av det å programmere.

Det meste jeg leste var jeg veldig enig i, men det var også enkelte tips og prinsipper jeg ikke støtter. For å være ærlig synes jeg tittelen burde ha vært The Pragmatic Programmer: From Apprentice to Journeyman. Den er nemlig skrevet for dem med kun litt erfaring, og vil ta deg et stykke på veien – men ikke tale om at du vil bli noen “mester” av å lese boken.

Etter å ha skrevet The Pragmatic Programmer sammen ble Andy Hunt og Dave Thomas forretningspartnere, og publiserer nå bøker for og av programmerere under navnet The Pragmatic Bookshelf. Her finner du noen av mine favorittbøker, blant andre Seven Languages in Seven Weeks og Pragmatic Thinking & Learning. Andre, relativt kjente bøker i serier inkluderer Learn to Program, The Passionate Programmer, The RSpec Book, Ship It! og Release It!

En lignende bok jeg har blogget om tidligere er Code Complete.

De seks beste utviklerbøkene siste år

Wednesday, August 17th, 2011
Ingen kommentarer

PrintDr.Dobb’s har hvert år siden 1990 delt ut det de kaller Jolt Product Excellence Awards (sponset av Jolt Cola) for å fremheve de produktene som har gjort mest for å forenkle jobben med å utvikle software. De gir også prisen til bøker, og har nylig annonsert hvilke seks utviklerbøker som er de aller beste av de som har blitt publisert de siste 12 månedene.

Jolt-finalistene (6. til 4. plass)

domain-specific-languages-pdf-ebook~1572483Domain-Specific Languages av Martin Fowler og Rebecca Parsons. Jeg kjøpte denne boken i januar, og den har vært et glimrende oppslagsverk i forhold til utvikling av DSL‘er. Lexeren og parseren til PingLang (som jeg har presentert i to blogposter tidligere) er basert på denne boken. Boken er strukturert som et sett med patterns, og jeg anbefaler alle som er interessert i DSL-relatert utvikling, kodegenerering eller teknikker som method chaining, nested functions, expression builder og object scoping å ha denne mursteinen i hylla.

knuthvol4aThe Art of Computer Programming, Volume 4A: Combinatorial Algorithms, Part 1 av legenden Donald E. Knuth (se julekalenderen 2010, luke 17). 30 år etter at første bind kom ut holder Knuth fortsatt koken. Jeg tviler på om dette er en bok jeg kommer til å orke å lese, men den er sikkert veldig komplett og grundig og god for dem som virkelig vil lære kombinatoriske algoritmer i dybden. Mike Riley sier:

“.. a must-have book for any serious student of computer science. Regardless of the number of years of programming experience you have, you will acquire lifelong, career-boosting algorithmic insights by digesting this volume slowly.”

joyofclojureThe Joy of Clojure: Thinking the Clojure Way av Michael Fogus og Chris Houser. Denne boken har jeg også lest i vår, men jeg har fått skrevet noen anmeldelse enda. Jeg hadde kommet såpass godt igang med Clojure at jeg syntes noe av boken ble litt kjedelig, og er ikke sikker på om jeg synes boken gav meg så mye igjen for tiden jeg brukte som det jeg hadde håpet på. Men om du er nokså fersk i Clojure og har lyst til å lære, så kan den anbefales.

Jolt Productivity Award (3. og 2. plass)

7langSeven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages av Bruce A. Tate. Nok en bok jeg har lest i år! Og anbefales til absolutt alle (som ikke allerede behersker minst 6 av de 7 språkene). Blogpostene mine om språket Io (her og her) er inspirert av denne boken, som gir deg en god oversikt over ulike paradigmer, og som også blant annet kan fungere som en inngangsport til funksjonell programmering.

mining-the-social-webMining the Sosial Web: Analysing Data from Facebook, Twitter LinkedIn, and Other Social Media Sites av Matthew A. Russel. Denne boken vet jeg desverre ikke mye om. Den virker bra for dem som er opptatt av slike ting som tittelen indikerer. Merk at all kode er i Python, så du må enten beherske det allerede eller være villig til å lære.

Jolt Excellence Award (førsteplass)

continuousDeliveryContinous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation av Jez Humble og David Farley. Denne boken har fristet, men sålangt ikke nådd opp på må-kjøpe-listen min. Men etter denne annonseringen bør jeg nok få den med. For det denne boken snakker om er viktig for mange av oss, og vil øke kvaliteten på hvordan vi leverer spesielt online løsninger. Fra anmelderen:

“I have literally never read a better book on process. I believe that going forward, Continuous Delivery book will redefine agile process and CI; and it will have as much influence as — I have to go back to 1999, here — Fowler’s book on Refactoring did on code.”

Så løp og kjøp!!

Sommerlektyre

Wednesday, June 15th, 2011
5 kommentarer

Mange liker å bruke litt av sommeren på å lese noen gode bøker. Noen liker krim, andre foretrekker science fiction, selvbiografier eller politiske bestselgere. Selv foretrekker jeg programmeringsbøker, og jeg har nå valgt meg ut et par gode og velkjente klassikere jeg skal kose meg med i sommerferien.

220px-Kr_c_prog_langDen første er The C Programming Language, skrevet av Brian Kernighan og språkets opphavsmann Dennis Richie. Da den ble publisert i 1978 var den den første boken om C på markedet, og en hel generasjon utviklere lærte seg språket gjennom denne. Den andre utgaven, som jeg har bestilt, ble lansert i 1988, og er oppdatert til å bruke ANSI C.

The C Programming Language, ofte bare referert til som K&R, var blant annet boken som gjorde “hello, world”-programmet populært. Boken er ofte sitert, har fått mye skryt, og anses av mange som selve modellen for hvordan tekniske bøker skal skrives.

SICP_coverDen andre boken jeg har bestilt er Structure and Interpretation of Computer Programs (også kjent som SICP, the Wizard Book, og the Purple Book), forfattet av Harold Abelson, Gerald Jay Sussmann og Julie Sussmann. Første utgave ble puplisert i 1984, mens andre utgave (som jeg skal lese) kom i 1996.

SICP er en generell bok om programmering, og har blitt brukt som pensum i introduksjonskurs både ved MIT og andre steder. Programmeringsspråket som brukes for å illustrere konseptene er Scheme (en Lisp-dialekt utviklet av G.J. Sussmann og Guy Steele).

Igjen er dette en bok mange skryter av – Uncle Bob nevner den f.eks. rett som det er. Jeg mener jeg har hørt ham si at SICP er den aller beste boken skrevet om kunsten å programmere.

Hvilke bøker kunne du tenke deg å lese i sommer? Har du lest noen av disse, og har en mening om hva jeg har i vente? Skriv en kommentar da vel!

flere pragmatiske bøker bestilt

Sunday, March 27th, 2011
3 kommentarer

Jeg har lest mye bra programmeringsbøker de siste månedene. Land of Lisp har gitt meg en dypere innsikt i bruk av symboler i Lisp, og gitt meg en bedre forståelse for hva funksjonell programmering betyr i praksis. Seven Languages in Seven Weeks var en spennende reise jeg vil anbefale alle. Spesielt gav den meg et bra innblikk i hva Prolog har å tilby, den viste meg hvor elegant språket Io er, og den gav meg på nytt lyst til å lære Haskell.

Jeg har også pløyd meg gjennom et par DSL-bøker i år. Den første var Language Implementation Patterns, som var en god, praktisk introduksjon til hvordan man implementerer språk. Den andre var Domain Specific Languages av Martin Fowler or Rebecca Parsons, som viste seg å være en meget god lærebok.

Og så har jeg lest ferdig Code, som jeg fortalte om i 3 leste, 3 jeg leser, 3 jeg vil lese. Den har vist meg digitallogikkens og microprosessorens unnfangelse, og gitt meg mye bedre forståelse for hvordan datamaskinen faktisk fungerer. Jeg vet ikke om den har gjort meg til en bedre programmerer, men den har gitt meg økt respekt for hva folk har fått til. Jeg står stolt på giganters skuldre!

Og nå har jeg bestilt et par bøker til…

Begge er fra The Pragmatci Bookshelf. Jeg har nemlig fått veldig sansen for bøkene jeg har lest fra det forlaget.

ahptl_largecoverppmetr_largecover

Den første heter Metaprogramming Ruby: Program Like the Ruby Pros. Den fokuserer på det som gjør Ruby unikt, de mest avanserte egenskapene, og jeg gleder meg til å sette fingrene i en bok som virker å være svært praktisk.

Den andre heter noe så kult som Pragmatic Thinking and Learning: Refactor Your Wetware, og er skrevet av legendariske Andy Hunt. Den handler om hvordan hjernen fungerer, hvordan vi lærer, og hvordan vi fokuserer. Jeg gir den en sjangse, og håper den vil inspirere og gi meg noen nye triks.

Noen andre som vil dele hva de leser på for tiden..?

Siste kommentarer

best seo services company
I'm not sure where you are getting your information, but good topic. I needs to spend some time learning more or understanding more. Thanks for wonder...
Louis Vuitton Outlet
30 years old Kalamazoo-born Vitalia totally likes it barbecuing bicycling. Last but not least she is intrigued by charters and flights as an example, ...
Børge Hansen
Denne likte jeg veldig godt. Du skriver godt og har gode betraktninger  Keep it up – flere trenger å tørre å lære mer om ledelse – du l...
Tormod
Er egentlig ikke overrasket. F# sin fortè er programmererens produktivitet/kvalitet og anledning til parallell kjøring. Men kjøremotoren har ...
Stian
Ville også prøvd med et større problem (x100 eller x1000 f.eks). Når man snakker så små brøkdeler av et sekund som her så kan tiden for en ell...
Torbjørn
Har ikke sjekket - tar en titt i morgen hvis tid :)...
Einar W. Høst
Mhp tco: hva sier ILSpy?...
Torbjørn
Har ikke sett noe på PSeq før, men kjenner til den typen funksjoner fra blant annet Clojure. Og problemet med slike funksjoner i sammenhenger som de...
Håvard
Veldig bra sammenligning! Har du sett på ytelsen av PSeq.* fra powerpakken? Tipper den vil gi performancehit på små mengder, men kan kanskje resul...
Torbjørn
Jeg kom på en demonstrasjon-variant til jeg burde inkludere, nemlig bruk av list comprehension (en type computation expression (også kalt monads)). ...
Creative Commons-lisens
Innholdet på denne bloggen er tilgjengelig under Creative Commons Navngivelse-Ikkekommersiell-DelPåSammeVilkår 3.0 Norge lisens.

Programmeringsbloggen
Kjempekjekt.com

© 2006-2013 Torbjørn Marø

Jeg har vært en profesjonell programmerer siden 1999, og dette er min blogg. Målet med bloggen er å stimulere meg selv og alle andre til kontinuerlig eksperimentering og læring.

Jeg forsøker å være allsidig, og programmerer blant annet i C#, Ruby, Erlang og Clojure.

Jeg praktiserer TDD og andre smidige utviklingspraksiser. Jeg er opptatt av kvalitet og ren kode.

Dette og ganske mye mer kan du lese om på denne bloggen!