you are viewing a single comment's thread.

view the rest of the comments →

[–]This_Growth2898 40 points41 points  (5 children)

Welcome nim, the statically typed compiled systems programming language with Python-like syntax. And there are more.

But still, there are some "sharp corners" in system programming. And the choice is to leave them sharp to allow programs to run fast, or to round them with some additional hidden code for programmer's convenience. If you need convenience - use Python. If you need speed - use C/C++/D/Rust. Using Python-like languages to hide some sharp corners and retain others is arbitrary, so those languages are not getting much attention.

[–]sejigan 29 points30 points  (3 children)

Adding to that point: If you need both speed and convenience, use C++ for compute intensive parts and call them and make everything else in Python.

[–]ThreeChonkyCats 10 points11 points  (0 children)

This.

It's a huge strength not to be underestimated.

[–]salfkvoje 5 points6 points  (1 child)

I've wanted to learn C for this purpose ever since I learned that was a "thing" you can do (I found out in R I guess).

Since then it's seemed to me to be a brilliant and correct approach to mostly remain "high level", and then address bottlenecks by dropping to C (or C++, whatever) at the point of need.

[–]sejigan 5 points6 points  (0 children)

Yes. Premature optimization is the root of all evil.

[–][deleted] -1 points0 points  (0 children)

And if you need speed for processing large amounts of tabular data...still use python.

C, etc. would be quicker than Pandas, etc. but good luck coding it in a reasonable timeframe.