Tcl/tk 8.0 vs. 8.4 Question 
Author Message
 Tcl/tk 8.0 vs. 8.4 Question

Hi folks... I need info to help encourage change within the
infrastructure of my organization, which still is building things
against Tcl/tk 8.0.

In industry it often is, or can be, a painful process to upgrade when
one has a stable build process. Consequently the benefits has to
measureably outweigh the pain (We have many products, many built-in
extensions, etc...).

So I'm just doing some research, as I certainly do not know the
upshots of 8.4 versus 8.0, and do not wish to remain ignorant. Can
anyone "either" give:
1. Short descriptions of specific and significant advantages...
   Or what new features have significantly made a difference
   for you?
2. Point me to documentation, and/or resources to further this inquiry

That said... I absolutely "love" Tcl/tk, as it is extremely easy and
flexible to work with. But cannot help but wonder how it will fare or
hold up long term (e.g. +5 years). Will it eventually lose the
software war (metaphorically speaking) say against java (poor
example), or something "else"? (who knows?) Comments welcomed!

Thanks!



Sun, 04 Jul 2004 14:44:05 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:

> Hi folks... I need info to help encourage change within the
> infrastructure of my organization, which still is building things
> against Tcl/tk 8.0.

Don't feel too bad about it; I've still got software that I build against 8.0,
and I've never had the time to update it to work with later versions.  Maybe it
would be easy, but maybe not (I do some *very* crufty things with it.)  All I
need is a way to do 48 hours work a day while still having time for sleep and
such.

Quote:
> So I'm just doing some research, as I certainly do not know the
> upshots of 8.4 versus 8.0, and do not wish to remain ignorant. Can
> anyone "either" give:
> 1. Short descriptions of specific and significant advantages...
>    Or what new features have significantly made a difference
>    for you?
> 2. Point me to documentation, and/or resources to further this inquiry

I'll just point out that 8.4 is still in alpha.  Sure, the alpha is very stable
by the standards of most software, but there are APIs in there which might
change incompatably before release.  OTOH, 8.3.4 is fully supported and most[*]
software (including most binary extensions) which are built against it should be
usable against 8.4.0 when it is released.  (Don't you just *love* the power of
stubs?  That's what lets us honestly give that sort of guarantee.)

There are very few reasons not to use 8.3.4 if you are not using some earlier
version from 8.1 onwards; most software should be compatible with only a minimum
of fuss.  Going from 8.0 (or 7.*) is trickier because a lot of the APIs have
conceptually changed, particularly with the introduction of UNICODE.  For
example, if you had C code with a string in it that contained characters not in
ASCII, you'd need to do some extra work to get them working with 8.1+, either by
UTF8-encoding the string or by putting a conversion function in to go from
whatever your local encoding is.

Quote:
> That said... I absolutely "love" Tcl/tk, as it is extremely easy and
> flexible to work with. But cannot help but wonder how it will fare or
> hold up long term (e.g. +5 years). Will it eventually lose the
> software war (metaphorically speaking) say against java (poor
> example), or something "else"? (who knows?) Comments welcomed!

<shrugs>  *I* don't think Tcl's going away.  We're not a commercial organization
that can be subjected to a hostile take-over by Microsoft, and Tcl's doing more
than well enough to keep going for the medium term...

Donal.
[* I won't promise all, and IIRC some TIPs mandate otherwise. ]
--

-- I'm curious; where does this statistic come from? Does its home, perchance,



Sun, 04 Jul 2004 23:57:14 GMT  
 Tcl/tk 8.0 vs. 8.4 Question
        ...

Quote:
> So I'm just doing some research, as I certainly do not know the
> upshots of 8.4 versus 8.0, and do not wish to remain ignorant. Can
> anyone "either" give:
> 1. Short descriptions of specific and significant advantages...
>    Or what new features have significantly made a difference for you?

8.4 is still in alpha, which is still good enough quality by this
community's standards to be used in production code (IOW, better
than any stable Java version ;^) ), but your management may want
to consider 8.3.4 instead.

In any case, the big notable points are very mature unicode support
throughout (which is also an upgrade point), and thread-safety and
multi-threading capabilities should you wish to use those (they
don't affect upgrading, unless you want to use them).

8.3.4 has numerous new features over 8.0, for Tcl and Tk.  The
dash-patch was added to Tk in 8.3 as an example.  8.4 has notable
speed improvements, and also more stuff for Tk (like new widgets).

Plenty more subtle stuff as well.  I do recommend upgrading.  If
done "right" for 8.3, moving to 8.4+ should be trivial (making
use of stubs in extensions, clean config files, etc).

Quote:
> 2. Point me to documentation, and/or resources to further this inquiry
> That said... I absolutely "love" Tcl/tk, as it is extremely easy and
> flexible to work with. But cannot help but wonder how it will fare or
> hold up long term (e.g. +5 years). Will it eventually lose the

It's more than 10 years old now, and still aging gracefully.  I
wouldn't worry about it going away any time soon.  Then again,
it is open source, so in truth you don't have to worry about it
ever really going away.

--
  Jeff Hobbs                     The Tcl Guy
  Senior Developer               http://www.ActiveState.com/
        Tcl Support and Productivity Solutions
     http://www.ActiveState.com/Products/ASPN_Tcl/



Mon, 05 Jul 2004 01:22:11 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

<snip>

Quote:

> > That said... I absolutely "love" Tcl/tk, as it is extremely easy and
> > flexible to work with. But cannot help but wonder how it will fare or
> > hold up long term (e.g. +5 years). Will it eventually lose the
> > software war (metaphorically speaking) say against java (poor
> > example), or something "else"? (who knows?) Comments welcomed!

> <shrugs>  *I* don't think Tcl's going away.  We're not a commercial organization
> that can be subjected to a hostile take-over by Microsoft, and Tcl's doing more
> than well enough to keep going for the medium term...

I'd agree with that. Tcl isn't going to disappear, as a fair number of
people still use it a lot. There are still some companies out there
(ActiveState now) who will provide support for it, so I guess it's not
in decline yet. It's not as high-profile as it might be, but still used
where it matters.
Quote:

> Donal.



Mon, 05 Jul 2004 01:43:56 GMT  
 Tcl/tk 8.0 vs. 8.4 Question
        ...

Quote:
> One thing that we are seeing is that things are slowing down between
> releases, in general, about twice as slow per release.  You can verify this
> by running the attached script in 8.0, 8.2, 8.3, and 8.4

Danger!  Entering ground where you have to test carefully, because
while the code you added does show slowdown characteristics, it's
misleading in many ways.

First off, "proper" style would not be to do:
        uplevel 1 { command arg arg }
but rather:
        uplevel 1 [list command arg arg]

Also, your timings are hitting one particular "bug" that was added
that causes a constant time slowdown for procs that are called
without args.  This is a very small time, but can seemingly skew
timings for small procs.  Add a 'blah' to each timed command as an
arg.  Finally, the best place to look for a real, comprehensive
comparison of many, many tests is:
        http://mini.net/tcl/1611.html

You will see that 8.0 was definitely a fast interpreter, but also
lacked unicode or thread-safety.  With work that myself and others
have done on 8.4, it is actually faster in many cases than 8.4 was.

I welcome others to add more tests the tclbench suite (part of
http://tcllib.sourceforge.net/).

--
  Jeff Hobbs                     The Tcl Guy
  Senior Developer               http://www.ActiveState.com/
        Tcl Support and Productivity Solutions
     http://www.ActiveState.com/Products/ASPN_Tcl/



Mon, 05 Jul 2004 03:29:35 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Hi,

Quote:
> Hi folks... I need info to help encourage change within the
> infrastructure of my organization, which still is building things
> against Tcl/tk 8.0.

> In industry it often is, or can be, a painful process to upgrade when
> one has a stable build process. Consequently the benefits has to
> measureably outweigh the pain (We have many products, many built-in
> extensions, etc...).

> So I'm just doing some research, as I certainly do not know the
> upshots of 8.4 versus 8.0, and do not wish to remain ignorant. Can

  the current stable is 8.3

  you can think of "8.3" is "8.0 + bugfixes + some features"

  ( one of the core team should know it better )

Quote:
> anyone "either" give:
> 1. Short descriptions of specific and significant advantages...
>    Or what new features have significantly made a difference
>    for you?
> 2. Point me to documentation, and/or resources to further this inquiry

> That said... I absolutely "love" Tcl/tk, as it is extremely easy and
> flexible to work with. But cannot help but wonder how it will fare or
> hold up long term (e.g. +5 years). Will it eventually lose the

  I know perl, tcl and java

  0) from all modern programming languages:
     tcl:  has a steady history
     java: heavily depends on sun (how will sun be in 5 years)
           => java is not free (there is a possibility that
              you have to pay a lot of money to use java in
              future)
     perl: is doing a full rewrite but not finish
  1) tcl has a "Compiler" ( I wrote it ) perl not
  2) tcl is very easy to use ( and even to compile )
  3) you can't use java remote by display redirection
     (very very slow. Many companies are hidden by this because
     server (special unix) are somewhere in the shelter and
     you need display redirection to use GUI tools directly on
     the server )
  4) tcl is stable and increasing
     ( people try to use other languages but come back )
  5) perl is decreasing (it's just unusable after using
     more than ~ 500 lines of code)
  6) java is hype but expensive to use (more training, faster
     HW) => attention many first java projects fail because you
     need a lot of knowledge to get it working)
  7) to convince somebody to give you money (special if the
     guys are no technical's) => java is the right choice
  8) if you want to train non programmers => tcl is the right
     choice

  this are just my first thoughts

Quote:
> software war (metaphorically speaking) say against java (poor
> example), or something "else"? (who knows?) Comments welcomed!

mfg

  aotto :)

--
=================================================================
(C) Compiler-Factory, Dipl.-Ing Andreas Otto, Business Solutions

C, C++, Java, Tcl, Perl, HTML, DB, Sql, Shell, M4, GUI, Package



Sun, 04 Jul 2004 20:02:43 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:

> ... I absolutely "love" Tcl/tk, ... Will it eventually lose the
> software war (metaphorically speaking) say against java (poor
> example), or something "else"? (who knows?) Comments welcomed!

Since you throw in "eventually" and  "something else", I'll answer yes.

But then again I remeber the "war" between Cobal and fortran adn Algol and
Pascal.

--
+--------------------------------+---------------------------------------+

| Gerald W. Lester               | "The man who fights for his ideals is |


+--------------------------------+---------------------------------------+



Mon, 05 Jul 2004 07:50:15 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:

>Will it eventually lose the
>software war

Was I drafted?  No one told me.
--

Tomasoft Engineering, Hayward, CA


Mon, 05 Jul 2004 07:54:45 GMT  
 Tcl/tk 8.0 vs. 8.4 Question


:You will see that 8.0 was definitely a fast interpreter, but also
:lacked unicode or thread-safety.  With work that myself and others
:have done on 8.4, it is actually faster in many cases than 8.4 was.

Did you really mean to say here that with the work done on 8.4, it (8.4)
is actually faster in many cases than 8.0 was?

--
"I know of vanishingly few people ... who choose to use ksh." "I'm a minority!"

Even if explicitly stated to the contrary, nothing in this posting
should be construed as representing my employer's opinions.



Tue, 06 Jul 2004 02:01:23 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:


> :You will see that 8.0 was definitely a fast interpreter, but also
> :lacked unicode or thread-safety.  With work that myself and others
> :have done on 8.4, it is actually faster in many cases than 8.4 was.

> Did you really mean to say here that with the work done on 8.4, it (8.4)
> is actually faster in many cases than 8.0 was?

Not yet many, but some.  Maybe soon 'many'.  I have to redo the
graphs on the wiki, because the numbers have gotten better for
8.4 than what is there (and they are already good).

--
  Jeff Hobbs                     The Tcl Guy
  Senior Developer               http://www.ActiveState.com/
        Tcl Support and Productivity Solutions
     http://www.ActiveState.com/Products/ASPN_Tcl/



Tue, 06 Jul 2004 06:00:38 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:


> Hi,

> > Hi folks... I need info to help encourage change within the
> > infrastructure of my organization, which still is building things
> > against Tcl/tk 8.0.

> > In industry it often is, or can be, a painful process to upgrade when
> > one has a stable build process. Consequently the benefits has to
> > measureably outweigh the pain (We have many products, many built-in
> > extensions, etc...).

> > So I'm just doing some research, as I certainly do not know the
> > upshots of 8.4 versus 8.0, and do not wish to remain ignorant. Can

>   the current stable is 8.3

>   you can think of "8.3" is "8.0 + bugfixes + some features"

>   ( one of the core team should know it better )

> > anyone "either" give:
> > 1. Short descriptions of specific and significant advantages...
> >    Or what new features have significantly made a difference
> >    for you?
> > 2. Point me to documentation, and/or resources to further this inquiry

> > That said... I absolutely "love" Tcl/tk, as it is extremely easy and
> > flexible to work with. But cannot help but wonder how it will fare or
> > hold up long term (e.g. +5 years). Will it eventually lose the

>   I know perl, tcl and java

>   0) from all modern programming languages:
>      tcl:  has a steady history
>      java: heavily depends on sun (how will sun be in 5 years)
>            => java is not free (there is a possibility that
>               you have to pay a lot of money to use java in
>               future)
>      perl: is doing a full rewrite but not finish
>   1) tcl has a "Compiler" ( I wrote it ) perl not
>   2) tcl is very easy to use ( and even to compile )
>   3) you can't use java remote by display redirection
>      (very very slow. Many companies are hidden by this because
>      server (special unix) are somewhere in the shelter and
>      you need display redirection to use GUI tools directly on
>      the server )
>   4) tcl is stable and increasing
>      ( people try to use other languages but come back )
>   5) perl is decreasing (it's just unusable after using
>      more than ~ 500 lines of code)
>   6) java is hype but expensive to use (more training, faster
>      HW) => attention many first java projects fail because you
>      need a lot of knowledge to get it working)
>   7) to convince somebody to give you money (special if the
>      guys are no technical's) => java is the right choice
>   8) if you want to train non programmers => tcl is the right
>      choice

>   this are just my first thoughts

> > software war (metaphorically speaking) say against java (poor
> > example), or something "else"? (who knows?) Comments welcomed!

> mfg

>   aotto :)

Many thanks to you "all" for this discussion!!!

So it appears in a nutshell the key points and advantages are:

1. If gonna upgrade, go to 8.3.4. :)
   (as 8.4 still in early phase of release cycle)

2. Unicode support - Question: does the multi-threading capabilities  
   that exist (because of this) give performance improvements?
   If so, is there any benchmark testing to validate this claim?
   (very important)

   Where are there other speed improvements/code/function
optimization?

3. New features:
    - The dash-patch was mentioned by Jeff.
      (admittedly I do not know what this is about)
    - Other ? (That really made a difference for you)
    - subtle stuff ? (How can one find out more?)

4. Other misc. bug-fixing (but was there any particular significant
   painful issue/s between 8.0 and 8.3.4?)

When we (my organization) upgraded from 7.* to 8.0, the effort was
enormous, as we have developed a "significant" amount of code around
Tcl/tk. While the effort required to upgrade from 8.0 to 8.3.4 or
higher is still an unknown (though likely will not be as painful) but
based on the above (so far) there does not appear to be enough +++s to
justify the effort (At least I'm sure that'll be my management's
position) :)

I'm very interested in learning more about the UNICODE additions
however. Is there any documentation (books, etc.) that anyone can
recommend? Thanks!



Tue, 06 Jul 2004 13:52:23 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:

>Question: does the multi-threading capabilities  
>   that exist (because of this) give performance improvements?

No.  It's slower.  Only when one takes advantage of concurrency, can the loss
associated to the added sync-locks be overcome.  You would need a very good
reason to want to use threading -- multiple notifiers, script concurrency, etc..

You can, of course, use single-threaded Tcl in a multithreading environment if
you follow the rules and do all the needed responsibility on your own.
--

Tomasoft Engineering, Hayward, CA



Tue, 06 Jul 2004 14:07:56 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Quote:

>4. Other misc. bug-fixing (but was there any particular significant
>   painful issue/s between 8.0 and 8.3.4?)

The list is long.  Everyone seems to have their favorite bug fix.  I liked the
[exec] bug on windows that leaked 4k of virtual memory on each call.  Or how
async pipes from wish just weren't.
--

Tomasoft Engineering, Hayward, CA


Tue, 06 Jul 2004 14:14:02 GMT  
 Tcl/tk 8.0 vs. 8.4 Question
        ...

Quote:
> 2. Unicode support - Question: does the multi-threading capabilities
>    that exist (because of this) give performance improvements?

There is a difference between thread-safety and multi-threading,
and Tcl has both, but only the latter when directly compiled
that way.  Multi-threading does slow things down, as it does in
any system, due to the overhead of locking and such.  The best
time to use it is when you have multiple CPUs, as that can
offset the locking overhead with parallel execution.

Quote:
>    If so, is there any benchmark testing to validate this claim?

See link I posted before: http://mini.net/tcl/1611.html

Quote:
> When we (my organization) upgraded from 7.* to 8.0, the effort was
> enormous, as we have developed a "significant" amount of code around

That's surprising to hear - very little code changes should have
been necessary to move from 7.6 to 8.0.  There were optional
ones, like porting to Tcl_Obj's for speed improvements, but
otherwise it should have been relatively painless.

--
  Jeff Hobbs                     The Tcl Guy
  Senior Developer               http://www.ActiveState.com/
      Tcl Support and Productivity Solutions



Tue, 06 Jul 2004 15:02:07 GMT  
 Tcl/tk 8.0 vs. 8.4 Question

Hi,

  performance ????

  have a look to:

  http://www.compiler-factory.com/performance-result.html

  this is a commercial tool but free for private use.
  You see that work is done if you hit the border of Tcl
  and need more power

  we don't let *you* stay in rain
  (translation from german)

mfg

  aotto :)

--
=================================================================
(C) Compiler-Factory, Dipl.-Ing Andreas Otto, Business Solutions

C, C++, Java, Tcl, Perl, HTML, DB, Sql, Shell, M4, GUI, Package



Tue, 06 Jul 2004 15:40:24 GMT  
 
 [ 15 post ] 

 Relevant Pages 

1. C Interface question. RE: 8.0 vs 8.4

2. Stubs with Tcl 8.3 vs Tcl 8.4

3. CONST Tcl 8.3 vs Tcl 8.4

4. Problems with extension vs Tk 8.4

5. Q: speed open call Tcl 8.3 vs 8.4

6. OpenGL Bindings for Tcl/Tk 8.4

7. ::tk::dialog::file:: throws Error in Tcl 8.4!

8. tkBuilder Fix (temporary) for Tcl/Tk 8.4

9. TCL_LIBRARY environment variables settings in Tcl/Tk 8.4 Win2k3

10. ISO: Help regarding Tcl/Tk 8.4 Japanese Input Methods

11. Tix and Tcl/Tk 8.4

12. tkogl - tcl/tk 8.4 precompiled binary DLLs

 

 
Powered by phpBB® Forum Software