- 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 1 hour ago Re: What is in Your Mind? View the latest post Replies 696 Views 286569
- by Eli 11 hours ago Russia Invades Ukraine View the latest post Replies 655 Views 222346
- by Eli 1 day ago Collection of Greatest Christian Hymns of all Times View the latest post Replies 34 Views 55491
- by Eli 2 days ago Pondering Big Cosmology Questions Through Lectures and Dialogues View the latest post Replies 34 Views 57051
- by Eli 3 days ago Programmatically Manipulate Files: Renaming, Reading, Writing, Deleting, and Moving Files Between Folders View the latest post Replies 7 Views 4601
- by Eli 1 week ago Iran Launches Retaliatory Attack Against Israel, and Israel Retaliates by Attacking Iranian Isfahan Millitary Base View the latest post Replies 28 Views 4146
- by Eli 1 week ago All in One: YouTube, TED, X, Facebook and Instagram Reels, Videos, Images and Text Posts View the latest post Replies 319 Views 21506
- by Eli 1 week ago Python Packages for Scientific Computing View the latest post Replies 8 Views 11274
- by Eli 1 week ago Dunia Yetu: Building Tanzania's Digital Future Together View the latest post Replies 5 Views 2045
- by Eli 3 weeks ago What is Retrieval-Augmented Generation (RAG)? View the latest post Replies 2 Views 3301
-
What do these terminologies mean in programming (or computer science) context?
- Eli
- Senior Expert Member
- Reactions: 183
- Posts: 5356
- 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 0 guests