Registered: Jan, 2006
Re: Shit or chocolate?
Posted: Feb 21, 2006 3:21 AM
[Bruce on dir()]
> If I had ever been tempted to switch to Python, comments
> like that would be sufficient to dissuade me. The irony
> is that Bruce is trying to sell this sorry state of
> affairs as an advantage, rather than a disadvantage!
> Sure, it's much easier to use dir(), then look up the
Or you could just type help(the_object) instead.
> and then type everything by hand, and then hope that it
> will work in runtime,
Or you could just actually try it out, given that you're at the interactive prompt.
> than to let the IDE provide a drop-down list
> of all methods that I can legally call on an object,
That's that dir(the_object) or dir(the_class) thing...
> along with the expected parameter types,
Well, I guess this probably needs decent docs in Python, at least, but anyway...
> then select the method
> I want, and then let the built-in type-checker tell me if
> I'm passing incorrect parameters.
Or just try it out! Yes, there are sometimes cases when you don't want to try it out, but then you wouldn't be running tests in such cases either. That would be a fairly specialised field of software development, I would imagine.
> IDEs are for wimps!
Well, I wouldn't necessarily disagree with that, given some people's way of using them (type two characters, slap Ctrl-Space, press F2 or whatever over and over again), but I can see that for languages like C++ you really need your IDE to remind you of the specification for some parameterised class, and then when you're calling the next_element method, you need reminding again about the parameter types ("What am I iterating over again? Oh, it's element<xzgr_spec_type<PQS_n, gqb_itype>>, of course!").
Yes, Python could be nicer even with some non-evaluating introspection mechanisms, and some IDEs even provide that, but you seem to be talking about the topic like some hypothetical exercise rather than what the experience of developing in Python is actually like. Shit or chocolate? A cheap shot indeed!