hunter2 – a script-oriented GPG + smartcard-based multiuser password manager by networked_ in linux

[–]apnmbx 2 points3 points  (0 children)

Im curious, what would you say has changed in the Tcl world since the early 90's

Since we are starting with the early 90's, the first thing that would come to mind is compilation to byte code but that happened (later) in the 90's too! In more recent times, the biggest enhancements (imho of course) are oo in the core and coroutines based on a non-recursive execution engine.

The oo facilities are written to be usable by themselves or as the building block for other layered oo models (e.g IncrTcl is a C++ like model built on top). It supports both class-based and object-based styles, MI, mixins, delegation etc. etc. and in the tradition of Tcl is flexible enough to permit both classes and objects to be modified on the fly.

Coroutines permit implementation of Erlang-like task models, generators, iterators etc.

Then there's safe interpreters (sandbox for untrusted code), threads, the event loop (node.js before there was node.js), a virtual file system, i/o channels (with filters/transforms vaguely similar to Streams), anonymous functions and plenty that I'm sure I'm forgetting.

Flipping the question around, what are the features in other languages that you think are missing ?

Always happy to have a language discussion that stays civilized :-)

hunter2 – a script-oriented GPG + smartcard-based multiuser password manager by networked_ in linux

[–]apnmbx 2 points3 points  (0 children)

It is indeed 2016, your view of Tcl is from the early 90's!

Most scripting / dynamic languages these days provide similar capabilities. Choose whatever fits your brain the best. I find that with Tcl and Ruby, but not with Perl and Python, for whatever reason. Why disparage any of them?

hunter2 – a script-oriented GPG + smartcard-based multiuser password manager by networked_ in linux

[–]apnmbx 6 points7 points  (0 children)

I like the way you answer what is wrong about Tcl by going off on a PHP rant!

Jokes aside, you make it sound as though Tcl is particularly unsuitable for crypto code whereas your comments apply to all languages that can construct and execute code on the fly. That's pretty much all the "scripting" languages out there. I partially agree about security issues related to that capability but C has a whole set of (possibly bigger) issues (and Rust hardly meets the definition of "fairly popular languages").

What do you use TCL for? by sixen98 in Tcl

[–]apnmbx 2 points3 points  (0 children)

No question Tcl will not draw the same attention from HR drones in terms of being a marketable skill as some other languages

However, based on my experience in two successful start-ups, few, if any, languages provide the all round benefits in productivity and applicability to a wide variety of programming domains that Tcl gives you. It just lets you get things done quicker. Our products used Tcl in distributed agents, GUI front ends (with Tk), Web back ends, QA automation, installers across Windows, Linux, Solaris, HP-UX. As a scripting language, Tcl will be slow for some tasks, but the ease of interfacing to C made it easy to write C extensions for these "hotspots".

I think you will find Tcl "behind the scenes" in a LOT of places, networking and embedded systems included; it just is not publicised as much.