I am now trying to create a tcom based application using Logix mCore
to manage SMS and STK on GSM modems.
Have you noticed that T refers to
*T*ool Command Language
People are still using Tcl/Tk for serious projects. I think it's a
safe assumption that this will always be the case. The core is under
active development and the major user forums (this group, the wiki)
are actively used.
That said, I use it mainly for small-medium sized tools to support
scenario planning and modeling, e.g. http://www.ipat-s.org/
Eric
Yes, people use Tcl to achieve current results.
tcom, in particular, is part of the installation of hardware
testers, certain military vehicles, retail-grade applications,
...
The IRC client that I maintain is written with 100% Tcl/Tk
I wrote a small frontend to the label creation program, Bartender.
An address formatter; takes a list of addresses, and splits them into
columns and calculates how many boxes are needed (thus making 1 or
more lines the same address with only slight variations, quantity and
weight). This is output to a .csv file, and then imported into a UPS
shipping system.
I myself have a few small projects - a gui that talks to a server, a
program that reads an oracle table looking for obsolete data, etc.
However, the developer community I support uses libtcl embedded in C
apps for user extended commands, as well as a communication layer
between apps and many many other things.
I use tcl for doing research, mainly on natural language processing.
Mainly through the ellogon platform: http://www.ellogon.org
George
I use Tk to develop desktop shareware applications for the Mac
platform. I develop both in Tcl and Python (via Tkinter), though most of
my core code (not just application specific, but libraries for GUI
customiization, managing serial numbers, software updates, etc.) is
written in Tcl. See the link below for more info.
I'm also trying, without much success, to learn enough C to extend Tcl
into some platform-specific functionality that it currently lacks.
I've noticed that there are very few Tcl/Tk developers working as
"mISV's"--small independent software vendors. Most work for large
companies, or use Tcl for open-source projects, not commercial/proprietary.
--
Kevin Walzer
Code by Kevin
http://www.codebykevin.com
How many people who work for ISV's are at liberty to discuss their
work in progress? There's a bit of selection bias at work.
In any case, I work for a very large company, so I'm not one of
the "small ISV" sample that you can't find.
--
73 de ke9tv/2, Kevin
> How many people who work for ISV's are at liberty to discuss their
> work in progress? There's a bit of selection bias at work.
>
> In any case, I work for a very large company, so I'm not one of
> the "small ISV" sample that you can't find.
>
Point taken, but I meant those who run their own companies as solo
developers, and sell individual software products to end users or
companies. There are lot of these kinds of developers in both the
Windows and Mac worlds. They tend to use Delphi, VB, MFC, and .NET on
the Windows side, and Cocoa and RealBasic on the Mac side; some also use
Java. Most aren't shy about talking about the technologies they use.
The number of Tcl/Tk developers who fit this "indie" profile--at least
ones I'm aware of, and I try to stay very informed about who these folks
are--is very small by comparison, and I've always wondered why.
Independent developers often gravitate to rapid development tools
because time-to-market is a big consideration, and Tcl/Tk is ideal for
this; it's also ideal for ease-of-deployment.
And what packages do you use for this purpose?
George
I use it for creating user interfaces for scientific and measurement
application. It is much simpler as using C++ and Qt or Gtk.
Jo Honerla
University Duisburg Essen
Germany
I use it both at work and at home.
At work, we have used it for all our scripting needs and also for
gui's that control a number of large simulation based training tools.
The communication is via tcl's sockets, both servers and clients. We
have connected 100's of PC workstations that each run a tcl server to
remotely configure and launch apps. We also have numerous gui
utilities that run portably between windows and linux.
At home, I use it to automate my video capture, edit, commercial
removing, video format converting, and playback software. In other
words, I've created a custom dvr with near-automatic commercial
removing capability. (The systems requests, in voice, when it needs a
human to verify the final commercial free edits).
This uses tcom and twapi (on windows) to monitor and control programs
such as video-redo, and comskip, and provide text to speech status
updates. On the playback side, a tcl gui app on a windows xp laptop
uses the tcl http interface to control the VLC media player running on
a linux box. Each system also runs a portable tcl socket based command
server that receives and executes commands from other systems, all
controllable from a single laptop. This was a real fun project - all
for my own enjoyment. I would/could never have done this with any
other tool. It's no wonder tcl is used in tivos running linux.
I also use tcl to glue together my windows editing (editpad pro) and
version comparison tools (beyond compare).
> Kevin Kenny wrote:
>
> > How many people who work for ISV's are at liberty to discuss their
> > work in progress? There's a bit of selection bias at work.
> >
> > In any case, I work for a very large company, so I'm not one of
> > the "small ISV" sample that you can't find.
> >
>
> Point taken, but I meant those who run their own companies as solo developers,
...
> very small by comparison, and I've always wondered why. Independent developers
> often gravitate to rapid development tools because time-to-market is a big
> consideration, and Tcl/Tk is ideal for this; it's also ideal for
> ease-of-deployment.
I can confirm this.
We've developed a mission critical oracle based administration tools for
a large company. The tool manages ca. 2000 users, 180 applications in
120 projects on 4 sites (increasing). Only german description on
http://www.tech-edv.co.at/analyse/datenbanken.html (XMenu). All parts,
except web tools, are written ich pure Tcl/Tk for AIX, Solaris, Linux
and Windows. Currently a complete redesign and extension is on plan.
A platform independent DB-based monitoring tool for expensive IT
resources is written also mostly in Tcl/Tk, exceptions are again web
services. Also german docs but with english PDF brochure can be found on
http://www.tech-edv.co.at/programmierung/resMon.html.
Main reason for Tcl/Tk:
Great platform abstraction
Rapid GUI development
Large amount of existing extensions
Small footprint of Tcl/Tk
Bye,
Gerhard Reithofer
Tech-EDV Support Forum - http://support.tech-edv.co.at
I am using Tcl/Tk in the GUI portion of a rebuild of an old Win16 game
(Stars!). You can see my progress at:
http://mudge-a209.blogspot.com/search/label/NewStars
Our turn files are in XML, and the game server is pure C++. Originally, I
linked in the C++ for XML parsing. I am slowly moving that to tdom. I
wouldn't use anything else for GUI development.
I also used it as the parser for another game my friend wanted. When he
complained that the users wouldn't like Tcl syntax, I built a GUI to
construct the Tcl for them!
At work, I have had to use MFC and Fox. When possible, I use Tk for rapid
development of small apps. On one project, I made stubs for two other
network apps that were not done yet (one embedded C/C++, one MFC).
I also developed a small app for editing our input files. With about a
week's effort, I had a very useful visualization app for something that was
very painful to examine by hand.
I think Tcl/Tk's greatest strengths are rapid development (feedback through
live sessions in the console), GUI, and simple network client/server stuff.
I think the biggest weakness is on big projects (rigorous interfaces). For
those applications, I would link in a C++ dll (which I am considering
replacing with D - from Digital Mars).
Ned
The major package is XOTcl. I created my own little web server and my
own html library using XOTcl. Another major package is Sqlite. I find
that using XOTcl cuts my development time in half and maintaining the
code is much easier. Otherwise I like to keep things as simple as
possible. I don't like using other packages unless I really have to.
Plain TCL, XOTcl and sqlite can cover a lot of things.
I'm using it to develop an ajax-based intranet web application. Core
packages:
ncgi
tclodbc
> I'm also trying, without much success, to learn enough C to extend Tcl
> into some platform-specific functionality that it currently lacks.
>
> I've noticed that there are very few Tcl/Tk developers working as
> "mISV's"--small independent software vendors. Most work for large
> companies, or use Tcl for open-source projects, not commercial/proprietary.
>
> --
> Kevin Walzer
> Code by Kevinhttp://www.codebykevin.com
I suppose I should come clean, as a micro-ISV (in the truest sense --
just me), I've been working on and off for
some time on an application which is a melange of Tcl/Tk (primarily tk/
ttk), C, SQL, and currently runs pretty
consistently on Windows/Unix/Linux/Mac-OSX ... the portability comes
directly from using Tk as user interface.
The app itself is an application generator which stores a rich data
dictionary in a database, (SQLite/Postgresql
currently with plans for DB2, SQLServer and others), and generates Tcl/
TK at run time to form the basis of
an application generator. I'm planning to release the SQLite version
relatively soon (a couple of months) when
it is feature complete, and then work upon the various database
interfaces for a while, along with the platform
support matrix. More features will be provided in subsequent
versions ... Currently, I have no dictionary tool,
and that will likely have to be completed before the product is
generally useful ... but the schema api is small,
consistent and straightforward, so this should not be a big deal ...
Third party FOSS embedded to date all uses either a BSD style license,
or public domain (SQLite). Challenges
around the platform builds exist, but the base library compiles
cleanly on every platform I've tried running on.
With the themed tk widgets, I truly believe the C/Tcl/Tk approach to
development is the path of least resistance
to portable apps on multiple platforms (at least with a modern look/
feel).
I'd looked at Qt/wxWidgets, but I dislike C++ enough, and like the Tcl/
Tk approach enough to have rationalized my
approach, and I have not regretted my decision for a second.
3rd party stuff:
libGD (png/jpg/gif management)
requires libz, libjpeg, libpng, freetype 2.x
tcl/tk (8.5)
libArchive (adds tar/zip/iso archive support)
libAPR (apache runtime for various portability functions)
libssl (openssl for message digests/encryption etc)
Oh, and I should also mention that members of this group have been
instrumental in assisting with
implementation issues and in design considerations. Thanks to all for
being so ready to help!
So as for Kevin's suggestion that there are very few ISV's using Tcl/
Tk, there is at least 1. Soon.
Cheers,
Rob Sciuk
In this scenario I would have done the initial development and then
they would take over further maintenance. In hindsight I think the
main reason nobody was interested was, that they didn't have anybody
who already knew Tcl - which apparently was a show-stopper.
I am truly amazed of the fact that no one considered the possibilty of
one of their staff just learn Tcl - no, they would stick to
C++/Java/whatever.
Well, I guess that's just the way it is.
In the company where I am working right now I introduced Tcl to
realize all kinds of in-house apps. Big success - but when I will be
gone Tcl will probably fade away sooner or later. Well, so be it - by
now I'm a bit weary of preaching.
Helmut - still a happy Tcl'er - Giese
Sounds like an interesting product/project! Good luck to you!
It's about the time of year to start seeing calls for papers, etc.
PLEASE consider the possibility of discussing some of your work at the
conference. I've seen presentations by people about their products,
covering unique ways they have used Tcl to solve problems, or how Tcl
made things more difficult, presentations about packages or utilities
that were created along the path of development, and so forth.
There have been, at times, slots where people who have software for
sale could schedule demos, etc. as well as special interest group
meetings for people who have an interest in particular areas of
internet.
I suspect that if you have an interest in being involved, the program
committee of either event would be happy to discuss with you how to
fit what you would like to do into the event.
> On Sat, 07 Feb 2009 13:29:31 -0500, Kevin Walzer <k...@codebykevin.com>
> wrote:
> >Point taken, but I meant those who run their own companies as solo
> >developers, and sell individual software products to end users or
> >companies.
> Some years ago I tried to interest potential customers to have the
> apps they wanted developed be done in Tcl - and failed miserably.
>
> In this scenario I would have done the initial development and then
> they would take over further maintenance. In hindsight I think the
> main reason nobody was interested was, that they didn't have anybody
> who already knew Tcl - which apparently was a show-stopper.
> I am truly amazed of the fact that no one considered the possibilty of
> one of their staff just learn Tcl - no, they would stick to
> C++/Java/whatever.
> Well, I guess that's just the way it is.
Most of our products are sold full featured, usually without requirement
for maintainance. Nevertheless the source code availability is some
benefit in general, and all components (eg. Tcl distribution) must be
included in the product.
Our largest customer has some knowledge in Tcl/Tk and also the
environment. Therefore also small programming works can be offered for
Tcl without problems.
Sometimes different implementations (mostly Java as second platform)
have been offered for some rare projects. But our estimations led to
different prices, where always the Tcl solution was very reasonable.
Always the more inexpensive solution (Tcl/Tk) was preferred.
> In the company where I am working right now I introduced Tcl to
> realize all kinds of in-house apps. Big success - but when I will be
> gone Tcl will probably fade away sooner or later. Well, so be it - by
> now I'm a bit weary of preaching.
In larger projects (e few monts) the learning of a programming language
must be included. Therefore the decision to request a specific language
- just for the reason to avoid learning a new one - will be
uneconomically. This is also communicated to customers.
--
We're not a software house, we provide financial data (like ticker
prices and financial news) to our clients. We develop much of our
content management and data delivery systems in-house.
TCL is used for a content management system, mostly news.
No GUI, pure backoffice code that links the content storage (Postgres
and the file system) with indexing (swish-e) and version control (SVN)
tools.
The system has a networked interface so the front-ends that display
the content vary from native Windows apps to browsers.
I'd say 6 000-10 000 lines of core TCL code (not counting broilerplate
stuff), depending on what you count. However useful that metric might
be. At a stage we had more than 4 million content items in the
database.
> I've noticed that there are very few Tcl/Tk developers working as
> "mISV's"--small independent software vendors. Most work for large
> companies, or use Tcl for open-source projects, not commercial/proprietary.
>
> --
> Kevin Walzer
> Code by Kevin http://www.codebykevin.com
My small privately held company DAC System (we do not publicize much)
here in Poland develops commercial SCADA software/solutions mostly
based on Tcl . Tcl allows us to quickly provide and easily evolve
dedicated solutions for selected areas. We use Tcl in embedded linux
devices and in our server-side code.
In our field there is another Polish company with very close profile
to ours http://www.ant-iss.com/429/oferta-ant-studio-scada-user-scripts/en/
You probably have heard of BitKeeper, a SCM Tk-based application
(http://wiki.tcl.tk/2356). There is also MIB Smithy (http://
www.muonics.com/Products/MIBSmithy/) from Muonics, Inc. (http://
www.muonics.com/Company/) and PresSTORE from ARCHIWARE GmbH (http://
archiware.com/index.php?hp=192). All those successful products &
companies are heavily Tcl based.
FYI, zjednoczenie.com interactive agency builds high profile websites
(like MTV Europe http://www.mtv.tv) using Tcl.
Attending last year 15th Annual Tcl/Tk Conference I've met folks from
Iomas Research LLC using Tcl for most of its innovative projects (see
http://wiki.tcl.tk/212).
So indeed there are _some_ Tcl based ISV companies. But there is not
much to gain advertising you use Tcl for your product. Tcl simply
works for focused ISVs and makes some quite fancy features possible.
But, IMHO it would be helpful for developers making their living from
Tcl to exchange experiences from commercial Tcl apps developement and
deployments. And that's why I decide to step into this discussion and
encourage you to attend the conferences to find out more.
And of course Tcl is used at large companies like Intel, Cisco,
Motorola, AMD, ARM, Northrop Grumman, Raytheon and others but I'm not
the right person to tell more about it - see http://www.tcl.tk/community/tcl2008/abstract/.
Regards,
Tomasz Kosiak
> I've noticed that there are very few Tcl/Tk developers working as
> "mISV's"--small independent software vendors. Most work for large
> companies, or use Tcl for open-source projects, not commercial/proprietary.
>
> --
> Kevin Walzer
> Code by Kevin http://www.codebykevin.com
My small privately held company DAC System (we do not publicize much)
here in Poland, Europe develops commercial SCADA software/solutions
I am a Telecom Engineer , and not a professional software developer.
Therefore, I do not have many stars on my shoulder. I just completed
my first serious application which is responsible for decoding of
charging records generated by Soft switches. There are other
components which are under development.
Although, tools for this purpose are already existing but the one I
designed is super fast and is giving best results.
Personally, I think it does not matter what programming language we
used to design the application as long as the final application works
as it was plan. To me , TCL has "much simpler" syntax , easy to use ,
easy to think and can do everything I want. The only drawback with
TCL is books and documentation are not up-to the mark.
There should be some new books coming out soon, and aiding with
documentation is always welcome. Even just pointing out problems with it
is greatly helpful since it is difficult when you're close to some
codebase to see what is missing from the docs. Make sure you're using at
least the 8.5 docs if you're doing reporting though; there were quite a
few things changed from 8.4 to 8.5, including the addition of
substantial numbers of examples. But you can also help out with this
even if you don't have the latest and greatest installed, as we have
online docs built automatically from the distributions at
Donal.
I'm working with a small company that writes simulators for the Navy.
Like many Tcl users, our company's bread and butter isn't earned
writing software. It's made generating data about the survival
characteristics of the Navy's ships, which comes from custom software
we write/have written for us.
This app is certainly not small, and would give some primitive
operating systems a run for their money in terms of lines of code and
complexity. It's partly in C, partly in Tcl, and newer portions are
even using TclOO.
Hi Tcl Buddy,
I am developer in a middle-size software house, use the Tcl, incrTcl
and ttk to build the critical financial settlement, clearing message
exchang platform.
Just to illustrate another area of use other than already listed...
I work for a semi-conductor company and write EDA tools. Tcl is still
widely used in this area.
I develop in a variety of languages but Tcl is still my favorite. A
number of substantial tools (over 50,000 lines of code) are written in
Tcl/Tk (although I tend to use C or C++ for areas where performance is
more critical - it's so easy to create appropriate Tcl commands and
link them as shared libraries).
Some examples are :
"Bones" - An interactive logical connectivity viewer. One of the most
used internal tools within the company which is mostly Tcl/Tk based
and uses a number of extensions eg. Itcl, Expect, BLT and TkTable.
"Feather" - An OpenAccess based physical layout viewer. The main
window is a C++ Tk widget; The rest of the GUI uses Tk and the Tix
widget set.
"tvm" (Test Vector Manager) - A test vector manipulation tool.
Entirely in Tcl with a Tk GUI editor.
"dali" - A physical cell compiler. This tool is actually written in C+
+ but includes a Tcl interpreter and uses Tcl as the cell template
language.
So, yes...to answer your question, we still use Tcl seriously for
major projects.
cheers,
Shaun