> Since you chose to announce it in this mailing list/newsgroup, may I > suggest that a comparison with Python is in order? >
To make a reasonable comparison with Python, I need to spend more time to investigate into python, since so far I only know some basic things in Python :-). But I can ensure that Tao is very different from Python, and it will be more different in the future. > Since it is a new scripting language, I'm not suggesting a language war, > but rather a simple statement of how Tao differs from Python, and what > "itch" you were trying to scratch when you designed your new language. Well, I started to design this language, because I work on bioinformatics and I hardly found any language that really satisfied me. I found that, a language with simple syntax, convenient text processing functionality, powerful numeric computation capability, and simple C/C++ interfaces would be very useful in this field. Perl is got out immediately due to its complicated syntax and many possible traps(though there are still many people using it in this field, I think it is due to historical reasons). Though Python is great in many aspects, its syntax is also something I don't really like, and I think its interface to C/C++ is not simple enough. R language is not well designed according to me, though it's more popularly used in bioinformatic than Python. So I decided to design a new language. Though that goal is not reached yet, it is not unreachable either. > Basically, how does your design philosophy differ from that of Guido? I think I agree much of the design philosophy of Guido. But it is just a kind of guide line, it doesn't imply anything about the structure of the language and the interpreter. So the same philosophy can come out completely different language. > Where did you go left when Python went right? I will only point out a few such places. 1. Tao use uniform parenthesis symbol for both list/array and hash/dictionary, that is []. While in Python, [] is used for list, and {} is used for dictionary. 2. In Tao, there is no "self" argument in class methods as in Python. And the class syntax of Tao is more similar to that of C++. 3. Some Matlab features regarding numeric types, multi returned values in functions and multi assignment etc. are integrated into Tao. 4. Tao provides a very convenient way of declaring array/list which, to the best of my knowledge, is not presented in any other language. That is, a=[10][5] : value/arith/function; which will create a 10x5 array with elements resulted from evaluation of the right side of ":". Best regards, Limin -- Homepage for Tao Language: http://taoscript.sourceforge.net Tao Language project at sourceforge.net: http://sourceforge.net/projects/taoscript -- http://mail.python.org/mailman/listinfo/python-list