A couple of years back, Java was considered one of the most popular programming languages, but recently Python has also gained popularity as well. As a result, both of these languages are often compared and contrasted with one another. Let’s have a look at some of the differences:
- Processing of Source Code
Java uses a compiler to translate the source code into machine language, which is then run by the Java Virtual Machine (JVM). Here the source code is already in a “translated” form at runtime.
However Python makes use of an interpreter to directly translate the source code, line by line, at runtime. Thus it is somewhat slower than Java.
2. Termination of Statements
In Java, statements must end with a semicolon. This means that you can write any number of statements on the same line, provided you terminate each of them with a semicolon. In contrast, Python requires that you end each statement with… a line break! Going to a new line is the only way of ending a statement in Python, so no two statements can be on the same line. (However if you want to continue a statement on the next line in Python, end the current line with a backslash (\).)
Java | Python |
int a = 5; int b = a + 1; | a = 5 b = a + 1 |
3. Demarcation of Statement Blocks
A block refers to a group of statements that can be used anywhere a single statement is allowed. In Java the statements that are part of a block are enclosed within curly braces (‘{}’). Indentation is also often done to make the code easier to read, but is not a requirement for the code to be syntactically correct.
In Python, however, indentation is what decides which block a particular statement is in. If your Python code isn’t indented properly, it won’t even run properly.
Java | Python |
int a = 5; if (a > 0){ System.out.println(“Positive”); } System.out.println(“Outside the if”); | a = 5 if a >0: print(“Positive”) print(“Outside the if”) |
4. Types of Variables
Java demands that the type of a variable should be mentioned when it is declared (statically typed). This helps allocate enough memory for the variable when it gets a value.
However, in Python, the type of the variable is not mentioned when one is created. In addition, the value of the variable must be mentioned at declaration, which in turn decides the type of the variable (dynamically typed). This also means that in Python, the variable can change its type, if necessary, to accommodate different values.
Java | Python |
int a1; a1 = 5; double a2 = 10.0; String a3 = “Hello”; | a = 5 a = 10.0 a = “Hello” |
We have seen some differences between Python and Java in this post. Join me as I compare and contrast more topics…
This post is a guest post for alphabet ‘J’ for the #BlogchatterA2Z challenge 2020. Stay tuned for next week’s posts…
Nice Article Bala!
A topic I’m entirely unfamiliar with but you have explained it well.
Good to know that works too! I learn so much from you as well! Keep it up great post.