Refactoring dynamic languages

View: New views
12 Messages — Rating Filter:   Alert me  

Refactoring dynamic languages

by Alan Baljeu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

From the previous thread, it seems the big issue of TDD with dynamic languages (not counting smalltalk) is lack of tool support.  I don't see why there can't be good support though.  Starting with a few assumptions about clean coding practice, what's the obstacle?

I guess the hardest part is deciding the type of variables, in order to update references to a class.

I think these can be overcome, no?  Smalltalk seems to have done it.



      __________________________________________________________________
The new Internet Explorer® 8 - Faster, safer, easier.  Optimized for Yahoo!  Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/

Re: Refactoring dynamic languages

by Kevin Rutherford-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

On Tue, Sep 1, 2009 at 4:53 PM, Alan Baljeu<alanbaljeu@...> wrote:
>
> I guess the hardest part is deciding the type of variables, in order to update references to a class.
>
> I think these can be overcome, no?  Smalltalk seems to have done it.

AFAIK refactoring began in Smalltalk, so it's definitely possible.
Tools for refactoring Ruby are gaining traction now too -- NetBeans,
Aptana, RubyMine.

Code smell detection is definitely harder without static typing info,
but again much of what we now about code smells comes from a Smalltalk
background.
Cheers,
    Kevin
--
http://www.kevinrutherford.co.uk -- agile, TDD, XP, lean, TOC

Re: Refactoring dynamic languages

by isaiahperumalla :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I think these can be overcome, no?  Smalltalk seems to have done it.
Ok there is a key difference here between Smalltalk and other dynamic languages. In any dynamic language you dont know the type of a varible until runtime, In Smalltalk you do everything inside an image, it is a system of living objects (http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/) where it's always runtime. The code browser doesn't browse source code, it browses running classes and objects. . So this allows us to get access to all the types of varibles. This is why smalltalk has such a powerfull tools.


--- In testdrivendevelopment@..., Alan Baljeu <alanbaljeu@...> wrote:

>
> From the previous thread, it seems the big issue of TDD with dynamic languages (not counting smalltalk) is lack of tool support.  I don't see why there can't be good support though.  Starting with a few assumptions about clean coding practice, what's the obstacle?
>
> I guess the hardest part is deciding the type of variables, in order to update references to a class.
>
> I think these can be overcome, no?  Smalltalk seems to have done it.
>
>
>
>       __________________________________________________________________
> The new Internet Explorer� 8 - Faster, safer, easier.  Optimized for Yahoo!  Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/
>



Re: Re: Refactoring dynamic languages

by Joshua Kerievsky :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

We might consider having this discussion on the
refactoring@..., since there are some of the pioneers
of Refactoring on that list, and
they may have some interesting comments to make here.   -jk

On Wed, Sep 2, 2009 at 11:26 AM, isaiahperumalla
<isaiahperumalla@...>wrote:

> > I think these can be overcome, no?  Smalltalk seems to have done it.
> Ok there is a key difference here between Smalltalk and other dynamic
> languages. In any dynamic language you dont know the type of a varible until
> runtime, In Smalltalk you do everything inside an image, it is a system of
> living objects (
> http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/)
> where it's always runtime. The code browser doesn't browse source code, it
> browses running classes and objects. . So this allows us to get access to
> all the types of varibles. This is why smalltalk has such a powerfull tools.
>
>
> --- In testdrivendevelopment@..., Alan Baljeu <alanbaljeu@...>
> wrote:
> >
> > From the previous thread, it seems the big issue of TDD with dynamic
> languages (not counting smalltalk) is lack of tool support.  I don't see why
> there can't be good support though.  Starting with a few assumptions about
> clean coding practice, what's the obstacle?
> >
> > I guess the hardest part is deciding the type of variables, in order to
> update references to a class.
> >
> > I think these can be overcome, no?  Smalltalk seems to have done it.
> >
> >
> >
> >       __________________________________________________________________
> > The new Internet Explorer� 8 - Faster, safer, easier.  Optimized for
> Yahoo!  Get it Now for Free! at
> http://downloads.yahoo.com/ca/internetexplorer/
> >
>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>


--
best regards,
jk

Industrial Logic, Inc.
Joshua Kerievsky
Founder, Extreme Programmer & Coach
http://industriallogic.com
866-540-8336 (toll free)
510-540-8336 (phone)
Berkeley, California

Learn Code Smells, Refactoring and TDD at
http://industriallogic.com/elearning


[Non-text portions of this message have been removed]


Re: Re: Refactoring dynamic languages

by Olof Bjarnason :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/9/2 Joshua Kerievsky <jlk@...>:
>
>
> We might consider having this discussion on the
> refactoring@..., since there are some of the pioneers
> of Refactoring on that list, and
> they may have some interesting comments to make here. -jk

Yeah that would be a good idea, I just don't have a yahoo id and the
registration page looks, well, cumbersome.

[ Why oh why do these big coorporations insist on me giving away all
these details (when I'm born etc.)? 90% of all registrars just lie
anyway ... I don't like to lie ]

>
> On Wed, Sep 2, 2009 at 11:26 AM, isaiahperumalla
> <isaiahperumalla@...>wrote:
>
>> > I think these can be overcome, no? Smalltalk seems to have done it.
>> Ok there is a key difference here between Smalltalk and other dynamic
>> languages. In any dynamic language you dont know the type of a varible
>> until
>> runtime, In Smalltalk you do everything inside an image, it is a system of
>> living objects (
>>
>> http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/)
>> where it's always runtime. The code browser doesn't browse source code, it
>> browses running classes and objects. . So this allows us to get access to
>> all the types of varibles. This is why smalltalk has such a powerfull
>> tools.
>>
>>
>> --- In testdrivendevelopment@..., Alan Baljeu <alanbaljeu@...>
>> wrote:
>> >
>> > From the previous thread, it seems the big issue of TDD with dynamic
>> languages (not counting smalltalk) is lack of tool support. I don't see
>> why
>> there can't be good support though. Starting with a few assumptions about
>> clean coding practice, what's the obstacle?
>> >
>> > I guess the hardest part is deciding the type of variables, in order to
>> update references to a class.
>> >
>> > I think these can be overcome, no? Smalltalk seems to have done it.
>> >
>> >
>> >
>> > __________________________________________________________
>> > The new Internet Explorer� 8 - Faster, safer, easier. Optimized for
>> Yahoo! Get it Now for Free! at
>> http://downloads.yahoo.com/ca/internetexplorer/
>> >
>>
>>
>>
>>
>> ------------------------------------
>>
>> Yahoo! Groups Links
>>
>>
>>
>>
>
> --
> best regards,
> jk
>
> Industrial Logic, Inc.
> Joshua Kerievsky
> Founder, Extreme Programmer & Coach
> http://industriallogic.com
> 866-540-8336 (toll free)
> 510-540-8336 (phone)
> Berkeley, California
>
> Learn Code Smells, Refactoring and TDD at
> http://industriallogic.com/elearning
>
> [Non-text portions of this message have been removed]
>
>



--
twitter.com/olofb
olofb.wordpress.com
olofb.wordpress.com/tag/english

Re: Re: Refactoring dynamic languages

by George Dinwiddie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Olof Bjarnason wrote:

> 2009/9/2 Joshua Kerievsky <jlk@...>:
>>
>> We might consider having this discussion on the
>> refactoring@..., since there are some of the pioneers
>> of Refactoring on that list, and
>> they may have some interesting comments to make here. -jk
>
> Yeah that would be a good idea, I just don't have a yahoo id and the
> registration page looks, well, cumbersome.
>
> [ Why oh why do these big coorporations insist on me giving away all
> these details (when I'm born etc.)? 90% of all registrars just lie
> anyway ... I don't like to lie ]

Hmmm... You don't have a yahoo id?  (This is also a yahoogroup, nee
egroups, nee onelist list.)

Try sending an email to refactoring-subscribe@... and see if
that still works.

  - George

--
  ----------------------------------------------------------------------
   * George Dinwiddie *                      http://blog.gdinwiddie.com
   Software Development                    http://www.idiacomputing.com
   Consultant and Coach                    http://www.agilemaryland.org
  ----------------------------------------------------------------------


Re: Re: Refactoring dynamic languages

by Adam Sroka-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

As George mentioned, this list, and the XP list which you are also on,
are yahoo! lists. So, you must have an id. Try going here:

https://edit.yahoo.com/forgotroot?done=http%3A%2F%2Fgroups.yahoo.com%2F&src=ygrp&partner=&intl=us

And chose the option that you forgot your id.

On Wed, Sep 2, 2009 at 12:04 PM, Olof Bjarnason<olof.bjarnason@...> wrote:

>
>
> 2009/9/2 Joshua Kerievsky <jlk@...>:
>
>>
>>
>> We might consider having this discussion on the
>> refactoring@..., since there are some of the pioneers
>> of Refactoring on that list, and
>> they may have some interesting comments to make here. -jk
>
> Yeah that would be a good idea, I just don't have a yahoo id and the
> registration page looks, well, cumbersome.
>
> [ Why oh why do these big coorporations insist on me giving away all
> these details (when I'm born etc.)? 90% of all registrars just lie
> anyway ... I don't like to lie ]
>
>>
>> On Wed, Sep 2, 2009 at 11:26 AM, isaiahperumalla
>> <isaiahperumalla@...>wrote:
>>
>>> > I think these can be overcome, no? Smalltalk seems to have done it.
>>> Ok there is a key difference here between Smalltalk and other dynamic
>>> languages. In any dynamic language you dont know the type of a varible
>>> until
>>> runtime, In Smalltalk you do everything inside an image, it is a system
>>> of
>>> living objects (
>>>
>>>
>>> http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/)
>>> where it's always runtime. The code browser doesn't browse source code,
>>> it
>>> browses running classes and objects. . So this allows us to get access to
>>> all the types of varibles. This is why smalltalk has such a powerfull
>>> tools.
>>>
>>>
>>> --- In testdrivendevelopment@..., Alan Baljeu
>>> <alanbaljeu@...>
>>> wrote:
>>> >
>>> > From the previous thread, it seems the big issue of TDD with dynamic
>>> languages (not counting smalltalk) is lack of tool support. I don't see
>>> why
>>> there can't be good support though. Starting with a few assumptions about
>>> clean coding practice, what's the obstacle?
>>> >
>>> > I guess the hardest part is deciding the type of variables, in order to
>>> update references to a class.
>>> >
>>> > I think these can be overcome, no? Smalltalk seems to have done it.
>>> >
>>> >
>>> >
>>> > __________________________________________________________
>>> > The new Internet Explorer� 8 - Faster, safer, easier. Optimized for
>>> Yahoo! Get it Now for Free! at
>>> http://downloads.yahoo.com/ca/internetexplorer/
>>> >
>>>
>>>
>>>
>>>
>>> ------------------------------------
>>>
>>> Yahoo! Groups Links
>>>
>>>
>>>
>>>
>>
>> --
>> best regards,
>> jk
>>
>> Industrial Logic, Inc.
>> Joshua Kerievsky
>> Founder, Extreme Programmer & Coach
>> http://industriallogic.com
>> 866-540-8336 (toll free)
>> 510-540-8336 (phone)
>> Berkeley, California
>>
>> Learn Code Smells, Refactoring and TDD at
>> http://industriallogic.com/elearning
>>
>> [Non-text portions of this message have been removed]
>>
>>
>
> --
> twitter.com/olofb
> olofb.wordpress.com
> olofb.wordpress.com/tag/english
>

Re: Re: Refactoring dynamic languages

by George Dinwiddie :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Adam Sroka wrote:
> As George mentioned, this list, and the XP list which you are also on,
> are yahoo! lists. So, you must have an id.

Actually, it /was/ possible (and may still be, but unadvertised) to
subscribe with just an email address and not a yahoo ID.

  - George

--
  ----------------------------------------------------------------------
   * George Dinwiddie *                      http://blog.gdinwiddie.com
   Software Development                    http://www.idiacomputing.com
   Consultant and Coach                    http://www.agilemaryland.org
  ----------------------------------------------------------------------


Re: Re: Refactoring dynamic languages

by Olof Bjarnason :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/9/3 Adam Sroka <adam.sroka@...>:
>
>
> As George mentioned, this list, and the XP list which you are also on,
> are yahoo! lists. So, you must have an id. Try going here:
>
> https://edit.yahoo.com/forgotroot?done=http%3A%2F%2Fgroups.yahoo.com%2F&src=ygrp&partner=&intl=us
>
> And chose the option that you forgot your id.
>

George, Adam;

Yes indeed I must have an Yahoo id, but I have completely forgotten the id/pw.

I tried the help-page you suggested Adam, but both emails I tried
didn't work. And older email adresses than that I cannot access
anylonger..

Oh well I tried George's idea of refactoring-subscribe - lets see if that works.

Thanks for your help anyway!

> On Wed, Sep 2, 2009 at 12:04 PM, Olof Bjarnason<olof.bjarnason@...>
> wrote:
>>
>>
>> 2009/9/2 Joshua Kerievsky <jlk@...>:
>>
>>>
>>>
>>> We might consider having this discussion on the
>>> refactoring@..., since there are some of the pioneers
>>> of Refactoring on that list, and
>>> they may have some interesting comments to make here. -jk
>>
>> Yeah that would be a good idea, I just don't have a yahoo id and the
>> registration page looks, well, cumbersome.
>>
>> [ Why oh why do these big coorporations insist on me giving away all
>> these details (when I'm born etc.)? 90% of all registrars just lie
>> anyway ... I don't like to lie ]
>>
>>>
>>> On Wed, Sep 2, 2009 at 11:26 AM, isaiahperumalla
>>> <isaiahperumalla@...>wrote:
>>>
>>>> > I think these can be overcome, no? Smalltalk seems to have done it.
>>>> Ok there is a key difference here between Smalltalk and other dynamic
>>>> languages. In any dynamic language you dont know the type of a varible
>>>> until
>>>> runtime, In Smalltalk you do everything inside an image, it is a system
>>>> of
>>>> living objects (
>>>>
>>>>
>>>>
>>>> http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/)
>>>> where it's always runtime. The code browser doesn't browse source code,
>>>> it
>>>> browses running classes and objects. . So this allows us to get access
>>>> to
>>>> all the types of varibles. This is why smalltalk has such a powerfull
>>>> tools.
>>>>
>>>>
>>>> --- In testdrivendevelopment@..., Alan Baljeu
>>>> <alanbaljeu@...>
>>>> wrote:
>>>> >
>>>> > From the previous thread, it seems the big issue of TDD with dynamic
>>>> languages (not counting smalltalk) is lack of tool support. I don't see
>>>> why
>>>> there can't be good support though. Starting with a few assumptions
>>>> about
>>>> clean coding practice, what's the obstacle?
>>>> >
>>>> > I guess the hardest part is deciding the type of variables, in order
>>>> > to
>>>> update references to a class.
>>>> >
>>>> > I think these can be overcome, no? Smalltalk seems to have done it.
>>>> >
>>>> >
>>>> >
>>>> > __________________________________________________________
>>>> > The new Internet Explorer� 8 - Faster, safer, easier. Optimized for
>>>> Yahoo! Get it Now for Free! at
>>>> http://downloads.yahoo.com/ca/internetexplorer/
>>>> >
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------
>>>>
>>>> Yahoo! Groups Links
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> best regards,
>>> jk
>>>
>>> Industrial Logic, Inc.
>>> Joshua Kerievsky
>>> Founder, Extreme Programmer & Coach
>>> http://industriallogic.com
>>> 866-540-8336 (toll free)
>>> 510-540-8336 (phone)
>>> Berkeley, California
>>>
>>> Learn Code Smells, Refactoring and TDD at
>>> http://industriallogic.com/elearning
>>>
>>> [Non-text portions of this message have been removed]
>>>
>>>
>>
>> --
>> twitter.com/olofb
>> olofb.wordpress.com
>> olofb.wordpress.com/tag/english
>>
>



--
twitter.com/olofb
olofb.wordpress.com
olofb.wordpress.com/tag/english

Re: Re: Refactoring dynamic languages

by Olof Bjarnason :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/9/3 Olof Bjarnason <olof.bjarnason@...>:

> 2009/9/3 Adam Sroka <adam.sroka@...>:
>>
>>
>> As George mentioned, this list, and the XP list which you are also on,
>> are yahoo! lists. So, you must have an id. Try going here:
>>
>> https://edit.yahoo.com/forgotroot?done=http%3A%2F%2Fgroups.yahoo.com%2F&src=ygrp&partner=&intl=us
>>
>> And chose the option that you forgot your id.
>>
>
> George, Adam;
>
> Yes indeed I must have an Yahoo id, but I have completely forgotten the id/pw.
>
> I tried the help-page you suggested Adam, but both emails I tried
> didn't work. And older email adresses than that I cannot access
> anylonger..
>
> Oh well I tried George's idea of refactoring-subscribe - lets see if that works.
>
> Thanks for your help anyway!

OK Georges trick did help! :) I'm now subscribing to the refactoring list too.

(wonder if I can post too..? We'll see as time goes by)

>
>> On Wed, Sep 2, 2009 at 12:04 PM, Olof Bjarnason<olof.bjarnason@...>
>> wrote:
>>>
>>>
>>> 2009/9/2 Joshua Kerievsky <jlk@...>:
>>>
>>>>
>>>>
>>>> We might consider having this discussion on the
>>>> refactoring@..., since there are some of the pioneers
>>>> of Refactoring on that list, and
>>>> they may have some interesting comments to make here. -jk
>>>
>>> Yeah that would be a good idea, I just don't have a yahoo id and the
>>> registration page looks, well, cumbersome.
>>>
>>> [ Why oh why do these big coorporations insist on me giving away all
>>> these details (when I'm born etc.)? 90% of all registrars just lie
>>> anyway ... I don't like to lie ]
>>>
>>>>
>>>> On Wed, Sep 2, 2009 at 11:26 AM, isaiahperumalla
>>>> <isaiahperumalla@...>wrote:
>>>>
>>>>> > I think these can be overcome, no? Smalltalk seems to have done it.
>>>>> Ok there is a key difference here between Smalltalk and other dynamic
>>>>> languages. In any dynamic language you dont know the type of a varible
>>>>> until
>>>>> runtime, In Smalltalk you do everything inside an image, it is a system
>>>>> of
>>>>> living objects (
>>>>>
>>>>>
>>>>>
>>>>> http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/)
>>>>> where it's always runtime. The code browser doesn't browse source code,
>>>>> it
>>>>> browses running classes and objects. . So this allows us to get access
>>>>> to
>>>>> all the types of varibles. This is why smalltalk has such a powerfull
>>>>> tools.
>>>>>
>>>>>
>>>>> --- In testdrivendevelopment@..., Alan Baljeu
>>>>> <alanbaljeu@...>
>>>>> wrote:
>>>>> >
>>>>> > From the previous thread, it seems the big issue of TDD with dynamic
>>>>> languages (not counting smalltalk) is lack of tool support. I don't see
>>>>> why
>>>>> there can't be good support though. Starting with a few assumptions
>>>>> about
>>>>> clean coding practice, what's the obstacle?
>>>>> >
>>>>> > I guess the hardest part is deciding the type of variables, in order
>>>>> > to
>>>>> update references to a class.
>>>>> >
>>>>> > I think these can be overcome, no? Smalltalk seems to have done it.
>>>>> >
>>>>> >
>>>>> >
>>>>> > __________________________________________________________
>>>>> > The new Internet Explorer� 8 - Faster, safer, easier. Optimized for
>>>>> Yahoo! Get it Now for Free! at
>>>>> http://downloads.yahoo.com/ca/internetexplorer/
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------
>>>>>
>>>>> Yahoo! Groups Links
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> best regards,
>>>> jk
>>>>
>>>> Industrial Logic, Inc.
>>>> Joshua Kerievsky
>>>> Founder, Extreme Programmer & Coach
>>>> http://industriallogic.com
>>>> 866-540-8336 (toll free)
>>>> 510-540-8336 (phone)
>>>> Berkeley, California
>>>>
>>>> Learn Code Smells, Refactoring and TDD at
>>>> http://industriallogic.com/elearning
>>>>
>>>> [Non-text portions of this message have been removed]
>>>>
>>>>
>>>
>>> --
>>> twitter.com/olofb
>>> olofb.wordpress.com
>>> olofb.wordpress.com/tag/english
>>>
>>
>
>
>
> --
> twitter.com/olofb
> olofb.wordpress.com
> olofb.wordpress.com/tag/english
>



--
twitter.com/olofb
olofb.wordpress.com
olofb.wordpress.com/tag/english

Re: Re: Refactoring dynamic languages

by Osias Jota :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>
> [ Why oh why do these big coorporations insist on me giving away all
> these details (when I'm born etc.)? 90% of all registrars just lie
> anyway ... I don't like to lie ]
>

I believe the idea was to get your password back confirming those
data, in the time.

Re: Re: Refactoring dynamic languages

by Olof Bjarnason :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

2009/9/4 Osias Jota <osiasjota@...>:

>
>
>>
>> [ Why oh why do these big coorporations insist on me giving away all
>> these details (when I'm born etc.)? 90% of all registrars just lie
>> anyway ... I don't like to lie ]
>>
>
> I believe the idea was to get your password back confirming those
> data, in the time.

Well a "reset password" by sending a mail to whatever mail adress I
had specified, would have been enough and a lot less "spying" on my
personal details.

>



--
twitter.com/olofb
olofb.wordpress.com
olofb.wordpress.com/tag/english