تک (نرم‌افزار)
تاریخچه

زمانی که اولین نسخهٔ کتاب «هنر برنامه‌نویسی رایانه» توسط دانلد نوث در ۱۹۶۹ منتشر شد، این کتاب توسط مونوتایپ، با فناوری قرن نوزدهمی حروف‌چینی شد که نوث از «ظاهر مناسب و کلاسیک» آن راضی بود. اما هنگامی که نسخهٔ دوم در ۱۹۷۶ به چاپ رسید، تمام کتاب باید دوباره حروف‌چینی می‌شد. چرا که فناوری مونوتایپ به صورت گسترده با روش‌های عکس‌برداری جایگزین شده بود و قلم‌های قبلی دیگر در دسترس نبودند. به هر صورت، هنگامی که دانلد نوث پیش‌نمایش کتاب جدیدش را در ۳۰ مارس ۱۹۷۷ دریافت کرد، متوجه شد که بسیار بدشکل هستند. در این زمان، نوث برای اولین بار خروجی با کیفیت حروف‌چینی دیجیتال را مشاهده کرد، و به حروف‌چینی دیجیتال علاقه‌مند شد. پیش‌نمایش‌های مأیوس‌کننده در نهایت موجب شدند که او تصمیم بگیرد با طراحی سیستم حروف‌چینی خود این مشکل را یک بار، و برای همه حل کند. در ۱۳ می۱۹۷۷، او یادداشتی برای خود نوشت که ویژگی‌های اولیهٔ تک را شرح می‌داد.
او تصمیم گرفت که این کار را در ۱۹۷۸ به پایان برساند، اما آنچه که اتفاق افتاد این بود که در نهایت در ۱۹۸۹، یعنی ده سال بعد این کار متوقف شد. گای استیل در تابستان ۱۹۷۸، هنگامی که نوث مشغول ایجاد اولین نسخهٔ تک بود، در استنفورد بود. هنگامی که او در پاییز به‌ام. آی. تی بازگشت، سیستم ورودی/خروجی تک را بازنویسی کرد تا تحت سیستم‌عامل آی. تی. اس. اجرا شود. اولین نسخهٔ تک به زبان «سیل» نوشته شده بود تا بر روی یک پی. دی. پی. ۱۰ تحت سیستم‌عامل وایتس استنفورد اجرا شود. برای نسخه‌های بعدی تک، نوث شیوهٔ «برنامه‌نویسی لفظی» را ابداع کرد که شیوه‌ای برای تولید کد منبع سازگار و مستندات با کیفیت بالا و پیوندیافته (که البته با تک حروف‌چینی می‌شود) از پروندهٔ اصلی می‌باشد. زبان استفاده شده وب نامیده
می‌شود و برنامه‌هایی به زبان پاسکال تولید می‌کند.
نسخهٔ جدید تک، بازنویسی و تک۸۲ نامیده شد و در سال ۱۹۸۲ منتشر گشت. از چیزهای قابل ذکر در مورد این نرم‌افزار می‌توان به الگوریتم فاصله‌گذاری اشاره کرد با الگوریتمی از فرانک لیانگ جایگزین شده بود. تک۸۲ همچنین از حساب ممیز ثابت به جای ممیز شناور استفاده می‌کرد تا از بازآفرینی نتایج بر روی سخت‌افزارهای متفاوت، اطمینان حاصل شود، و نیز شامل یک زبان برنامه‌نویسی واقعی و کامل از نظر تورینگ بود که به پیشنهاد گای استیل در آن گنجانده شده بود.
در سال ۱۹۸۹، دونالد نوث نسخهٔ جدیدی از تک و متافونت عرضه نمود. با وجود این که او می‌خواست برنامه را پایدار نموده و از تغییرات پرهیز نماید، دریافت که ۱۲۸ نماد مختلف ورودی برای استفاده در زبان‌هایی غیر از انگلیسی کافی نیست؛ بنابراین مهم‌ترین تغییر در نسخهٔ ۳٫۰ تک، قابلیت استفاده از ورودی ۸ بیتی بود که اجازه می‌داد ۲۵۶ نماد مختلف به صورت هم‌زمان در متن ورودی استفاده شوند.
از نسخهٔ ۳، تک سیستم نسخه‌گذاری جدیدی را استفاده کرده‌است، به این صورت که به روز رسانی نرم‌افزار با افزودن رقم جدید در انتهای بخش اعشاری نسخهٔ قبلی مشخص می‌شود، و به این ترتیب این عدد به ثابت پی نزدیک می‌گردد. این نشان دهندهٔ این واقعیت است که تک اکنون بسیار پایدار است، و تنها به روزرسانی‌های جزئی بر روی آن انجام می‌گردد. نسخهٔ جاری تک ۳٫۱۴۱۵۹۲ می‌باشد، و آخرین بار در دسامبر ۲۰۰۲ به روزرسانی شده‌است. طراحی نرم‌افزار از نسخهٔ ۳٫۰ تغییری نکرده‌است و هیچ ویژگی جدید یا تغییر اساسی بعد از آن افزوده نخواهد شد، و بدین ترتیب نسخه‌های جدید تنها شامل رفع اشکال خواهند بود. با وجود این که حتی دانلد نوث، خود نیز پیشنهاد کرده‌است که در برخی زمینه‌ها تک امکان بهبود دارد، اشاره نموده‌است که بدون تغییر نگاه داشتن سیستم که موجب تولید خروجی‌های یکسان -کنون و در آینده- خواهد شد، مهم‌تر از معرفی ویژگی‌های جدید است. به همین دلیل، او تأکید کرده‌است که «آخرین تغییری که در تک (بعد از مرگ من) داده خواهد شد، این است که شمارهٔ نسخهٔ به پی تغییر کرده و بدین ترتیب باگ‌های باقی‌مانده، «ویژگی» محسوب خواهند شد.
اما، از آن‌جا که کد منبع تک در «مالکیت عمومی» است (پایین‌تر را ببینید)، برنامه‌نویسان دیگر اجازه دارند (و صراحتاً ترغیب شده‌اند) که این سیستم را بهبود بخشند، اما باید از نام دیگری برای توزیع تک تغییر یافته‌استفاده نمایند، و این بدان معنی است که کد منبع همچنان تحول می‌یابد. به‌طور مثال، پروژهٔ امگا پس از سال ۱۹۹۱ با هدف اصلی ارتقاء تک برای حروف‌چینی چندزبانه ایجاد شد. دانلد نوث، خود نیز نسخه‌هایی «غیررسمی» مانند «تک-زت» ایجاد کرده‌است، که به کاربر اجازه می‌دهد تا متنی که از چپ به راست نوشته می‌شود با متن راست به چپ در یک سند ترکیب نماید.