• 30p87@feddit.de
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    Python is a scripting language, but it’s generally called a programming language, because there are no key differences in their features or workings. Just as C# and Java, Python is first compiled to .pyc files and then executed with a special program, eg. Mono for C#, OpenJRE for the second and just python for the latter, except for Python it’s more hidden. C# supports Classes, Python does, but C does not (officially) … so wouldn’t C be less of a programming language then?
    In the end, scripting languages are just defined as one by being easier and faster to run by all/most implementations as the “gcc main.c” and “./a.out” method of “real” programming languages, by just using “python main.py” or “node main.js” for your program. Therefore, they can be changed on the fly and added to another script.
    What IS generally called a scripting language is eg. Bash, as it’s not compiled, supports few features and is not that cross compatible (except maybe with eg. WSL).

    I’m a huge C/C++ fan, but some tasks just aren’t suitable for them. Parsing HTML/XML in C++? It’s possible, but a pain in the ass. I know it, I did it. Having parsed plans, tables and xml responses in C++, I can tell you Python is more suited for this job. The extra few milliseconds you save aren’t worth the hassle of verbose exception handling, non standard libraries which need different systems to stay up to date (some don’t support your make system of choice) and harder integrated extension support (you can’t just throw in a .py script for support of other providers, but need to explicitly integrate eg. lua support), especially if the bottleneck is not your code, with ~10 ms runtime, but some random ass server with ~100 ms ping.