4 ms·
When I first learned Python and Scala, they 'hooked' me practically instantly. As my ability with these languages matured, I learned their strengths and weaknes
by mydpy 11y ago
When I first learned Python and Scala, they 'hooked' me practically instantly. As my ability with these languages matured, I learned their strengths and weaknesses, and (try) use the tools where their strengths are complimented.
Trying Go had practically the opposite emotional response: It didn't take long to get a bad taste in my mouth while using the language (a lot of, where is feature X from my favorite language, and why does the Go approach feel so jagged by comparison?), and as I read blogs like this that emphasize the weaknesses of the language, I don't feel compelled to write anything using Go.
With so many options, why bother with Go? Am I missing something?
- ashark 11y agoThe Good: Goroutines, the tools, the standard library, YAGNI to the bone, less testing needed compared with Ruby, Python et c, if you'd otherwise be using one of those. The Bad: Hard to keep DRY, writing testable code can require a bit more planning that one may be used to, frustrating newbie experience[1] [1] go command errors if run after installing if you don't configure it (set proper env vars) first, tools that are basically essential to having a good experience with the language aren't packaged with it and have to be tracked down individually (probably someone's written a nice shell script that takes care of that, but it's silly that that was necessary)
- TeeWEE 11y agoEver wrote a big program in python? Then you know it works at runtime. Not at compile time. Go comes with more typesafety while being a bit more verbose. Its a tradeoff.
- Filligree 11y agoAnd yet Rust has more type safety, while being more concise, more expressive and faster. Which is the article's point.
- oscargrouch 11y agoYes, but is less productive than go. You need more to express te same. Rust is like a phone with a lot of buttons and commands, give you more options and freedom of choice. Go is like a simple phone with very few buttons which has enough to enable you the real purpose of the phone, to make phone calls. Its just more pragmatic, and that doesnt make it a sin. Particularly, i like to have options.. its good we have them all, and we can choose the right tool for the job.
- commentzorro 11y agoRust forces you to care too much about memory and object ownership. These are too low in the weeds for business and web applications. (But wholly appropriate for a systems level language.)
- antod 11y agoI can't speak for the other poster, but I reckon someone who liked both Python AND Scala would have a pretty good handle on the pros and cons of different type systems.