Author here! I have finally come to realize why and where Python is required.
- Python is a fantastic frontend (glue) language that interop well with C/C++ libraries. This seamless binding is not natively available in languages in Go or Java or even JS.
- Python has an excellent data science / modelling / data engineering / ml ecosystem. There is no other language that comes close.
- Python is a fantastic MVP language. One can rapidly prototype and iterate and to a very good extend scale a product.
> Ease of use, less ceremony, huge package ecosystem including several de-facto standards for many use cases/industries, suitable for glue work, are benefits.
Sure, these are operational advantages. But purely from an computational perspective (GPUs, multi-core, concurrency, etc) does it offer anything natively without interfacing with C/C++ that validates it to be called a general purpose language.
My experience has been that to efficiently write computationally expensive operations I need to know the low-level libraries that Python interfaces with. Other languages provide me this functionality natively and I only go to the low-level stuff only after a few iterations.
I wanted to develop an understanding of the market, where the industry is generally heading. To give some context, I am a software engineer typically spend time building enterprise software. I want to understand the landscape enough to be able to build a product (in the domain) on my own.
I am skeptical of job opportunities for Rust in my country. However, I get a sense the language appeals to a specific audience (and company), and most of the companies here are only building SaaS applications so it might not benefit them to transition their codebase.
> Your pay is basically a measure of "this is how hard it is to replace you" with an adjustment for how bad it would be if you quit and your employer doesn't bother to replace you. Your talents, insofar as they are a factor, are only useful to you in figuring out how to do something that is both uncommon and useful.
This is striking, the problem seems to be that most of the jobs that engineers are doing are easily replaceable.
Do you happen to know platforms / languages that are primarily built to work on scale both for users and developers? I sense Go has projected itself to be the one, do you have any other suggestions?
I completely agree with the Big Ball of Mud and Swap guide analogy as that has also been my experience. I am also looking for alternatives and Go seems to be the logical conclusion that I am getting to. What would you suggest?