Live data from Hacker News

Ask HN: Go or Python? Expanding my toolbelt

news.ycombinator.com

1–10 of 19 posts

Ask HN: Go or Python? Expanding my toolbelt

#1
I have no desire to learn JavaScript, and by elimination I'm between Go and Python 3 (CPython?).

I'm talking about really learning the language. Not just doing some quick side project.

What would you choose? The deciding factors for me are: being future proof so my knowledge could be used in the next 5 years, cross platform, and has a solid, consistent standard lib. I'm looking for a "can do several things with it" language that can also help me to be a better developer (by exposing me to new stuff). I might use it for scripting or cli tooling but (ba)sh and powershell served me well so far.

I'm not considering mobile since I'm tired of Java and I have no desire to use the Apple ecosystem. But of course that it would be a plus.

I was also considering C# (is there a TL;DR? so many keywords and revisions that I already lost any desire to learn it) but Microsoft worries me. My tools and workflows are Linux based.

Python being slow worries me and maybe most of my effort would be spent in learning to produce pythonic code instead of learning deeper concepts.

Re: Ask HN: Go or Python? Expanding my toolbelt

#2
One factor I would consider is how different a language is from what you already know. For example, learning something like Haskell, Elixir, or Elm (Elm is fantastic) might help you grow more as a developer because you'll be introduced to entirely new ways of reasoning about and solving problems.

Re: Ask HN: Go or Python? Expanding my toolbelt

#5

Python since it's stable and mature. Or if you're deadset on supposedly easy (at the cost of memory) concurrency, Go makes more sense and it's newer and all you'll get e-peen points for being on the cutting edge. Python's been around 20-years.

also python need not be slow, but it need not be used for everything. There are jits for it and you're not beholden to CPython either.

Re: Ask HN: Go or Python? Expanding my toolbelt

#6

One factor I would consider is how different a language is from what you already know. For example, learning something like Haskell, Elixir, or Elm (Elm is fantastic) might help you grow more as a developer because you'll be introduced to entirely new ways of reasoning about and solving problems.

I think I'm too dumb to learn how to use something like Haskell (properly). I have a memory/attention problem, medication helps but I almost gave up programming for it. Don't get me wrong, my code is highly praised for being moderately ok, but I have to play my strengths.

I was surprised that all of the Elixir hype seems to have died here.

Re: Ask HN: Go or Python? Expanding my toolbelt

#7
post #6

One factor I would consider is how different a language is from what you already know. For example, learning something like Haskell, Elixir, or Elm (Elm is fantastic) might help you grow more as a developer because you'll be introduced to entirely new ways of reasoning about and solving problems.

I think I'm too dumb to learn how to use something like Haskell (properly). I have a memory/attention problem, medication helps but I almost gave up programming for it. Don't get me wrong, my code is highly praised for being moderately ok, but I have to play my strengths. I was surprised that all of the Elixir hype seems to have died here.

You're not too dumb! You can do anything you set your mind to :)

I totally understand not wanting to dive into something like Haskell though. Between Go and Python, I personally would choose Go for a long term commitment. I think the language is simple yet beautiful, has a robust standard library, and performs really well.

Python can be learned super quickly though, and being able to whip up a script is useful (you can 'import' seemingly anything). I'd say it's worth sprinkling in a little Python on the side.

Re: Ask HN: Go or Python? Expanding my toolbelt

#8
I think Go matches your criteria. I've put more eggs into my Go basket than my Python one. For myself, I focus on building networked distributed systems. Go helps me do that (and build useful cli tools). I mostly resort to Python for scripting.

What type of programming do you want to do? I don't think I would recommend Go for game development or embedded systems (though people do it).

Re: Ask HN: Go or Python? Expanding my toolbelt

#9

I think Go matches your criteria. I've put more eggs into my Go basket than my Python one. For myself, I focus on building networked distributed systems. Go helps me do that (and build useful cli tools). I mostly resort to Python for scripting. What type of programming do you want to do? I don't think I would recommend Go for game development or embedded systems (though people do it).

For personal reasons I have to stay a couple of years at my current job (back-end and some ops), I do some boring stuff but the payment is nice. I don't want my brain to slow down too much so I'm looking for a language to do random stuff without thinking much about what exactly I'm going to create. But probably something related to web development, cli tools/automation, maybe a desktop app just to put in my CV (Qt?).

Re: Ask HN: Go or Python? Expanding my toolbelt

#10
I think you should go for Python.

1. Python is definitely future proof. It is most likely going to be THE language in the near future. Machine learning and AI is most likely where most new breakthroughs will happen, and Python is well positioned to leverage this. Read more here http://blog.hackerrank.com/emerging-languages-still-overshad...

2. Python has a good standard library. It has been around for a while now, so it also has a huge number of high quality third party libraries.

3. Python is slow and this is a serious disadvantage. However writing Pythonic code is an aspect of Python that I absolutely love. I think Guido's guiding principle "code is read more often than it is written" is quite true and writing beautiful code is a thing worth learning. Other people will love you for it.

Post reply on HN