این کتاب راجع به دو بسته نرم افزاری به نام Tk , Tel می باشد. که با همدیگر یک سیستم برنامه نویسی برای گسترش و استفاده از واسط گرافیکی کاربرد (GUI) را فراهم می کند. Tel بیانگر زبان ابزار فرمان است و با نام “Tiche” شناخته شده است و یک زبان اسکریپتی ساده برای کنترل و توسعه برنامه های کاربردی می باشد. Tel یک برنامه نویسی کلی و عمومی را با استفاده از ابزارهای سودمند از قبیل متغیرها، حلقه ها و توابع برای برنامه های کاربردی متنوع هم می آورد. بعلاوه Tel به صورت توکا (embeobble) می باشد. یعنی مفسر آن بعنوان کتابخانه ای از توابع “C” که می تواند به راحتی داخل برنامه های کاربردی قرار داده شود پیاده سازی شود. و هر بنامه ای کاربردی می توان خصوصیات بنیادی Tel را با فرمانهای افزودنی بخصوصی با برنامه های کاربردی گسترش دهد.
یکی از مفیدترین ابزارهایی که برای گسترش Tel به کار گرفته شده است Tk می باشد. Tk یک بسته از ابزارهای نرم افزاری برای سیستم های ویندوز با ورژنهای مختلف می باشد. و تلفظ نام آن “TeEkey” می باشد. Tk وسایل و امکانات Tel را با فرمانهای افزودنی برای ساختن واسطه های کاربر گسترش می دهد. بنابراین شما می توانید ساختها واسطه های کاربر را برای استفاده از کدهای زبان C با اسکریپتهای Tcl بنویسید. Tk نیز مانند TCl بعنوان توابع کتابخانه ای C پیاده سازی شده است. بنابراین در خیلی از برنامه های کاربردی گوناگون می تواند مورد استفاده قرار گیرئد. برنامه های کاربردی نیز می توانند براساس خصوصیات Tk با واسطه های اشیاء گرافیکی کاربرد (widgest) و مدیریت هندسی در C گسترش یابند. Tel و Tk با همدیگر 4 مزیت را برای کاربران و توسعه دهندگان کاربردی ایجاد می کنند ابتدا اینکه Tel داشتن یک زبان اسکریپتی قدرتمنمد را برای هر برنامهی کاربردی آسان می کند. تمام چیزی را که یک برنامه کاربردی نیاز است انجام دهد پیاده سازی تعدادی از فرامین Tel است که ویژگی های اصلی برنامه های کاربردی را تامین می کند. پس برنامه کاربردی میتواند با مفسر tel با پروسی جدها، یک تابع کامل زبان اسکریپی که شامل هر دو مورد فرمان های تهیه شده به وسیله Tel (که هسته Tel (Tel Core) نامیده می شوند) شکل 1. 1 را ببینید.
1-2) Figure: برای ایجاد کردن یک برنامه کاربردی جدید براساس Tel، یک گسترش دهنده برنامه کاربردی یک ساختمان داده های ویژه C برای آن برنامه کاربردی طراحی می کند و کدهای C را برای پیاده سازی تعداد کمی از فرامین Tel پیاده سازی می کند. کتابخانه Tel هر امکانی را فراهم می کند در غیر این صورت Tel نیازمند به یک زبان فرمان گرا قابل برنامه نویسی است.
برنامه کاربردی می تواند با نوشتن اسکپریپتهای TCl اصلاح شده و گسترش یابد. برای مثال، یک برنامه کاربردی برای خوداندن تابلوهای اعلانات (بولتن) الکترونیکی ممکن است شامل کدهای C باشد. که یک فرمان Tel را برای جستجو و کاوش در تابلو اعلانات و صدور یک پیغام جدید برای این کار و یک فرمان دیگر را برای پیغام داده شده پیاده سازی می کند. زمانی که از این فرمان ها خارجی می شویم اسکریپتهای Tel می توانند برای تکرار این چرخه در لابه لای پیغام های جدیدی از تمام تابلوهای اعلانات نوشته شوند و همه آنها را در یک زمان نمایش دهند یا فایل پیغامهایی که خوانده شده اند یا خوانده نشده اند را بر روی دیسک ذخیره کرده و نگهداری کنند. و یا اینکه یک یا چند تابلو اعلانات را برای موضوع ویژه ای جستجو کنند.
برنامه کاربردی تابلو اعلانات نیازی نیست هر یک از توابع افزودنی را در C پیاده سازی کند. بلکه همه این توابع می توانستند به عنوان اسکریپتهای Tel پیاده سازی می شوند و کاربران این برنامه های کاربردی می توانستند اسکپریپتهای افزودنی Tel را برای افزودن توابع بیشتر به برنامه کاربردی بنویسند.
مزیت دوم Tel و Tk قابلیت توسعه و گسترش سریع آن می باشد. برای مثال فیلمی از برنامه های کاربردی پنجره ای جالب می توانند تماماً به وسیله اسکریپتهای Tel نوشته شوند. بدون اینکه ابداً از کدهای C استفاده شود. این کار با استفاده ای یک واسط کاربرد (Shell) پنجره ای که Wish نامیده می شود انجام می شود. این کار به شما اجازه می دهد که در سطح بالاتری نسبت به وقتی در C یا ++C هستید برنامه نویسی کنید و خیلی از جزئیاتی که برنامه نویسان باد مخاطب آن باشند و از شما پوشیده است. در مقایسه ای نسبت به ابزارها وقتی شما تماماً در C برنامه نویسی می کنید یادگیری استفاده از Tel و Tk آسانتر است و نیاز به کدنویسی کمتری دارد. کاربران مبتدی Tel و Tk می توانند فقط چند ساعت پس از یادگیری آن واسطه های کاربر جالبی ایجاد کنند. و به گفته خیلی از کاربران وقتی آنها Tel و Tk را جایگزین دیگر ابزارهای نرم افزار کرده اند با کاهش قابل ملاحظه ای تا ده برابر در حجم کد و زمان لازم برای گسترش برنامه روبرو شده اند. دلیل دیگری برای توسعه سریع Tel/Tk مفسری بودن زبان Tel می باشد. وقتی شما یک برنامه کاربردی Tel از قبیل Wish را استفاده می کنید می توانید اسکریپتهای جدیدی تولید و اجرا کنید بدون اینکه لازم باشد آن برنامه کاربردی مجدداً اجرا یا کامپایل شوند. این کار به شما اجازه می دهد خیلی سریع آن را تست کنید. و خطاهای (باس) آن را مشخص سازند. زمانی که Tel تفسیر می شود خیلی کندتر از کدهای کامپایل شده C اجرا می شود. ولی ایستگاه های کاری و سیستم های جدید به طور باورنکردنی سریع هستند. برای مثال شما می توانید اسکریپتی با صدها و حتی هاران فرمان Tel را با یک حرکت ماوس بدون اینکه تاخیر قابل ملاحظه ای داشته باشد اجرا کنید. در مورد موارد نادری که به نحوه اجرای مسأله قابل ملاحظه ای است شما می توانید بیشتر اجراها را در قسمت های مهم بحرانی اسکریپتی Tel مجدداص در C پیاده سازی می کنند.