Originally posted by Srikanth Raghavan:
--> Why are the scripting languages so hyped?
Originally posted by Srikanth Raghavan:
they are easy to program, you don't have to declare variables, you don't have to catch exceptions, hell, you don't even have to compile.
Originally posted by Srikanth Raghavan:
Many method calls in most of the scripting languages are determined at runtime, but what happens if we misspell the method name?
"You idiot, import the class before you try to do anything with it or go to hell."
SCJP2 96%
M Easter
Software Composer - http://codetojoy.blogspot.com
M Easter
Software Composer - http://codetojoy.blogspot.com
Originally posted by M Easter:
In my experience, this is essentially true. That statement will draw fire from some people. . .
Originally posted by Joe Ess:
A team at my current employer uses Zope/Python for a number of non-trivial applications. I've done some work with it and found it as useful as the typical Java JSP-servlet-db framework with a lot less code overhead.
I think problems with scale are caused by people not using a language effectively and not having a good software development process. Having worked in a number of shops with a number of languages, those problems don't seem to be language specific.
Originally posted by Srikanth Raghavan:
When I have to look into my libraries for building my Client Code, you know I am programming to implementation which is really a bad idea.
Originally posted by Joe Ess:
We had a similar problem in Java with collections until 1.5 gave us generics so we could declare a collection of a particular type. I'm still using JDK 1.4 (employer uses WLS 8.1) and don't find using Object collections particularly onerous.
As for "programming to an implementation" I don't think that looking at the return type counts. If you make assumptions as to what the library does that are not based on a method signiture, that's programming to an implementation. Like if I'd made a method that returned Pet, but you looked at the code and saw I only used the Pet subclass Dog, so in your code you always used Dog. The danger is that one day I'd change my code to use Pet subclass Cat, which would not break the method contract, but it would break your code.
Originally posted by Srikanth Raghavan:
I would always wrap an Hashtable with something like PetMap and I will have my own methods that take and return Pet and not Object.
Originally posted by Srikanth Raghavan:
And coming to the second part of your solution. . . And he will hate code reviews.
Originally posted by Srikanth Raghavan:
Personally I would like Java or C#.
Originally posted by Joe Ess:
If that's what works for you, great. I only wanted to point out that people are getting non-trivial work done with scripting languages.
Originally posted by Srikanth Raghavan:
But I can't do the same with Ruby or Python because there's no return type.