Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I based my assumption off of a quote I heard that was along the lines of, "It is often better to write in the language of the OS when doing systems programming." My personal experience with FFIs and C bindings was extremely boring and tedious. C and C++ may be worse languages but are the obvious choice when dealing with libraries written in their own language.

> My impression is that a primary design goal for Go is to be a powerful systems programming language allowing high performance processing, especially (but not instead of) via parallelism.

That seems true, although unfortunately the current implementation isn't there yet judging from the Benchmark Game:

http://shootout.alioth.debian.org/u32q/which-programming-lan...

The top implementations for languages like Haskell and CL are both higher level _and_ faster than Go's.

I can't agree more with your quote, "selection of base technologies, [...], is generally a NOT rational process, but rather an emotional and subconscious one." Let's face it, Go is only popular because it's creators are popular. There's nothing really wrong with it, but there's also nothing it truly shines in.



Specifically say you want an application which is both highly concurrent and also binds to some C libraries. How does that actually compare in terms of complexity, ease of adaption for someone with a traditional imperative background, tedium and performance to C/C++ or Haskell/CL?

http://golang.org/doc/articles/c_go_cgo.html

I would also argue that although Haskell and Common Lisp are higher level, they have other issues with complexity, syntax and possibly the actual paradigm, libraries, etc.


>>although unfortunately the current implementation isn't there yet judging from the Benchmark Game<<

The benchmarks game Go programs are notably faster when compiled with 6g for x64 --

http://shootout.alioth.debian.org/u64q/which-programming-lan...




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: