On Tuesday, March 26, 2013 11:07:45 AM UTC+1, Jean-Michel Pichavant wrote:
> ----- Original Message -----
> > notepad_1 = start("Notepad")
> > notepad_2 = start("Notepad")
> > notepad_1.write("Hello World!")
> > notepad_1.press(CTRL + 'a', CTRL + 'c')
> > notepad_2.press(CTRL + 'v')
> >
> > The problem with this design is that it effectively duplicates our
> > API: We want to keep our "global" functions because they are so easy
> > to read.
>
> So is the example above. This is the best solution in my opinion.
Thanks for your reply. What do you mean by "So is the example above" though?
> I think you're having the same issue that some other APIs, let's say
> matplotlib for example. They try to accommodate scientists (matlab) and
> programmers(python) by having a double API style.
>
> One looks like
>
> legend()
> title()
> plot()
> save()
>
> the other looks like
>
> fig = figure()
> fig.add_legend()
> fig.title()
> fig.plot()
> fig.save()
>
> The problem is, when searching for example on the net, you'll end up with a
> mix of both, it can become a nightmare.
Interesting point. I'll google a little about matplotlib.
> I definitely prefer the later, for the reasons that have already been given
> to you in this thread and by the fact that with the correct (I)python shell,
> you can create your window object and get auto-completion on its methods just
> by hitting <tab>, very helpful when introspecting objects. Can be achieved of
> course in any python shell with function like dir() ; my point being that OOO
> design keeps things in their place, see the zen of python "Namespaces are one
> honking great idea -- let's do more of those!"
Doesn't the IPython do auto-completion for "global" functions?
Thanks,
Michael (www.getautoma.com)
--
http://mail.python.org/mailman/listinfo/python-list