Smalltalk
Like SmallTalk, Ruby is also a dynamic pure face-to-object language. You don't need static specified data types, all things are objects. Moreover, both have garbage collection mechanisms.
In SmallTalk, the process control statement is also done by sending a message to an object, but sometimes this makes the program difficult to read. The control process structure in Ruby is conservative, and it is natural and easy to understand.
To be honest, SMALLTALK is what I don't know. The above nonsense is all from the Ruby author.
Perl
Ruby and other two PRS languages: Perl and Python are classified as scripting language (Scripting Language). There are three reasons:
1. They all support fast development cycles (editing - run - editing), do not need to be compiled.
2. To improve your efficiency, try to minimize your code quantity, for example, you don't need to define types, at least to tap several keys.
3. A lot of strong built-in libraries support the operation of text, file, and network.
Perhaps because it is a scripting language, many people think that the speed is slow, and cannot be used in large projects. However, maybe for CSH, but for Ruby and Perl, it is not suitable. Perhaps, Ruby is called "dynamic object-oriented language" than "scripting language is more appropriate".
Unlike Perl, Ruby is completely object-oriented language, OO is not ornament. Ruby is less symbolic, @,% and other symbols, these symbols are easy to mix for the screen small eyes. Ruby does not have much dependence on the context environment, and few implicit conversions.
For example, the length method of obtaining a string or array is as follows:
Ruby:
a = "abc"
a.length # => 3
a = [1, 2, 3]
a.length # => 3
Very simple, and in Perl, trouble some:
$ a = "abc";
Length ($ a); # => 3, IT's OK
@A = (1, 2, 3);
Length (@a); # => 1, not as expected
Scarar (@a); # => 3,
$ a = [1, 2, 3]; #
Length ($ a); # => 16, not as expected
Scalar (@ $ a); # => 3
Many perl functions in Ruby are packaged into clauses, so sometimes the Ruby program looks like a simple Perl program. Ruby inherited Many advantages of Perl, of course, did not introduce those annoying things, so if you are familiar with Perl, there may be ruby.
Python
The following is not entangled in Perl, and Python is said.
Let's talk about complaints: Why do you have to use zoom to determine the code structure, what is the List to do? Why is all Value not instance? Waiting for the problem that there is no need to worry in Ruby, and Ruby's purpose is to make the program more refined than Python short.
One problem with you is to be more objects, in Ruby, the length of the string is as follows:
Irb (main): 010: 0> a = "1234" => "1234"
Irb (main): 011: 0> a.length
=> 4
Irb (main): 012: 0>
In Python, you have to be more oriented:
Length (a)
Now I am right
Python
Not very familiar, not good, and so on will update some days.