Python rope

Description

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..

Ides - Python Ide - Ide - Source Code - Python - Rope - Type - Refactorings - Inferencing - Code - Text Editing Processing

Published By:Ali G Rudi

License Type:Freeware

Date Added:22 October, 2010

Version:0.6.1

Price:Free

Downloads:19

Size:0

Platform: Linux

What people say
- required fields
     
Related Downloads

Aptana is a robust, JavaScript-focused IDE for building dynamic web applications..

DateOct 27, 2010

AuthorAptana, Inc.

Size74.3 MB

LicenseFreeware

PriceFree

PlatformLinux

CategoryLinux Utilities

Coralillo project is a modular Python IDE with integrated GUI designer and many plugins..

DateOct 23, 2010

AuthorCarlos Daniel Ruvalcaba Valenzuela

Size13.3 KB

LicenseFreeware

PriceFree

PlatformLinux

CategoryLinux Utilities

Chamo is a source code editor, even if it can be used to edit any text file. A system of "views" allows to edit some kinds of files in specific views.

DateSep 9, 2010

AuthorChamo Team

Size573.4 KB

LicenseFreeware

PriceFree

PlatformLinux

CategoryLinux Utilities

wxHatch is intended as a gui building block to put together basic wxWidgets applications, with the ability to automatically generate makefiles, design and manipulate menus, and to incorporate code samples and dialogs. wxWidgets.

DateOct 11, 2010

AuthorChris Elliott

Size3.7 MB

LicenseFreeware

PriceFree

PlatformLinux

CategoryLinux Utilities

DB Designer Fork is a fork of the fabFORCE DBDesigner 4. DBDesigner is a visual database design system that integrates entity relationship design and database creation. The project generates SQL scripts for Oracle, SQL Server, MySQL, and FireBird..

DateOct 22, 2010

AuthorDB Designer Fork team

Size11.0 MB

LicenseFreeware

PriceFree

PlatformLinux

CategoryLinux Utilities