Ruby or Python?

Source: Internet
Author: User
Tags ruby on rails

Recently, I need a fast development language. Currently, the hot and fast development languages are Python and Ruby. Ruby and Python are both excellent scripting languages. Although their design philosophy is almost completely different, they are very efficient and have little difference in the application field. It seems that Ruby and Python are naturally competitors. Which one should I choose? I made some simple comparisons.

When we compare the two languages, aside from performance issues, we generally care about resource and learning curves.

The general impression is that if Python is Java, Ruby is. net. We know that the Java World is very complex and diverse. There will be many open-source projects for any requirement. They are implemented with different ideas and have different performance characteristics, it is always hard. This is also true for Python, which is much more difficult to develop than Java, resulting in much more Python-related projects than Java.

The two communities are very strong in terms of resources. Interestingly, there is now a risk of Ruby assimilation in the Java Community. At least I have subscribed to several Java blogs and talked about Ruby more than Java. Ruby communities are concentrated, while Python is scattered. I always suspect that there are many Japanese Ruby users, but it is difficult to confirm this idea because I do not understand Japanese. I am always a little afraid of a non-English-speaking founder. I am afraid that it is difficult to understand him or get the latest news. Although this worry does not seem necessary, who knows what will happen!

The reason why Ruby has suddenly become popular is inseparable from the rails architecture. To consider Ruby, we must consider Ruby on rails. Rails provides a very good web development framework with high development efficiency. Although Python has many similar architecture implementations, there is no uniform architecture. Although Python's zend is complete, it is more inclined to web servers and cannot be compared with rails.

Ruby is easier to use than pyton. From the perspective of language features, Ruby has many interesting creations, such as block, but large-scale application of these fun things makes programs messy. The Python syntax emphasizes simplicity, but it is too flexible and too simple, so traditional programmers often see some surprising expressions. I don't know whether this is an advantage or a disadvantage. At least I think the syntax is too flexible, which may lead to a large difference in the Code style of different programmers and increase the learning cost.

Ruby is easier to get started at the early stage, but once it reaches a certain level of complexity, Ruby becomes more difficult. It is not easy to get started with Python, and it will not be too painful when complicated. Rails is easy to get started. What is the purpose of the Directory generated by rails? How to Implement o/r mapping? How to pass data from the web to the database. These are issues that Ruby programmers will face sooner or later. Python won't do this. If you don't know about this, you probably won't be able to start. Quick development tools with a high degree of integration have this feature, whether it is VB, Delphi, or. net, how many developers who have used it for less than half a year can clearly explain the usage of all files under the project directory and the syntax in each file? I believe that many experienced users may not make it clear.

In terms of architecture, although the two are actually very different, the results shown in the end are very similar. Ruby is a pure OO language, while Python is a mix of functions and OO. Although Ruby can also use function-style encoding, it is actually simulated. Their gap does not have much impact on common programmers. After all, it seems similar.

In general, Ruby is suitable for non-professionals who are new to development. For professional programmers, I suggest using Python.

For future development, I think the development of Python is foreseeable and stable. Python already belongs to a community, not a person. But for various reasons, Ruby's author maze's Will will still have a great impact on Ruby's development. Sun controls Java, but due to sun's powerful resources and jcp's overall planning, Java has developed very well. However, it still takes time to prove whether Ruby can achieve this.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.