• P (unregistered)

    Missed opportunity: sell the ability to use # command for regular users for extra. Not enterprisy enough!

  • Naomi (unregistered)

    Wow. Maybe I'm missing something - I probably am - but at first glance, Tcl looks bizarre.

  • Hal (unregistered)

    I wonder if this was a 'security' measure however misguided to prevent admins from creating scripts with dumb things like passwords in comments? Let admins uses comments while developing; but force them to strip them out before going production, thus removing any information that maybe should not be where others could see it?

  • Andrew (unregistered)

    This brings back some good memories. From 2002 - 2007, I wrote a lot of TCL code. I was working in the HP Enterprise LaserJet R&D lab. They used TCL as the test scripting engine. Many in the lab disliked TCL for various reasons. My own opinion, the language never received the respect it was due. It was really rather fun; definitely strange at times, but fun.

  • I'm not a robot (unregistered)
    That is to say, comments are commands.
    Because a Tcl comment is only recognized where a command might begin, it may be tempting to suppose that it is in fact a command, but this is not the case.
    (https://wiki.tcl-lang.org/page/comment)

    Maybe it was different in older versions of Tcl, or maybe these devices ran a modified version where it worked differently for some reason, but the first quoted statement isn't currently true of vanilla Tcl according to the documentation.

  • (nodebb) in reply to Hal

    At which point they would probably just move the hardcoded passwords to variables or something.

  • sizer99 (google)

    TCL is so bizarre - its only saving grace is that it's a very compact interpreter, which is why it's popular in embedded stuff. I used to do a lot of it, but was well glad to be rid of it. For example, when you're declaring 'proc lookup { fname } {', that trailing { HAS to be on the same line or tcl will have a fit. IIRC it will also get pissy if you use {fname} instead of { fname }. It's a very whitespace dependent language, and as noted the errors are often not helpful. It's very easy for a closing bracket to not 'count', and then good freaking luck finding it - the most time spent TCL debugging is cutting out huge swaths of code to find which bit of code is causing it to throw an error at the very bottom of the script.

    Your TCL May Vary, PC variations may be less fragile than the embedded TCLs.

  • Daemon (unregistered)

    "It is my opinion that every developer should dabble in making their own scripting language at least once. Not to actually use, mind you, but to simply to learn how languages work."

    I agree. There's nothing quite like a combination of yacc and lex to let one fully appreciate the value and function of a ruler and a red pencil. (literally, I shell you not. yacc and lex give some output about construction errors, but if you expect the error on the line mentioned, think again....)

    I'm currently working on a workshop / presentation about webservers and have the ambition, purely to make a point, to cook up something that accepts some silly script, to display something on a page-request. Not to actually ever use it, but just to walk through how a webserver picks up this mechanism and what to watch out for.

Leave a comment on “The Dangerous Comment”

Log In or post as a guest

Replying to comment #:

« Return to Article