Comments (29)
The fact that you like it doesn't mean that it's good.
from go-is-not-good.
gofmt
from go-is-not-good.
This bugtracker is probably not the best place for this discussion. Perhaps create a separate "rust-is-good" project and discuss there instead?
from go-is-not-good.
If it was me an attack on some of these complaints would be in order.
According to two people, Go is bad for being "too young". I suppose by that logic we should never have a new programming language ever again. No Rust, no Swift, no Hack, no Vala, no Emily, no nothing. And in fact no Node.js either, given Go was initially released only several months after Node.js was!
Or perhaps just a ranking on complaints about Go, from "legitimate complaints even Go professionals have with it" to "waaaahhh, why aren't you like everyone else?" to "things that aren't true at all" ("no subpackaging"; someone (who is interested in signing up to Disqus) should inform them of that).
But that's just me, and I don't know if that would be a good idea for this project in particular. One thing I wanted to do with my long-ignored blog is write such a post; perhaps I will.
from go-is-not-good.
@postman0, it's a joke, laugh.
from go-is-not-good.
@andlabs It is a shitty, butthurt-driven idea. This list is good as it already is, with interpretation left to the reader.
from go-is-not-good.
The usefulness of this list is diminished by the unedited inclusion of link-bait articles from any old Tom, Dick or Harry.
For example, Ian Byrd (http://byrd.im/) is a 16yo high schooler who is apparently qualified to tell us that "go is a poorly designed language". According to Ian, "slice manipulations are broken" because he doesn't like the way inserts/deletes are handled. That's fine, I might even agree, but they work as documented and using the word "broken" in the main article is misleading to anyone reading this document. Perhaps something like "slice manipulations are inelegant" or "lack syntactic sugar".
The only point in a list like this is to intelligently summarise and categorise the points raised in the referenced articles. If you're just going to repeat sensationalist paragraph headings verbatim, you might as well leave it to Google.
from go-is-not-good.
Me too, but you know, someone must have done it, sooner or later.
from go-is-not-good.
@andlabs You're right, some arguments are totally failed. But it's as is. As @postman0 said, "interpretation left to the reader", and I think it's ok.
But anyway, not to be misunderstood I added a bit more words to readme about repo's purpose.
from go-is-not-good.
Right; I get the purpose; I'm just rambling =P I'll stop now
from go-is-not-good.
I just want to move the one that complains about lack of semicolons to a section called "Are we in 2015?".
The ones complaining about lack of macros/generics are nice tough.
from go-is-not-good.
Golang is the Javascript of compiled languages, everyone is probably going to use it. And there's not a good coding styling standard YET. That's the worst part.
from go-is-not-good.
regarding #1 (comment), right. I was hoping for a thoughtfully curated list of valid points against go. I would presume that the language has some issues which are legitimate downsides for some users... What are they? I mean my question to be taken seriously; I've never done more than hello.go
, seeing as how I'm still married to Java and seeing Common Lisp on the side as time permits.
from go-is-not-good.
What do you guys think about Rust?
500 thousand lines contributions are shared between 4 people - Go comes with 2mi lines for the top dev and 500 thousand for the second (what if these 2 guys get tired?) -, faster than Go and without a GC, traits and no C++ problems like segmentation faults, functional with formal mutability/immutability, awesome compiler and macro syntax, Mozilla behind, Redox OS!, very nice option for bare-metal tinkerers, maybe what everyone expects of JavaScript without knowing, easy C with foreign functions, a very promising open source support since its numbers reach Go numbers on GitHub (with lots less propaganda), ...
Yes, I'm totally asking it cause I see Rust as an alternative for Go. With an instinct after 10 years in development, I totally decided to study Rust when everyone was looking for the big G behind Go.
Well, the big G did a great job with V8 and Chrome, but the big G screwed and suddenly stopped lots of products and ideas. And they kicked the balls of Dart with Angular 2...
Some pepper sauce: "Quora - What do C/C++ systems programmers think of Rust"
from go-is-not-good.
@leodutra Rust and Go are not exactly alternatives to each other. Kotlin/Go or Swift/Go seem like more apt comparisons.
Writing application code in Rust is actually getting easier and easier with frameworks like https://rocket.rs but Rust has many features in the language and in the standard library that are intended to support very efficient code that is easy to use with C -- whereas these other languages are about writing applications "reasonably safely" and "reasonably quickly". For writing the next generation of OpenSSL, Rust would be really good; and maybe for a newer Nginx or a trading platform, &c. Writing a net-facing, authoritative DNS server would really leverage Rust's strengths; writing an internal tool for DNS-based service discovery might not.
Could be more concrete with "screwed" and "kicked balls"? Some of these projects were not successful, that's true; but Go does seem to stand on its own.
from go-is-not-good.
@alrik11es JavaScript was born in the hell of Microsoft / Netscape, more than 10 years ago. Go has no excuses.
@solidsnack You are mostly right. But I see people using Go to replace C and C++ when not replacing Python... and that's when Rust becomes a comparison (for me at least). Go is something between the JavaScript stinky past (which ECMA and community are fighting to dim), touching JVM ideas and trying to be a dumb C. My theory is there's no reason to write business servers in Go nor drivers and OSs. It's more a funny thing than a real problem solver. A fast microservice? Phoenix + Elixir for the rescue.
Angular proposed AtScript, as Dart team were not ok with the proposal, they passed it on for TypeScript community. Angular and Dart are from the same company but they just ignored it (in a market with roles like Oracle and Microsoft that do not backstab their own inventions).
I'm waiting for Go as the main language for Android. While this deviation does not happen, I have "drop nightmares".
You can say I'm wrong, but I won't capture this error.
from go-is-not-good.
Go is bad for being "too young". I suppose by that logic we should never have a new programming language ever again. No Rust, ...
No Rust you say? Sounds like good logic.
from go-is-not-good.
@leodutra There probably is no reason to write drivers or OSes in Go -- but I'm not sure about the rest of your screed.
@R-obert Do you have a horse in the race?
from go-is-not-good.
@solidsnack hm. when the choice of Go or Rust I prefer Go (simplicity wins). if Go is bad then Rust is horrendous.
from go-is-not-good.
@R-obert In your earlier post, you seem to be supporting the argument Go is bad for being "too young". but now you seem not be supporting. I don't think you can have your cake and eat it too -- support the argument as far as it suits you, and not farther. It's just dishonest.
from go-is-not-good.
i'm not sure what post said that? i don't think that.
i think Go is "established" as a major language nowadays. Rust still has to prove itself.
from go-is-not-good.
i think Go is "established" as a major language nowadays.
What makes you think that? It's not actually that widely used, compared to Ruby, Python, Java, PHP... NodeJS had a big boom a ~5 years ago, if you remember.
i'm not sure what post said that? i don't think that.
At 2017-02-09T03:39:46Z, you wrote:
Go is bad for being "too young". I suppose by that logic we
should never have a new programming language ever again. No Rust, ...No Rust you say? Sounds like good logic.
from go-is-not-good.
you mean, rust-is-horrendous ? π you're right. it's off topic and not important anyway.
@solidsnack thanks for the discussion.
from go-is-not-good.
@dgryski Yeah, true. This project is here to pitch reasons why "Go is not good".
from go-is-not-good.
I declared this problem solved. Closing.
from go-is-not-good.
You can close it, but you can't stop the trolls.
I think Go is "established" as a major language nowadays.
@R-obert a lot of people using it does not mean it is stabilished. Means idiocracy reached it, same problem of democracy. We have to take close care with this affirmation.
@dgryski I will... But the title gonna be "Why Rust and not Go".
Go is not a choice for drivers and OS, as some of you think, nor is rapid enough for web development and neither formal as Java.
I really would like to know where is Go market focused on. Parallelism, some would say, but it's very easy to execute threads on Java 8 using Runnable Functional Interface... and it has OOP structures. Rust is even faster on OpenCL, and we have CUDA. For math, there's Fortran and the newcomer Julia. For starting up a product, Node.js, Elixir or Swift...
I see no real appeal. Can anyone point it out? Maybe the trainee pulling open source trunk code with that dumb import?
from go-is-not-good.
@leodutra You are preaching to choir, here.
Since I am an SRE I fear for my life if I were to build an anti-Go site. Say you were to do one, though, I would definitely upvote on HN and contribute comments.
What domain of work are you in? Go has seen a lot of use in the area of "cloud server management", so tools from AWS, Google, Docker and a few others are in Go.
from go-is-not-good.
Well, I don't know what SRE means. If argumentation is "preaching to choir", whatever it means, I'm totally in it.
My main domain of work is solving general business problems, from production engineering to front-end programming, building tools whenever needed, proposing architectural compositions. I play with some hobbist researchs over patterns, creative programming and bare metal tinkering on my spare time.
I've seen a payment company diving into the night when they replaced Python by Go (suffering with its GC), I've seen Node.js replacing Java with C bindings (something I don't recommend), I've rewritten an Scala+Akka problem using Elixir and Go and found no benefit in using Go (and had to deal with dumb memory leaks), I've been trying to make mTCP work with a 4.4 Linux kernel (and there's where I've imagined It could be way easier if it was 2030 and kernel was written in Rust).
AWS has many kinds of tools, Google did not bring Go to Android mainstream and Docker was ridiculously buggy last year when I dove into it (and btw, they have a small team and low level requirements... maybe that's a point for Go... before replacing it for a 2.0 clean and really functional Rust code).
What can I only have or what can be really well accomplished mainly by Go?
Even to teach grandmas to code is not a Go thing... it's more a thing for Python/PHP/C for simple/academic presentation.
from go-is-not-good.
@leodutra: if you're trying to find reasons to why Go is good, asking in a repo called "go is not good" is probably not the best way to get an answer. There have been many large threads on Hn recently (for example https://news.ycombinator.com/item?id=13572416 https://news.ycombinator.com/item?id=13430108 ) that debate this very question. The original article that sets out the rationale for some of the decisions is https://talks.golang.org/2012/splash.article . Finally there is a collection of posts on switching to Go from various languages at https://github.com/golang/go/wiki/FromXToGo .
I hope you find the answers you're looking for.
from go-is-not-good.
Related Issues (20)
- I have nothing to say
- This is a really good repository. π― HOT 8
- broken link: 4 Weeks of Golang: The Good, the Bad, and the Ugly HOT 1
- broken link: http://blog.mattbasta.com/things_that_make_me_sad_in_go.html
- regexp: Go's regex is even slower than Python HOT 3
- tags are arbitrary strings, no compiler checked syntax HOT 2
- Go syntax is too ugly. HOT 1
- Add references from conversion of Reposurgeon from Python to Go
- Add "I want off Mr. Golang's Wild Ride"
- Still maintained? HOT 1
- New essay: "Golang is not Ready for Enterprise Systems yet and Hereβs Why" HOT 2
- "Why Iβm So Frustrated With Go" HOT 2
- We must be careful when we use interface{}
- Please add https://www.toptal.com/go/4-go-language-criticisms
- Sum type == tagged union
- Go'ing Insane Part One: Endless Error Handling HOT 1
- Hypocritical Gophers
- FasterThanLime: Lies we tell ourselves to keep using Golang (Apr 29, 2022)
- this-repo-not-so-good HOT 1
- Complaints index by age
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-is-not-good.