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

I need some clarifications. I think there are two definitions of systems being used here :

  - low-level hardware control (c,D,...) implicitely concurrent
  - explicitely concurrent higher level components (go, erlang maybe)


Hail Wikipedia for it is the source of all truth.

http://en.wikipedia.org/wiki/System_programming_language


C and Go both classified as high level system language, but I can't deny the fact that C allows for finer control over machine usage so it's hard to put Go in the same bag.


You are right yet Go is much closer to C than Erlang in syntax, type system and memory-representation. Go is so close to C in fact, that its compiler is a modified C compiler.

Therefore I'd bundle it with C and D rather than Erlang.


I think of Go as "C++", but as brought to you by the guys who made C, with tasty sprinkles from CSP and Python.


It's mostly Java from the people who made C, but didn't learn much from their C design mistakes.


Ridiculous. Go's lack of verbose classes and lack of inheritance, pass everything by value, the existence of pointers, first class concurrency primitives, compile to binary / no interpretation/JIT, lack of a VM, built in unit testing/benching, fast compile times, memory usage, easy C integration, etc etc all make it very different from Java.

I've been writing Go full-time for over 2 years and used to write mostly Java/C#, so I should know. When I started with Go and ported many of my personal Java applications, they all were much more maintainable and straight forward in Go.

Of course C had always been favorite language, and all I ever really wanted was a "modern" C, so I am probably biased.


Agreed, I meant Erlang for its use. It's hard to be more different than Erlang in implementation :)


I think "erlang definitely" is more accurate. That's is erlang's domain and it does it better than any other solutions right now AFAIK.


So Go 'system' is the cybernetics/communication one.




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

Search: