Java vs PHP vs Python

Need advice about which tool to choose?Ask the StackShare community!

Java

74.4K
53.1K
+ 1
3.5K
PHP

98.5K
43.8K
+ 1
4.5K
Python

117K
91.3K
+ 1
6.4K
Decisions about Java, PHP, and Python

Python has become the most popular language for machine learning right now since almost all machine learning tools provide service for this language, and it is really to use since it has many build-in objects like Hashtable. In C, you need to implement everything by yourself.

C++ is one of the most popular programming languages in graphics. It has many fancy libraries like eigen to help us process matrix. I have many previous projects about graphics based on C++ and this time, we also need to deal with graphics since we need to analyze movements of the human body. C++ has much more advantages than Java. C++ uses only compiler, whereas Java uses compiler and interpreter in both. C++ supports both operator overloading and method overloading whereas Java only supports method overloading. C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.

See more
Kirill Mikhailov

Go is a way faster than both Python and PHP, which is pretty understandable, but we were amazed at how good we adapted to use it. Go was a blessing for a team , since strict typing is making it very easy to develop and control everything inside team, so the quality was really good. We made huge leap forward in dev speed because of it.

See more
Chose
PythonPython
over
ScalaScala

I am working in the domain of big data and machine learning. I am helping companies with bringing their machine learning models to the production. In many projects there is a tendency to port Python, PySpark code to Scala and Scala Spark.

This yields to longer time to market and a lot of mistakes due to necessity to understand and re-write the code. Also many libraries/apis that data scientists/machine learning practitioners use are not available in jvm ecosystem.

Simply, refactoring (if necessary) and organising the code of the data scientists by following best practices of software development is less error prone and faster comparing to re-write in Scala.

Pipeline orchestration tools such as Luigi/Airflow is python native and fits well to this picture.

I have heard some arguments against Python such as, it is slow, or it is hard to maintain due to its dynamically typed language. However cost/benefit of time consumed porting python code to java/scala alone would be enough as a counter-argument. ML pipelines rarerly contains a lot of code (if that is not the case, such as complex domain and significant amount of code, then scala would be a better fit).

In terms of performance, I did not see any issues with Python. It is not the fastest runtime around but ML applications are rarely time-critical (majority of them is batch based).

I still prefer Scala for developing APIs and for applications where the domain contains complex logic.

See more
Pros of Java
Pros of PHP
Pros of Python
  • 572
    Great libraries
  • 433
    Widely used
  • 396
    Excellent tooling
  • 378
    Huge amount of documentation available
  • 328
    Large pool of developers available
  • 197
    Open source
  • 192
    Excellent performance
  • 150
    Great development
  • 143
    Used for android
  • 142
    Vast array of 3rd party libraries
  • 54
    Compiled Language
  • 46
    Used for Web
  • 42
    Managed memory
  • 42
    Native threads
  • 40
    High Performance
  • 35
    Statically typed
  • 31
    Easy to read
  • 29
    Great Community
  • 25
    Reliable platform
  • 23
    JVM compatibility
  • 22
    Sturdy garbage collection
  • 19
    Cross Platform Enterprise Integration
  • 18
    Universal platform
  • 16
    Great Support
  • 16
    Good amount of APIs
  • 11
    Lots of boilerplate
  • 10
    Great ecosystem
  • 10
    Backward compatible
  • 9
    Everywhere
  • 7
    Excellent SDK - JDK
  • 6
    Mature language thus stable systems
  • 5
    Better than Ruby
  • 5
    Portability
  • 5
    Cross-platform
  • 5
    Static typing
  • 5
    Clojure
  • 5
    It's Java
  • 4
    Old tech
  • 4
    Vast Collections Library
  • 3
    Most developers favorite
  • 3
    Stable platform, which many new languages depend on
  • 3
    Long term language
  • 3
    Great Structure
  • 3
    Best martial for design
  • 3
    Used for Android development
  • 2
    Testable
  • 1
    Javadoc
  • 937
    Large community
  • 800
    Open source
  • 754
    Easy deployment
  • 480
    Great frameworks
  • 384
    The best glue on the web
  • 230
    Continual improvements
  • 180
    Good old web
  • 141
    Web foundation
  • 130
    Community packages
  • 123
    Tool support
  • 31
    Used by wordpress
  • 30
    Excellent documentation
  • 25
    Used by Facebook
  • 23
    Because of Symfony
  • 16
    Dynamic Language
  • 14
    Awesome Language and easy to implement
  • 12
    Fast development
  • 11
    Cheap hosting
  • 11
    Very powerful web language
  • 9
    Flexibility, syntax, extensibility
  • 9
    Composer
  • 9
    Because of Laravel
  • 7
    Easy to learn
  • 7
    Short development lead times
  • 7
    Worst popularity quality ratio
  • 7
    Fastestest Time to Version 1.0 Deployments
  • 7
    Readable Code
  • 6
    Easiest deployment
  • 6
    Fast
  • 6
    Faster then ever
  • 5
    Most of the web uses it
  • 4
    Open source and large community
  • 4
    I have no choice :(
  • 3
    Easy to learn, a big community, lot of frameworks
  • 3
    Is like one zip of air
  • 3
    Has the best ecommerce(Magento,Prestashop,Opencart,etc)
  • 3
    Cheap to own
  • 3
    Simple, flexible yet Scalable
  • 3
    Easy to use and learn
  • 2
    Hard not to use
  • 2
    Large community, easy setup, easy deployment, framework
  • 2
    Safe the planet
  • 2
    Walk away
  • 2
    Great flexibility. From fast prototyping to large apps
  • 2
    Used by STOMT
  • 2
    Great developer experience
  • 2
    Open source and great framework
  • 2
    Fault tolerance
  • 2
    FFI
  • 2
    Interpreted at the run time
  • 1.1K
    Great libraries
  • 920
    Readable code
  • 814
    Beautiful code
  • 763
    Rapid development
  • 668
    Large community
  • 414
    Open source
  • 375
    Elegant
  • 264
    Great community
  • 257
    Object oriented
  • 206
    Dynamic typing
  • 68
    Great standard library
  • 51
    Very fast
  • 47
    Functional programming
  • 33
    Scientific computing
  • 31
    Easy to learn
  • 29
    Great documentation
  • 25
    Matlab alternative
  • 22
    Productivity
  • 21
    Easy to read
  • 19
    Simple is better than complex
  • 17
    It's the way I think
  • 17
    Imperative
  • 15
    Very programmer and non-programmer friendly
  • 14
    Free
  • 14
    Powerful
  • 13
    Fast and simple
  • 13
    Powerfull language
  • 12
    Scripting
  • 9
    Machine learning support
  • 9
    Explicit is better than implicit
  • 8
    Ease of development
  • 8
    Unlimited power
  • 7
    Import antigravity
  • 7
    Clear and easy and powerfull
  • 6
    Print "life is short, use python"
  • 6
    It's lean and fun to code
  • 5
    Great for tooling
  • 5
    Fast coding and good for competitions
  • 5
    There should be one-- and preferably only one --obvious
  • 5
    Python has great libraries for data processing
  • 5
    High Documented language
  • 5
    I love snakes
  • 5
    Although practicality beats purity
  • 5
    Flat is better than nested
  • 4
    Readability counts
  • 3
    Multiple Inheritence
  • 3
    Complex is better than complicated
  • 3
    Lists, tuples, dictionaries
  • 3
    Plotting
  • 3
    Rapid Prototyping
  • 3
    Great for analytics
  • 3
    Socially engaged community
  • 3
    Beautiful is better than ugly
  • 3
    CG industry needs
  • 2
    No cruft
  • 2
    Easy to learn and use
  • 2
    List comprehensions
  • 2
    Generators
  • 2
    Special cases aren't special enough to break the rules
  • 2
    Now is better than never
  • 2
    If the implementation is hard to explain, it's a bad id
  • 2
    If the implementation is easy to explain, it may be a g
  • 2
    Simple and easy to learn
  • 2
    Import this
  • 1
    Powerful language for AI
  • 1
    Because of Netflix
  • 1
    Pip install everything
  • 1
    Web scraping
  • 1
    Better outcome
  • 1
    Batteries included
  • 1
    Easy to setup and run smooth
  • 1
    It is Very easy , simple and will you be love programmi
  • 1
    Only one way to do it
  • 1
    A-to-Z
  • 1
    Many types of collections
  • 1
    Flexible and easy
  • 0
    Pro
  • 0
    Powerful

Sign up to add or upvote prosMake informed product decisions

Cons of Java
Cons of PHP
Cons of Python
  • 29
    Verbosity
  • 23
    NullpointerException
  • 15
    Overcomplexity is praised in community culture
  • 13
    Nightmare to Write
  • 10
    Boiler plate code
  • 8
    Classpath hell prior to Java 9
  • 6
    No REPL
  • 4
    No property
  • 2
    Code are too long
  • 2
    There is not optional parameter
  • 2
    Floating-point errors
  • 1
    Terrbible compared to Python/Batch Perormence
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Non-intuitive generic implementation
  • 1
    Returning Wildcard Types
  • 19
    So easy to learn, good practices are hard to find
  • 16
    Inconsistent API
  • 8
    Fragmented community
  • 5
    Not secure
  • 2
    No routing system
  • 1
    Hard to debug
  • 1
    Old
  • 49
    Still divided between python 2 and python 3
  • 26
    Poor syntax for anonymous functions
  • 26
    Performance impact
  • 18
    GIL
  • 18
    Package management is a mess
  • 13
    Too imperative-oriented
  • 12
    Hard to understand
  • 10
    Dynamic typing
  • 8
    Very slow
  • 8
    Not everything is expression
  • 7
    Indentations matter a lot
  • 7
    Explicit self parameter in methods
  • 6
    Poor DSL capabilities
  • 6
    No anonymous functions
  • 6
    Requires C functions for dynamic modules
  • 5
    Hard to obfuscate
  • 5
    The "lisp style" whitespaces
  • 4
    The benevolent-dictator-for-life quit
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    Threading
  • 4
    Fake object-oriented programming
  • 4
    Incredibly slow
  • 3
    Not suitable for autocomplete
  • 3
    Official documentation is unclear.
  • 2
    Circular import
  • 1
    Training wheels (forced indentation)
  • 1
    Meta classes

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Java?

Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

What is PHP?

Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.

What is Python?

Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Java?
What companies use PHP?
What companies use Python?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Java?
What tools integrate with PHP?
What tools integrate with Python?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Sep 29 2020 at 7:36PM
https://img.stackshare.io/company/165617/cbd54fc70c90bdc732b07283f2a61ca8fb8980bd.png logo

WorkOS

PythonSlackG Suite+17
6
2115
PythonDockerKubernetes+7
3
603
PythonDockerAmazon S3+14
11
1886
Oct 24 2019 at 7:43PM
https://img.stackshare.io/stack/513891/default_86b138c409d64e353c3d509121b4ac1dd9cf31c4.png logo

AppSignal

JavaScriptNode.jsJava+8
5
660
Oct 3 2019 at 7:13PM
https://img.stackshare.io/stack/511159/default_5f04358e03a27bf2607a39dd9b409dd7830ce4d3.png logo

Ably Realtime

JavaScriptPythonNode.js+8
4
3130
What are some alternatives to Java, PHP, and Python?
C
Abstract
Abstract builds upon and extends the stable technology of Git to host and manage your work.
Go
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Kotlin
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
See all alternatives
Interest over time