Hello, I already know PHP to build websites and I would like to know another language for creating websites. So I hesitate between Python with Framework Django or Ruby with Ruby on Rails Can you tell me which is the best choice. Which is more productive, faster, and sécuisé may be suitable for very large sites with high traffic. I await your advice. Thank you!
Ruby on Rails has problems scaling. If you are just doing small basic sites that will never have more than 50 users, it's fine, but I would reccomend against it. Haven't used Django but I hear its decent.
If ruby on rails keeps being improved, it might eventually replace PHP. Does anyone remember when everyone said PHP wouldn't scale? Now yahoo has converted most of their site to PHP, and facebook is PHP 5.2 based. Of those languages, I would suggest learning ROR. Then just keep building your large scale applications in PHP. If I might suggest an alternative to those to, I would say a C# or ASP.Net or similar. Compiled websites are blisteringly fast for switch type statements or math functions
Ruby seems to be the way future web-dev is going, however at this point you might want to stick with something more established.
Thank you for your reply Ruby on Rails is not good for large sites? I think that Twitter is still running with Ruby on Rails (in any case before) Why Django is not good? Are there other Framework Python for Web sites better than Django? I also heard that Google Code is encoded with Django. Otherwise I do not use Java because it is too heavy for websites and very expensive development and hosting.
AFAIK Rails has more powerful ORM than Django. If you need a Python web framework with more powerful ORM, take a look at Pyramid.
Try both, and you decide which you like more. I work as a PHP Developer, but in my free time I like to use Rails, also have a website with Rails(which you can see in my details)
Try both, and you decide which you like more. I work as a PHP Developer, but in my free time I like to use Rails, also have a website with Rails(which you can see in my details)
Rails can scale better than you guys think. Sure, it's not the absolute best, but if done correctly, it can handle way more than 50 users like @om39a said. There is also a ruby implementation that runs on the JVM which has large performance gains over standard ruby (it's called jRuby). Sure, if you're planning on >1,000 users (arbitrary number of users), you might want to look into something else, but let's be realistic. How many websites will actually enjoy that kind of success?
I would rock out Python - check out the Django Framework, and for the comment that said Facebook uses PHP while that is true they also have written scripts that convert PHP to Python - Python is definitely scaleable as is most languages with the right architecture. Scalability is mostly based on how you set up your infrastructure. Ruby on Rails is actually based off of python, it is a pretty popular language, it's going to be a preference that is going to be up to you.
I used to program in PHP and have used both django and rails. I've ended up working a lot more in rails simply because I enjoy Ruby's syntax better than Python's. As far as scale goes with rails some of that is due to Ruby and some is due to people's inefficient uses of the rails framework. Regardless of which one you choose you'll get the most mileage out of a framework after you dig in and really grok how it works.
Honestly, unless you are developing the new Twitter or another 100m+ social network beast, there really is no difference in performance. Most performance gain is won by following correct design patterns for the framework and language you are developing in. If you develop the same site in Django and Rails, good luck getting performance differences that your users are going to notice.
I am php developer so i can-not give exactly answer for this question...I want to say something that you should use JAVA- J2EE Fro high traffic and high scalability..
Actually, Facebook is coded in PHP, but they convert that to C++. Hence, not really PHP-driven anymore, just coded in it
This doesn't make sense. You claim to already know PHP but you would rather start from scratch and learn an entirely new language for your next "high traffic" "large" project? Why????? That is ridiculous. Perhaps you only know the basics of PHP because your doubt should be in YOUR skill, not the language. Productivity does not come from the language. It comes from YOUR ability to use it. The speed of most modern interpreted languages are hindered NOT by the language itself but by the interaction and connectivity of a databases. Even then it's not noticeable when done right. High Traffic is very subjective term. High Traffic to one person could mean 50,000 a month or 5,000,000,000 a month to another. Most web sites that ONLY receive 1 million visitors a month may not even have to cache or use additional tools for performance. When you get to the point where you have to cache your web site will be more than capable of supporting millions of visitors with any interpreted language. It doesn't matter whether you choose PHP, Python, Perl, or Ruby. If just depends on your skillset and experience with the language. When/If you reach the level of hundreds of millions of requests I am quite sure you will be so well off financially you can hire several dorks and dworfs to site around a computer and re-develop the site in fricken machine code if you want..... but right now until you are a millionaire with the foreseeable future of technical problems due to your interpreted language ANY will serve it's purpose and work quite well.
Holy shit people... If you like Ruby, you'll prolly like Rails. if you like Python, you'll prolly like Django. It's that simple. Each framework inherits very well from the parent languages philosophy and ecosystem. Just play a bit and see which one you like. They're basically the same. There's nothing you can do in one you can't do with the other. Now go make something.
Ruby, you will get results faster. I worked with Django, Rails, Flask and also PHP. The best tool for starting a web project is Ruby. Django is not so good at the beginning, even Flask is harder than Ruby if you want to use databases and templates (you almost always use them). Flask: is python micro web framework.