آلن کی و ماروین مینسکی: علوم کامپیوتر قبلاً یک "گرامر" دارد. نیاز به "ادبیات"

آلن کی و ماروین مینسکی: علوم کامپیوتر قبلاً یک "گرامر" دارد. نیاز به "ادبیات"

اول از سمت چپ ماروین مینسکی، دومی از چپ آلن کی، سپس جان پری بارلو و گلوریا مینسکی.

سوال: این ایده ماروین مینسکی را چگونه تفسیر می کنید که «علم رایانه قبلاً یک دستور زبان دارد. آنچه او نیاز دارد ادبیات است.»

آلن کی: جالب ترین جنبه ضبط وبلاگ کن (از جمله نظرات) این است که هیچ مرجع تاریخی به این ایده در هیچ کجا یافت نمی شود. در واقع، بیش از 50 سال پیش، در دهه 60، صحبت های زیادی در مورد این موضوع و، همانطور که به یاد دارم، چندین مقاله وجود داشت.

من اولین بار در مورد این ایده از باب بارتون در سال 1967 در مقطع تحصیلات تکمیلی شنیدم، زمانی که به من گفت که این ایده بخشی از انگیزه دونالد کنوت در هنگام نوشتن کتاب هنر برنامه نویسی بود که فصل هایی از آن در حال پخش بود. یکی از سوالات اصلی باب در آن زمان در مورد "زبان های برنامه نویسی طراحی شده برای خواندن توسط انسان و همچنین توسط ماشین ها" بود. و این انگیزه اصلی برای بخش هایی از طراحی COBOL در اوایل دهه 60 بود. و شاید مهمتر از آن در زمینه موضوع ما، این ایده در زبان تعاملی بسیار اولیه و بسیار زیبا طراحی شده JOSS (بیشتر کلیف شاو) دیده می شود.

همانطور که فرانک اسمیت مشاهده کرد، ادبیات با ایده هایی آغاز می شود که ارزش بحث و نوشتن دارند. اغلب تا حدی بازنمایی ایجاد می کند و زبان ها و فرم های موجود را گسترش می دهد. منجر به ایده های جدیدی در مورد خواندن و نوشتن می شود. و در نهایت به ایده های جدیدی که بخشی از انگیزه اصلی نبودند.

بخشی از ایده "ادبی سازی" خواندن، نوشتن و ارجاع به مقالات دیگری است که ممکن است مورد علاقه باشد. به عنوان مثال، سخنرانی جایزه تورینگ ماروین مینسکی با این موارد آغاز می شود: "مشکل امروز علوم کامپیوتر، توجه وسواس گونه به فرم و نه محتوا است.".

منظور او این بود که مهم‌ترین چیز در محاسبات معنا و نحوه مشاهده و نمایش آن است، برخلاف یکی از موضوعات بزرگ دهه 60 در مورد چگونگی تجزیه و تحلیل برنامه‌نویسی و زبان‌های طبیعی. از نظر او، جالب‌ترین نکته در مورد پایان‌نامه دانشجوی کارشناسی ارشد تری وینوگراد ممکن است این باشد که اگرچه از نظر دستور زبان انگلیسی خیلی درست نبود (خیلی خوب بود)، اما می‌توانست آنچه گفته شده را معنا کند و می‌تواند آنچه را که گفته می‌شود توجیه کند. با استفاده از این مقدار گفت. (این بازگشتی است به آنچه کن در وبلاگ ماروین گزارش می دهد).

روشی موازی برای نگاه کردن به "یادگیری زبان در همه جا". بدون تغییر زبان یا حتی افزودن دیکشنری می توان کارهای زیادی انجام داد. این شبیه به این است که چگونه با نمادهای ریاضی و نحو نوشتن یک فرمول بسیار آسان است. این تا حدودی چیزی است که ماروین به آن دست یافته است. خنده دار است که ماشین تورینگ در کتاب محاسبات ماروین: ماشین های متناهی و نامتناهی (یکی از کتاب های مورد علاقه من) یک کامپیوتر نسبتا معمولی با دو دستور است (برای ثبت 1 اضافه کنید و اگر ثبات کمتر از 1 باشد از ثبت و شاخه ها به دستورالعمل جدید کم کنید. 0 - گزینه های زیادی وجود دارد.)

این یک زبان برنامه نویسی رایج است، اما از مشکلات آن آگاه باشید. یک راه حل معقول برای "یادگیری جهانی" نیز باید دارای انواع خاصی از قدرت بیانی باشد که احتمالاً به زمان بیشتری برای یادگیری نیاز دارد.

علاقه دان به به اصطلاح "برنامه نویسی با سواد" منجر به ایجاد یک سیستم تالیفی (که از لحاظ تاریخی WEB نامیده می شود) به دان اجازه می دهد تا همان برنامه ای را که در حال نگارش بود توضیح دهد و شامل ویژگی های بسیاری بود که به بخش هایی از برنامه اجازه می داد برای مطالعه انسانی استخراج شده است. ایده این بود که سند WEB یک برنامه است و کامپایلر می تواند قسمت های کامپایل شده و قابل اجرا را از آن استخراج کند.

یکی دیگر از نوآوری های اولیه، ایده رسانه های پویا بود که در اواخر دهه 60 یک ایده محبوب بود و برای بسیاری از ما بخش مهمی از محاسبات رایانه شخصی تعاملی بود. یکی از چندین انگیزه برای این ایده داشتن چیزی مانند "اصول نیوتن" بود که در آن "ریاضیات" پویا بود و می توانست اجرا شود و به گرافیک و غیره گره بخورد. این بخشی از انگیزه ترویج ایده Dynabook در سال 1968 بود. یکی از اصطلاحاتی که در آن زمان مورد استفاده قرار گرفت «مقاله فعال» بود، که در آن انواع نوشتار و استدلالی که در یک مقاله انتظار می‌رود با برنامه تعاملی که یکی از انواع رسانه‌ها برای نوع جدیدی از سند است، افزایش می‌یابد.

چند نمونه بسیار خوب در Hypercard توسط خود تد کویلر در اواخر دهه 80 و اوایل دهه 90 ساخته شد. Hypercard مستقیماً برای این پیکربندی نشده بود - اسکریپت ها اشیاء رسانه ای برای کارت ها نبودند، اما می توانید مقداری کار انجام دهید و اسکریپت هایی را برای نشان دادن روی کارت ها دریافت کنید و آنها را تعاملی کنید. یک مثال تحریک‌آمیز خاص «راسو» بود، که مقاله‌ای فعال در توضیح بخشی از کتاب ساعت‌ساز کور ریچارد داوکینز بود و به خواننده اجازه می‌داد چارچوبی را آزمایش کند که از نوعی فرآیند پرورش برای یافتن جملات هدف استفاده می‌کرد.

شایان توجه است که در حالی که هایپر کارت برای اینترنت در حال ظهور تقریباً مناسب بود - و در اوایل دهه 90 مورد استفاده گسترده قرار گرفت - افرادی که اینترنت را ایجاد کردند ترجیح دادند از آن یا ایده های بزرگتر قبلی انگلبارت استقبال نکنند. و اپل، که تعداد زیادی از افراد ARPA/Parc را در شاخه تحقیقاتی خود داشت، از شنیدن آنها در مورد اهمیت اینترنت و اینکه چگونه Hypercard در راه اندازی یک سیستم خواندن و نوشتن متقارن عالی خواهد بود، خودداری کرد. اپل در زمانی که یک مرورگر واقعا خوب پیشرفت قابل توجهی می کرد، از ساخت مرورگر امتناع کرد و ممکن بود نقش بزرگی در چگونگی تبدیل شدن به "چهره عمومی" اینترنت داشته باشد.

اگر چند سال به جلو حرکت کنیم، پوچ مطلق - تقریباً زشت - یک مرورگر وب بدون سیستم توسعه واقعی را کشف می کنیم (فکر کنید که توسعه ویکی چقدر احمقانه قرار بود کار کند)، و به عنوان یکی از نمونه های ساده، یک مقاله ویکی پدیا مانند LOGO که روی رایانه کار می کند، اما به خواننده مقاله اجازه نمی دهد برنامه نویسی LOGO را از مقاله امتحان کند. این بدان معنی است که آنچه برای رایانه ها مهم بود برای دفاع از پیاده سازی های مختلف رسانه های قدیمی برای کاربران مسدود شد.

شایان توجه است که ویکی‌پدیا ژانر اصلی برای تفکر، اختراع، پیاده‌سازی و نوشتن «ادبیات محاسباتی» مورد نیاز بوده و هست (و این قطعاً شامل خواندن و نوشتن در بسیاری از اشکال چند رسانه‌ای، از جمله برنامه‌نویسی) می‌شود.

چیزی که حتی بیشتر از این ارزش فکر کردن را دارد این است که من نمی توانم برنامه ای را در این پاسخ Quora - در سال 2017 در اینجا بنویسم! - این به نشان دادن آنچه که دقیقاً می‌خواهم توضیح دهم، کمک می‌کند، علیرغم قدرت عظیم رایانه‌ای که زیربنای این ایده ضعیف رسانه‌های تعاملی است. سوال مهم این است که "چه اتفاقی افتاده است؟" در اینجا کاملاً نادیده گرفته شده است.

برای دریافت ایده ای از مشکل، در اینجا سیستمی در سال 1978 وجود دارد که بخشی از آن را چند سال پیش به عنوان ادای احترام به تد نلسون و بخشی برای سرگرمی احیا کردیم.

(لطفا در ساعت 2:15 اینجا را تماشا کنید)


کل سیستم یک تلاش اولیه برای چیزی است که من اکنون بیش از 40 سال پیش در مورد آن صحبت می کنم.

یک مثال اصلی را می توان در ساعت 9:06 مشاهده کرد.


جدا از "اشیاء پویا"، یکی از ملاحظات کلیدی در اینجا این است که "نماها" - رسانه ای که در صفحه قابل مشاهده است - می تواند به طور یکنواخت و مستقل از محتوای آنها پردازش شود (ما آنها را "مدل" می نامیم). همه چیز یک "پنجره" است (برخی مرزهای واضح دارند و برخی مرزهای خود را نشان نمی دهند). همه آنها در صفحه پروژه کامپایل شده اند. بینش دیگر این بود که از آنجایی که باید بعضی چیزها را بسازید و ترکیب کنید، مطمئن شوید که همه چیز قابل ترکیب و ترکیب است.

من فکر می کنم که کاربران ساده لوح را می توان بخشید که نمی توانند از طرح های بد انتقاد کنند. اما برنامه نویسانی که رسانه های تعاملی را برای کاربران می سازند و اهمیتی برای یادگیری در مورد رسانه و طراحی به خصوص از تاریخ رشته خودشان ندارند، نباید به این راحتی از آن کنار بیایند و نباید برای این کار پاداشی دریافت کنند. آنها "ضعیف تر" هستند.

در نهایت، رشته ای بدون ادبیات واقعی تقریباً معادل این واقعیت است که رشته، رشته نیست. ادبیات راهی است برای حفظ ایده های بزرگ در ژانر جدید و در تفکر حال و آینده در آن زمینه. این البته به هیچ وجه در محاسبات وجود ندارد. مانند فرهنگ عامه، محاسبات همچنان به آنچه که می توان بدون آموزش گسترده انجام داد، علاقه مند است و در کجا اجرا مهمتر از پیامدهای نتایج است. ادبیات یکی از رسانه هایی است که در آن می توان از ساده و فوری به بزرگتر و مهمتر حرکت کرد.

ما به اون نیاز داریم!

درباره مدرسه GoTo

آلن کی و ماروین مینسکی: علوم کامپیوتر قبلاً یک "گرامر" دارد. نیاز به "ادبیات"

منبع: www.habr.com

اضافه کردن نظر