Take the 2-minute tour ×

I already know Java, C# and C++. Now I want to start with web development and I saw that some really big sites are built with Python/C++. I like the coding style of Python, it looks really clean, but some other things like no errors before runtime is really strange.

However, I don't know what I should learn now. I started with Python but then I saw that Google App Engine also supports Java and the PlayFramework looks amazing too.

Now I am really confused. Should I go with Python or Java? I found the IDE for Python "PyCharm" really amazing for web development. Does Java have something similar, eclipse maybe?

I know that this question isn't constructive, but it will help me with my decision. What are pro and cons of both languages?

share|improve this question
probably post this on <programmers.stackexchange.com>; –  Aशwini चhaudhary Jul 1 '12 at 10:31
add comment

closed as not constructive by Bo Persson, Sean Owen, tcaswell, jeb, luser droog Feb 28 '13 at 1:41


3 Answers

up vote 4 down vote accepted

I just want to add, that if it is a requirement for you that it is compatible with GAE, then I think Django is the best choise. Playframework is of version 2.0 no longer compatible with GAE.

share|improve this answer
add comment

PyCharm is an IDE created by JetBrains. Originally, JetBrains only had one product, IntelliJ IDE (a Java IDE), and PyCharm and all the other products were spawned from that one highly successful product.

As for which language, I would suggest trying to do something small (but feature rich enough to be a holistic test) with all 3 and see which one works best for you. Language choice is a massive question, and depends on personal factors, project factors and many other besides. Therefore I won't even begin to tell you which one is best (because it would be what is best for me, in my situation).

share|improve this answer
add comment

It depends on you. What do you want more: learn new programming language or learn how to make web apps?

I just started few PLay tutorials and it's really great. PLay 2 is even more amazing than previous one. I'd like to learn Scala, so it's perfect for me, but also because of that it's not GAE compatible anymore, but come on, there are other ways to deploy apps, I'd like to try OpenShift (dunno if it's possible, I'll try it soon).

I'm also a big fan of Python, so it's naturally that I'm also looking for frameworks to build apps in that. I would say, that Django isn't the only choice. I had few tries with Django, right now I'm trying web2py. As many stated, Django has quite hard learning curve. Web2py should be better, but I don't like the 'wizzard' way of scaffolding apps.

I've used Bottle (Flask is similar) and it's great for small apps. RESTful apps are super-easy with them, so maybe it should be your starting point.

From what I've read about Python's frameworks:

  • Django is quite good for typical websites/CMS-like, hard to learn
  • web2py very interesting --- I'm in the middle of testing that, Reddit's using it?
  • web.py -- minimalistic, lightweight framework, you have to build webapp almost from scratch
  • Tornado/Twisted --- fast, async frameworks
  • Flask/Bottle --- very nice microframeworks. Great for REST services

I've not tried them all, but it's what I've found out during reading the web/blogs etc.

I'm looking for something like Play Framework 2.x but in Python(ideally 3) :)

share|improve this answer
add comment
