Anyone willing to take a stab at summarizing the good (and bad) about some of the scripting languages mentioned in some of the posts? Specifically Perl, Python, Ruby, (and any versions adapted for use with Java). If nothing else this should generate some interesting discussions. John
The only reason for time is so that everything doesn't happen all at once.
- Buckaroo Banzai
I think jython (python implementation on JVM) compliments Java very well and jython skills would be of great use to Java programmers. If am not wrong, there is a similar project called JRuby that is going on for ruby. I tried to learn OO Perl and though i stumbled upon one of the best texts on OO (Object Oriented Perl, damian conway), i eventually fell for python!. For anyone coming from a java background , python is the best companion scripting language. May be ruby too is good. I checked that out for a week or so. my feeling is that Python is bigger than ruby in terms of community and module/packages available. and i think some of the features in Python2.2 are great. Am not qualified enough to make comparisons though. But for a java programmer Perl cannot be an obvious choice! just my opinion. It had to be python / Ruby and i have already chosen Python. in my humble opinion, Python's readability defeats Perl and i guess OO in Perl was an after-thought unlike Python's. i found Perl code to be a little obfuscated while python looks definitely neater. The amazing part was, you write very little code to get lots of thing done! unlike java which is pretty verbose. But then it requires a big shift in thinking..it's dynamically typed..no compiler to point out your mistakes while you code :-) until you discover that @ runtime. But i guess i have become a lot dependent on the compiler and Python is helping me lead a more independent life:-) karthik.
I sure don't know enough to write a summary myself. There are of course Perl intro's all over the net. For Ruby features, take a look at: Ruby Features For a Python Intro, see: Python Intro A generally OK place on programming languages is at: Programming Tutorials Regards, Guy
I used Perl extensivly on one of my projects using LDAP API. I found the language very easy to learn and very powerful. I recomend two books: Object Oriented Perl (Damian Conaway) Advanced Perl Programming (Sriram) From OO point of view, it is a lot different than Java (typeless, multiple inheritance, etc.). But someone with any OO background should find it very easy to learn. I think, UNIX background would also help. Also, there is lot of support (available modules, usergroups, free documentation) on the web for Perl. (I was able to get the LDAP API to work almost instantly after downloading from Perl site). I cannot say much about Python or Ruby. I never used them. Hope this helps. Thanks.
MM Koppula<br />SCJP2<br />Object Oriented Analysis and Design with UML (IBM)
How about the marketability of all these languages? If you do a job search (Monster, Dice) for Java or Perl, you get scores of finds. But if you search for Python, almost nothing. Why spend your resources learning a language in such little demand? Jython is really going to have to hit the ground running to take any market share from the big guys.
About the marketability of python or Jython, you can go to www.python.org and look at the job board. Don't forget how many Java programmers are created during economy booming period.Some are real hardcore programmers and some switch to Java when the market shift. No offense, many of those so call 'Management' people think Java or MS's VB/asp are the only good solutions for web development. If you mention Jython or Python for web development, you will lose them. I think marketability depends on flavor of the development group member. Most people (not all) will choose the language they are proficient to solve a problem without considering other alternatives that may ease you job multifold. Please forgive my words they don't reflect the truth and correct me. Regards,
Here's two thoughts that seem valuable for this thread. 1. Good luck finding a seamless integration of perl and Java. 2. Jython is IMHO the ideal complement to Java development that does not seek to replace Java market share. It does not need to appear in "help wanted" adds in order for it to be a raving success.
I have worked with C++, Smalltalk, Java, Perl, and Python extensivly, I wish I could speak for Ruby as well but I cannot. It may be superior to Python for all I know. What I do know is that if speed and performance is not your issue, Java is twice as simple a language to work with then C++, if only because there are no pointers. That being said, Python is twice as easy as Java. If your project is to be published to thousands of users and is the main focal point of your business, Java is the way to go because of the huge support group, growing reliability and standards, and simplicity over C++. But for any other app I will continue to choose Python. When you download Linux now you get Python, and for good reason, its a wonderful sys admin scripting language. It can do anything Perl can do in a more readable fashion. On a rare occasion Python takes longer to code then Perl its usually because of the wonderful native pattern matching in Perl, but other then that Python will win once you get longer then 30 lines of code every time. Its simply easy to read. But also, CGI scripts are terribly easy as the XML and HTML standard development kit classes are good in Python. I suggest the Zope Application Server for any small web project before turning to Servlets and JSP's for a large application. But this is just one programmer's opinion. If somebody could throw in a Ruby comment I think it would help this thread of commentary.
I seem to remember some very arrogant author named Rick Hightower wrote a five part series about programming languages that run in the JVM for the JDJ. Of course JRuby did not exist when he wrote the comparison. Too bad... looks interesting. I am not the least bit bias (yeah right), but Jython wins hands down!!!
Do yourself a favor and learn Python? You will be amazed what you can do and how fast you can do it! Python ROCKS! [ October 10, 2002: Message edited by: Rick Hightower ]