Words of wisdom from my new boss #1:

"I don't understand why you develop your new endpoints in Go. I think that if speed is the problem, instead of using a different programming language, you guys can just focus on writing better code in Python."

Yes, yes, that should fix everything.
Thank you.

  • 7
    I guess you could make Python better ... in Go.... get to it man.
  • 5
    That's odd. Was there a decision to move to go bc logic, or did the boss just try to override a group decision?
  • 11
    @SortOfTested There was a decision to switch to Go over a year aGo. Also, a lot of changes with the infrastructure. For the language, one of the reasons was speed. Some of the dependencies are also already dead because they kept developing stuff in Python 2 even when 3 was already there years ago. It's just a mess they don't want to deal with in the future.
  • 3
    But, how ye gonna live without the white space syntax?
  • 4
    Task: Migrate everything to Python.
    Solution: write Python scripts only to launch all the Go programs as before.
  • 2
    It should be relatively easy to migrate from python2 to python3. There are conversion libraries for thar. It should cover a near 100% of all pythonhosted libraries and functions. It can require some manual refactoring after that.
  • 3
    @NeatNerdPrime Yes but that solves only one of the problems.
  • 4
    If speed is genuinely a concern then Go is one of the few modern languages I'd say was up to the job. Certainly not Python.

    Plus, writing code to optimise for speed in languages like Python that aren't that performant is just dumb. You end up with an unmaintainable mess of spaghetti.
  • 1
    @AlmondSauce True. That's what they did in some of the repositories and every time I had to work on those to add just tiny bit of feature, I want to fucking die.
  • 3
    I usually hate python, but if your backend is just a glorified wrapper around your database, should PyPy be fast enough?

    If you have to do heavy calculations in real-time though, you already know what to do.
  • 2
    I think that for a lot of web projects python/PHP is fast enough when code is good. Most latency comes from accessing db/disk as @kiki points out. If that is the only reason the question *might* be valid. But it seems your organisation already sports both python and Go.

    Go has a great web stack for API's and even better tooling around it. Just because of that I would go the Go route.
    So yeah fuck your boss. I'm actually kinda jealous; my organisation has no go knowledge even though I did sneak it in some small production pieces for internal use
  • 3
    @hjk101 Yeah, it's awesome. They hired one guy who is proficient in Go and I'm just learning along the way. So far I'm enjoying it and don't want to Go back. I feel lucky getting this project even though I was originally hired for Python. :)
  • 0
    Is Go faster in your case because of compilation (instead of interpretation), because of goroutines or something else?
    I don't have much experience in neither of them. I'm just curious.
Add Comment