در ماه اوت، ما از همکاریمان با جیمز اونز و گری لوپیان خبر دادیم تا دربارهی اینکه تجربهی برنامهنویسی افراد چگونه بر یادگیری زبانها اثر میگذارد پژوهش کنیم.
اوایل همین ماه، مدتی را صرف دیدار با جیمز و گری و برنامهریزی برای این کردیم که چگونه در کنار بازطراحی مسیرهای Exercism که در پست قبلی دربارهاش صحبت کردم، به برخی از اهداف پژوهشی گستردهتر آنها هم دست پیدا کنیم. روشن بود که حوزههای بسیاری وجود دارد که Exercism میتواند در آنها به پژوهش آنها کمک کند، اما این حوزهها ممکن است مستقیماً در محصول اصلی Exercism جا نگیرند. بنابراین تصمیم گرفتیم بخش تازهای از Exercism بسازیم که مشخصاً حول پژوهش میچرخد و نامش را (به شکلی نهچندان خلاقانه) Exercism Research گذاشتیم. این زیرسایت میزبان آزمایشهایی خواهد بود که هدفشان گردآوری داده دربارهی یک هدف پژوهشی مشخص است. این آزمایشها این مزیت اضافه را هم دارند که به ما اجازه میدهند فناوریهای تازه را در بخشی کمحساسیتتر از سایت بیازماییم.
نخستین آزمایش، که قصد داریم آن را در هفتهی اول ژانویه راهاندازی کنیم، حول این موضوع میچرخد که تجربهی برنامهنویسی پیشین فرد چگونه بر قابلیت استفادهی مجدد از codeی که در زبانهای مختلف مینویسد اثر میگذارد. ساختار آزمایش به این شکل خواهد بود:
- از کاربران خواسته میشود یک نظرسنجی کوتاه را پر کنند که تجربهی برنامهنویسیشان را شرح میدهد (مثلاً زبانهایی که میدانند، ترتیبی که آنها را یاد گرفتهاند و میزان تسلطشان در هر یک).
- سپس به کاربران امکان انتخاب از میان X زبان برای مشارکت داده میشود. اینکه کاربر زبانهایی را که انتخاب میکند چقدر خوب بداند اهمیتی ندارد؛ گوناگونی دانش پیشین به گستردگی دادههای گردآوریشده کمک میکند.
- به کاربر یک تمرین داده میشود که باید آن را کامل کند و حدود ۱۰ تا ۱۵ دقیقه طول میکشد.
- سپس راهحل فرد دیگری برای تمرینی متفاوت به کاربر داده میشود و از او خواسته میشود آن را به شکل مشخصی گسترش دهد. این کار هم حدود ۱۰ تا ۱۵ دقیقه طول میکشد. بعد از هر مرحله، از کاربر میپرسیم که تمرین یا گسترش را چقدر دشوار یافته است.
سپس تیمهای گری و جیمز دادهها را تحلیل میکنند و بررسی میکنند که code ارسالشده بر اساس پیشینههای مختلف چگونه تفاوت مییابد و اینکه گسترشها بر اساس پیشینهی فردی که در ابتدا آن را فرستاده و پیشینهی فردی که آن را گسترش داده، چگونه تغییر کردهاند.
این آزمایش نخستین بستر آزمون برای نوشتن code در مرورگر خواهد بود، پیش از آنکه در سال ۲۰۲۰ به سایت اصلی اضافه شود. امیدواریم ۵ تا ۱۰ زبان در این آزمایش شرکت کنند. برای مشارکت، یک مسیر باید یک «test-runner» کارآمد و دو تمرین برای دو بخش داشته باشد که ما در ساخت آنها به نگهدارندهها کمک خواهیم کرد. اگر نگهدارندهاید و علاقهمندید زبانتان بخشی از این کار باشد، لطفاً به کانال «#experiment-1» در Slack بپیوندید و به ما خبر دهید.