It’s a unique and different language that clearly hit some kind of niche. It’s great when a language has any users and this one has quite a bunch. That’s super cool! Personally I don’t like it. Not low level enough for when I need to go low level, not high level enough when I want to go high level. Also I would have wanted generics right from the start; that should be the norm for typed languages unless the types are…
To me it is a modern C with the lessons from Python learned. It is simple in the ways C is and the gotchas are all things i do naturally based on C. I like having structs and like having to check errors in each call. It forces one to concretize the idea that any reference to anything off of the CPU or the RAM might do anything. You have to have an error strategy for robust code. I don’t think people complain that Lin…
Ask HN: Go programming language is over ten years old. What do you think of it?
211–220 of 310 posts
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#212Go taught me how we tend to rely on overly complex structures to solve our daily problems, which makes our code look smart, but in fact is harder to maintain and understand by newcomers. 99% of the time, trying to use idiomatic go instead of fighting the type system lets you have more maintainable and easier to understand code. Now, every time i'm back to using another PL, i tend to rely on advanced type systems feat…
So true. I was nervous about not having generics in Go but haven't missed them after primarily working in it for several years. You have to stop trying to write C++ or Java or C# in Go.
That is the whole point, we know better 25 years later.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#213Earlier quoted context omitted.
Go is carefully designed to be adequate for the large majority of problems that don't need much, meant for use by the large majority of programmers who don't know or need much, whose attention is elsewhere. It is hard to get too deep into the weeds by accident. It builds fast, so programmers who code by successive approximation, making more or less random changes until something works can get there quickly. It runs p…
golang is anemic in front of Java (the JVM, the language, and the ecosystem) and introduces its own set of gotchas. Once Java gets green threads (by means of Project Loom), golang will be an extremely difficult sell for anyone considering a new project.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#214Earlier quoted context omitted.
I’d be really interested in hearing more about the ‘better Java’ point, if you have the time.
Not the OP, but i would have guessed that the (subjective) axes of "being better" are uncontroversial - by which I mean prepend "there are many who value that" in front of each: - a GC that can has relatively smart defaults without having to tweak a ton of parameters - don't have to ship a vm - concurrency baked in from the start - simpler language - doesn't try to square everything into the OO paradigm
Depends on the JVM being used
> don't have to ship a vm
You get to ship a runtime instead.
Which Java also allows since around 2000, given how long commercial AOT compilers do exist for Java.
> simpler language
Java 1.0 was also Go simple, and just like Go does nowadays, full of code generation tools to work around that simplicity.
> doesn't try to square everything into the OO paradigm
Interfaces are part of OOP, introduced by Objective-C protocols.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#215Earlier quoted context omitted.
Java is actually better(faster runtime and less energy usage) than Go but where Go beats Java is memory usage. C beats all of course. https://greenlab.di.uminho.pt/wp-content/uploads/2017/09/pap...
Java might in theory be faster but I have never seen a real Java team put out code that was capable of doing 10k requests per CPU per second. Always hitting per thread limits or logging lock contention or GC issues etc. except one thing written by a genius with NIO. Ordinary people can hit those performance numbers with Go and without special smarts.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#216Earlier quoted context omitted.
Go is carefully designed to be adequate for the large majority of problems that don't need much, meant for use by the large majority of programmers who don't know or need much, whose attention is elsewhere. It is hard to get too deep into the weeds by accident. It builds fast, so programmers who code by successive approximation, making more or less random changes until something works can get there quickly. It runs p…
Yes, what Go failed to acknowledge was how those decisions impacted Java and Visual Basic language evolution and actually learn from them.
Java also was not a language its designers wanted to use. They would rather code Lisp.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#217My fingers are getting real tired from typing if err != nil all the damn time. I do like it for small things - compiling to one (albeit huge) binary and its relative speediness is nice. I wouldn't use it for large systems though. The amount of code really balloons over time, relative to, say, python and that SLOC correlates to bugs and maintenance cost.
Wrapping everything statement which can produce error is more tedious.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#218Earlier quoted context omitted.
Yes, what Go failed to acknowledge was how those decisions impacted Java and Visual Basic language evolution and actually learn from them.
Go's designers have very different goals from others. They did not set out to design a language they would, themselves, like to program in. They meant to make a language that very distracted programmers would still be able to get things done using, and other distracted programmers could read and maintain. Java also was not a language its designers wanted to use. They would rather code Lisp.
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#219Earlier quoted context omitted.
Because web servers look simple from the outset but are, underneath it all, very complicated. And it's not a web server. If you want something basic, gunicorn can run flask with one line.
But I still need gunicorn, don't I? My point is that with Go, I just have to execute my single binary and I'm good to go. It doesn't prevent me from adding a reverse proxy and a loaf balancer if I want to, but I don't need gunicorn or other runners. Also if a single line is enough, maybe adding it clearly to the doc would be nice.
I don't see how your point is relevant. I mean, with interpreted languages you need to run the interpreter, but if having to write an additional word or line of code bothers you that much then you should not worry about it if you dockerize the app or, god forbid, use a launcher script. I mean, in non land no one ever complained about how hard it is to add scripts to mom's start and prestarte targets to launch a server by doing mpm start. So why is this suddenly relevant with Go?
Re: Ask HN: Go programming language is over ten years old. What do you think of it?
#220Earlier quoted context omitted.
Flask is better in the little mechanics of interacting with HTTP - parsing a parameter out of a URL (in Flask, it's a function argument; in Go, it's at least one extra line per arg), returning JSON (just return a dictionary in Flask), handling errors. Flask also is able to auto-reload the code when it changes (turn on development mode) which is really convenient. Plus all the ways that Python is more convenient than…
But...you are comparing a web framework with a Go's standard library. I mean, it's not a fair comparison. I'm pretty sure there are Go modules that support those handy things.
Why do you feel that the comparison isn't fair? Aren't we talking about modules that provide the features necessary to implement a type of application? Would it make any difference if tomorrow there was a PEP making Flask a standard component?
Unless you are aware of any Go module that addresses the downsides of Go with regards to Python, your observation is mute and unhelpful.