For about the first five years of its life, it was eclipsed by Perl. That’s about it. I don’t think anything will ever unseat Python as too many people’s first and last language.
BASIC was meant as a teaching language. Python is a real language that’s simple enough to be a teaching language. It also runs the same dialect on every machine, which BASIC never did.
Being the second best language at everything, it gets used for everything because people don’t want to learn the first best in any given niche. Python isn’t the best choice for numeric applications, but with NumPy, it’s adequate, so why bother learning R? Even if you knew R already, you’re going to run into a lot of Python code for that domain from other people. You’ll be swimming against the current, and why bother?
Python is one of my primary languages (the other one being Rust). But it honestly isn’t the easiest language to teach - I’m saying this from experience. There are so many concepts at play - name binding, iterators, generators, exception chains, context managers, decorators, … . I could go on and on. Teaching becomes hard because any basic question could become a journey into the rabbit hole of python semantics.
Python is, however, a good first language for self learners. (Note: teaching vs learning). Python behaves intuitively. It’s designed in such a way that if you guess something about the language, you’ll probably be right.
Web testing is also done in python. Selenium has support in all major Python test frameworks. I’ve done SE-only tests in Robot, hybrid SE/Python using BDD with Behave, etc.
Unless I’m testing a language-specific API, I’m probably going to use Python…
I’m guessing that’s because you’re a python developer though. If you’re a frontend developer who knows JS then why wouldn’t you use that for your tests? (Apart from the fact that JS is horrible, but you’ve already accepted that suffering by becoming a web dev)
Nah, Python 2.7 got way more support than it ever deserved because people just refused to switch to 3. Hell, people were starting new python projects on 2 after 3 came out.
was python ever irrelevant?
Nope. This cartoon is horseshit.
Yeah. Look at any dev job listing and it’s all “Python, C++, or Java experience preferred”
Perhaps as the new hotness to web devs, but Python was a mainstay in science way before Django.
For about the first five years of its life, it was eclipsed by Perl. That’s about it. I don’t think anything will ever unseat Python as too many people’s first and last language.
Surely not in the immediate future, but there will surely be a day when Python dies. Remember that BASIC filled that role for far too long.
BASIC was meant as a teaching language. Python is a real language that’s simple enough to be a teaching language. It also runs the same dialect on every machine, which BASIC never did.
Being the second best language at everything, it gets used for everything because people don’t want to learn the first best in any given niche. Python isn’t the best choice for numeric applications, but with NumPy, it’s adequate, so why bother learning R? Even if you knew R already, you’re going to run into a lot of Python code for that domain from other people. You’ll be swimming against the current, and why bother?
Python will die when the sun does.
You have absolutely no idea how much business code has been written in VB.
Or COBOL.
No language truly dies, while Capitalism exists.
I do know, but that’s off to the side of BASIC in general. In fact, VB syntax is barely recognizable as BASIC.
Python is one of my primary languages (the other one being Rust). But it honestly isn’t the easiest language to teach - I’m saying this from experience. There are so many concepts at play - name binding, iterators, generators, exception chains, context managers, decorators, … . I could go on and on. Teaching becomes hard because any basic question could become a journey into the rabbit hole of python semantics.
Python is, however, a good first language for self learners. (Note: teaching vs learning). Python behaves intuitively. It’s designed in such a way that if you guess something about the language, you’ll probably be right.
FTFY
Python is the language of choice for most test automation
If I can’t do it as a Bash one-liner, I’m using Python
subprocess.Popen(["bash one-liner"], stdout=PIPE, stderr-PIPE, text=True)
I use perl, but everyone hates me and would rather rewrite my little scripts in python than bother changing a single line
You’re right, everyone hates you.
😔
The good news is that you can stop using Perl at any time.
For quick data parsing you’ll have to pry it from my cold dead hands im afraid
That could be arranged. I could bash you over the head with a python.
Grug use go because it easier, faster, and compiles to share with friends of Grug
Depends entirely what tests you’re automating. Java codebase? Probably Java tests too. Anything web? Tests will be JS too, etc.
Web testing is also done in python. Selenium has support in all major Python test frameworks. I’ve done SE-only tests in Robot, hybrid SE/Python using BDD with Behave, etc.
Unless I’m testing a language-specific API, I’m probably going to use Python…
I’m guessing that’s because you’re a python developer though. If you’re a frontend developer who knows JS then why wouldn’t you use that for your tests? (Apart from the fact that JS is horrible, but you’ve already accepted that suffering by becoming a web dev)
I’m a test automation developer, I’m not necessarily bound by the platform that the application is written in unless I’m writing white-box tests.
Maybe when 3.0 was new and created all sorts of incompatibilities with 2.x
Nah, Python 2.7 got way more support than it ever deserved because people just refused to switch to 3. Hell, people were starting new python projects on 2 after 3 came out.