سلاح‌ مخفي‌ محبوبترين‌ زبانهاي‌ اسكريپتينگ‌، پشتيباني‌ آنها از يك‌ حالت‌
محاوره‌اي‌ است‌. سيستمهاي‌ LISP و BASIC به‌ اين‌ دليل‌ محبوب‌ شده‌اند
كه‌ در آنها عبارات‌ مي‌توانند تايپ‌ شده‌ و بلافاصله‌ ارزيابي‌ شوند، بدون‌ شك‌
آنها خصوصيات‌ ديگري‌ نيز دارند اما اگر اينقدر تعاملي‌ نبودند چندان‌ مورد
توجه‌ قرار نمي‌گرفتند. البته‌ اين‌ مسئله‌ بيشترين‌ نمود را در زبانهائي‌ نظير
LISP دارد كه‌ در آنها هر چيزي‌ داراي‌ ارزشي‌ است‌ حتي‌ اگر صفر باشد، با اين‌
وجود تقريبا هر زبان‌ برنامه‌ نويسي‌ مي‌تواند بصورت‌ تعاملي‌ مورد استفاده‌
قرار گيرد. چنين‌ نحوه‌ اجرائي‌ از يك‌ سبك‌ برنامه‌ نويسي‌ "محاوره‌اي‌"
پشتيباني‌ مي‌كند كه‌ در آن‌ واكنش‌ كامپيوتر عملا آني‌ است‌. عليرغم‌
محدوديتهاي‌ سيستمهاي‌ تعاملي‌ نظير LISP، APL و يا FORTH، برنامه‌
نويسان‌ هنگام‌ كار با آنها بازدهي‌ بسيار خوبي‌ داشتند.
تنها ضرورت‌ اين‌ است‌ كه‌ زبان‌ برنامه‌ نويسي‌ مبتني‌ بر تابع‌ باشد. در
اينصورت‌ حتي‌ پاسكال‌ نيز مي‌تواند بصورت‌ تعاملي‌ تفسير شود. Eiffel و
Java مشكلاتي‌ را بروز خواهند داد زير آنها مبتني‌ بر كلاس‌ هستند. يك‌
اجراي‌ تعاملي‌ از جاوا ضرورتا با فشار بر روي‌ زبان‌ انجام‌ خواهد شد.
تفاوت‌ بزرگ‌ ميان‌ دو محيط دسته‌اي‌ (Batch) و تعاملي‌ در اين‌ است‌ كه‌
محيطهاي‌ دسته‌اي‌ بايستي‌ جريان‌ تلفيقي‌ خود را حفظ كنند، در حاليكه‌
محيطهاي‌ تعاملي‌ نيازمند حفظ جريان‌ ارزشيابي‌ هستند. معمولا سيستمهاي‌
تعاملي‌ با بروز اولين‌ خطا، تلاش‌ خود براي‌ كامپايل‌ نمودن‌ را متوقف‌ مي‌كنند.
كامپايلرهاي‌ ++C به‌ آساني‌ گيج‌ مي‌شوند و اين‌ مسئله‌ باعث‌ گيج‌ شدن‌
برنامه‌ نويس‌ مي‌شود كه‌ واقعا نيازمند آن‌ است‌ كه‌ اول‌ گزارش‌ خطا را مشخص‌
نمايد. اين‌ مسئله‌ خصوصا در مورد برنامه‌ نويسان‌ تازه‌ كار صحت‌ دارد. من‌
در ابتدا كارم‌ را با سيستمهاي‌ محاوره‌اي‌ ++C شروع‌ كردم‌ زيرا احساس‌
مي‌كردم‌ آنها ابزارهاي‌ بسيار مفيدي‌ براي‌ مبتدياني‌ باشند كه‌ در حال‌ يادگيري‌
اين‌ زبان‌ هستند. آزادي‌ در كاوش‌، يكي‌ از قسمتهاي‌ اساسي‌ جريان‌ آموزش‌
است‌ و يادگيري‌ زبان‌ انساني‌ در ابتدا با صحبت‌ كردن‌ آغاز مي‌شود، نه‌ با
خواندن‌ و يا نوشتن‌.