Is Python a “scripting” language?

Well I’m glad I’m finally doing some basic programming with a modern language like Go. The fact that one of Go’s creators is Ken Thompson, certainly gives it geek cred. So now I can finally call myself (according to many) a real programmer, because Python is just a “scripting” language. Never mind that I started compiling/linking programs since the late 1970’s. That was mostly in Cobol. Never mind that you still had to be familiar with Assembler OP codes and be able to do hexadecimal math to debug a Cobol program. Because the “dumps”, which you get when your program abnormally terminates, were pages upon pages of hexadecimal digits. Then the PC came along and Cobol became a crap language. Because that’s how people like to lift themselves up. By putting something they don’t use down. They are the real computer experts. Like Arch users exalt themselves over regular…lessor Linux users. Forget the fact that Cobol has been running programs reliably for 60+ years. I also “assembled” 360/370 assembly languages programs back then. Assembled and not compiled is the proper term for creating executables from assembler source code. Assembly is closer to the “metal” than C. One OP code…one instruction!

I think it’s safe to say, Cobol isn’t a great general purpose programming language for the ASCII PC. I have done some Pascal programming on The PC. Pascal is a “real” compiled language. But today it isn’t popular. However at one time it was very popular largly thanks to Turbo Pascal from Borland. Most of my Linux programs through the years have been in Python.

So I feel I can give my opinion on whether or not Python is a real programing language or a “scripting” language. Obviously anyone can have an opinion. And my opinion is any program the executes code and uses comparison instructions to make decisions, is a programming language. So for example HTML and CSS are NOT programming languages. But Javascript is. Now if “scripting” means not compiled then Python is ALSO a scripting language. Slower IMHO doesn’t mean it’s not a programming language. If I had to describe Python I would say it’s a non-compiled, interpreted programming language…but still a programming language. You might call it a very high level language because Python does a lot of the work for you. Where C is a low level language (meaning C instructions generate few machine instructions). Assembly is the lowest level language (one Assembly instruction translates to one machine instruction). So if you know Python or C, you can write programs on many architectures. But Assembly only works on the architecture (CPU) it was designed for. So at one time you couldn’t use the same Assembly instruction on a PC as a Mac. Because they used different CPU’s. However today they both use x86 CPUs.

Yes I can compile a Pascal program and it will run relatively fast. But Free Pascal, a very nice modern Pascal language doesn’t have the libraries that Python or C has. And libraries are hugely important. What I like about Go is with Google’s backing it has many libraries…and no doubt many more to come. Python and C example below. I wrote a few basic C programs a thousand years ago but I had to lookup how to compile a C program on Linux to test this. They’re both executing very similar code, producing the same result!

# Python while loop
i = 1
while i < 20:
  print(i)
  i += 1
/* C while loop */
    int i = 1;    
    while( i < 20 ) {
        printf("%d\n", i);
        i++;
    }