1,479 karma · joined June 2, 2008
My github account: http://github.com/stefano
While learning how to use ASM you will also learn about the instruction set of the JVM. It also includes a disassembler that, given a .class file, outputs the java code necessary to generate that class using ASM.
"It is not the task of the University to offer what
society asks for, but to give what society needs.
[The things society asks for are generally understood,
and you don't need a University for that; the university
has to offer what no one else can provide.]"
The sad thing is that CS courses tend to go towards the opposite direction. (define add2 (curry + 2))
(add2 5) --> 7This style of programming does its best if it has support from the underlying language to enforce consistency. Without it, it's just too easy to get the program into an unconsistent state.
I'm aware of only two implementations providing dataflow programming: Cells for Common Lisp and FrTime for PLT Scheme (but I've actually used only the former).
It's really bad if you prefer statically typed languages, though, because on the client side on the web you have no other choice for the moment. Probably in the future we will see language implementations that use js as a target language become more mature and widespread.
One factor that can make the language choice important is the speed of the program: if you need to make a computationally heavy application, you'd better choose a fast language. This would rule out interpreted languages. In such a case, you should choose Common Lisp/C/C++/Java/C# rather than Perl/Python/Ruby.
Another important factor is the platform where your app will be running. If it's on your own server, you can use whatever you prefer. If it's on the iphone, the most abvious choice is Objective-C. If it's a small device with little memory and low computing power, languages with a low memory footprint and manual memory allocation like C and Forth would make a better choice than Python or Ruby.
It's not under active development, as stated in the project page. So don't expect Ruby on Parrot any time soon. There's always hope for the future, though, considering Parrot's improvements over the last few months.
"Although I was unable to use LISP in any production code"
Does he refer to LISP 1.5?Calling Python a "lower level language" seems quite a bold statement. It makes me want to learn Mathematica just for the sake of understanding why it is higher level than Python.