Some of us may be thinking about which language(s) to learn. A lot of options are available: C, C++, Java, Kotlin, Python, Go, Dart, Swift etc. One of the popular questions is how to choose between Java and Python.
Should we be choosing a programming language based on
Rather, the factors we might wish to consider are:
Please refer to the following comparison of Java and Python
Github ranks Python as 2nd and Java as 3rd at
https://madnight.github.io/githut/#/pull_requests/2020/1
Java has 8 "yes" and Python has 5 "yes" at
https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites
"I’d also rather maintain someone else’s Java code"
https://hilton.org.uk/blog/maintenance-expressive-languages
More reading:
https://en.wikipedia.org/wiki/Comparison_of_programming_languages
Conclusion:
Java has the advantage of having some similarity with C, C++, C#. Learning java may provide easy access to learning C - family of languages and their markets. Overall, Java has been prevalent and still is strong at the time of writing this article.
On the other hand, Python is growing fast.
Application area for both Java and Python largely overlaps. Both are useful for the web. While it is not impossible to create desktop and mobile app in python, Java programmers have the advantage of access to desktop (j2SE), embedded systems, and the global apps (Android) market.
Based on these factors, learners may choose to learn both (1) Java and (2) Python. Even if these two cross each other in rank, they are expected to be two of top several languages for some time to come.
After those two, 3rd / 4th and other languages may depend on task at hand or other job requirements. It may be a good practice to have several languages up ones' sleeve. Learning too many languages might seem lucrative. Unfortunately, it may have detrimental effects as each language may get less attention.
Your feedback and any insight is appreciated.
Should we be choosing a programming language based on
- which one is easier to learn?
- which one is easier to program in?
Rather, the factors we might wish to consider are:
- Academic rigor
- Global trends for businesses/job market
- Global trends for learners
- Local trends for businesses/job market
- Local trends for learners
- Which language is better for long term software project maintainability
Please refer to the following comparison of Java and Python
Worldwide
|
Bangladesh
|
Reference
|
|
Business
/Market
|
Java 1st,
Python 3rd
|
TIOBE,
both current month and Very Long Term History
|
|
Learners
|
Java 2nd,
Python 1st
|
||
Mixed
|
Java 2nd,
Python 3rd
|
||
Google
Trends
|
Java < Python
14 < 19
|
Java > Python
12 > 4
|
|
Linkedin
Jobs
|
Java > Python
304,153 > 230,553
|
Java > Python
16 > 9
|
Worldwide:
Bangladesh:
|
BdJobs
|
Java > Python
6 > 4
|
Github ranks Python as 2nd and Java as 3rd at
https://madnight.github.io/githut/#/pull_requests/2020/1
Java has 8 "yes" and Python has 5 "yes" at
https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites
"I’d also rather maintain someone else’s Java code"
https://hilton.org.uk/blog/maintenance-expressive-languages
More reading:
https://en.wikipedia.org/wiki/Comparison_of_programming_languages
Conclusion:
Java has the advantage of having some similarity with C, C++, C#. Learning java may provide easy access to learning C - family of languages and their markets. Overall, Java has been prevalent and still is strong at the time of writing this article.
On the other hand, Python is growing fast.
Application area for both Java and Python largely overlaps. Both are useful for the web. While it is not impossible to create desktop and mobile app in python, Java programmers have the advantage of access to desktop (j2SE), embedded systems, and the global apps (Android) market.
Based on these factors, learners may choose to learn both (1) Java and (2) Python. Even if these two cross each other in rank, they are expected to be two of top several languages for some time to come.
After those two, 3rd / 4th and other languages may depend on task at hand or other job requirements. It may be a good practice to have several languages up ones' sleeve. Learning too many languages might seem lucrative. Unfortunately, it may have detrimental effects as each language may get less attention.
Your feedback and any insight is appreciated.