[vtk-developers] Tcl wrapping and output array arguments

Will Schroeder will.schroeder at kitware.com
Fri Mar 20 20:21:41 EDT 2015


Personally I have no real attachment to Tcl and can see queuing it up for
deprecation at some point. I'd like to get the community more widely
involved in this decision in terms of when, etc. since there may be some
significant applications out there still using it and we want to minimize
community disruption. There's a lot going on now anyway with the gitlab and
OpenGL2 changes so this is not likely to happen anytime soon.

W

W

On Fri, Mar 20, 2015 at 7:38 PM, Andrew Maclean <andrew.amaclean at gmail.com>
wrote:

> David, David, Will, John
>
> I remember the TCL discussion, maybe the time has come to raise dropping
> it again. I would certainly support that. It was useful before Python was
> widely used but nowadays I think C++/Python/Java programmers would rarely
> (if ever) need to use it. Personally I find it difficult to understand and
> use.It is not a modern language,
>
> One of the reasons TCL was useful in the "old days" was that a lot of the
> testing code was written in it but that is hardly relevant now since we
> converted almost all of it into Python.
>
> Will, I did translate most of the VTK Textbook exercises into Python soon
> after that discussion (way back in 2012). There were a couple that I
> couldn't convert, see the attached document for a summary of what I have
> done.
>
> I'll look at converting TestSetGet and TestEmptyInput to python.
>
> Regards
>    Andrew
>
>
>>
>> ---------- Forwarded message ----------
>> From: David Lonie <david.lonie at kitware.com>
>> To: David Gobbi <david.gobbi at gmail.com>
>> Cc: VTK Developers <vtk-developers at vtk.org>
>> Date: Fri, 20 Mar 2015 09:00:01 -0400
>> Subject: Re: [vtk-developers] Tcl wrapping and output array arguments
>> On Thu, Mar 19, 2015 at 5:54 PM, David Gobbi <david.gobbi at gmail.com>
>> wrote:
>>
>>> On Thu, Mar 19, 2015 at 2:28 PM, David Lonie <david.lonie at kitware.com>
>>> wrote:
>>>
>>>>
>>>> My questions:
>>>>
>>>> 1) Is the concept of an "output array argument" even supported by Tcl?
>>>>
>>>
>>> Yes.  I imagine something like this could create a new array called
>>> "bounds":
>>>
>>>   % mapper GetBounds renderer bounds
>>>
>>>
>>>> 2) If so, how can I teach the wrappers about it?
>>>>
>>>
>>> Adding things like this to Tcl is easier than for Java or Python, but
>>> it's more than an afternoon's work.  I believe that Tcl will already wrap
>>> this method, but the wrapped method will expect 6 values as input, instead
>>> of expecting one name for an output array that it should create.  Because
>>> the wrappers can't really tell whether "double[6]" is meant to be used for
>>> input or output, the method will actually have to be wrapped twice, once
>>> for input, and once for output.  There are undoubtedly some tricky
>>> complications that I haven't though of, however.
>>>
>>
>> Unfortunately, the method is not wrapped currently (according to the
>> generated vtkPropTcl.cxx file, anyway).
>>
>> And perhaps the most curious question from my point of view,
>>>>
>>>> 4) Why do we still provide Tcl bindings in 2015?
>>>>
>>>
>>> Because they're cool!  Actually, at this point I'm fine with them going
>>> away, but I'd still like to keep Tkinter (which works just fine without the
>>> Tcl wrappers).
>>>
>>
>> The general consensus from the developers I've talked to out here is the
>> same -- we'd love to see Tcl go. I had a heck of a time trying to even find
>> a developer who remembered enough about Tcl to begin tracking down this
>> issue before I posted on the mailing list...and this includes the people
>> who wrote the original Tcl wrappers ;)
>>
>>
>>> But seriously, can we deprecate them for 6.3?
>>>>
>>>
>>> Any volunteers to convert TestSetGet and TestEmptyInput to python?
>>>
>>
>> Looks like Andrew has volunteered :D
>>
>> I found this discussion from around v6.0's release:
>>
>>
>> http://vtk.1045678.n5.nabble.com/Modularization-Context2D-and-Tcl-td5594211.html
>>
>> Looks like there was a fair bit of resistance against dropping Tcl 2-3
>> years ago, so I'm not sure how worthwhile it would be to push for this now.
>>
>> But if supporting such a simple method like this requires "more than an
>> afternoon's work" to teach Tcl to understand it, it sounds like more of a
>> burden than a benefit. From what I'm seeing, it's a non-trivial amount of
>> work to keep Tcl working with new APIs and few active developers actually
>> remember Tcl well enough to work on it. Not to mention that in my few years
>> here at Kitware, I've never actually come across an active project that
>> uses Tcl -- not to say they don't exist, but they seem quite rare these
>> days.
>>
>> In any case, decisions like these are beyond me. I'm just a C++ guy
>> trying to add a simple new method to the library :-)
>>
>> Dave
>>
>>
> --
> ___________________________________________
> Andrew J. P. Maclean
>
> ___________________________________________
>



-- 
William J. Schroeder, PhD
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
will.schroeder at kitware.com
http://www.kitware.com
(518) 881-4902
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20150320/8d1e68d1/attachment.html>


More information about the vtk-developers mailing list