What if your sql is "select id as id_alias from users where username ='phil'"?

Then the code would be

id = resultset.id_alias


I think you need dynamic typing for this sort of thing.



On Mon, May 9, 2011 at 6:31 AM, Josh Berry <[email protected]> wrote:
> Couple of questions.
>
> First, is dynamic typing truly necessary for this level of coding?  I
> know it is commonly used that way, but I have seen some tricks in
> static languages that work just as well.  (The Lift folks have a good
> api for pulling from a database, and that is ignoring squeryl. Sadly,
> I'm ignorant of Haskel libraries for this sort of thing.  I'm also
> more ignorant than I care to be on LINQ.)
>
> Secondly, I think this is what was referred to when it was said the
> majority of "dynamic" programs are actually quite static.  (Or would
> this program work correctly if I renamed that column to
> "SpecificIdentifier" or some nonsense?) I understand that ResultSet
> has its type altered for this section of code, but one could have just
> as easily defined a specific subtype of ResultSet for this section,
> because it will always require that specific type.  Plus side to the
> latter approach, mistakes can be found at compile time. :)
>
>
>
> On Sun, May 8, 2011 at 2:21 PM, phil swenson <[email protected]> wrote:
>> Lets say you are iterating through database records and one of columns is 
>> "id"
>>
>> def id = resultSet.id
>>
>> Or from the original blog post:
>>
>> def books = new XmlSlurper().parse("books.xml")
>> books.book.each {
>>    println "Title = ${it.title}, Author: ${it.author.@firstname}
>> ${it.author.@lastname}"
>> }
>>
>> import groovy.sql.Sql
>> sql = Sql.newInstance("jdbc:mysql://host/db", "username", "password",
>> "com.mysql.jdbc.Driver")
>> sql.eachRow("select * from tableName", { println it.id + " --
>> ${it.firstName} --"} )
>>
>>
>>
>> On Sun, May 8, 2011 at 11:25 AM, Josh Berry <[email protected]> wrote:
>>> On Sun, May 8, 2011 at 9:30 AM, phil swenson <[email protected]> wrote:
>>>> well the article was called "java.next()"
>>>>
>>>> But why not have the best of both worlds?  Static typing/type
>>>> inference.  Optional dynamic typing where it makes sense.
>>>
>>> Within a given program, I'm curious of an example where dynamic typing
>>> actually "makes sense."  Wasn't there a study that showed even in
>>> traditional dynamic languages, the majority of the runtime behavior
>>> was consistent with a static type model?
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups 
>>> "The Java Posse" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to 
>>> [email protected].
>>> For more options, visit this group at 
>>> http://groups.google.com/group/javaposse?hl=en.
>>>
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "The Java Posse" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to 
>> [email protected].
>> For more options, visit this group at 
>> http://groups.google.com/group/javaposse?hl=en.
>>
>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/javaposse?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to