Tuesday, November 17, 2009
There are 22 Million people in Australia. I don't see any reason why we should be more capable at sport then Americans of whom there are 300 million. so It stands to reason that they will produce ten times as many world class athletes as we will. It should be noted that we also have no chance of outspending the country that is still the worlds largest economy.
The Dummy spit by the head of our Olympic Committee was to be expected. But then again I have little respect for an organization which globally almost sees its self as above the law. Heck they have managed to pressure government to make special laws for them at several Olympic games recently. Then again the AOC position seems to be based on the tricle down economics. That seeing Australians win gold will make Obese kids want to get out and play sport. No it dosn't work, instead they'll send a hero TXT. WHile waithing for their high sugar high fat food items to be put into a brown paper bag (produced by a proud sponsor of the Australian Olympic team naturally).
The Sydney Morning Herald has a number of articles exploring both sides of this issue, though none of them allow you to leave comments. Personally, as a tax payer I agree with the report. I'd rather see my tax dollars go into local sporting facilities then into the chase for Olympic gold.
Monday, November 16, 2009
Firstly Go is probably different from X and does not have the same stated goals as X. Especialy where X turns out to be a high level programming language that has a very large runtime, or runs in a VM or is interpreted.
Secondly Diversity is good. Think of Go as just another mutation of C, which has some new and useful features. Having written a few tiny programs I can see two so far. The first is that even though we are statically typed it is amazing how rarely a type actually appears outside of a method signature. The implicit typing that occurs when you set variables to initial values gets things correct an awful lot of the time. And the big one is concurrency. Everyone knows that programming concurrent software is hard. As the trend these days seems to be to multi core CPU's it is also becoming a very important area. Big thing is that Every program I have written so far has included gorouteens. they are a great way to generate data (if any place you would be inclined to use a generator in Python you'll be creating a go routine.
It occurs to be that a list comprehension style syntax for defining generators would by handy here. But thats just sugar as it where and I can definitely live without it, much as I have been able to live without anonymous functions in python.
I think that Go is a worth while addition to the programming language ecosystem. And this is true weather it survives or becomes extinct.
And it is an annoying asymmetry that I as a programmer can't define an equally parametrized linked list or binary tree type. I expect that these will come eventually. My hope is that it will be sooner rather than later though.
Saturday, November 14, 2009
I like the type system, with the implicitly implemented interfaces. It does look like Go programs will involve quite frequent casting. Ditto for the built in concurrency primitives, and I expect that most programs will make quite frequent use of them. Where in Pthon I might use a generator I could well see myself using a goroutine in Go, and getting my generated items from a channel.
A lot of effort has been made to make the language terse, which is a nice feature for a low level language to have. And yes making switch statements default to breaking at the end of each case unless told otherwise. Thank you finally a language that reflects how switch is actually used!
Personally i don't see why they didn't just call the looping construct loop, rather then for. seeing as it is a general purpose looping construct that can be invoked in several ways that look nothing like a traditional for loop. Still this is a minor thing.
What does look certain is that Go programs aren't going to look much like C or java, once enough people learn how to use the language natively. The basic constructs are just different.
Now that I've gotten this far its time to try some actual programming in Go. To this end I've retrieved the list of 99 Lisp problems and I'll see how I go in solving them using Go. Step one will be to build a linked list typo work with. It will be interesting to see how much mindshare Go can capture. And when we can expect a Windows version, lets face it lack of Windows support is glaring omission at present, even if I don't use Windows I still recognise its importance in the marketplace. (Now there's a scary thought Go.net ... its only a matter of time i suspect.)
Wednesday, November 11, 2009
The following is a repost as the original got spammed with junk comments and Blogger dosn't have an easy way to remove large numbers of comments in one hit without dropping the entire post.
I have found myself lost in a sea of new concepts lately. Firstly I read Andrew Poltkin's presentation on Rule based systems in Interactive Fiction. I have to say it was discouraging in terms of the RPG I was writing. Short point being that This is harder then you think it is.
So where does this leave my project?
Up in the air a little. As I'm determined to do it right as it where. And need to teach myself how to operate effectively in a prototype based language. I'm pretty well sold that a rule based approach might be the best thing I can do. I encountered this when I tried to add conditional logic to my RPG, My conditional tests required inimate knowledge of how the engine stores its data, which seemed way to coupled. What I seemed to need was a simpler data organisation. I can't think of anything simpler then a flat database of facts, and that sounds pretty rule based. So Murphy's law is in full swing and I'm going back to the drawing board. Just as soon as I've learnt some new tricks
Monday, November 02, 2009
I can still remember
How that code used to make me smile.
And I knew if I had my chance
That I could make those servers dance
And, clients, they'd be happy for a while.
But XML made me shiver
With every page I'd deliver.
Bad news in the log-file;
I couldn't take one more crash.