تورینگ تارپیت
تورینگ تارپیت[ویرایش]
تورینگ تارپیت (Turing tarpit یا Turing tar-pit)، به هر زبان برنامهنویسی یا رابط کامپیوتری گفته میشود که امکان انعطاف در عملکرد را فراهم میکند، اما استفاده و یادگیری آن سخت است چرا که از وظایف معمولی پشتیبانی نمی کند یا خیلی کم پشتیبانی میکند.
این عبارت در سال ۱۹۸۲ توسط آلن پرلیس در ramEpigrams on Progming ایجاد شد:
" از تارپیت تورینگ بپرهیزید که در آن همه چیز امکانپذیر است، اما هیچ چیز جالبی به راحتی انجام نمیشود."
در هر زبان قابل اجرای تورینگ، نوشتن هر برنامه کامپیوتری ممکن است، بنابراین به شیوه دقیقی تقریباً تمام زبانهای برنامهنویسی قابلیتهای مشابهی را دارند. با این حال، داشتن این قابلیت نظری، خود به تنهایی به معنای مفید بودن در عمل نیست. تارپیتهای تورینگ با داشتن یک ماشین انتزاعی ساده مشخص میشوند که کاربر را مجبور میکند با جزئیات بسیاری در حل یک مسئله سروکار داشته باشد.
در طرف مقابل هستند رابطهایی که میتوانند با کمترین دخالت انسانی وظایف بسیار پیچیده را انجام دهند، اما در صورت تغییر نیازهای کمی، قدیمی و ناکارآمد میشوند.
برخی از زبانهای برنامهنویسی عجیب و غریب، مانند Brainfuck یا Malbolge، بهطور خاص به عنوان "تارپیتهای تورینگ" شناخته میشوند زیرا با قصد پیادهسازی حداقل قابلیتهای لازم برای طبقهبندی به عنوان زبانهای کامل تورینگ، طراحی شدهاند. استفاده از چنین زبانهایی یک شکل بازی ریاضی است: برنامهنویسان میتوانند روشهای رسیدن به ساختارهای برنامهنویسی پایه را در یک زبان بسیار دشوار اما ریاضیاتی با تورینگ معادل کار کنند.
منابع[ویرایش]
This article "تورینگ تارپیت" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:تورینگ تارپیت. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.