On Fri, 27 May 2005, Lothar Scholz wrote: > Hello Thomas, > > TA> On Fri, May 27, 2005 at 01:35:19AM +0900, andrew.queisser / hp.com wrote: >>> 1) Intellisense is really just another crutch that does more harm than >>> good? There were a few hardcore defenders of this position but not many. > > TA> I'm indifferent. It depends what mood I'm in as to whether it is useful > TA> or not -- and invariably I tend not to use it, if only because, being > TA> the author, I know what formal parameters most methods expect. > > Intellisense is most useful for the case where you use libraries or > modify/extend code that you don't have written (aka multi person projects). > > Sometimes i think that the missing typeing eats up very much of the time > that is saved by being typeless as Code is much harder to read and > understand. That's why i simply can't understand people who are against > "optional" type declarations. do you really think so in the general case? i think things like j = (char (*)[20]) malloc( 20 ); and char * const *(*next)(); and int (* foo())[] take a considerable amount of time to read - at least for me. scroll way down to see explanations of above - i'm curious how long it might take people to de-code them. in the end i've decided that there are only two reasonable forms of typing: dynamic (a la ruby) or strong and automatic (a la ml langs). other kinds are evil IMHO. that being said i'm not against optional typing - but coding the compiler to understand all of them can be tricky unless it's just simplistic. eg. how would you like to declare, in ruby, a that takes a string parameter, and a hash of strings to arrays of int as args? and, if you would only say 'proc' - then what good is that typing system? hash = { 'key' => [42] } block = lambda{|string, hash| p hash[string]} # # how to declare callback? # callback = block callback[ key ] cheers. -a -- =============================================================================== | email :: ara [dot] t [dot] howard [at] noaa [dot] gov | phone :: 303.497.6469 | My religion is very simple. My religion is kindness. | --Tenzin Gyatso =============================================================================== explanations: 1) j is a pointer to a freshly malloc'd array 20 of char 2) next is a pointer to function returning pointer to const pointer to char 3) foo is a function returning pointer to array of int man cdecl