Golang is just C for stupid people, right?
Now to be upfront, this isn't a "shit on golang" thread, I have a situation in mind here
It's not OOP, it doesn't have generics, but you don't have to worry about defining types all over or memory management, and it has pointers but no pointer arithmetic.
This means it doesn't have all the retarded obfuscation of something like Java or Python.
It's not hard to write, but you can quickly gain deeper understanding of whats its doing.
Would this not make it a great intro-to-CS language? Learning golang and then moving to something like C would be incredibly natural. Writing C is only a couple extra steps from it, in that you have to more carefully manage pointers, allocate memory, and you have to manage types more carefully, but neither of them have the same encapsulation insanity or OOP retardation as Java and they don't obfuscate everything away like Python.
Golang (lrn2logic) -> C (lrn2program) -> Java/C# (lrn2OOP) seems like a natural progression.
No I'm not saying OOP is t3h s3x0rz, but starting with an OOP focus is fucking stupid.
We spent two quick weeks in golang in a class I took that also taught prolog/scheme (6 weeks each for those).
I wasn't terribly impressed. It did seem like a gimped C. The error handling shit was annoying, had shit likeif err != nil {
...
}
all over the place. Granted, I never did much with it outside play with the concurrency stuff a bit. I heard it's good at quickly building servers?
>>61514530
>The error handling shit was annoying
For people used to big try/catch/final blocks yeah
But it's a C-style language, and error handling in C is almost identicalyif (thing == null)
//do error handling
>I heard it's good at quickly building servers
...maybe?
I've largely used it for giggles and quick concurrency (which holy shit it makes so easy)
If you're talking webservers, I've seen a lot of varying results.
>>61514493
>go doesn't have generics.
Generics are a ducktape solution to a poorly design type system (like Java's)
Go's answer to generics is it's implicit inherentance making generic redundant. If you end up in a situation where you need generics your types are not well designed.
>>61514898
>Now to be upfront, this isn't a "shit on golang" thread, I have a situation in mind here
I'm very aware of the "solution" to generics in go, I specifically wanted to get it out of the way because its not the point of the topic.
>>61514493
Scheme (learn2think) > Rust (learn2code without creating botnets)
>>61515012
>Rust
Sorry we're here to teach people good skills and practices, not how to design a language with absolutely no use