In choosing a technology for internet applications where the number of users may
ID: 639561 • Letter: I
Question
In choosing a technology for internet applications where the number of users may scale over time, which one should we consider: Java or Python? What are the considerations in choosing one and not the other? If speed and scalability is our main criteria, which one should we use?
We have looked around and it seems that there are more websites that use Python [i.e : Quora, digg, reddit, bitbucket and disqus] than Java. Based on that, can we say that Python is more suitable for internet applications where speed and scalability is the main criteria?
However we have browsed around and found some comments saying that Java is actually faster than Python.
Thank you for your insights.
Explanation / Answer
Python wins over Java on speed of development, and conciseness of code. This generally makes Python a better choice for small startups for whom speed to market, and ability to implement new features matters most. All of the sites that you mention chose Python when they were small startups. Only later did they have to scale. Websites tend to be horizontally scalable, meaning that for a surprising range of volumes of traffic you can just throw more webservers at it and the bottlenecks will be at other layers (for instance the database).
Java wins over Python on speed of execution, the toolchain, availability of developers, and the ease of having a lot of people working together on a large project. For many established corporations, this set of features matters more than speed of development, and so there are a lot of Java jobs out there.
Addressing the points that Anna brought up:
Ruby is similar to Python, except with worse performance and different aesthetics. Twitter is a good example of a site that uses Ruby. (They've moved away from it for internal batch jobs because of performance problems. But as far as I know, they still use it for webserving.)
C# can be thought of as another iteration of Java that is fairly closely tied to the Microsoft technology stack. This site is developed on top of C#. (Yes, you can run C# on top of Mono, but grab 10 random C# developers and the odds are good that all 10 are running on Windows.)
PHP has similar trade-offs to Ruby or Python. However PHP has the dubious distinction of being a poorly designed language that appeals to people want to get stuff done with as little programming knowledge as possible. Facebook is far and away the biggest site written in PHP. Many popular web applications (like Wordpress) are written in PHP.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.