- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Missed opportunity: sell the ability to use
#
command for regular users for extra. Not enterprisy enough!Admin
Wow. Maybe I'm missing something - I probably am - but at first glance, Tcl looks bizarre.
Admin
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?
Admin
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.
Admin
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.
Admin
At which point they would probably just move the hardcoded passwords to variables or something.
Admin
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.
Admin
"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.