- Typed/untyped language;
- Strongly typed/untyped language;
- Statically typed language;
- Dynamic language;
- Scripting language;
- High-level language;
- Low-level language;
- Machine language;
- Assembly language;
- Interpreted language,
- Compiled language;
- Procedural language;
- Object-oriented language;
- Functional language/programming;
- Declarative language.
-
- Active Topics
-
-
- by Eli 29 minutes ago Re: What is in Your Mind? View the latest post Replies 716 Views 305991
- by Eli 21 hours ago All in One: YouTube, TED, X, Facebook and Instagram Reels, Videos, Images and Text Posts View the latest post Replies 331 Views 39295
- by Eli 1 day ago PySpark for Large Data Processing View the latest post Replies 2 Views 8087
- by Eli 1 day ago Online Bible View the latest post Replies 3 Views 23299
- by Eli 1 day ago Generating SSH Key and Adding it to the ssh-agent for Authentication on GitHub View the latest post Replies 1 Views 372
- by Eli 1 week ago Russia Invades Ukraine View the latest post Replies 663 Views 239923
- by Eli 2 weeks ago President Museveni's Speech During International Development Association (IDA) Summit View the latest post Replies 1 Views 443
- by Eli 2 weeks ago From Simple Linear Regression Analysis to Covariance & Correlation to Independent Determinant, and R-Squared View the latest post Replies 11 Views 25062
- by Eli 2 weeks ago Collection of Greatest Christian Hymns of all Times View the latest post Replies 34 Views 71695
- by Eli 2 weeks ago Pondering Big Cosmology Questions Through Lectures and Dialogues View the latest post Replies 34 Views 58994
-
What do these terminologies mean in programming (or computer science) context?
- Eli
- Senior Expert Member
- Reactions: 183
- Posts: 5404
- Joined: 9 years ago
- Location: Tanzania
- Has thanked: 75 times
- Been thanked: 88 times
- Contact:
I often read or hear these terms/phrases in programming or computer science context in general:
0
TSSFL -- A Creative Journey Towards Infinite Possibilities!
- Robot
- Super Administrator
- Senior Expert Member
- Reactions: 24
- Posts: 124
- Joined: 7 years ago
- Has thanked: 7 times
- Been thanked: 7 times
Some of these terms are related to the differences in speed of execution (performance/efficiency) of codes written in different languages. For example, a well written code in C will always execute faster than the equivalent code written in Java or Python. C code compiles to machine code which is executed directly on the CPU. Both Java and Python compile to bytecode (an intermediate language designed to be executed on a virtual machine) which is then translated into a set of machine code instructions that can be executed immediately on the CPU.
One of the advantages Java has, is that it is a statically typed language -- which means that the compiler knows how every variable and every function/method is defined before the code is executed, so it does not search anything at runtime. On the other hand Python is a dynamically typed language, meaning that the compiler can’t identify what a name/variable/function/method represents until the code runs (and possibly, its interpreter parses/loads the program including all the required libraries for execution). As a result, Python executes a lot of searches at runtime, looking for variable/function and method names.
The notion that Python (here we are talking of pure Python cde that is not glued with C/C++ libraries such as Numpy, note also that there are actually compilers like Jython and Cython that compile Python programs, respectively, to Java and C bytecodes) is interpreted, but Java and C are both compiled, may have been correct in Python version 1 and early releases of Python 2, but it is currently incorrect. Later versions of Python 2, particularly from Python 2.6 and all versions of Python 3 compile to bytecode - which is then saved as a .pyc to make future execution faster. Such bytecode may be different to Java bytecode, but Python is still compiled, and its Virtual Machine executes that bytecode following the same basic principles as Java. Also read post #3 from simple-c-program-44
One of the advantages Java has, is that it is a statically typed language -- which means that the compiler knows how every variable and every function/method is defined before the code is executed, so it does not search anything at runtime. On the other hand Python is a dynamically typed language, meaning that the compiler can’t identify what a name/variable/function/method represents until the code runs (and possibly, its interpreter parses/loads the program including all the required libraries for execution). As a result, Python executes a lot of searches at runtime, looking for variable/function and method names.
The notion that Python (here we are talking of pure Python cde that is not glued with C/C++ libraries such as Numpy, note also that there are actually compilers like Jython and Cython that compile Python programs, respectively, to Java and C bytecodes) is interpreted, but Java and C are both compiled, may have been correct in Python version 1 and early releases of Python 2, but it is currently incorrect. Later versions of Python 2, particularly from Python 2.6 and all versions of Python 3 compile to bytecode - which is then saved as a .pyc to make future execution faster. Such bytecode may be different to Java bytecode, but Python is still compiled, and its Virtual Machine executes that bytecode following the same basic principles as Java. Also read post #3 from simple-c-program-44
-
- Information
-
Who is online
Users browsing this forum: No registered users and 1 guest