you are viewing a single comment's thread
view the rest of the comments
[–] 36 points 8 months ago (4 children)

Interesting, but misguided, I think.

If you've selected Python as your programming language, then your problem is likely either to do some text processing, a server-side lambda, or to provide a quick user interface. If you're using it for eg. Numpy, then you're really using Python to load and format some data before handing it to a dedicated maths library for evaluation.

If you've selected Go as your programming language, then your problem is likely to be either networking related - perhaps to provide a microservice that mediates between network and database - or orchestration of some kind. Kubernetes is the famous one, but a lot of system configuration tools use it to manipulate a variety of other services.

What these uses have in common is that they're usually disk- or network- limited and spend most of their time waiting, so it doesn't matter so much if they're not super efficient. If you are planning to peg the CPU at 100% for hours on end, you wouldn't choose them - you'd reach for C / C++ / Rust. Although Swift does remarkably well, too.

Seeing how quickly you can solve Fannkuch-Redux using Python is a bit like seeing how quickly you can drive nails into a wall using a screwdriver. Interesting in its way, but you'd be better picking up the correct tool in the first place.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 6 points 8 months ago (3 children)

    further to that, “demonstrably worse for the planet” i’d like to debate: considering a huge amount of climate science is done with python-based tools because they’re far easier for researchers to pick up and run with - ie just get shit done rather than write good/clean code - i’d argue the benefit of python to the planet is in the outputs it enables for significantly reduced (or in many cases, perhaps outright enabled) input costs

  • source
  • parent
  • hideshow 3 child comments
  • [–] 4 points 8 months ago* (1 child)

    If you need to optimize for performance, a common approach in Python is to extend it in C/C++. It's quite easy to do. Many high performance modules in Python are written in C/C++.

    It's also easy to embed Python in a C/C++ program, should you feel the need to add some scripting support to it. A very nice feature of Python, in my opinion.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 8 months ago

    absolutely! similar is true of node in v8 (though python imo is far more mature in this regard) and probably most other languages

    exactly why things like numpy are so popular: yeah python is slow, but python is just the orchestrator

  • source
  • parent
  • [–] 2 points 8 months ago

    Compare it to the likely alternative for the task/person, probably R or even MS excel in many cases i'd guess. The alternatives should ideally be based on empirical observation of the population. The marginal saving of choosing a higher efficiency than python might look a lot lower.

  • source
  • parent