Fortunately, I still keep passion about the new things. Especially for the programming languages. from the moment that I first met c language, I wonder whether other various language look like. are they also static strong type? Are they have the unpleasant points? Are they contructed by the function invoking and variables? Are they general purpose or somethings like shell script? All in all, I seek for other interesting features in other language. In a word, I attempt to find somethings common points and different parts respectively.

"All Language are just tools to solve problems"

What a concise summary! languages are just tools to solve particular problems. On one hand, Allthought each one has merits and its area of expertise, you can just show the most suitable for the specific problem. On the other hand, all roads to Roman. Classical book SICP tells me that except the essential programming paradigms difference under the two branches of functional and imperative, all their sub-branches share lots of commons. the only main difference lies in the discrepancy of syntax sugar. For instance, their all have basic and similar syntax. basic data type(though may distinguish between strong and weak type, dynamical and static), Conditional statement(though it seems little different, such as if else for C Java, if ; then elif done for shell, if : for python. ), Control flow (such as for loop, while loop, break, continue), also some basic data structure, such as array, list, hashmap ( or dictionary in Python and Perl). also some basic function( no matter it's member function of OO language or function), And also the most important part is its function library(C,C++) or Package(Java) or Module(Perl or Python). However, In some kinds, you can also think that the above things is just touch the superical part of languages. Because You can't become an experience and professional programmers with just that. As an chinese old sayings: a man can lead a horse to the water but he cannot make him drink. For the practical enterprise project development, there are often two focus: the develop efficiency and quality of product. there are lot of principals and conventional. it is that distinguish the normal and professional programmers. these potential things can alos thought as something like design pattern and software engineering. All right, we get involved too much.

Intersting features borrowing

To design a language is to shut oneself up in a room making a cart, they all borrow a lot of excellent features in exising languages. For instance, Perl borrows features from other languages including C, shell scrpting, AWK, sed. which obviously will provide it great power in the text processing applications tasks. Python's design philosophy emphasizes the code readability. Ruby is a dynamic, reflective, general-purpose pure OO languages that combines syntax inspired by Perl with Smalltalk-like features. It also was influenced by Eiffel and Lisp.