4 ms·
> So it seems extremely shortsighted to choose a language because it's easy to learn and similar to what you already know! But the benefits are that many new p
by shurcooL 13y ago
> So it seems extremely shortsighted to choose a language because it's easy to learn and similar to what you already know!
But the benefits are that many new people will be able to pick it up quickly and easily. Other people's code will be easy to understand and maintain. So it's good for everyone in the long run. Being able to express complicated ideas in simple ways is very valuable.
If you think it's an advantage that it'd take someone else years of learning a language before they can understand the code you wrote, Go is not for you. [1]
[1] http://commandcenter.blogspot.com.au/2012/06/less-is-exponentially-more.html http://commandcenter.blogspot.com.au/2012/06/less-is-exponen...
- tikhonj 13y agoIn other words, Go is yet another "lowest common denominator"language,a spiritual successor to Java. If you're not working with the lowest common denominator, Go is not for you.
- NateDad 13y agoThat is a huge mischaracterization and borderline flamebait.
- sanderjd 13y agoNot even borderline! "Flamebait" was practically invented for that exact type of comment.
- pjmlp 13y agoYes, in terms of concepts, Go is pretty much a Java 1 with a native compiler as default implementation. However, it may still be quite good to move developers not doing kernel/drivers/embedded stuff, away from C into a more secure language.
- oscargrouch 13y ago>> However, it may still be quite good to move developers not doing kernel/drivers/embedded stuff, away from C into a more secure language. Yeah, only that you wont do this sort of things in a memory managed language like Go. They make you think is low level(PR ?), only that it isnt THAT low level ;) Go should be able to switch off the GC, and allow people do to manual memory management if it really want to be that low-level.. Also, a way to take off the runtime, and work as skinny as any C program could.. Only than, you could make real low-level programming like OS, device drivers and the like.. The use cases for Go right now in its current incarnation, are things like: cloud/distributed stuff(against C++), or command line tools (against Python) To make it a contender against C, there's a long road.. and im sure its one route they dont want to go..
- pjmlp 13y agoNo one forbids you to call into the OS and manually allocate memory. Oberon family, Modula-3 are two examples of languages with OS that were used in real life situations, although in academic context, for several years. Native Oberon System 3 and AOS were quite powerful desktop OS for the 90's. Although I must concede their unsafe package is more powerful than Go's unsafe package. Anyway, nowadays I personally prefer Rust or D nowadays.
- steveklabnik 13y agoThe problem is not that you can't manually allocate memory, it's that you cannot not automatically allocate memory.
- pjmlp 13y agoThat's debatable, as you can write the code in such way that it does not trigger allocations in a specific situation where it might be critical. Having used Native Oberon in the 90's, I became convinced that system programming languages with GC are possible. Latest versions of AOS even had video players with good framerate written in Active Oberon, with some Assembly snippets. However, in the Oberon family, besides NEW, the other implicit memory allocations are only triggered by string manipulation and starting tasks, if I recall correctly.
- dilap 13y agoSeems to be a common sentiment, but from where I'm standing there are at least a few huge differences between Go and Java: * duck typing * goroutines * channels And some smaller but still important differences: * Very light-weight Public/private distinction * Slices * Objects that embed directly in other objects, not as references * Return-value error handling; only a very restricted form of exceptions
- pjmlp 13y ago> goroutines * channels java.util.concurrent offers tasks and queues. As for the rest, they are not unique to Go, better languages offer similar features.