Politik

Vad kan du om de nya spännande datorspråken? Rich Hickeys Clojure

Klicka på boken

IT-världen befinner sig i en oerhört spännande och innovativ period just nu som syns vart man än tittar här i Silicon Valley.

Man ser det inte minst inom datorspråken där vi nu har en utveckling som mest liknar den explosiva utvecklingen under den Kambriska explosionen för cirka 540 miljoner år sedan

Nya datorspråk hoppar upp som aldrig förr, och datorspråken utgör själva grundvalen för IT-industrin, så det här är en oerhört viktig utveckling.

Att det sker just nu beror på att den underliggande hårdvaran har gått från enkelkärnig till flerkärnig arkitektur för att inte den viktiga s.k. Moores Lag ska stanna av. Samtidigt har utvecklingen inom det mobila Internet, datormolnen och s.k. Big Data eller Massdata gjort att parallell processing blivit en allt viktigare och för det behövs nya datorspråk.

Till skillnad från de mänskliga språken utvecklas nämligen inte etablerade datorspråk nästan alls, vilket gör behovet av nya datorspråk viktigt när datorindustrin genomgår en så snabb utveckling som idag.

Ett språk som jag hör mer och mer om på IT-möten runt om i Silicon Valley är
Clojure, en modern version av det anrika Lisp-språket som skapades av den nyligen avlidne John McCarthy redan 1958.

Så här är säger Clojures skapare Rich Hickey i en intervju om sitt språk:

One watershed moment for me was when I designed and implemented a new system from scratch in Common Lisp, which was a new language for me at the time, only to have the client require it be rewritten in C++, with which I was quite proficient. The port to C++ took three times as long as the original work, was much more code, and wasn’t significantly faster. I knew then that I wanted to work in a Lisp, but realized that it had to be client-compatible. I worked on bridging Common Lisp and Java, while doing functional-style programming for clients in C#, for a couple of years, then bit the bullet and wrote Clojure.

Vad som gör Clojure så intressant är att det kompileras till Java byte code och alltså kan köras i Javas Virtuella Maskin och även kallas direkt från Java, och vice versa. En mycket smart implementation.

En viktig utveckling är att det idag faktiskt är möjligt för en enda person att skapa ett nytt dataspråk, som alltså är vad Rich Hickey gjorde med Clojure.

Samtidigt är den allmänna uppfattningen att det behövs en nydaning inom dataspråken, precis som när Fortran oc Cobol ersattes av en helt ny generation av språk som C, Pearl, PHP, Python, Ruby, Java, C# osv.

Clojure är byggt runt s.k. Funktionell programmering där datorprogrammens huvudkomponenter är strikt definierade matematiska funktioner, och där exekveringen innebär att funktionerna utvärderas. Det skiljer sig helt från s.k. procedurell och imperativ programmering, där datorn instrueras att utföra instruktioner sekventiellt. Den som en gång lär sig att skriva funktionell kod får lära sig att tänka rigoröst på ett sätt som man aldrig lär sig i språk som t.ex. PHP. Lisp och Clojure-funktionerna får t.ex. inte ha några sidoeffekter, dvs de får endast utvärdera de parametrar som kommer in till funktionen och returnera resultatet OCH INGET ANNAT. Dvs de får inte skriva till disk eller ändra tillstånd så att de returnerar olika resultat för samma input.

Clojure och Lisp är oerhört intressanta datorspråk och den som är intresserad av att lära sig programmera kan knappast välja ett bättre språk än Clojure, speciellt eftersom det är så nära kopplat ill Java.

Om någon som händelsevis läser den här bloggen själv skulle jobba med Clojure så säg gärna till.

Vi kan vänta oss en mycket spännande framtid på datorspråksområdet.

Axplock från den nordiska pressen:

Nyheter – Nyheter,
Debatt – Debatt – hem, Debatt – Debatt – hem, Debatt – Debatt – hem, Debatt – Debatt – hem, Debatt – Debatt – hem, SvD – Senaste nytt

[tags]Dataspråk, Clojure, Lisp, Rich Hickey, Haskell, Erlang, Dataspråk i Silicon Valley [/tags]

2 thoughts on “Vad kan du om de nya spännande datorspråken? Rich Hickeys Clojure

Comments are closed.