Version 22 of Tcl Marketing

Updated 2004-07-06 11:26:24 by cl

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.

category community