Tcl/Tk Survey 2009

Fabricio Rocha 15-Apr-2009 - Every now and then the Tcl/Tk “marketing” comes to discussion. Introspection is a feature of Tcl itself and it's always useful when applied in the community. This survey is one more attempt on this field, maybe in a more objective manner than the previous attempts.

Fabricio Rocha 19-Apr-09 - Due to a limit in the number of collected responses, the survey hosted at SurveyMonkey was closed one week before planned. Sorry for the inconvenience (I might have made a better search for a survey host). Anyway, 100 answers were collected, which might be enough for a first attempt on a survey like that. So here are the results. Thanks to everybody who spent some minutes on the survey!

I have already added some of my own opinions about the numbers, and I hope more people will be interested in doing that. For each question, there are "analysis", "suggestions" and "results from the suggestions" sections, so we can have the (possibly various) debates about the results more or less organized. The "results from the suggestions" section is intended to be filled in the future, as soon as work on the suggestions begin and also in some special dates (like "6 months later" and "1 year later"), so we will be able to know, from this page, what's going on.

1) For how long have you been using Tcl/Tk?

More than 5 years - 72 votes

From 1 to 5 years - 19 votes

Less than one year - 7 votes

I still don't use it, I am thinking about it - 2 votes


Fabricio Rocha - The answers to this question explain or are related to the answers given for most of the other questions. Most Tcl/Tk users which took the survey are veterans, who are presumably very well acquainted with comp.lang.tcl (AFAIK, the only place where the survey was announced) and already know a lot about the language -- both technically and "politically". There is however a regular number of beginners which post questions on c.l.t. which seemed to miss the survey. Maybe they did not feel "welcome" or enough informed to opine; maybe most of them are not regular readers of c.l.t. and only access the forum when they have a specific question. The question is not enough to conclude that, but there is also the simple possibility that most current Tclers are old-timers, which would be a problem -- new users with fresh ideas and willpower which are always important to improve the language, take it to new horizons and, in a circular way, attract other new users -- but, again, there is a significant number of newbies asking questions in c.l.t., even if the numbers don't show that.

Canol Gokel - Fabricio Rocha told pretty much everything I wanted to say. If you ask to the veterans of the Perl community what is wrong with Perl, they will say that Perl is in a perfect condition and all the stories, blog entries, polls which show that Python and Ruby has started to be chosen over Perl is nothing but an illusion. They just can't make objective evaluations. Which caused Perl to fall behind day by day.

I don't know much about Tcl community yet, so I cannot say this applies to Tcl community, as well. But I wish there would be more newbies attended to the survey. By the way for those who thinks "Who the hell is this guy" I'm one of the newbies :)


Results from the suggestions

2) How do you use (or want to use) Tcl/Tk?

I am a commercial developer, Tcl/Tk is one of the languages I use - 37 votes

Programming is a hobby for me - 22 votes

I work on an IT department where Tcl/Tk is used a lot - 12 votes

I am a commercial developer, Tcl/Tk is the only/main language I use - 7 votes

I am an university professor of Computer Science and I use Tcl/Tk in my classes - 1 vote

I am a student, and I have classes on Tcl/Tk - no votes

I am a school teacher, I use Tcl/Tk with the kids - no votes

Other - 21 votes

Comments which could be classified as extra options

I use Tcl/Tk in laboratory and research - 9 comments - "I'm a bioinformatician and use it at work", "Developing bioinformatics", "I am a researcher in biology and I need to program tools easily", "I work in non-commercial research, Tcl/Tk is one of the languages I use", "Academic researcher creating document processing tools", "I am a grad student; I use Tcl + C to create linguistic software", "Science Research", "I use Tcl for controlling experiments and data processing (university research)", "Test automation".

I use Tcl/Tk "non-officially" at work - 6 comments - "Programming applications for work", "I use Tcl/Tk for any casual programming as a Systems Administrator", "I use it to simplify data processing in my company", "I use tcl for factory machine tool networking and control", "Sysadmin trying to get tcl blessed at work", "It is a hobby for me and I work in an IT dept where Tcl/Tk is used some and Tcl/Tk is one of the languages I use for development - multiple choices were not allowed on this question",

Mixed use for hobby and commercial development - 4 comments - "Personal use, plus some commercial", "I'm an independent worker using Tcl/Tk for many things in my work (some of them are sold)", "Hobby plus occasional paywork", "Both hobby, and professionally, where possible"

Hacking - 1 comment

Unclassified comments

"I plan to release code under FOSS licenses"


Fabricio Rocha - This question shows a decision to be made: to which target public should the "Tcl/Tk marketing" point to? We can try to be even more stronger among commercial developers and IT professionals: the tutorials and articles about advanced techniques and "did you know you can do that in Tcl/Tk?" (well voted options in Question 9) are good weapons for this mission, as well as a good number of high-quality, up-to-date programming tools and free libraries (for this public, I think the "pro" tools from ActiveState are not too expensive and they could be more promoted). The answers to Question 5 can be a guide to a more detailed approach to this public.

Or maybe we can assume that Tcl/Tk is already consolidate enough in this area and try to get other kinds of users. I was surprised with the practically insignificant voting in the education-related options, in spite of Tcl/Tk being so easy and versatile (and, IMO, much more productive and student-friendly than Java or C/C++, and much more useful than Prolog, LISP or Logo). This is a pity because I think (and many Tclers too, as shown by Question 5) Tcl/Tk looks wonderful as an introductory programming language and the school would be a great place to gather new users. I'd also like to highlight the importance (confirmed by the numbers) of the programming hobbyists using Tcl/Tk. I think that this public can contribute a lot to the development of the language itself, and they are usually free of the pressing schedule on the commercial developers -- this gives them time to find new solutions and distribute it among the other members. For that public, it would be nice to have more free high-quality programming tools, which IMO currently are not enough.


Fabricio Rocha - If we want Tcl/Tk to regain strength and have a bigger number of users, we must debate to which public we want to drive Tcl/Tk features and "marketing" (please view Question 5 as well). I can't imagine how to improve the appeal to commercial developers and IT professionals (you who are part of these categories can say that much better than me). If we decide that the school/university public is important, maybe some of us could make a series of tutorials for students -- much like the ones directed to newbies, but with a touch of "school language" -- and specially some for teachers, showing how to apply Tcl in education and the benefits it has compared to other languages. Users with experience in education can help a lot on that, and those tutorials should be translated to at least the world's most spoken languages. Also helpful (and noble) would be to volunteer in schools for making presentations (or even regular classes) on "introduction to programming with Tcl/Tk".

3) How did you know about Tcl/Tk?

I had to learn it in my job - 19 votes

A friend/colleague used it and made me know it - 19 votes

I saw it mentioned in a book about Linux programming - 10 votes

I had to learn it at school - 7 votes

It was mentioned by an article in a newspaper/IT magazine/IT website - 7 votes

In a Google/Altavista/Yahoo/etc search on free programming tools/languages - 4 votes

In a Google/Altavista/Yahoo/etc search on easy, friendly programming tools/languages - 4 votes

In a Google/Altavista/Yahoo/etc search on rapid programming of GUI applications - 2 votes

I learnt about it in a conference - 1 vote

1 voter skipped this question

Other - 26 votes

Comments which could be classified as extra options

Using one or more "made with Tcl/Tk" software(s) - 6 comments - "TKDesk in early 90's", "Online and as Linux distro packages", "Was part of Slackware distrib; then bought Ousterhout book, etc.", "I don't remember. Probably from using a program written in tcl/tk", "Found a program that happened to be written in Tcl/Tk (may have been celia, for CSound)", "Found a couple of interesting tcl/tk apps installed with a linux installation which I wanted to understand"

From Tcl/Tk programming books - 6 comments - "Was part of Slackware distrib; then bought Ousterhout book, etc.", "Stumbled across it in a computer book store", "Ousterhout's book & job requirement", "I bought Brent Welchs Book while on holiday and was hooked", "Accidentally ordered a book about Tk", "Browsing the development section at Barnes and Noble"

Other internet searches and sources - 6 comments - "Usenet discussion", "Wikipedia", "Usenet", "", "I saw it while browsing sites about programming languages", "I was investigate for the optimal language for to develop multi-platforms"

I don't remember well - 2 comments - "I don't remember. Probably from using a program written in tcl/tk", "Can’t remember...", "

I had to learn it at school / at job - 2 comments - "I had to program the Biomek 2000 robot in the lab during my PhD", "Ousterhout's book & job requirement"

It was a Unix must in the past - 2 comments - "I don't remember exactly how I learned about Tcl/Tk; but it was somewhere in the early 1990s when Tcl and the Tk toolkit were kinda 'common knowledge Unix' things like lex and yacc", "I had to build GUIs under X11 many years ago and it was the easiest way of doing this!"

While looking for Unicode-compliant tools - 1 comments - "Unicode features search",

Unclassified comments

"Someone mentioned that was used by Cisco"

"Wanted to try something new"

"Found a paper from Usenix about it in a trash can"

"I first learnt about it in a book on testing"


Fabricio Rocha - "I had to learn it in my job" was not an option I wanted to see with so many votes. Of course, there are banks and institutions which use Fortran and Cobol since the 50s or so, but I think that most companies are highly volatile and can change one or more technologies they use in a blink if they are not "mission-critical" to their business (and I think that unfortunately Tcl/Tk is not often used like that). Specially in medium and bigger companies, it is very usual that Microsoft, Sun, IBM, other "big monsters" and their intermediary sellers convince the directors to change everything to their solutions -- and then suddenly Tclers (and potential Tclers) are doing Visual Basic, C#, Java etc. We all know that Tcl/Tk is not hype anymore and it's each day less likely that more people will adopt it because they had to use it in an IT department.

Books were pointed as first contact with Tcl by a good number of voters, but this is also not a good scenario because, as one voter stated in Question 6, there's a lack of new books about Tcl/Tk in the last years, many of the existent ones are outdated and some simply are not sold anymore. The number of voters which mentioned the web as the source of this first contact was below my expectations, and I think this is a problem. I did two Google searches on "programming for newbies" and "programming beginners", and could not find any mention to Tcl/Tk until the sixth page, while I could find a lot of sites promoting Java, C++, Visual Basic, Ruby, Python and Perl.

GWL You made a comment that "... not "mission-critical" to their business (and I think that unfortunately Tcl/Tk is not often used like that" -- what is interesting to me is that it is mostly it the Fortune 500 companies that I've seen Tcl used in mission critical applications. Of course those companies are large enough that they can re-implement their mission critical systems every 10 years or so.


Fabricio Rocha - I think that if Tcl/Tk is not highly visible in the web, it will not be visible anywhere. If we want to attract new users, we must ensure that Tcl/Tk is mentioned in programming/tech forums and blogs all around. Maybe it would be possible to find a way of making the Tclers Wiki and the website more visible to the Google bots and equivalents. The apparisons in IT magazines, websites and newspapers can only happen if the community generates facts (new versions, cool Tcl/Tk software, etc) and distributes press-releases about all this stuff to the media. A group of users with that "press spirit" (I remember Cameron Laird's "Tclers Wiki Weekly News") could be formed to keep an eye on these opportunities. By the way, I am a professional journalist and I would gladly help on that.

Results from the suggestions

4) Which feature(s) or characteristic(s) in Tcl/Tk conquered you?

Cross-platform programming with no or little fuss - 81 votes

Easy GUI programming - 76 votes

It is mature and stable - 67 votes

Very easy to learn - 64 votes

It's free (open source software) - 58 votes

The language extensibility - 54 votes

It's free (as in beer) - 52 votes

It had/has a very active community - 48 votes

Its online documentation is complete, easy to find and to understand - 42 votes

It could be used as a scripting language for a software project of mine - 39 votes

Its technical features allowed/allows it to be the main language for a project I had/have - 39 votes

It had/has an enormous free, ready-to-use collection of extensions and libraries - 32 votes

The GUIs it creates were/are nice - 23 votes

It is regularly updated - 21 votes

It was/is easy to find good books about it - 17 votes

It is a cool "underground" language - 15 votes

It's a popular programming language/toolkit - 12 votes

It had/has a company behind it, so I would have support if needed - 4 votes

I could/can have commercial 3rd party support for it - 2 votes

Nothing, I use it because I was/am forced to - 0 vote

Other - 13 votes

Comments which could be classified as extra options

Simple but powerful syntax - 4 comments - "EIAS", "Clean design, EIAS philosophy", "It is very powerful", "Everything is a (Unicode) string! Excellent Unicode support + lots of string handling features = perfect for linguistics"

Unicode support - 2 comments - "Everything is a (Unicode) string! Excellent Unicode support + lots of string handling features = perfect for linguistics", "Unicode support"

Comments which could be classified among the existent options

Its online documentation is complete, easy to find and to understand - 2 comments - "The Wiki", "The wiki is an absolutely fantastic central resource of examples and knowledge!"'''

It could be used as a scripting language for a software project of mine - 2 comments - "Easy to extend with C (or embed into C apps)", "Ease of embedding in other software"

Its technical features allowed/allows it to be the main language for a project I had/have - 1 comment - "I can make my frame work using it for the base"


Fabricio Rocha - The answers to this "reflective" question shows us what can be promoted as the biggest advantages on Tcl/Tk. I think cross-platform is a really attractive thing for programming newbies, because most of the popular introductory programming languages/systems are not free nor cross platform (Visual Basic, Gambas, Delphi, etc). A high number of votes in most of the options shows also that people finds a lot of interesting things to do with Tcl/Tk. It is interesting to observe that commercial support and "a company behind it" are not priorities among the experient, mostly commercial developers Tclers which were the major participants on the survey.

Canol Gokel - There might be some misunderstanding with the results. One of the first things I look at when learning a new language is the documentation. So, although documentation is very important for me I didn't checked "Its online documentation is complete, easy to find and to understand" because I think, although Tcl's documentation is pretty good in some areas, it can be better. So, not checking an option does not mean "it is less important", it means "I couldn't find it in Tcl". To explain better, "Cross-platform programming with no or little fuss" being #1 means Tcl is pretty successful in being a cross-platform tool. This is one of the options I checked because I managed to compile both Tcl and Tk on Windows several times without any problem while I got problems with Perl, Python, GNU Smalltalk etc.


Fabricio Rocha - Kinda obvious, but "advocacy" could work better if concentrated in the points which have the strongest appeal to current users. This means that, unless a certain target public has very specific peculiarities and demands (government is an example), some of the features we consider good (but not so much) could be left aside. In a presentation, for example, it could be much more interesting to create a simple demo program with the audience and then ask people to run it in their own Linux, Win and Mac notebooks. It would be also useful to have clear and web-spread documentation on showcases which are related to these most popular features.

Results from the suggestions

5) Due to its characteristics, what is Tcl/Tk best suited for?

Creation of front-ends for console-based utilities - 59 votes

Embedded scripting in other applications - 57 votes

Industrial automation - 53 votes

System/software automation (Expect-like?) - 47 votes

Desktop utilities (calculators, zippers, file managers, text editors, etc) - 47 votes

Web/network servers - 40 votes

Programming for newbies - 37 votes

Databases management - 32 votes

Web programming (like PHP and ASP) - 31 votes

Web-based services - 31 votes

Databases conversions from one platform to other - 22 votes

Development of plugins for other applications - 17 votes

Educational programming in schools - 17 votes

Point-Of-Sale commercial software - 16 votes

Educational programming in universities - 15 votes

Window managers/desktop environments - 14 votes

Mobile applications - 12 votes

Word processing/desktop publishing software - 11 votes

Graphics and images edition - 11 votes

Mathematical applications - 9 votes

Mobile systems (OSes) - 5 votes

Multimedia authoring and players - 3 votes

1 voter skipped this question

Other - 14 votes

Comments which could be classified as extra options

Any of the mentioned options - 3 comments - "Anything except heavy maths", "Many of the above - from my own & others experiences", "All the above"

Parsers - 2 comments - "Text processing, XML processing", "Text parsing and other general software utilities"

Programming language modeling - 2 comments - "Other programming paradigm (more functional etc.)", "Domain-specific language programming"

Natural languages software - 1 comment - "Natural language processing; corpus linguistics; other language-related software",

Comments which could be classified among the existent options

Embedded scripting in other applications - 1 comment - "Glue language"

Desktop utilities - 1 comment - "Simple 'quick-hack' utilities"

Point-Of-Sale commercial software - 2 comments - "Vertical market applications", "Bespoke applications",

Web programming - 1 comment - "Text processing, XML processing"

Unclassified comments

"Cross platform GUIs"

"Can't tell beyond my experience"


Fabricio Rocha - If Question 2 can help us to define a target public for Tcl/Tk and Question 4 tells us which values we can highlight to this public, this question partially tells us which concrete possibilities offered by Tcl/Tk can be showcased. It is also a good tip on what is people using Tcl/Tk for. The language is still very strong in what it was created for -- embedded scripting. This is an application with a seemingly endless future, but I can't think the same of "creation of front-ends for console-based utilities", even though Unix is certainly more popular than ever (I mean Linux and MacOS). The versatility of Tcl/Tk shows up even in areas I would never imagine, and if we would like people to know what can you do with Tcl/Tk (see Question 8), I think that all those projects and uses really deserve big shows. At least bigger than the ones provided by the Tclers Wiki, which naturally was not made for that.

Bottom line is that multimedia software and mobile applications, two "hype areas" in the last years (and certainly in the next years as well), are not seen as a big field for Tcl/Tk. I think that Tcl/Tk could do as good (or even better) in mobile platforms as Java, thanks to its small interpreter, compact code and programming freedom.


Fabricio Rocha - I tried to use eTcl in my HTC S711 but couldn't get far enough even to file a bug or give a suggestion. But I think it is an admirable attempt on mobile development and could deserve more attention and help. By the way, is/was there any attempt to do something like a "MobileTk"?

Results from the suggestions

6) "Self-critic" mode on: which are your bad impressions about Tcl/Tk, even if you're not sure they are true?

Lack of printing support - 50 votes

Lack of a central repository for libraries - 39 votes

Important widgets are missing in Tk - 22 votes

The free libraries and extensions available are outdated and buggy - 19 votes

The Tk widgets do not look native - 12 votes

Softwares written in Tcl/Tk are slow - 11 votes

Lack of visual programming tools (GUI builders, etc) - 11 votes

The Tk widgets are ugly - 11 votes

There is not a central, reliable source of documentation - 10 votes

Lack of free programming tools like debuggers, good code editors, etc. - 10 votes

Lack of a compiler - 9 votes

It is not really object-oriented - 8 votes

Suggestions are ignored by the core developers - 7 votes

Updates and bug fixes are too slow - 7 votes

Its syntax is weird - 7 votes

The community has no “big names” - 7 votes

The documentation is incomplete or inefficient - 6 votes

It looks too ActiveState, does not feel like open source - 5 votes

It is an old, outdated language - 4 votes

It is not “strongly typed” - 2 votes

Lack of integration to popular or simple database systems - 2 votes

It has lots of bugs - 1 vote

The old-timers snob/humiliate newbies in the public forums (fora) - 0 vote

5 voters skipped this question

Other - 26 votes

Comments which could be classified as extra options"

Specific technical misses - 5 comments - "Lack of publicity. Ootcl is a partial implementation of XOTcl why not pick it from the start? TDBC is finally getting there at last! Lack of a Biotcl package", "No direct USB support", "Lack of patterns docs, lack of new books, lack of web programming libraries", "Not enough modern web related tools and frameworks", "I suggest a library project to really make the libraries universal. Also, there should be a simpler-than-PHP template system for the WWW. Finally complex data structures are difficult (and also rare in scripting applications)"

Bad image/marketing - 4 comments - "It is unpopular", "Lack of publicity. Ootcl is a partial implementation of XOTcl why not pick it from the start? TDBC is finally getting there at last! Lack of a Biotcl package", "No existing marketing and hype, no 'evangelists'", "Not being marketed by professionals"

Object-orientation is there but unclear or incomplete - 3 comments - "Lack of publicity. Ootcl is a partial implementation of XOTcl why not pick it from the start? TDBC is finally getting there at last! Lack of a Biotcl package", "Lack of garbage collection for OO extensions", "Lack of clear preferential object system"

Comments which could be classified among the existant options

Its syntax is weird - 8 comments - "Difficult to learn", "Seems easy to learn but the deeper you go it`s not so obvious", "Math gets unreadable", "Cumbersome to do math in Tcl; many important figures from the early days of Tcl have abandoned the language", "Language warts: octal parsing, comment \<nl> continues to next line", ""Everything is a string" makes it too complicated from time to time", "It has few syntax issues, not generally, but some specific cases, for example math operations look very strange for newcomers (the well known expr issue discussion)", ""I suggest a library project to really make the libraries universal. Also, there should be a simpler-than-PHP template system for the WWW. Finally complex data structures are difficult (and also rare in scripting applications)"

The free libraries and extensions available are outdated and buggy - 3 comments - "BLT does not work with new tcl release", "Tcl/Tk are awesome... they mostly need to raise profile. There _are_ some library issues, though", "Some of the popular extensions, like BLT, are inadequately supported, and the primary web site does not seem to be updated regularly"

Lack of a central repository for libraries - 1 comment - "I suggest a library project to really make the libraries universal. Also, there should be a simpler-than-PHP template system for the WWW. Finally complex data structures are difficult (and also rare in scripting applications)"

There is not a central, reliable source of documentation - 1 comment - "Tcl should give more importance on "central" and "official" things. Like official forums, official (and central) repositories, central documentation etc. etc. For example, even Tcllib's documentation doesn't feel official although Tcllib is called 'standard library' "

The community has no "big names" - 1 comment - "Cumbersome to do math in Tcl; many important figures from the early days of Tcl have abandoned the language"

The documentation is incomplete or inefficient - 1 comment "Lack of patterns docs, lack of new books, lack of web programming libraries"

Unclassified comments

"ref 'big names': feel Tcl is being snubbed, drowned out by the pro-PERL lobby"

"I don't know"

"I could use full Unicode support (beyond the BMP)"

"A number of legacy sins from former days, that cannot be fixed any more"

"I do not identify anything here"


Fabricio Rocha - Only some of the options were related to technical characteristics of Tcl/Tk, and the "lack of printing support" was by far the biggest missing feature in the language. It can be also a cause of Tcl/Tk's little use in Point-Of-Sale(POS)/sales management software (suggested by Question 5), a large and profitable market for small software companies in some countries (here in Brazil, this market is dominated by Visual Basic and still a lot of Clipper-based software!). The worst thing is that it seems that the efforts on providing Tcl/Tk with a simple, definite printing system are not integrated and the issue is not being actively fought by the TCT. Other technical "problems" which are often mentioned in discussions -- such as "it is not really object-oriented", or "the Tk widgets do not look native", or the "lack of visual programming tools" -- received less votes as annoying things.

The lack of a central repository for extensions, libraries and their documentation was the second most-voted option (and this feeling was confirmed by Question 9). There are some efforts around this -- I can remember Joe English's repository and ActiveState's Teapot -- but they are clearly not so evident, popular or free as the community would like. This is an issue which can not remain being treated as secondary. Think of how much VB and Delphi were/are helped by a large number of free and commercial components which can be found in not one but many repositories. I use Debian and I can't count the number of Python libraries and lib-wrappers available from the Debian repositories. Code reuse is fundamental and it's just not right that someone has to do a series of Google searches, pass through a number of 90s-dated sites and pages until finding a Tcl/Tk library which does what he/she needs. In many situations it seems easier to spend time and write code from scratch, and in the middle of doing this someone mentions in a random page of the wiki an almost-forgotten library or megawidget which would do the job.


Fabricio Rocha - A workgroup of volunteers should be immediately formed for planning and creating an extension library for printing in Tcl/Tk, with all the commands and/or widgets which might be needed for making it "very Tcl/Tk". This workgroup should define a schedule (this would avoid the discussions to last forever without decisions) and could evaluate which efforts about printing are ongoing, possible approaches and their pros/cons, and then unite workforce around it. The discussions about a central repository must be restarted, and the results from Question 9 tells us that it must be (a very exposed and definitely free) part of a new .

Results from the suggestions

7) What do you think about

The site is good-looking, attractive and provides all the information people needs - 31 votes

Great content, poor visual. The URL is important, but the site is not attractive - 28 votes

Nice visual, poor in contents. The URL is important, but the site needs new content - 19 votes

In spite of the URL, it does not need to be the "de facto" central resource for Tcl/Tk - 13 votes

9 voters skipped this question


Fabricio Rocha - I think the numbers tell that it's no wonder the that is so little updated. There is too much people with too many different opinions, and in such situations the tendency is just keep things as they are (this is true also in politics, among lots of other areas). It also shows that, in spite of what many people thought (me included), there is a great number of community members which are not really worried about the as more than a download site. However, the answers to Question 9 show that most of the community members would like to have new features and contents in the site, after they have been shown what could be done there. This can be interpreted as a demonstration of strong "conservadorism" (I don't know if the word is correct) and its causes might range from pure and simple lack of imagination about the site to a little desire to be part of the efforts to implement a new central website for Tcl/Tk (it's clearly understandable that most Tcl/Tk users are most worried about doing their own business, specially being them commercial developers and IT professionals, as shown by Question 2). Also, a side-by-side view on these answers and Question 1 leads to an interpretation that the Tcl/Tk old-timers don't give so much importance to because they might have built their Tcl/Tk knowledge from sources which were more used in the past (c.l.t., academy, etc) and are used to look for the information they want in other sources (the Tclers Wiki being the most clear example), so the central site is more or less "no use".


Results from the suggestions

8) Which impression/feeling about Tcl/Tk should be stronger in new visitors of

“What a versatile language!” - 22 votes

“What? Can you do that with Tcl/Tk?” (really uncommon things and techniques) - 14 votes

“What an active community!” - 13 votes

I think it is just a download site, it does not have to cause any impression - 12 votes

“What an easy language!” - 8 votes

“Tradition, maturity, stability - that's what I need” - 8 votes

“Wow, I thought that only Python/PHP/Ruby/etc could do that” (features specific of other languages) - 5 votes

“What a lot of people using Tcl/Tk!” - 3 votes

“What a modern language after all those years!” - 3 votes

“It is better than Python/Ruby/PHP/Java/etc” - 3 votes

“This open-source has professional support!” - 1 votes

8 voters skipped this question


Fabricio Rocha - The two options which regard Tcl/Tk versatility reached the podium in 1st and 3rd. This shows how Tclers (mostly old-timers, according to Question 1) are proud of this characteristic and would like to show it to newcomers. This must be considered in any effort to setup a new, and matches very well with the "tutorials about advanced/special programming techniques" option which received a lot of votes in Question 9. Interestingly, the two options which suggested comparisons to other languages received a small number of votes. If we consider the answers to Question 1, an interpretation is that Tcl/Tk veterans are fed up with such comparisons. IMHO, such comparisons have strong appeal to programming newbies, which want to be convinced that they made the right choice among the so-many available options.

Canol Gokel - This was a question which I wish allowed multiple choices because I had 4-5 options in my mind which were all important, in my opinion. Just to let you know ;)


Fabricio Rocha - I have already seen very interesting projects shown in the Tclers Wiki, which might be great showcases of the Tcl/Tk versatility, but the nature of the wiki leads most of the debate around these projects into deep dives in highly technical details about their implementation. I think that the versatility can be shown with more clear and simple articles, in other site (specially, about applications done for various areas of interest.

Results from the suggestions

9) Which features would you like to see in a new version of

Tutorials about advanced/special programming techniques - 58 votes

Centralized documentation for libraries and extensions - 51 votes

Categorized downloads pages for libraries and extensions - 50 votes

Highlights and reviews of new projects written in Tcl/Tk or built around it - 46 votes

News and events in the world of Tcl/Tk - 44 votes

Tutorials for beginners in programming and in Tcl/Tk - 42 votes

Constantly updated information about the core development - 37 votes

Categorized downloads pages for Tcl/Tk programming tools - 35 votes

Categorized downloads pages for general software written in Tcl/Tk - 32 votes

Sourceforge-like hosting for Tcl/Tk projects - 20 votes

Registered users being able to insert articles, news, etc. - 16 votes

Tcl/Tk programming contests - 15 votes

A who-is-who section about the Tclers - 14 votes

A forum - 13 votes

Chatroom - 10 votes

A project management system to be used by the TCT - 9 votes

International sub-sites (in french, german, portuguese, suomi, etc) - 9 votes

Polls - 8 votes

11 voters skipped this question

Other - 6 votes

Comments which could be classified as extra options

Links and interfaces to existant Tcl/Tk sites - 2 comments - "Integration with tclers wiki", "Many of the above already exist and are pointed to by entries in the wiki"

Comments which could be classified among the existant options

Highlights and reviews of new projects written in Tcl/Tk or built around it - "Projects being used in the real world now", "

Unclassified comments

"less presentation, more content!" (best applied in Question 7)

"Updated more than once every two years"

"Stable extensions added to core distro so extensions advance with core"


Fabricio Rocha - As commented about Question 7, the answers to this question show a contradiction to the idea that the current is good enough, because under suggestion most of the Tclers showed they would indeed like to see features which do not exist in the current website. Once again the libraries and extensions are pointed as big desires, being second only to a desire of more tutorials about programming techniques. There is a big bunch of experient Tclers which write very well and every now and then help newbies (and also not-so-newbies) in c.l.t. with brilliant solutions. I presume these Tclers would like to write tutorials like this and other content, if they just could go to the site, write and post.

Canol Gokel - In addition to my vote; although I think wiki is a very good place to share common less-formal things. It is used "too" much in Tcl community. For example, reading some example codes about a library or some suggestions about a concept on wiki is fine but if wiki becomes the only documentation source for most of the libraries or becomes the only source for every kind of information then there is a problem, because wikis are not designed for that purpose. And Tcl wiki, as far as I can see so far, has the ultimate information about Tcl. Whenever I have a basic question (which is answered in official documents of most other programming languages), I face with an answer which points a messy and outdated wiki page.

LV I agree, to some degree. Certainly there have been cases where people posted code, or brief notes about some specific function, application, etc. here on the wiki and moved on, with the idea that if someone really wants to use the code, they can always read the code, update the wiki page, etc.

For those in the Tcl community who wish for Tcl to become something more than a developer only environment, dedication of personal time, energy, and money is going to be necessary to create organized and well written web site pages which contain reference material. This group, however, is going to be faced with the issue of having to do a lot of work on their own when dealing with those in the Tcl community who throw the code over the wall and move on, however. The old adage there's no such thing as a free lunch comes to mind. Some people write poorly, or have no interest/time/etc. for creating documentation that is usable. For that matter, there are people who write poor code as well.

Hopefully those who have time and/or talent in technical writing can be recruited to pour their availability into a project.


Results from the suggestions

General comments

Didier (2011-02-11) Conducting such a survey is quite an undertaking and completing it is an achievement of sorts. It seems to me, Fabricio, your forte is in the commercial aspect of matters and entrepreneurship.

When you'll have a solid product in your hands to commercialize, you'll do wonders and a lottttttt of money. I suggest you pick up Tcl-Tk software here on this site, speak to the programmer about commercializing it and start sailing and selling.

It would be interesting to know what software you have selected and how you plan to work.

A lot of people on this wiki could use some methods in order to learn to make a few bucks with their software. I too!

IMHO A lot of people can program but very few can sell their stuff. If you have been able to write and conduct this survey all by yourself if certainly means you're capable of achieving big goals.

Have a look at all the sofware on this site and conduct a survey asking users which application they think can make it big and commercialize it. I'd love to hear the results.

What country are you from? Your English is excellent but you're name is Spanish and not Italian. Fabrizio is the Italian name and Fabrice is the French name. Fabricio is Spanish.

Didier (2011-02-11) A few minutes later. In fact the question you could ask users is Which is your favourite Tcl-Tk application?, which one do you use the most? If you get sufficient answers, you can commercialize the one that has been chosen.

I'll let you conduct the survey for you're much better than I am in those things. But I can guarantee you I'll be one of the first to reply. What's striking about Tcl-Tk -and it is the very reason I'm here- is the quality of the apps developed. I've tested a lot of excellent sofware written in Tcl-Tk in my life time and I'd be at a loss for a choice.

However the one name that strikes out in my mind is TkOutline. No one does outliners anymore for this sort of software is integrated in word processors. A lot of people could use making an outline; this way they would organize their thoughts instead of spending a long number of hours on the computer typing nonsense.

TkOutline is not yet intuitive enough and some work will have to be done on it to make it more intuitive. But it is the only outline I've seen on Internet and the programmer Brian Theado has done very original work IMHO.

I'd love to hear what others have to say on the subject!

Fabricio Rocha - 10 Feb 2011 - Thank you for the kind words, Didier, but please let me explain: I didn't make this survey for a commercial reason, and I don't have any commercial interest in Tcl/Tk itself: I am a reporter in a Politics-specific television of Brazil (TV Camara. Fabricio is a Portuguese name as well :) ) and programming has always been only a fascinating hobby for me. As a Free Software enthusiast, I would just like to create software useful enough to be shared and form a community, but that's all. I presume you feel a "commercial bias" in the survey, and this may exist indeed. The fact is that hobbyists like me are not the major group of users of a programming language like Tcl/Tk, and I believe that most people using Tcl/Tk (or planning to use it) will do it for work, for a living, and I think this is a bidirectional force: commercial/professional interest in Tcl/Tk might push some of its characteristics, and some of the Tcl/Tk peculiarities might be specially interesting for people who wants to develop comercial software with it.

I would just like that the results of such surveys were more useful (or used) by the community, the lead developers, etc. Almost two years later, I still see little evolution (just my two cents). Academic, CS stuff seem to be much more discussed and implemented than things that would attend the comercial interest mentioned above -- for example, printing remains as a works-for-me hack, while you can already use anonymous procedures and things alike.

Oh, about your question: I like and use a lot aMSN. It's going to Python and I wonder why. I have been trying to find a nice outliner, would you please tell where can we find this one you mentioned?

Didier (11 Feb. 2011) Funny! I thought Fabricio was also a Portuguese name but I didn't mention it. Your English is really excellent considering Portuguese is your mother tongue.

TK outline is here. It's one single exe file. Tkoutline

Microsoft Word also has a built-in outliner. The best outliner in the Dos days was called Grandview. It was a heck of a program!