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

Reply via email to