A bit of background: I am familiar with PHP and Java, did some C, C++ and Lisp (gasp!) back in programming classes but never used them too much.
So, I've been wanting to step out of PHP a bit for web development. I have a few reasons for this (in no particular order): there's a lot of amateurish code(rs) in PHP, which somehow makes me look bad; I am unhappy with a few quirks in the language; and I really want to try something new. Here are the options I've been looking at:
Python and Ruby (on Rails): They both seem nice, but it looks like I'll have some difficulty finding webhosts that run these. And it appears that Python scripts aren't as portable as PHP (correct me if I am wrong).
ASP.NET: I have an issue with Microsoft software kind of existing in their own realm. I mean, MS has some really good tools for developers and if you stay within those tools your life is easy. But if you deviate just a bit out of it, you are on your own. And oh, it's not opensource.
So what do you recommend? And if I go with Python (it's tempting), should I use a framework like Django or web2py or should I go down and dirty with the basics (same thing with ASP.NET and MVC)?
Thanks in advance.
EDIT: What I don't like about PHP:
- No namespaces
- Implicit type conversions can cause problems
- Many silent errors
- No unicode support
- Slow
- ....
Sometimes it feels like the whole language has been hastily thrown together.