Python rope v.0.6.1


rope is a Python IDE. Python ropes main goal is to provide features like auto-completion, refactorings, content assistance, and outlines. Refactoring: In recent years refactoring has become a basic task of everyday programing, specially in java community. In the agile programing methodologies, like Extreme Programing, Refactoring is one of the core practices. Some IDEs support some basic refactorings like PyDev (which uses bicycle repair man). These IDEs have a limited set of refactorings and fail when doing refactorings that need to know the type of objects in the source code (specially for relatively large projects). rope tries to provide a rich set of refactorings. Some of the refactorings require type inferencing which is described later. Auto Completion: One of the basic features of modern IDEs is the availability of auto-completion. Some Python IDEs have auto-completion support but in a limited form. Since the type of many variables cannot be deduced from simple analysis of the source code. Auto-completing modules names, class names, static methods, class methods, function names and variable names are easy. But auto-completing the methods and attributes of an object is hard. Because the IDE needs to know the type of the object that cannot be achieved easily most of the time in dynamic languages. rope uses Type Inferencing algorithms to solve this problem. Type Inferencing: One disadvantage of dynamic languages like python is that you cannot know the type of variables by a simple analysis of program source code most of the time. Knowing the type of variables is very essential for providing many of the refactorings and auto-completions. rope will use type inferencing to overcome this problem. Static type inferencing uses program source code to guess the type of objects. But type inferencing python programs is very hard. There have been some attempts though not very successful (examples: psycho: only str and int types, StarKiller: wasnt released and ShedSkin: good but limited). They where mostly directed at speeding up python programs by transforming its code to other typed languages rather than building IDEs. Such algorithms might be helpful. There is another approach toward type inferencing. That is the analysis of running programs. This dynamic approach records the types variables are assigned to during the program execution. Although this approach is a lot easier to implement than the alternative, it is limited. Only the parts of the program that are executed are analyzed. If developers write unit tests and use test driven development this approach works very well.

rope is a Python IDE. Python ropes main goal ...

  • Python rope
  • 0.6.1
  • Ali G Rudi
  • Any Platform
  • GPL
  • 135

Review Python rope

  • captcha
New Miscellaneous software
  • ModCom  v.12.0Free Windows software for Data Acquisition & Control, HMI / SCADA, Industrial Automation, Process Control, and Data Logging. Read data from sensors, turn on/off electrical equipment, output control voltages, count or time events, move stepper motors.
  • .Net OCR Library  v.4.4.0Iron OCR is a .NET OCR library allowing users to convert images and PDF documents back into text using the .NET Framework in C#, F#, or VB.NET.
  • The .Net PDF Library  v. .NET PDF library such as Iron PDF is a software library for C#, VB.NET, and other .NET Framework developers to work with PDFs generating PDFs, editing PDFs, and extracting PDF content within their applications. Supports .Net Core & .Net Framework.
  • Bersoft HTML Print  v.9.09This programmer utility for printing HTML pages and images in an invisible way can be called from your application, passing either the file to print or a file list as a parameter.
  • Python Reversi  v.1.0Python Reversi 1.0 is popular as an interesting and ...
  • Python-debianbts  v.1.10python-debianbts 1.10 brings you a comprehensive and functional program which comes as a useful Python Interface to Debian's Bug Tracking ...