The conversation

Lessons learnedExperience excerpt · English

I remember my freshman year of college in 1994 when I took C++ and asked the professor about how to …

I remember my freshman year of college in 1994 when I took C++ and asked the professor about how to write a GUI program. She told us about the Motif toolkit. I got a book from the library and typed in a hundred lines of boiler plate code just to make "Hello World" in Motif and C. It then took about 5 minutes to compile on a DECstation 5000 with 32MB RAM running Ultrix. Someone in the computer lab saw me with the Motif toolkit and said "Why don't you use Tcl / Tk?" I said "What's that?" and they showed me. I had "Hello World" in 3 lines and could edit and start my new version in a couple of seconds instead of minutes to compile. After I graduated I got a job in the semiconductor industry which ran on Solaris and HP-UX and now Linux. All our digital tools from Cadence and Synopsys started using Tcl as the built in scripting language. I ended up teaching my older coworkers how to program in Tcl. I was still writing Tcl yesterday. There are a lot of things I hate about it but it has stuck around. …

Original discussionA brief interview with Tcl creator John Ousterhout91 source comments · at import
6

Community replies 0

No community replies yet. Add your perspective.

Replies from the source 6

Direct replies available in this import. Original-language excerpts.

BC

> The text before the interview mentions AFS which I did not think Ousterhout had anything to do with. I thought it was from Carnegie Mellon and then IBM Transarc. Ya - I wonder if the article writer actually meant LFS (log-structured file system)[0] which was part of the Sprite operating system project. [0] https://en.m.wikipedia.org/wiki/Log-structured_file_system

Full original
TA

I use tcl in EDA reguarly also. It's quirky, but useful. I'd not choose it for anything non EDA today, but it works well in that niche. The most horrific thing I discovered about tcl is that curly braces within comments can affect flow control. This is because comments are interpreted as a command that does nothing, not the same as complete ignored. Finding that out the hard way was not fun.

Full original
UP

Yeah the AFS thing is a mistake. Ousterhout graduated from CMU (PhD) in 1980; the Andrew project (from which AFS sprung) began in 1982 or so. Ousterhout did work on Sprite (a distributed OS and file system) in the 1990s at Berkeley, and then, as another mentions, the log-structured FS (LFS).

Full original
BL

> We only had an 8MB quota for our entire Unix account in college. This brings backs some memories for me. In high school we only had a 10MB quota. I remember bringing in stacks of floppies to workaround the quota so I could download junk off their T1 and using file splitting programs. One of my friends even blew all his McJob money on an external Zip drive. By the time I started college USB thumb drives came into vogue and made everything so much easier.

Full original
IN

Brings back memories for me. Started college in ‘95, system had a 10MB quota on AFS and I also made use of the ACLs for projects with others. Systems ranged from Solaris to IRIX to AIX. My first GUI app was in Perl/Tk since I already knew Perl for scripts; it was a mail watcher utility that showed recent messages in a window.

Full original
NE

Tk is what made people use Tcl, because it was a rare scripting language for GUI on Unix workstations. The Tcl language is actually really clever and interesting, but the textual evaluation model (a much smarter approach than Bourne and C-shell) still made it poor for representing and manipulating graphs. I was lead for the extension language in a new CASE system, which had rich semantic graphs, including cycles. Tcl ended up being chosen by a cofounder, so I wrote up a doc on language limitations and how to work around them. (I'd also argued in the early/mid-'90s that the high-level extension language should also be the application implementation language. Such that we'd develop much of the application functionality ourselves in this high-level language, atop a C++ or C core API for foundation that needed that. Python eventually went this route, but hadn't yet. At the time, people in th…

Full original
Continue on Hacker News

Respect different perspectives. Share concrete experiences.

Sign in to post, reply, repost, and quote.