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

Reply via email to