Version 40 of XotclIDE

Updated 2003-07-18 12:56:46

What: XotclIDE

Where: http://www.xdobry.de/xotclide

Description: Integrated interactive development environment for the XOTcl extension. Provides a Smalltalk like graphical programming environment (ENVY, Squeak, Visual Works) with graphical introspection and editing of a running system. It supports also normal Tcl procs and packages. State can be saved in the form of Tcl packages. Can optionally use a sql-based version control system (MySQL, PostgreSQL, Tclodbc, SQLite). Currently at 0.42.

IDE supports following development tasks:

  1. coding, editing (with syntax hightlighting)
  2. code completion
  3. oo-system introspection and browsing
  4. global variables inspector
  5. syntax checker for (tcl and xotcl) Static Syntax Analysis
  6. debugging (partially) and full with atkdebugger
  7. tracking objects method calls
  8. Coverage Analysis of objects methods calls
  9. configuration (also versioned)
  10. version control (edition, versions, versions comparing)
  11. testing (Extreme Programming test framework based on SUnit)
  12. documentation (html doc generator)

Updated: 04/2003.

Contact: mailto:[email protected] (Artur Trzewik)

XOTclIDE is also available [L1 ] as wrapped TclKit and StarKit for Windows and Linux Intel. You can run XOTcl on Windows from one file without any installation or another requirements. (escargo 31 Mar 2003 - I downloaded version 0.41 from that source today.)


Here is the place for your comments for XOTclIDE

TV Nice app, I quickly went over it and would mostly be interested to try out tcl programs, I'm not such a fan of the OO stuf where things are wrapped and classed and all (though I did years of Objective C work), I didn't see an easy way, let's say, to set up a tcl program and inspect it, though it seems pretty extensive in what it does.

Artur Trzewik 11.04.2003 - There are special script "START.tcl" in XOTclIDE which can be used to start XOTclIDE from any tcl application. After this you can use XOTclIDE to inspect your application. Up from version 0.42 you can use a wizard to import tcl procs into XOTclIDE from Tcl-Interpreter. There are also a global variables inspector. Man can also starts tcl scripts from XOTclIDE or use project importing function.

DP I am sure this is the kind of ingenious application needed to improve programming productivity. Many thanks for making it available!! Unfortunatley I have no idea how to use it. I am a TCL programmer and wanted to edit, develop and debug TCL/XOTCL code efficently. I do not know anything about OO or XOTCL and read all the manuals on XOTclIDE I could find. So far I have failed to figure out how to even start editing my existing TCL scripts. Do you have an suggestions or an idiots guide I could follow to get me going or is this application too advanced for a novice user??

JMN I too am having difficulty working out what to do with this program. The tutorial at http://www.xdobry.de/xotclIDE/tutorial.html looked like a good place to start.. but when I tried to enter a speed parameter, wish crashes saying "Tcl_AppendStringsToObj called with shared object". I managed to get a bit further by not entering a parameter, so as to accept the default - but RS's demo is more than a little heavy going on my CPUs (dual 400MHZ CPU machine) - trying to click on dialogs whilst that train is running is like wading through mud. .. I'm running XOTclIDE from within a tclkit, so I'll try unwrapping it and see how it goes.

All that aside - I feel that something is missing in the way of a high-level explanation of this IDE. I come to this program with the simpleminded notion of opening and closing text-files as the way to develop - so I guess what I'm missing is a basic overview of how all this class browsing relates to the files on disk - and indeed whether I can even use it on applications that aren't entirely XOTcl based...

Artur Trzewik 18.07.2003 I must confes that the tuturials are not so good. I want to write a new tuturial next that explain step be step how to program with XOTclIDE and how to import existing Tcl sources. Some more information can be found in presentation slides from Tcl Workshop http://www.xdobry.de/xotclIDE/workshop.html I belive that main problem is another developing paradigma. That IDE is no File or Script Editor. It do not manage Files or Scripts but works in interactive mode wiht Tcl interpreter. The normall developing steps are

  1. Start IDE
  2. Load sources into interpreter (per source oder package require). IDE recognize structure of sources and build components. (Component is quite equal to Tcl package)
  3. Change interpreter state by deleting, modifing and create of tcl procedures
  4. Store interpreter state (all defined procedures) as tcl package or in version control system.

Indeed the developer do not need to care how components are stored on file system or into sql repository. Here some tips how to work with file system by creating new Component

  1. Create new component
  2. Store it per menu Component->Save Components. The system build a Tcl package in working dictionary
  3. For load it your can use Component->Load Package or Component->Import Source. To load it per package require you must rebuild your pkgIndex.tcl (see Component->Low Level Function->Run pkg_makeIndex) and have your dictionary in auto_path variable.
  4. Also Configurations Maps use package mechanism.

I have noticed that tclkit version have problems to load packages I will fix it next time. The better way is to use version control and store on file system only by deploying

XOTclIDE is also not the right tool to manage short Tcl scripts (with no defined procedures). The really power of it can be used if your projects are:

   -application more that 10000 lines of code
   -more than one developer
   -need for developing documentation tool
   -long maintenance (patches and improvments)
   -need for version control

Here is the place for your suggestions and wish-list items for XOTclIDE

escargo 10 Mar 2003 - There are a couple of major features that are of interest to me since the parallel with the Smalltalk browsers seems to be a key differentiator of XotclIDE from other Tcl object systems.

  1. Refactoring Browser[L2 ]
  2. SUnit work alike[L3 ] (maybe covered above)

(You do say there is a "test framework" but it would be nice to know how it compares with SUnit.)

Artur Trzewik (11 Mar 2003)

answer 1) XOTclIDE contains Tcl/XOTcl parser that can create syntax trees. They are used for syntax highlighting and the syntax checker in XOTclIDE. The syntax checker is very similar to smallint. There is no refactoring browser with complex functions as moving methods in class hierarchy or manipulate class hierarchies. Some of refactoring functions are integrated directly in Component and Class Browsers. There are: searching after text, methods sender and methods implementors (in class, component and global contex), copying and moving classes/object in components. I know the smalltalk refactoring browser but I have not used it often and have no big experience with it. Another nice thing would be OO-Metrics (statistics about code distribution in OO-Structures) also with time aspect taken from version control (It can be simply implemented in XOTclIDE). It can be very useful to learn about the code stucture and maturity without analysis of all sources.

answer 2) Indeed the Test Framework in XOTclIDE is very similar (almost equal) to SUnit. There are small differences. First XOTclIDE makes no difference between run time errors and asserts failures (The difference can be noticed in the error report). The test methods are also invoked in alphabetical order.


See also XOTcl, IDE.


Category Application