翻译:Is Tcl/Tk Dying Out?!

风行水上 @ 2013-10-25 00:48:47
标签:

    原文来自:http://www.markroseman.com/tcl/dyingout.html (by mark roseman)

    是少有的让自己很有翻译冲动的英文文章。原文很多英语词语或用法很口语话,翻译的不是特别准确。希望大概意思表达出来了。


    Tcl/Tk正在消亡吗?

    Scene: A run down shop at the end of a long, mostly deserted street. A cracked and weather-beaten sign, obviously from the mid-90's, hangs over a large boarded up window. It reads "Tcl and Tk Programming House and Support Group". The word "Tk" has been recently updated on the sign, and now is made up of a set of small shiny tiles of different colors, at stark contrast to the rest of the sign.

    场景:在一条很长的、几乎要被遗弃的街道的尽头坐落着一家衰败的店铺。被木板遮盖的窗户上面挂着一块饱经风霜、已经破裂了的招牌——显然是90年代中期就有的。上面写着“Tcl和Tk编程俱乐部和技术支持组”。 招牌上“Tk”这个词最近似乎有一些更新,由一些不同光泽的小碎片组成,相对于其他符号和标记显得很突出。

    (注:Tcl很无名。养在深闺人不知)

    All of a sudden, there is a loud noise, and a young, bright-eyed skinny college student tumbles down what looks like an oversized laundry chute, conspicuously located where most stores would have a door, and lands in the shop. He gets up, looks around and approaches Jeff at the counter, who looks up.

    突然间,伴随着很大的一声响,一个眼睛明亮、皮包骨头的年轻大学生摔倒在通常应该装门,现在却看起来就像是丢脏衣服的通道一般的进门通道里。这个年轻大学生爬了起来,四处张望了一下,走向了站在柜台边上正在张望的Jeff。

    Newbie: Hi! I'm in computer science at the local university. My grandfather told me that I should learn Tcl and Tk because it'll allow me to do all kinds of cool stuff. But when I mention that to my friends at school, they all laugh at me and tell me that Tcl is totally obsolete and for losers. Now I'm worried! Is Tcl dying out?

    菜鸟:你好,我是本地大学计算机系的。我的爷爷告诉我应该去学习Tcl和Tk,说是它可以帮助我走各种各样有趣的事情。但是当我跟学校里的同学提起来的时候,他们都笑话我,说Tcl已经完全被淘汰了,是给loser准备的。现在我很担心,Tcl真的正在消亡吗?

    Jeff sighs, and picks up a desk calendar from the shelf behind him. He looks down, quietly says "right on time", and puts a big check mark next to a handwritten note on the current day. He then makes another entry on the calendar three months later.

    Jeff 叹了一口气,从他深厚的架子上拿起一本台历。他眼睛朝下,轻轻地说了声“时间正好”,然后在手写在今天日期边上的记录边上打了一个大大的勾。然后在三个月后的日期边上写了另外一条记录。

    (注:应该是说,这种问题没过段时间就有人问一次)

    Larry Virden walks up from the back of the shop towards the young programmer.

    Larry V.: I couldn't help overhearing your concerns. Don't you worry, Tcl and Tk are fully open source, so how can they die? There are copies of it everywhere, so it will last forever! It's indestructible!

    Larry Virden从店铺的后面走向这个年轻程序员。

    Larry V.: 我无意中听到了你的担心。但是别担心,Tcl和Tk是完全开源的,怎么可能死掉呢?到处都有它的备份,所以它会永远存在的。它是不可毁灭的。

    Newbie: But what if nearly everyone stops using it?

    Larry V.: As long as there's one programmer left in the world still working with it, Tcl will live on! And think of all the people running Eggdrop - Tcl is thriving!

    Richard Suchenwirth pops his head briefly through a window.

    Richard S.: You should see this cool AS/400 simulator I wrote in Tcl; here, it runs on my phone. All it took was one weekend!

    菜鸟:但是要是几乎每个人都不再使用它呢?

    Larry V.: 世界上只要还有一个程序员在使用它,Tcl就会存在下去!想想那些还在运行Eggdrop的人 —— Tcl还兴旺着呢。

    (注:Eggdrop是一个Tcl语言IRC Bot框架)

    Richard Suchenwirth 从一个窗户里探出了脑袋。

    Richard S.: 你应该看一下这个很酷的我用Tcl写的 AS/400 模拟器;就在这里,他运行在我的手机上。这一切只不过花了我一个周末而已。

    Newbie: But what about web applications? That's really important today, and I don't hear much about Tcl.

    菜鸟:但是Web应用呢?这在今天非常重要,但我却没听过太多关于Tcl的。

    Dave Welton, who's been working at a desk nearby, looks up. Around him are several Ruby and Rails books, a large stack of money from his clients, and a bunch of neat demos of Hecl that he's been having fun working on.

    Dave: He does have a point. Tcl is a pretty nice language for web applications, especially embedded things and where you're deploying to customers, but it does seem to have fallen behind for a lot of mainstream uses. Tools like Rails do make a lot of common things pretty easy.

    正在边上工作的Dave Welton抬起头来。他旁边放着几本Ruby and Rails的书籍,柜台上放着一大堆钞票,和一些精巧的示例,这些示例使用他非常喜欢的Hecl制作出来的。

    (注:Hecl是一个用于J2ME-enabled手机程序开发的脚本语言。语法借鉴于Tcl)

    Dave: 这个年轻人的话很中肯。Tcl其实是一个很不错的语言,可以用于Web应用,嵌入式系统和客户部署,但确实对于很多主流用户来说显得落后了。像Rails这样的工具让很多常见的操作变得非常容易。

    An angry voice from the back screams at Dave: You idiot! What do you know about web programming and Tcl anyway? Haven't you heard of the Tcl Apache project? And there are other web servers you know!

    On cue, two groups of hackers in the back line up on either side of the shop and face each other. One group repeatedly yells "AOLserver!" at the other, who repeatedly respond with "tclhttpd!".

    一个愤怒的声音从后面传来,对着Dave喊起来:你个白痴!关于web programming和Tcl,你知道个屁。有没有听说过Apache的Tcl项目?还有一些其他的web服务器!

    就在这个时候,后面有两组hacker站了起来,面对面地站在店铺的两边。其中一组一遍又一遍地喊着“AOL Server”,另一组则一遍又一遍地回应着“tclhttpd”。

    (注:曾经的美国在线网站的服务器AOL Server运行的是Tcl程序。tclhttpd是目前比较有名的用Tcl开发的web服务器)

    Jeff: Besides, if we had a tool like Rails it would run a heck of a lot faster than in Ruby, and I18N would work right. Sure, we don't have something like Rails, but it's just a small matter of programming, I'm sure I could put it together in a weekend.

    Richard S. (popping his head in again): Me too!

    Jeff: 另外,如果我们开发一个像Rail一样的工具,将会比Ruby速度快一大截,I18N也将会正确工作。当然,我们还没有这样的工具。但是不过是编写些程序的小问题。我敢说我可以用一个周末就开发出来。

    Richard S 又一次探出他的脑袋:我也可以。

    Jean-Claude Wippler, who has just finished an enormous plate of sushi, wanders over.

    Jean-Claude: Besides, Tcl gives you all kinds of novel choices for databases for your web application or anything else. And look here, I've just rewritten Metakit again using Simula-67. Makes the Tcl binding much cleaner and more straightforward, and that'll certainly be easier to get compiled than C++.

    Jean-Claude Wipple 刚吃完一大盘子寿司,走了过来。

    Jean-Claude: 此外,Tcl提供了各种各样新奇的选择用于数据库,不仅可以用于web应用,还可以用于其他地方。看这里,我刚用Simula-67重写了Metakit,使得Tcl的绑定更清晰,也更直接,当然也比C++更容易编译。

    Jeff: (groans)

    Jeff发出了一声赞叹。

    Newbie: That's interesting. I'd heard that SQLite even had a Tcl binding, and that's the coolest thing I've ever seen.

    菜鸟:真听起来很有趣。我听说SQLite也有一个Tcl版本的绑定,这是我听过的最cool的事情。

    Richard Hipp, who's been frantically bouncing around the room the entire time, steers himself in that direction.

    Richard H.: Well gosh darn, nobody will believe me when I tell them that I really love Tcl, and that SQLite was reallymade for Tcl. But they never listen to me, they're just too busy shoving money in my face to do work for them. Boyit's tough.

    一直在狂暴地走来走去的Richard Hipp这时移动着他的身躯走了过去。

    Richard: 好吧,真该死,每次我跟人说我真的很喜爱Tcl, SQLite就像是为Tcl定制似得,都没人会相信我。他们从不听我说,而只是忙着在我面前晃动着金钱好让我为他们工作。

    Jean-Claude: Hey, I just got Metakit working on this vacuum tube I found. This time I know I've got it!

    Richard S.: Hey, last weekend I used Tcl to turn a vacuum tube into a space shuttle. How cool is that?

    Jean-Claude: 嗨,我刚才让Metakit可以工作在我找到的这个真空管上。这次我想我做到了。

    Richard S说: 嗨,我上周刚用Tcl把一个真空管变成一个航天飞机。多酷啊。

    Newbie: Wow, there certainly do seem to be a lot of neat things that people are doing with Tcl. It must be really useful. I don't see it on job postings a lot though. What kind of jobs do you guys get?

    Jeff: You'd be surprised how many companies use Tcl internally, especially for things like testing and internal tool development. But I can't tell you about any of them or I'd be shot.

    Someone else pipes up: Besides, a lot of us just start our own companies. It's not like we could get hired anywhere since we're not up on all the latest buzzwords. Hey, had you heard of this brand new language that's just come out called Java?

    菜鸟:哇,一定有很多人们用Tcl做出来的精巧的东西。那一定很有用。但我很少看到Tcl出现在招聘职位上。你们呢这些家伙都在做什么工作呢?

    Jeff: 如果你知道有多少公司在内部使用Tcl,尤其是关于测试或者内部工具开发的话,你一定会很惊讶的。但是我不能告诉你他们的名字,不然我会被击中的。

    其他一些人开始继续吹嘘:另外,我们中的很多人刚开始我们自己的公司。 似乎我们不大容易被雇佣,因为我们不是很熟悉那些新近出现的流行词?嗨,你有听说过Java这种最近才出现的全新的变成语言吗?

    (注:Java已经出现好多年了。这些Tcler确实够“古老”的)

    Dave: But it would help a bit if a few more people were doing some more marketing. That web site really needs some work.

    Richard S.: No need, everything is on the wiki. What more do you want?

    Larry V.: Exactly, it's fine, what difference does it make? And it works with Lynx!

    Richard S.: Did I mention the weekend when I rewrote Lynx in Tcl but made it 3D?

    Dave: 但如果有更多人可以做些市场推广的话应该会有些帮助的。现在Tcl那个官方网站确实需要一些改进。

    Richard S: 这不需要。所有的东西都已经在wiki上了。你还需要什么?

    (注:官方的Tcl Wiki 站点 http://wiki.tcl.tk/,界面很不炫)

    Larry V: 确实如此。它很好用。而且它在Lynx中显示得很好。

    (注:Lynx是一个基于文本的浏览器

    Richard S: 我有提到过我周末刚用Tcl重写了Lynx吗,我让Lynx变成了3D的。

    Newbie: That's pretty cool! So what are you guys working on now? What's next for Tcl?

    Jeff: Well, we've got some pretty cool stuff - an improved, modern user interface and a brand new object system. I think it's the 100th object system done in Tcl; how many languages can say that? So as soon as Donal finishes, we'll be ready to release.

    Donal (from a small cellar in the basement, where he's been locked): Help! Let me out of here!

    Joe English is sitting in another corner, chipping away and polishing a gigantic pile of ceramic tiles.

    Joe: You know, this is all great and such, but if anyone else wanted to help out, that'd be okay!

    Jeff: So yeah, the next release should be any day now.

    菜鸟:这听起来非常cool。那么你们这些人现在在忙什么呢?Tcl的下一步是什么?

    Jeff: 好吧。我们已经做了写非常酷的事情 -- 一个改进了的更现代的用户界面和一个全新的对象系统。我想这是第100个用Tcl实现的对象系统;有几个编程语言可以这样做呢?所以只要Donal完成了工作,我们就可以对外发布了。

    (注:Tcl在很长一段时间里没有官方的面向对象的实现。但有很多不同的模拟面向对象的实现方案)

    Donal (被锁在某个小角落里)大声喊道:救命啊!放我出去!

    坐在另外一个角落的Joe English正在切凿打磨一大堆瓷砖碎片。

    (注:回应开头招牌上的彩色碎片,用于进一步装饰招牌)

    Joe说道:你懂的,这些都很好。但如果任何其他人想帮忙摆脱困境的话,那很好。

    Jeff:欧耶,下一个release应该随时可以好。

    Larry McVoy pops down the chute where the front door should be, carrying a long pointy stick.

    Newbie: Hey, what's with the stick?

    Larry M.: I need it to go around poking all those free software weenies in the eye. Suckers. You should have seen Stallman after I got him last week. It was hilarious! He hasn't been around here again lately has he?

    Everyone: No, thank god.

    Larry M.: By the way, I hate to keep mentioning it, but if you guys would just put a front door on this shop like people are used to instead of the stupid laundry chute that people have to use to get in, you might get a few more people coming through.

    Gerald Lester offers Larry a bottle of hot sauce, and turns on the neon sign he wears on his ballcap saying "ask me about the oil platform... please!"

    Gerald: You know Larry, I think laundry chutes are kinda nice.

    Larry McVoy这时走进了门口处的坡道,拿着一根削尖了的长棍子。

    菜鸟:嘿,那根长棍子是什么?

    Larry V: 我要用它去戳所有那些免费软件小鬼的眼镜。你们这些家伙应该看看Stallman,就在在我上周见过他之后。这很滑稽,他再没有在这附近出现过,难道不是吗?

    (注:貌似是说Tcl语言开发的软件很多都是商业的。这个是有点那么个情况)

    大家答道:没有。感谢上帝。

    Larry V: 顺便提一下,虽然我讨厌不停地提起它,但是如果你们这些家伙在这个店铺的门口装一扇门,就像大家通常会做的那样,而不是把它搞的就像是丢脏衣服的通道,我想会有更多人来光顾。

    Gerald Lester给了Larry一瓶辣椒酱,打开他穿在身上的霓虹灯广告牌,上面写着“ask me about the oil platform... please”

    Gerald: 你知道的,Larry,我感觉那通道还不错

    A large box comes flying down the laundry chute and lands with a thud.

    Newbie: Wow, that's a pretty big box? What's in that?

    Jeff: Just today's batch of "thank you" cards, from all the people who are happily using Tcl to get their job done, and not worrying about whether it's dying or not, or caring how it compares with Ruby or Python or Java or whatever. They seem to think that it's nice having a choice of tools out there, and if Tcl works for them, they're happy.

    Newbie: I think I get it now. You know, I've learned something today. Sure, there are lots of different tools out there, and their popularity goes up and down. Some get a lot of attention for particular things. Others may not be as flashy but get the job done, and may be better for a different set of problems. If we spent less time worrying about who was better and who sucked, and actually learned from each other, we'd make life better for a lot of people. It's not so important to prove you're right and the other guy is wrong. Maybe we could all work together and make it easier for everyone to do their jobs, rather than wasting time arguing with each other.

    Larry M.: Yeah, like that's going to happen.

    一个大盒子飞过门口的通道砰的一声掉在地上。

    菜鸟:哇,真是个大盒子,里面是什么呢?

    Jeff: 只是今天的“感谢卡”。来自所有那些正在很高兴地使用着Tcl完成他们工作,而且不担心Tcl是否正在消亡,或者在意Tcl跟Ruby或者Python或者Java或者其他别语言的比怎么样的人。他们似乎认为有多种工具供大家选择是件好事,与此同时,只要Tcl满足他们的需求,他们就很高兴了。

    菜鸟:我想我懂了。你知道吗,我今天从你们这里学习到了些东西。是的,有那么多的工具可供选择,他们的流行度起起落落。它们中的一些因为一些特别的原因引起很多关注。另外一些则虽然不是很耀眼但可以达成目的,甚至在某些问题上更有优势。 如果我们少花一些时间担心哪个更好或更差,而是认真地从彼此身上互相学习,我们应该可以让很多人的生活更美好。证明自己正确或者其他人错误并不是很重要的事情。也许我们可以一起努力让大家更容易地完成任务,而不是花时间彼此争论。

    Larry M: 是的。好像这个正在发生中。

    Fade out.

    落幕。

    Scene: a nice office, far far away. John Ousterhout is sitting in front of a row of video screens showing images from hidden cameras all around the shop. A group of TV executives is watching closely.

    John: See, I knew all along the only way we'd make money from Tcl is by getting all these technical guys in one spot and making a reality TV series out of it!

    场景:很远处一间漂亮的办公室里,John Ousterhout 正坐在一排屏幕前,屏幕上显示着藏在店铺里的摄像机拍到的画面。一群电视工作者正围在一起观看。

    John说:看,我就知道我们通过Tcl挣钱的唯一方式就是让这些技术宅聚在一起,拍一个现实展示电视片系列。
    (注:John Ousterhout是Tcl的创始人)

    标签:

      分享到:
      comments powered by Disqus

      56/63ms