This is my personal blog. I mostly write in Finnish about web application software development.
My current technical interests include scalability, NoSQL databases, Python and functional programming. ::: About Me
Kokeilin asentaa Googlen uuden Go-kääntäjän Ubuntu 9.10:een. Se sujui helposti asennusohjeiden mukaan. Go on saatavilla tällä hetkellä Linuxille ja Mac OS X:lle.
Tiivistäen tein seuraavat asiat: (rootilla oli jo ennestään /root/bin polussa)
Sitten vain käännetään ja linkataan näin: (64-bittisessä ympäristössä 8g ja 8l korvataan 6g:llä ja 6l:llä)
8g hello.go
8l -o hello hello.8
Omasta näkökulmastani "goroutinet" eli useassa CPU-coressa yhtaikaa ajettavat aliohjelmat ovat ehkäpä Go:n mielenkiintoisin ominaisuus. Ne muistuttavat idealtaan Erlangin prosesseja eli mahdollistavat oikean rinnakkaisohjelmoinnin.
Oheisessa videossa on Rob Piken hyvä katsaus Go-kielen perusteisiin ja ominaisuuksiin.
Katsoin tuon videon ja lueskelin tutorialit. En oikein tajua, mikä tässä Gossa on niin hienoa. Se vaikuttaa todella keskeneräiseltä ja lähinnä servereiden tekemiseen suuntautuneelta kieleltä. Nopeat käännökset toki ovat hienoa, mutta silti.. .where's the beef?
Hölmöä myös, että ympäristöä ei ole saatavilla Windowsille.
Minusta pihvi on siinä, että moderneja natiiviksi binäärikoodiksi käännettäviä kieliä on hyvin vähän C:n ja C++:n (ja Objective-C:n :-) ohella. Tyypillisesti kaikki modernit kielet käännetään bytecodeksi ja ajetaan erilaisissa virtuaalikoneissa (Java, C#, Erlang, Python jne).
Käännetyn Go:n tehokkuus on videon mukaan 80-90% C:n tehokkuudesta, mikä on aika hyvä saavutus huomioiden sen kaikki ominaisuudet. C:ssähän (ja C++:ssa) on jäljellä kaikki ne ongelma-alueet, joita uudemmissa kielissä on korjattu, kuten esimerkiksi puuttuva garbage collection, liian jäykkä tyypitys ja hankala threadaus. Go taas korjaa nämä ja säilyttää kuitenkin tehokkuuden.
Ossi12.11.2009 16:41:08
Ymmärrän edut C++:aan ja puhtaasti tulkattaviin kieliin verrattuna. Mutta onko oikeasti suoritetun koodin nopeus ainoa Go-kielen etu verrattuna vaikka Javaan ja C# / .Netiin? C# -ohjelmat ovat suorituskyvyltään hyvin lähellä C++ :lla tehtyihin verrattuna.
Ossi12.11.2009 17:02:37
Slashdotista:
From Golanf.org [golang.org] : "With Go we take an unusual approach and let the machine take care of most formatting issues. A program, gofmt, reads a Go program and emits the source in a standard style of indentation and vertical alignment, retaining and if necessary reformatting comments. [...] We use tabs for indentation and gofmt emits them by default. Use spaces only if you must."
kennu @Karde Vähän köyhää kun Teran saa alle satasella kaupasta! 2d ago
kennu Agreed :-) RT @MikaelJungner Hauskaa miten auringonpaiste saa ihmiset hyvälle tuulelle, tänään rikottiin vuoden hymyennätys. #fb 5d ago
kennu I love Google Docs because it's so easy to start writing stuff and continue it whenever I feel like it. Reduces writer's block. #fb 6d ago
kennu Best stress relief: write down ALL your unfinished things in a to-do-list, get them out of your head. #fb 8d ago
kennu The only thing worse than having to write bullshit-buzzword-generator-project-plans is having to read them. #fb 9d ago
kennu WTF, Silverlight SDK 4 beta works with the old Visual Studio 2010 beta2 but not with the Release Candidate. Some coordination Microsoft? #fb 9d ago
kennu @forssto In fact this is very similar to Subversion revision numbers vs. Git commit identifiers. Guess which ones I like :-) 9d ago