1. It's compiles to to byte code. .Net and Java has used this idea. So, if you want to complain about processing speed, you should be using C instead of Java or .Net.
2. It accepts failure. Failure can happen and is accepted. "What?" Well, you can do something like this:
while write(read())
Yes, that does what it looks like it does. While it reads data from the file, it writes it somewhere. You can also do this:
3. Comparators don't return true or false. They return the right most value.
So, you can do this:
24 < x < y < 50
This first checks to see if 24 < x. If so, it returns x and then sees if x < y.
If so, it returns y and then sees if y < 50. Yes, it does all that in one line.
4. Everything works the same. Let me explain.
Want to write to the screen? You use the write command.
Want to write to the screen? Well, screens use the write command.
Want to write to a socket. Guess what? Yup! Write.
This gets better.
Want the length of a string? *StringVariableName
Want how many elements of a list? *ListVariableName
Want how many elements of a class object array? *ClassObjectArrayName
5. There are no types. It's a type free language.
So "20" > 25 works!
6. Icon has generators. So, let's say in most languages, you do something like this.
s:="the car and the ball is in the garage."
x:=find("the",s)
Most languages return the index of the first "the". Well, you can ask again and get the second index of "the" or the third.
So, you can have:
every write(find("the",s))
And yes, this prints the index of every instance of the in the sentenceAnd yes, you can create your own generators
So, it's a very powerful language, especially for AI. I highly recommend checking it out. And best of all unicon (a Windows version of Icon) is FREE and better yet, all of the books for Icon and Unicon are FREE, including books by O'Reilly. So, why use unicon? Well, my professor wrote a program in C. It ended up being 25,000 lines of code. Then he rewrote it in C++. It was over 14,000 lines of code. Then he rewrote it using Icon. It was just a little over 7,000 lines of code. Yeah, wow!
So, check it out.
http://unicon.sourceforge.net/