i love languages and i am enjoying seeing Go mature as a language. At the moment I do have my hands tied with Elm and Haskell. Originally I am a Python programmer. Any advice for people transitioning for Python? What are some of the advantages of Go?
The State of Go
341–350 of 402 posts
Re: The State of Go
#342Man I really wish they would stop using whatever crappy presentation software this is; it NEVER works well on mobile.
It's `present`, a very simple tool. Written in Go, open source. Using it is a choice. I agree its ability to work on mobile is limited and that could use a CL (or a few) to improve. https://godoc.org/golang.org/x/tools/cmd/present
Re: The State of Go
#343Earlier quoted context omitted.
I think you have this backwards. 'Systems programming' has never meant 'operating systems'. To believe that Go is misdescribed as a 'systems programming' language you have to believe Rob Pike doesn't know what 'systems programming' means.
Given Pike's extensive experience inside a world of his own making (Plan 9 and Go), it's entirely reasonable to attribute the misconception that Go is a system language to Pike's idiosyncratic use of the phrase. If I understand things correctly, Go came about as fallout related to the non-scalability of Python and the massive technical debt associated with Python within Google. The projects to automagically port Pyth…
It just happens that Go is a better replacement for python than c++ in the general case.
Re: The State of Go
#344Earlier quoted context omitted.
I dunno, ruby has some nice tendencies here, like `out = [1,2,3].map(&:to_s)` which is small and descriptive[1]. Compare that to: out = [] [1,2,3].each do |x| out.append(x.to_s) end IMO that's not fad material - that's progress. Maps and folds can totally be abused to produce inscrutable nonsense, but for small, common operations they're often much more obviously-correct. [1]: `&:method_name` is extremely-common shor…
I had no idea what you were trying to do in the first paragraph whereas without knowing much ruby I can easily read the intent of the second.
A tale of two cities is an easier book for an English speaker than Les Aventures de Tintin.
Map applies a function to each item in a collection.
As pseudo-code:
Collection.map(function)
And in the parents example we have:
[1,2,3].map(&:to_s)
The only Ruby specific part is &:.
Re: The State of Go
#345Earlier quoted context omitted.
Today's startups are, mostly, tomorrow's failed businesses. The majority of the most successful startups of the last 15 years have generally used tried-and-true battle tested technologies in their successes: Java, C, C++ and PHP. This isn't to say Go doesn't belong in that list, but simply to reinforce my point that what startups are using today shouldn't be an indicator of high quality technology that can (or should…
And Ruby. Ruby is basically the new Java. As in it's no longer cool but is considered battletested and is now at the core of 10+ year old companies with code bases just as old that noone enjoys working on anymore.
Re: The State of Go
#346Earlier quoted context omitted.
When I think about Go in comparison to other languages, I think of car metaphors. Lots of people talk about cars that are good. Some people think a good car is fast, some people think a good car is low maintenance, some people think a good car is eye-catching. They are all right, those are all descriptors of good cars. Go, however, is like a Toyota Corolla or a Honda Civic. It's dependable, but relatively plain. It's…
> Go, however, is like a Toyota Corolla or a Honda Civic. The only problem with this argument is that everywhere - even in this thread - there are people saying that Go is a joy to program in. It's not lacking magic, it's magical in its own right. A better car analogy would be that Go is a Lotus Elise. It's nowhere near as powerful as your friend C++'s Mustang or Rusty's McLaren. But to C++ and Rusty's dismay Go's li…
>>The only problem with this argument is that everywhere - even in this thread - there are people saying that Go is a joy to program in.
Not sure why it's a "problem". I love driving my 2004 Honda Civic, and prefer it to newer, fancier cars. It's fuel-efficient, drives very well, and has not given me an ounce of trouble. So yeah, the comparison to Go seems very apt.
Re: The State of Go
#347Earlier quoted context omitted.
> Go is a useful language, but it's a language that has purposefully stripped out all the magic. People like magic, they miss it. I agree with everything you wrote except this. After 3 years in a job where I had to use Ruby on Rails, I am utterly tired of "magic" and I regret the many hours of my life I have wasted debugging issues that were created/concealed by it. Lack of magic is a feature in my opinion. But as yo…
I find Forth, Ruby, Elixir, various Lisps, etc. almost impossible to reason about because of this. Powerful metaprogramming tools can lead to really hard to understand and hard to refactor code.
They can, but that doesn't necessarily mean they do.
For example, the usage of Elixir macros, which are the primary metaprogramming tool in Elixir, is discouraged in the docs:
http://elixir-lang.org/getting-started/meta/macros.html#fore...
Re: The State of Go
#348Earlier quoted context omitted.
Definitely. Simplicity, and fantastic standard library. Go is like a much faster and more reliable version of Python. People comparing it to C++ and Rust miss the point.
Normally it's the other way around, Go gets compared to other "Systems Programming" languages because somehow services got lumped in with that name over the last few years. To me they're very discrete things, if you can't manually manage memory(raw pointers and the like) then it's not a System Programming language.
Re: The State of Go
#349Earlier quoted context omitted.
Idk if that's such a clean binary, one of my favorite languages is Haskell, and people both complain about that and don't use it :)
I'm starting a backend job tomorrow that's all Haskell. what are people's complaints?
I see people complain at times about it's performance but there is always someone there to rebut that it's fast at some things but not others.
Re: The State of Go
#350Earlier quoted context omitted.
I am so tired of having to deal with bullshit because of poorly-thought-out and poorly-engineered tools Seems to be some cognitive dissonance (in the modern erroneous sense of the word) going on. This was a hack necessary because the design of the library wasn't fully thought out. Imagining the world would one day become Google is not thinking things out.
> This was a hack necessary because the design of the library wasn't fully thought out. Easy to say 'not fully thought out'. It took Java from version 1.2 to 1.8 to fix its date/time library.
It took Java from version 1.2 to 1.8 to fix
its date/time library.
That is incorrect[0]. When spreading FUD[1], expect assertions such as these to be fact checked by others.0 - http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22joda-time...
1 - https://en.wikipedia.org/wiki/Fear,_uncertainty_and_doubt