1 Posts Tagged 'Go'
I'm turning into a Lisp snob
Reddit and StackOverflow and other websites I frequent are filled to the brim with discussion of Google's Go. The code snippet on the front page is:
package main
import "fmt"
func main() {
fmt.Printf("Hello, 世界\n")
}
First thoughts that ran through my head as I looked over the site:
- Ugh, look at all that syntax.
- Nice(r) type system (than C++ and Java). I'll stick with multimethods though.
- Concurrency semantics, hmmm... Shared mutable memory between threads? I think I'll stick with Clojure for now thanks.
- Where are the macros?
- It has anonymous functions and closures and sort-of first-class functions? Good. Welcome to the 1960's.
lenis a special operator? Sigh. (Programming language quality is usually inversely proportional to the number of special forms.)- Cool that they used Japanese in the example though. (That word is sekai, "world", obviously.)
Compared to a Lisp, this language looks indistinguishable to C, Perl, Python, Java etc. It looks like such a small incremental improvement (if it even is an improvement). Yet another imperative, for-loop-wielding, curly-brace-using, pointer-mangling, state-mutating, OOP language.
In fact via Reddit today I read this awesome post to a mailing list which compares Go with ALGOL68, and it gave me a would-you-look-at-that moment. Once you learn a few languages that are significantly different from ALGOL derivatives, all ALGOLish languages start to look eerily similar. Are we really stuck with ALGOL-derived languages being the only viable mainstream languages for all time? How much polish can we possibly apply to the same turd?
Then I realized, I'm turning into a Lisp snob. : ( Learning a Lisp apparently does spoil you for the rest of time. I am without a basis to judge whether this language will be a successful replacement of anything. All I know is I probably won't use it. Honestly I'm much more excited about new things on the horizon in Clojure. And I still have getting better at Haskell on my TODO list.
