I completely agree. Once AI are capable of testing their own code against complex project requirements, many programmers if not all might have to leave their jobs. What do you think these professionals will transition to doing instead?
What's happening is AI is starting to become an assistant. It's good at writing tests, finding issues in code/code reviews and writing basic code. Ie, simple functions, outlines etc.
I have no idea what they'll transition to. This is a global problem across all industries.. What I can say is that AI rollout will be throttled so as not to overwhelm the economy.
Python is no "programming language", it's just a scripting language like e. g. PHP.
Real programming languages are C, C++, Java etc.
With a scripting language like Python you can't develop a desktop OS, a mobile OS, a kernel, an industrial application etc.
No, just no.
I was correcting people that used to say this in the late 90's..
The first thing I'd always point out is that when people say this, it's used in the derogatory towards both the language and anyone who uses it as if they are somehow beneath someone who uses a "real" language like C.
What's worse is you even add the word "just" here, which actually only serves to highlight your lack of understanding of the complexity of the issue you're commenting on.
First, you've made the absolute assertion that Python is 'no "programming language"', where you even quote "programming language".
https://www.python.org/doc/essays/blurb/
"Python is an interpreted, object-oriented, high-level programming language with dynamic semantics"
https://en.wikipedia.org/wiki/Python_(programming_language)
So right off the bat here, you know more than the core Python team about what their language is and isn't.
You lump C, C++ and Java together, followed up by another assertion that with a "scripting language like Python you can't develop a desktop OS".
Well, guess what..
You can't develop an OS with C.
Uh oh. Didn't know that, huh?
So where's this definition of a "real" programming language coming from? One you can develop OS's with? Well, you can't with C, so that rules that out.
And Java? Do you even know how Java works? How could you develop an OS with Java?
Do you understand that both Java and Python are technically both interpreted AND compiled?
They are very similar and there's only subtle differences. We call Python interpreted and Java compiled, but neither of them are purely compiled down to machine code in 1 step.
A language being purely compiled doesn't make it "programming", compared with another that is part compiled, part interpreted being a "scripting" language. This is stupid.
These are just environments to turn human source code into something a CPU architecture can run. Nothing more. Compiled directly(C/C++), compiled to byte code and run on a VM(Java), compiled to byte code and run on a VM(Python). Yes, Python is run on a VM. The same as one of the languages you've lumped into your group of "real languages".
The only difference is Java compiles the java code into a .class(jvm bytecode) and then optimizes it ahead of time.
Python compiles down to to pvm(
https://www.devopsschool.com/blog/python-virtual-machine/) bytecode at runtime, so it's a little slower at initial runtime.
But that speed is irrelevant for most applications. It only matters for the CPU intensive parts of your program. Anything connected to networking or file i/o isn't going to perform much differently on Java.
This is why when you have a Python lib like NumPy that has a lot of CPU intensive operations, we write those parts in C. This is what makes Python so powerful, you already have a vast array of amazing libraries that are optimized with lower level languages. Who wants to sit around writing optimal code in C?
And speaking of which..
Where does your definition of real fall.
Java manages memory for you. C you manage it yourself. Does that make C more real than Java?
By this silly logic we may as well go all the way back to binary punch cards and say if you're not writing directly in binary, it's not real programming.
"Programming" is a VERY specific word with a very specific meaning:
the process or activity of writing computer programs.
Unless you want to argue that you can't write programs in Python..
Which would just be stupid, considering you have a bloody compiler that compiles down into python virtual machine byte code.
Your final claim is you can't build "industrial applications etc".
Oh?
Instagram?
Not an industrial application?
Ok, what about Dropbox?
Spotify? - 80% of Spotify is written in Python
Reddit?
Pinterest?
Quora?
Uber?
Netflix?
Ok, so none of these..
Fair enough. What about YouTube? Pretty big site.. I think it probably qualifies as "industrial".
Jokes aside.
I think I've shown here that your assertion about Python not being a real programming language is utter nonsense, but feel free to double down on the silliness and come back at me with a refutal.
Your comment is pure intellectual elitism/snobbery which is why I took the time to completely discredit it.
I'm sure you're chomping at the bit to tell me how I'm wrong about not being able to create an OS in C, since of course the Linux kernel is written in C.
But here's a challenge for you.
Rewrite the Linux kernel to use C without any Assembly.
And you can run Python *exactly* like Java using pypy.
It gives you the performance improvements, but you lose some compatibility, which is exactly what makes Python so good in the first place.
So, if Python can become compiled in the same way that Java is, does that change the syntax of the Python? Does it go from scripted to programmed because of a subtle change under the hood? Do you see how utterly ridiculous it is to make these arbitrary definitions based on under the hood architectural differences.
The real use of "script" is a casual term if we're writing small programs, we'll say a "I'll write a quick script", BUT, *real* scripts are things like shell scripts, which are ACTUAL scripts and have no compilation whatsoever.
Scripting is more a "thing you do", rather than what a language is.
It's like saying "these trainers are for walking only". You can walk in your trainers. Run in your trainers. Jump in your trainers.
You can write little scripts in Python, you can write small programs, and you can architect giant systems spanning multiple servers and networks.