Escolar Documentos
Profissional Documentos
Cultura Documentos
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.
If I were to implement a web application from scratch today, which app stack should I go for? Three main candidates are java, python and Ruby on Rails (RoR). There is also .NET, but its biased towards M$. Pro-java: 1 )S t a c k so ft h i c kb o o k s 2 )L a r g e s td e v e l o p e rc o m m u n i t y 3 )T y p e dl a n g u a g e s ,w h i c hp r e v e n t ss u b t l eb u g s 4 )A u g m e n t e dw i t hg r o o v yi n t e r p r e t e dl a n g u a g e Pro-python: 1 )C o n c i s ec o d e 2 )T h i nb o o k s 3 )C a nl a u n c hw e ba p pf o rf r e eo nG o o g l eA p p s Pro-RoR: 1 )C o n c i s ec o d e 2 )T h i nb o o k s 3 )R u b ym a yb es l i g h t l yb e t t e rp r o g r a m m i n gl a n g u a g et h a np y t h o n ,b u tt h e ya r ec o n v e r g i n g . Overall, there is not much choice between python/RoR. The choice I have to make is between Java and Python. I slightly favor java because it is a typed language, but my good friend favors python because it is more concise. Does thick java books means its solutions are more comprehensive (and I have to write lesser code myself)?
web-applications
closed as off-topic by Tim Medora, HansUp, torazaburo, Drew, Carl Veazey Sep 7 at 5:16
This question appears to be off-topic. The users who voted to close gave this specific reason: "Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." Tim Medora, HansUp, Drew If this question can be reworded to fit the rules in the help center, please edit the question.
8 Answers
Pick which is familiar to you and run with it. Or you can pick Django on Jython to get best of Java libraries and Python's speed-coding. stackoverflow.com/questions/442216/java-or-python-or-ruby-for-web-application
1/4
12/22/13
Java or Python or Ruby for Web Application? - Stack Overflow Or you can pick Django on Jython to get best of Java libraries and Python's speed-coding.
Or pick Java if you need to convince somebody that it is enterprise-y. I would say if you're working alone / in a small team, then just pick the one that requires least resources (hint: Python).
answered Jan 14 '09 at 7:53 Swaroop C H 6,443 5 28 41 add comment
Anti-Java: verbose, sometimes cumbersome poor choice for template scripting (can be mitigated by using a secondary scripting language such as Groovy, Jython etc.) Anti-Python: no particular standard framework, must research and choose (or just use standalone utility modules on top of WSGI) still relatively limited hosting options (other than GAE or own server) Anti-RoR: no native Unicode, in a modern web scripting language? For shame potential performance scaling issues Personally I ended up with Python, but all these options - as well as .NET - are easily defensible.
answered Jan 14 '09 at 8:11 bobince 240k 46 309 520 There also seems to be a python interface for Amazon S3, EC2. So these are valid hosting options for python. phaedrus Jan 14 '09 at 8:18 For java template scripting have a look at Spring/Freemarker. Freemarker is probably the best templating software around. James Anderson Jan 14 '09 at 8:35
Ruby 1.9 includes native Unicode support and Rails has backported it since Rails 1.2. Also "Rails doesn't scale" is a meme in the Rails community: it will scale. Chris Lloyd Jan 14 '09 at 10:04
add comment
Is your app mostly presentation, database (CRUD type maintenance) , or lots of backend logic. For mostly presentation I would go Pythin/Django (or even php). For simple CRUD RoR has it licked. For anything with heavy backend logic, or, which uses an existing legacy database I would go for the java servlets using Spring with Freemarker, Ibatis and Tomcat or Jetty. P.S. Don't worry about scalability performance -- nothing will scale as well as the Tomcat/java solution.
answered Jan 14 '09 at 8:05 James Anderson 17.1k 2 22 45 add comment
Background : I'm a professional Java developer that does Django on the side. Java Java is used mainly in the enterprise, and there are very good reasons for it. Java is a good solution if you need a language that is mature, has good support for concurrency, transactions, access to multiple databases ... Java is also a very stable platform. And by stable, I dont mean that it has fewer bugs than
stackoverflow.com/questions/442216/java-or-python-or-ruby-for-web-application
2/4
12/22/13
I would recommend Java and Spring framework - it solves all the burden of typical Java web application and provides you with clear way to get what you want. I personally use Hibernate - JPA - Spring framework (or Spring Web Flow) - Tiles - Freemarker stack that gives me ability to create new web applications rather fast, but altogether they impose rather steep learning curve. I would suggest - just give Spring a try for a start.
edited Sep 6 at 23:06 informatik01 3,035 3 11 31 add comment answered Jan 14 '09 at 9:56 miceuz 1,274 1 13 22
If it is going to be in production, use the technology what you know best currently. Learning a new framework, language or technology can cause delays and in the beginning your code quality will be lower.
answered Jan 14 '09 at 7:54 wvb 196 1 2 add comment
Unless you are in a Java/.net shop or there is a specific reason why you would use Java/.net, I would suggest one of the platforms that is more optimized for web development: Python/Django (or Ruby/Rails, PHP/CodeIgniter/Cake). You'll find Python/Ruby/PHP so much easier to learn, deploy, program, etc. There is plenty of literature about them and plenty of support resources. All have been used to produce major web sites (YouTube on Python, Twitter on Ruby, Facebook on PHP).
answered Jun 15 '09 at 2:51 pbreitenbach 3,653 3 16 17 add comment
stackoverflow.com/questions/442216/java-or-python-or-ruby-for-web-application
3/4
12/22/13
Using maven for building, Java is quite easy to set up (atleast now). phaedrus Jan 14 '09 at 12:56
add comment
Not the answer you're looking for? Browse other questions tagged web-applications or ask your own question.
stackoverflow.com/questions/442216/java-or-python-or-ruby-for-web-application
4/4