what scripting language is your favorite to use?
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$3 Answers
Python has it's share of warts - troublesome things like threading and the GIL comes most immediately to mind. Also, getting started in a language where whitespace is semantically significant is a very weird feeling, but once you get over the culture shock, programming in python is a pleasure.
Ruby has some neat tricks (Ruby's blocks are pretty impressive), but there's a certain difference of style that will keep bring me back to python. Try typing "import this" inside a python shell - you will see the "Zen of Python", some guidelines which inform the development of the python language as well as development of individual python programs.
personal experience
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$If you are looking to script on windows, you should probably consider vbscript, jscript, ironpython and ironruby. If it's windows systems work you are doing, I think jscript is your best way to go. If it's an embedded language you need for scripting a larger app, ironpython is quite mature. I have no real data to work from for vbscript.
If you are looking to script in a java environment your choices are beanshell, groovy, jython, rhino (javascript) and jruby. Beanshell is generally not a good choice unless you really only know java and don't want to ever be exposed to anything else. jython is reasonable, but it tends to lag behind the cPython implementation by a year or two. jRuby is probably one of the best choices on java, as it is fast, well supported, and because the java libraries you have access to are far more mature then the native ruby libraries you forgo by running ruby in the jvm. I have no real experience with groovy, so i can't opin on it one way or another from personal experience, but given that it's native to java, and comes highly recommended from people I respect, I feel it bears consideration. Finally, rhino is a decent javascript engine that is reasonably easy to embed, and makes a good starter language for learning how to embed a scripting language in a larger app.
If you are looking to script on a unix box (or at the command line on OSX), there are tons of entrants to be aware of including perl, python, ruby, tcl, lua and bash. Tcl is effectively dead, and should generally be avoided for new development. Perl has an enormous library, but the language in many ways feels like it has stagnated while everyone waits for perl 6. Perl also suffers from the famous "Write once, run many" problem due to the syntax not being very compact. Lua is a fantastic choice if you want to embed a scripting language into a larger C/C++ application, and probably represents the best of breed for sheer ease of embedability. Python has been emerging as a very solid, general purpose scripting language, and due to it's growing library base and the general high quality of the standard libraries is a good choice for most problems. Ruby I feel is still immature, and suffers from a lot of 'happy path' coding in it's standard library. Objects and methods that are used a lot work well, but things that are used less tend to have sharp edges and to break in unexpected ways. Finally, bash is a great tool for wrapping scripts together to make systems, but generally is not good for full on development.
Personally I am a former java developer turned unix developer. Under java I would give strong consideration to jruby, groovy and rhino. When doing unix development, I write most apps as small python scripts chained together with bash as the glue, and I am very happy with the results.
You can leave an optional "tip" with Mahalo's virtual currency, Mahalo Dollars. If you are asking a difficult question that might require some research, or if you'd like a wide variety of feedback, a higher tip often leads to more answers to your question.
M$