Version 26 of Tcl Marketing

Updated 2004-07-06 22:17:07

How to market Tcl to make it appealing to

  • Business users
  • Programmers

Things to work on:

  • Show that it's possible to design complex applications in Tcl that don't get too hairy.
  • Show that it's possible to design serious applications that have a GUI separate from the backend code (no Tk spaghetti!).
  • When someone says that XYZ language is better - ask them why they think that, and how they arrived at that conclusion. Try and determine what factors (peers, press, job pressure) are most responsible for their state of mind. Then convince them Tcl is better:-)

Random thoughts:

  • Don't name your applications 'tk*'. Focus on what it does, so that people will take a look even if they aren't tk fans, or have preconceptions about projects that use it.
  • Show how easy it is to build applications, and how, with a smaller amount of code, it is easier to maintain and extend.
  • Demonstrate cross-platform usability without modification. (RS)
  • Show how much smaller similar applications are when implemented in Tcl/Tk than in other languages. (escargo, 18 Aug 2003)
  • Don't get engineers to try to figure out marketing. :-)

davidw - well if you don't figure it out, someone else will and will blow you out of the water. Look at PHP and Python, for instance. You have two ways of looking at it: they created better systems faster than Tcl, or they had better marketing. No one even mentions Tcl anymore.

MSW: Show how many professional tools use tcl as their scripting plugin making it possible to write applications which either run in a standalone tclsh/wish or be loaded directly onto tools from which you can gain additional information for your own application.


LV Two thoughts. In the past, there have been these discussions, with some people saying why bother and others saying tcl will die if not properly marketed. There is one primary reason that a technical person might care about tcl being properly marketed - I've personally seen cases where Tcl would be a nice fit for solving a problem, but it was rejected because it wasn't a real programming language.

On the other hand, arguments about marketing tcl to get more programmers, etc. are less interesting to me, as I tend to look at things from a technical point of view, and there are more than enough people asking me questions about tcl right now... I'm not looking to increase my work load.


davidw I think at this point Tcl can be considered a "mature" product. A long way from dead, used by people for many things, stable, useful, well tested.

But it's going downhill (well, of course it's actually improving, but it's relative in the computer field, isn't it...). It is losing market share. The reason you should care about that is called "network effects", meaning that the more people use something the more valuable it is (like a telephone network, no good if you can't talk to anyone with it). This is so for programming languages because if things go well, those users become contributors and create things that in turn, you can use. Libraries, documentation, tutorials, and other materials that make your life as a programmer easier. When something is well known, it's of course also easier to sell it or sell skills based on it. You can make a living as a Java or VB consultant, selling the ability to write code in those languages, but you can't do that with Tcl. You *must* sell the ability to get some particular task done, which is doable in Tcl, but it narrows the field some...

Of course, were that the only factor, no one would use anything but visual basic, but it's not an argument to be brushed aside completely, either.

That's why "marketing" matters.

I'm not really sure how to fix things though, and am beginning to think the answer lies in taking some of the good stuff from Tcl and running with it elsewhere, because the Tcl "brand" seems to have too much baggage attached to it.


LV I understand your viewpoint - but my current view is that this isn't something that I'm concerned about. I don't see people marketing FORTRAN, COBOL, C, C++, etc. and these languages are still around with contributors, etc. Same for Tcl - I see regular announcements of new programs, updates, etc. Yes, the community is no longer as social as it was - see the stuggles that have occured the past couple of years for conferences. But then, how many C or FORTRAN conferences do you see advertising? Yes, Python and Perl do more marketing. And perhaps they get more traffic out of it. Right now, Tcl doesn't have a layer of people who find the idea of marketing the language interesting. Until someone steps forward to do that, I suspect the only marketing that is going to occur for Tcl are the people doing consulting work and Activestate.


davidw C and C++ are orders of magnitude more widespread than Tcl. They have many orders of magnitude more code available, and zillions of people that know how to use them. They are so ingrained into so many things that they just aren't at risk. Sure, they may be turfed out of some field, but the areas they are used in are staggeringly large.

Tcl is a very different beast than those languages. It's much younger and not nearly as widely accepted. So you are really comparing apples and oranges.

I'm talking about things like conferences. Sure there are no 'C' conferences per se [ CL interrupts: C still has standards meetings, at least], but zillions of conferences where C code is discussed for some problem domain. Tcl doesn't have this (as far as I know at least...maybe some field like EDA has a lot of tcl-talk).

Tcl isn't that bad off in terms of libraries, users and such. But nothing new is happening because it's not seen as an interesting or promising platform. That may be ok if it does all you want right now, but you should also consider the future, where you might want access to new libraries or technologies, or to use Tcl in new environments. It won't be there, because the people working on that stuff won't have considered it. And at that point, if you want to get your job done, you will have to migrate to another environment in any case.

One of the things that makes C so enduring is that it does have people using it both for "old guy with family just wants to get the job done" and "young college student hacking at night" projects. You can't just pick one of those and ignore the other.


Maybe BeanShell is in the same spirit but for Java. To be honest, I use Tcl and Java and BeanShell is quite a great Tcl-like in spirit (the author of BeanShell used Tcl and wanted the same for Java). More and more, I find myself using BeanShell instead of Tcl because I know the libraries being provided.


yeksoon I will make an analogy. If Tcl is a business entity, and it is already matured in terms of business growth, as CEO of Tcl, what would you do to ensure continuous growth of Tcl?

Example, Starbucks is saturating in their business of selling coffee. Hence, they start acquiring HearMusic.

Tcl is a matured language, and without a doubt the community stands by it. If being matured is not enough to attract-and-retain developers, then the focus should really be on innovation and marketing.

If one is to move Tcl forward through innovation, what will this innovation be? All other marketing activities will hence revolves around the innovation.


LV Tcl is not a business, however. There is no pressure to set goals and reach them. There is no rewards paid to those who have been pouring in thousands of hours of their lives into Tcl with little thanks or recognition paid. There are few who are being paid a salary or provided other recompense for moving Tcl forward. There's no single individual who provides a unified vision for Tcl's future. There's no benefit for increasing the number of users of applications written in the language. Certainly, however, there is a potential benefit if one could figure out a way to increase the number of individuals who contributed their own time for improving the Tcl environment in a positive manner.

I wonder whether there is some other parallel that might be more accurate a comparison for Tcl. For instance, perhaps, rather than comparing Tcl to a business, it should be compared to some government department.


I remember hearing about this subject for years, but nothing comes out of it. Who will do it? It is not the role of the TCT and I doubt that Activestate or other company has the resources and focus to invest in long term promotion of the language. However, maybe the work of individual users can achieve something, maybe we can set up some working groups to achieve some simple, doable goals. I'm sure that there are enough of us that think that Tcl propaganda is needed and are willing to donate a couple of hours of work to get something done. Sign up below if you can help:

  • ZLM - casual Tcl user.

davidw I've given talks, written articles (one even featuring the TCT to try and give them some publicity), hacked code, but ultimately it's got to be someone with some "authority". Dave Welton, "Tcl user" doesn't cut it for people. It doesn't open doors (Apache Software Foundation does, though). TCT might.

I don't think a business is an entirely stupid comparison. Maybe a product.

Larry hits on a few points:

1) the frustration of spending a lot of time on something with no thanks, recognition (or presumably cash, which never hurts either). That's exactly what I'm talking about. You get that kind of recognition if your product is marketed well. I get way, way, way more mileage out of being associated with the ASF (Apache) than anything directly Tcl related. And they are free software, just like us.

2) no benefit to having additional users

3) unless they can be converted to contributors

Obviously, if you have 0 users, none will become developers. You need a broad comunity to attract new blood. If the community at large shrinks, so does the pool of potential future hackers. Turning them into hackers is another subject entirely, and I'm not sure whether the TCT has done a good or bad job with that, nor am I sure the data is available to measure this with.


category community