When on Windows I use the conTEXT editor for basic text editing and for small programming tasks (when loading a full IDE would be a tad excessive!). The conTEXT editor website lists syntax highlighters for all sorts of programming languages. However, when experimenting with the Go programming language today, I discovered there was no conTEXT highlighter for Go. So, I wrote my own.
Download
Download conTEXT highlighter for Go programming language (.chl)
This is based upon the Go programming language specification as of the 2011-02-15 release.
Installation
To install the highlighter, drop the Go.chl file into the Highlighters directory. By default this is:
C:\Program Files\ConTEXT\Highlighters
So, what’s the point in Go?
Or to put it another way, why not just use C++ or Python, whichever is more appropriate?
To answer my own comment –
“… the point is that Go gives you concurrency, a concurrency specifically suited to modern systems programming. It gives you concurrency that runs close the metal, but it also gives you a new breed of concurrency you won’t find in other languages, including Erlang. And this comes from goroutines.
Goroutines aren’t threads or lightweight threads. They aren’t callbacks. They’re processes within a single address space that can communicate with each other. Communication is provided by “channels” running between goroutines, and these channels can transmit multiple signals at once. You can use a channel to send any variable, including other channels.”
Sounds quite Occam-Pi like.
Yes, that’s how I think about it too. It’s Occam-pi crossed with C++. The big advantage is that it is easy to do concurrency, but it has a lot of other nice touches which make it quite appealing, like multiple assignment:
i, j = j, i // Swap i and j.I haven’t really had the opportunity to do much more than dabble with it, but I really like what I have seen so far.
i, j = j, i // Swap i and j.
Yuck!
To me Go gives you all the benefits of a compiled language (Plus the benefits listed above), with the simplicity of scripting language. http://golang.org