Leighton Haynes kirjoitti:
I have to say – Intellisense is very high on our wishlist – we have
many developers unfamiliar with Python, and Intellisense would ease
the transition a lot.
Has anyone looked at implementing this yet? I haven't looked at what
IronPy studio or any other ironpy tool does, just a note here based on
experience elsewhere:
As I guess you all know, 'tab completion' with a fully dynamic language
is not at all similar to how it is in a static language like c#. A
simple useless example:
In [1]: def plus(a, b):
...: return a + b
In [2]: plus(1, 2)
Out[2]: 3
In [3]: plus("hip", "hop")
Out[3]: 'hiphop'
So if you are inside the 'plus' function there with intellisense:
def plus(a, b):
a.** #what do you expect intellisense to do here? show int or str
methods, or something else?
a could be of *any* type. and if you don't benefit from that
functionality, you might be as well writing c# (or perhaps Boo..)
AFAIK there are two approaches to this problem:
a) some IDEs like Eclipse /parse/ the code in your project and track
types, so that if they see a = MyClass() somewhere, the 'tab completion'
there can then show members from that class when a is looked at. this
seems to be limited, at least when i saw a friend using it it didn't
reach inside libraries etc - just own classes in the same project - but
at least is something.
b) other dev envs actually *run* the Python code to have instanciated
objects when editing the code, so can do introspecting normally. with
IPython (I for *interactive*, the shell with in-out prompt from where I
pasted the example earlier) that's easy 'cause it's not an editor but a
shell so it's natural to have actual live objects at hand, and
tab-completion etc. work. but ppl have done that for editors too - at
least Theo de Ridder made his own editor (which uses wx as a base) work
so that it in fact runs the py code up to your cursor, marks if there is
a bug somewhere, and iirc has some sort of intellisense like feats via
introspection. i don't actually know whether that works somehow also
with the ipython integrations that ppl have recently done to many editors.
perhaps there is some other good solution that i don't know about, but
it's hard for me to see a simple perfect solution due to the extreme
dynamicity of the lang. of course the parsing solution a) works easily
for code like: a = "somestring"; a.** -- i suppose that works ok in
Eclipse / PyDev already, would be already helpful, and i suppose easy
enough to implement for Intellisense (i don't know anything about it).
dunno if the b) approach would be useful within VS somehow too, can be
quite tricky i imagine.
Leighton Haynes
~Toni, Playsign
*From:* users-boun...@lists.ironpython.com
[mailto:users-boun...@lists.ironpython.com] *On Behalf Of *cur...@acm.org
*Sent:* Monday, 30 March 2009 6:55 AM
*To:* Discussion of IronPython
*Subject:* Re: [IronPython] Announcing IronPython 2.6 Alpha 1
Intellisense is a cosmetic feature at best. It's obviously nice to
have, but it can't actually be /that/ important to anyone...it's not
like the information isn't available via other means.
2009/3/29 Howland-Rose, Kyle <kyle.howland-r...@aar.com.au
<mailto:kyle.howland-r...@aar.com.au>>
Hi Adam,
About "intellisense is not a major blocker for iron python adoption".
Unfortunately I think it might be. The commercial world is all about
productivity. I did a survey at work about replacing a well-known
development environment with eclipse and the result was "our only real
requirement is intellisense".
Cheers,
Kyle
------------------------------------------------------------------------
*From:* users-boun...@lists.ironpython.com
<mailto:users-boun...@lists.ironpython.com>
[mailto:users-boun...@lists.ironpython.com
<mailto:users-boun...@lists.ironpython.com>] *On Behalf Of *Dody
Gunawinata
*Sent:* Monday, 30 March 2009 6:57 AM
*To:* Discussion of IronPython
*Subject:* Re: [IronPython] Announcing IronPython 2.6 Alpha 1
I think the fact that there are more users for "Assembly for Web
Pages" and "AJAX on ALGOL" than IronPython for ASP.Net contributes to
the delay in updates. It's too bad for us that got addicted to the
elegance of the solution in the first place. I remember a couple of
months ago about updated support for intellisense in IP for ASP.Net,
etc. Those are nice to have but I think an updated IP would be enough
to make everybody involved ecstatic. I got a feeling intellisense is
not a major blocker for iron python adoption.
2009/3/28 Adam Brand <ad...@silverkeytech.com
<mailto:ad...@silverkeytech.com>>
Any update on the timeline for getting IronPython for ASP.Net updated?
This would make a world of difference for our IronPython-based web app.
Adam
Adam Brand
SilverKey Technologies
*From:* users-boun...@lists.ironpython.com
<mailto:users-boun...@lists.ironpython.com>
[mailto:users-boun...@lists.ironpython.com
<mailto:users-boun...@lists.ironpython.com>] *On Behalf Of *Dody
Gunawinata
*Sent:* Saturday, March 28, 2009 1:09 PM
*To:* Discussion of IronPython
*Subject:* Re: [IronPython] Announcing IronPython 2.6 Alpha 1
This is awesome. Web application can benefit from this "adaptive
compilation" approach a lot - especially for low trafficked sites.
On Thu, Mar 26, 2009 at 11:08 PM, Giles Thomas
<giles.tho...@resolversystems.com
<mailto:giles.tho...@resolversystems.com>> wrote:
Dave,
This is great news, congratulations to the IP team on this release!
We'll do a test-port of Resolver One early next week and will reply to
the list with any issues we find.
Cheers,
Giles
Dave Fugate wrote:
Hello Python Community,
We’re pleased to announce the release of IronPython 2.6 Alpha 1. As
you might imagine, this release is all about supporting new CPython
2.6 features such as the ‘bytes’ and ‘bytearray’ types (PEP 3112),
decorators for classes (PEP 3129), advanced string formatting (PEP
3101), etc. The minimum .NET version required for this release is the
same as IronPython 2.0; namely .NET 2.0 Service Pack 1. Unlike the 2.0
series of IronPython, we plan to release only a couple Alphas and
Betas of IronPython 2.6. As such, it’s key that we get your feedback
on the release(s) quickly to incorporate requested changes.
Besides CPython 2.6 features, another significant change in this
release is that ipy.exe now uses “adaptive compilation” by default.
Adaptive compilation is a technique in which IronPython:
1. Interprets and executes Python method calls up to /N/ times for a
given method. If you’re only going to execute a method a few times,
it’s typically faster to interpret the method instead of compiling and
executing it
2. Compiles and executes the Python method call on the /N+1/
invocation of the method. Compilation of a Python method is a
heavyweight operation, but we can reuse the result for subsequent
invocations
3. Reuses the previously compiled method for new calls to the Python
method. This operation is much faster than interpreting the method
call as the method was already compiled in the previous step
The reason for this change is that it provides a nice performance gain
for Python code containing lots of functions/methods that only get
called a few times. All this said, this feature is still undergoing
active development and as a consequence some Python scripts may
actually run slower with it turned on. For this reason, our old
default mode of running Python scripts is still available by passing
the –O or -D flags to ipy.exe. Any feedback on how this new feature
affects your IronPython applications performance-wise would be greatly
appreciated.
There’s also a few minor changes since IronPython 2.0.1 that are worth
calling out here:
· IronPython.msi now installs NGEN’ed binaries by default
· IronPython.msi now offers a little more selection with respect to
what you’d like to install. For example, Silverlight templates are
optional
· The default installation location of IronPython.msi no longer
indicates whether the 2.6 release is an Alpha, Beta, or a patched
release. Future IronPython 2.6 installations will replace previous 2.6
releases which will be uninstalled automatically
· The -X:PreferComInteropAssembly flag has been removed. All COM
interop is now done through normal COM dispatch
You can download IronPython 2.6 Alpha 1 at:
http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=22982
The IronPython Team
------------------------------------------------------------------------
_______________________________________________
Users mailing list
Users@lists.ironpython.com <mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
Users@lists.ironpython.com <mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
nomadlife.org <http://nomadlife.org>
_______________________________________________
Users mailing list
Users@lists.ironpython.com <mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
--
nomadlife.org <http://nomadlife.org>
************************************************************************
Allens Arthur Robinson online: http://www.aar.com.au
This email is confidential and may be subject to legal or other
professional privilege. It is also subject to copyright. If you have
received it in error, confidentiality and privilege are not waived and
you must not disclose or use the information in it. Please notify the
sender by return email and delete it from your system. Any personal
information in this email must be handled in accordance with the
Privacy Act 1988 (Cth).
*************************************************************************
_______________________________________________
Users mailing list
Users@lists.ironpython.com <mailto:Users@lists.ironpython.com>
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
------------------------------------------------------------------------
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
_______________________________________________
Users mailing list
Users@lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com