Archive for November, 2009

15
Nov
09

CountColon website


Since a few people tried to access the CountColon Google Wave robot's website and failed since there wasn't a website (sorry ^^) I made one just now. Click on the robot's avatar image in your contacts and you'll see the link: http://countcolon.appspot.com.

You can also see a full changelog for the robot there since it's first public release on July 31st, 2009.

Posted via email from HaiColon

13
Nov
09

Where do you want to (Google) Go today?

Google released a new programming language a couple of days ago, the Go systems programming language.

It’s goals are to combine the speed of a compiled language like C/C++ with the ease of use of a dynamic language like Python. It’s experimental for now and there are obviously next to no libraries available for it. You can wrap C libraries to use with Go but no C++. Also, there is no GUI functionality in the standard library so you are pretty much confined to console apps for the moment. That’s sure to change over time though. With the backing of Google, this language could soon become very popular.

If that’s a good thing or not I can’t say, I am trying to decide between learning Go and D at the moment :)

Here’s a short Hello World written in Go:

// code is grouped into packages
package main

// imports can be grouped for less typing
import (
	"fmt"; // text formatting
	"rand"; // pseudo random number generators
	"time";
)

func main() {
	rand.Seed(time.Nanoseconds());
	// creating a string array variable
	greetings := [4]string{"world", "from Google Go", "there"};
	// alternative syntax for creating a variable
	var randomNumber int = rand.Intn(3);
	// %v lets Go handle the value type in a formatted string
	fmt.Printf("Hello %v!\n", greetings[randomNumber]);
}

This code compiles to a 616 kb native binary on Linux. Yes, that’s freaking huge but it wouldn’t be better with C/C++ if you had to compile the C Standard Library statically.

Oh, did I mention it’s garbage collected? Google believes it can implement garbage collection in a way that minimizes the downsides.

Quote from the Go Language Design FAQ:

One of the biggest sources of bookkeeping in systems programs is memory management. We feel it’s critical to eliminate that programmer overhead, and advances in garbage collection technology in the last few years give us confidence that we can implement it with low enough overhead and no significant latency. (The current implementation is a plain mark-and-sweep collector but a replacement is in the works.)

It’s only for 32-bit/64-bit X86 and ARM processors right now, no PPC support. Supported operating systems are Linux and Mac OS X. No Windows support. Google hopes someone else ports Go to Windows. Go is BSD licensed.

One feature that is advertised as a huge improvement in Go is that it compiles in seconds. The complete Go source (more than 100.000 lines of code) can be compiled in 8 seconds on a single machine. Common size projects should be able to compile in under a second. See the video for a demonstration.

There are two compilers. The standard Go compiler which offers you this fast compile speeds but produces code that is only “ok” and a GCC frontend which compiles “good” code but takes long to do so. In my opinion I don’t see a problem there. Use the Go compiler while developing and for release, compile the app with GCC. Google did say though that they will improve the code that the Go compiler outputs.

There’s also a hour long Google Tech Talk video about Go:

Posted via web from HaiColon

09
Nov
09

CountColon video

A little instructional / introduction video I made for CountColon.

Posted via web from HaiColon




Twitter updates

 

November 2009
M T W T F S S
« Jul   Jan »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Follow

Get every new post delivered to your Inbox.