تا حالا دربارهی رایانش کوانتومی عمیقتر از یک نگاه سطحی صحبت کردهاید...؟ خب، این گفتوگو با ایتان شیرجهی عمیقی به جهانی بود که کمتر کسی از ما آن را میشناسد... حتماً ببینید!
جاناتان: خب، صبح بخیر. حداقل برای من صبح بخیر است. جاناتان هستم و همراه اتان هانسن در پادکست Exercism هستیم. اتان، خیلی خوشحالم که اینجایی. تو در نقطهای کاملاً متفاوت از دنیا هستی، در منطقهی زمانی کاملاً متفاوت. پس برای من صبح است و برای تو شب. چرا کمی از خودت نمیگویی؟ الآن کجایی؟ چه کار میکنی؟ یک معرفی کوتاه از وضعیت فعلیات بده.
اتان: بله، ممنون جاناتان. خوشحالم که اینجا هستم. حتی اگر تو باید خیلی زود بیدار شوی و من باید کمی دیر بخوابم، خوشحالم که این کار شد. بله، من اینجا در اورگان هستم. بله، ساحل غربی، شهر کوچک و کوچکی که در آن بزرگ شدم. و بله، الآن از دانشگاه و مدرسه در تعطیلی هستم. و اینجا در اورگان هستم. اینجا در ساحل غربی هستم. اینجا در اورگان هستم. اینجا در ساحل غربی هستم. اینجا در اورگان هستم. اینجا در ساحل غربی هستم. اگر میخواهی بدانی چطور به اینجا رسیدم، داستان جالبی است که با خوشحالی برایت میگویم. اگر فقط معرفی مختصر را میخواهی...
جاناتان: خب، همین. عالی. پس اورگان، دوست دارم یک بار آنجا را ببینم. فکر میکنم خانهی... پرتلند است؟ پرتلند؟ سیاتل مال واشینگتن است، اگر درست بگویم. پس شما همسایهاید. بله. مطمئنم بین این دو شهر کمی رقابت هست که لازم نیست همین اول واردش شویم. اما چطور شد که در تعطیلاتی؟ فکر میکردم همه برگشتهاند سر درس و کار. چه خبر است آنجا؟ فقط به خاطر زمانبندی ترم و این چیزهاست؟
اتان: بله، راستش من چند نفر دیگر را میشناسم که در دانشگاههای مختلف بودند و برگشتهاند و کارشان را شروع کردهاند، اما دانشگاه من، یعنی Case Western Reserve University، هنوز شروع نشده. حدود چهار روز دیگر شروع میشود.
جاناتان: خب، و اتان، چه قدر است که آنجا درس میخوانی؟ الآن در مسیر تحصیلت کجایی؟
اتان: بله، من الآن دانشجوی سال دومی هستم. هرچند به مردم میگویم باید سال سومی میبودم، چون واقعاً یک سال وقفه گرفتم. قبل از شروع دانشگاه، در دوران پاندمی یک سال وقفه گرفتم که فکر میکنم احتمالاً یکی از بهترین انتخابهای زندگیام بود. از مدرسهی زوم فرار کردم و توانستم برای یک شرکت خیلی باحال کار کنم و چیزهایی در حوزهی رایانش کوانتومی انجام دهم که خودش داستانی جداگانه بود.
جاناتان: وای. پس باید یعنی تو در مدرسه بودی و تقریباً اوایل ۲۰۲۰ میشد، درست است؟ پس سال آخرت بود. پاندمی میآید و یکدفعه... یعنی تو حدوداً یک ترم... یا اینکه سال اول دانشگاه را شروع کرده بودی؟ و گفتی من دیگر ادامه نمیدهم؟ جزئیاتش چطور بود؟
اتان: درست است، باشد. پس بله، از دبیرستان فارغالتحصیل شدم، یا همان مدرسهی متوسطه برای شما آنطرف آبیها. و این حدود مه ۲۰۲۰ بود. یعنی درست وسط ماجرا. و آن موقع کارآموزیام را در این شرکت رایانش کوانتومی شروع کردم. مدتی انجامش دادم و واقعاً از آن لذت میبردم. و اوضاع بهتر نمیشد، با پاندمی و همهچیز. و با خودم گفتم، هوم، آیا واقعاً میخواهم بیشتر از آن مدرسهی زومی را تجربه کنم که یک ماه یا دو ماه آخر دبیرستان چشیده بودم؟ تصمیم گرفتم که نه. و بله، با این شرکت کار بازاریابی انجام دادم که خودش بهطور طبیعی از... راستی، من پادکست خودم را دربارهی رایانش کوانتومی دارم که اگر مردم بخواهند گوش کنند، نامش «quantum computing now» است. مدتی است چیزی آنجا منتشر نکردهام چون مشغول پژوهش در دانشگاهم بودهام. اما تجربهی عالی بود و کار با این شرکت هم عالی بود. صحبت با آدمها و پیدا کردن بهترین راه برای توضیح علم و مهندسی پیچیده و چالشهای فنی برای مخاطبی تجاری یا مخاطبی عام، واقعاً جالب بوده.
جاناتان: خب. برگشتیم. خوش برگشتید. وقفهی قطع اینترنت داشتیم. فکر کنم اتان بیچاره، تو وسط حرفت بودی و همهچیز از طرف من فریز شد. پس هرجور شده از همانجا که بودیم ادامه میدهیم. اما راهی پیدا میکنم که همهی تدوینها را جوری به هم وصل کنم که هیچکس هرگز نفهمد. هیچکس آن بخش را داخلش نمیگذارد.
اتان: برای اطلاعات تدوین بعدیات، چند ثانیه بعدش دست زدم و همهچیز خراب شد. پس امیدوارم با آن جهش صدا راحتتر جای قطع را پیدا کنی.
جاناتان: عالیه. پس آن چیزهای کوچک... همان چیزی که به آن تکههای کارگردان میگویند که میزنند... بله، کلاپرها. فکر میکنم واقعاً چیزی است که در فروشگاه محصولات Exercism لازم دارم. یک... بله.
اتان: بله، کلاپر. کمی. بله.
جاناتان: اما خب، ببخشید، بیایید عقب برگردیم. قبل از مشکل فنی. گفتی که کارآموزیات را در یک شرکت شروع کردی. چطور... تا آن موقع درس میخواندی، فارغالتحصیل شدی و بعد شدی کارآموز. آن کار تابستانی بود؟ یا چیزی بود که فکر کردی فقط باید وقتم را پر کنم؟ ماجرا چه بود؟
اتان: بله، بهعنوان یک کار تابستانی شروع شد، اما بعد به یک سال وقفهی کامل تبدیلش کردم. اما واقعاً پُر کردن وقت نبود. من به رایانش کوانتومی علاقهی زیادی دارم. فکر میکنم شگفتانگیز است و پتانسیل تغییر خیلی چیزها را دارد. هرچند الآن فکر میکنم کمی مسابقه است. مطمئن نیستم کدام برنده میشود: رایانش کوانتومی که اول چیزهای بیشتری را عوض میکند، یا AI با همهی چیزهای عجیبی که از ChatGPT و امثال آن بیرون میآید. دیوانهکننده است. اما بله، نمیدانم. چه قدر از این چیزها را دیدهای؟ چون با آدمهایی صحبت کردهام که نسبتاً در فناوری واردند و میگویند راستش من چیزی دربارهی ChatGPT نشنیدهام. برایم توضیح بده.
جاناتان: بله، من احتمالاً... احتمالاً چیز خیلی خوبی نیست و اینجا بود که قدرتش را فهمیدم، چون یکدفعه پیدا شد و من گفتم بله بله هرچه... یکجورهایی مثل بلاکچین که همه فکر میکنند یک مُد زودگذر است. اما همسرم... نه، او انگلیسی صحبت میکند، ولی سوئیسی است و انگلیسی زبان اولش نیست. یک کسبوکار کوچک دارد و باید بازاریابی زیادی انجام دهد، مخصوصاً پستهای اینستاگرام، خبرنامهها و اینجور چیزها، چون کار خودش است. خلاصه چند روز پیش به من پیام داد و گفت میشود به من در یک مطلب بازاریابی کمک کنی، مثل یک خبرنامه یا یک... فکر کنم یک پست اینستاگرام بود که باید توضیح بنویسی. و راستش من از نوشتن مطالب بازاریابی و تبلیغاتی خیلی بدم میآید، چون بخشی از ذهنت را میگیرد که... بله، هرچه. خلاصه گفتم بیا فقط... شنیدهام ChatGPT برای بازاریابی خوب است، بگذار امتحان کنم. خیلی بدبین بودم و گفتم این احتمالاً افتضاح میشود. اما خلاصه با هم رفتیم و او آنجا نشسته بود و ما تایپ کردیم: یک متن تبلیغاتی کوچک برای یک پست اینستاگرام بنویس. دستورهای خیلی دقیقی دادیم و خروجی... با خودمان گفتیم این فوقالعاده است. یا برای همسرم که زبان مادریاش انگلیسی نیست، این که بتواند مطلب بازاریابی منتشر کند و آن کار بهجای سه ساعت طولانی، سریع انجام شود، حیرتانگیز بود. من ادبیات انگلیسی خواندهام، پس برای من انگلیسی نسبتاً روشن است، میفهمم چطور خوب بنویسم و چیزها را به هم بچسبانم. واقعاً شوکه شدم. پس الآن او برای همهی مطالب بازاریابی سراغ ChatGPT میرود و من میگویم اوه، داریم ماشین را تغذیه میکنیم. آه کاملاً. ترسناک است، واقعاً ترسناک. ببخشید کمی از موضوع خارج شدم، اما بله، تقصیر خودم بود.
اتان: نه، نه. بله، تقصیر من است. اما بله، خب، حس میکنم داریم عقبگرد میکنیم، درست است؟ از جای فعلیام شروع کردیم، از کارهایی که پارسال میکردم. اما اگر بخواهی، میتوانم کل داستان را از اول تعریف کنم.
جاناتان: بیا برویم. من پای داستان هستم. داستانها عالیاند.
اتان: خب عالی. پس بله، من در شهر کوچکی در اورگان به دنیا آمدم و بزرگ شدم. نه همان شهر کوچک، اما تا قبل از دانشگاه، در شهری با جمعیت بیش از ۲۰۰۰ نفر زندگی نکرده بودم. یعنی... چی؟ ۲۰۰۰؟ بله. خیلی کوچک است. بله. من میگویم شهر کوچک و مردم میگویند اوه مثلاً ۲۰ یا ۳۰ هزار نفر. من میگویم نه نه نه. نزدیکترین شهر ۲۰ یا ۳۰ هزار نفری حدود ۲۰ دقیقه رانندگی فاصله دارد. بله. وای. بله، اما دوستش دارم. همیشه در مزرعه میدویدم، چیزی میکاشتم، از بزها نگهداری میکردم، درخت میبریدم و همهی این کارهای خوب. اما هرچه بزرگتر شدم فهمیدم که واقعاً از سر و کله زدن با وسایل و ساختن چیزها خوشم میآید. پس شروع کردم به کار کردن روی چیزها. یک دوست عالی دارم که... یک دوست قدیمی خانواده است که مهندس مکانیک برجستهای است، اما هر چیزی که دربارهی الکترونیک بشود دانست، میداند. با ماشینهای کنترلی کار میکند. برای تفریح آخر هفتهها هواپیمای کنترلی خودش را میسازد. نه از کیت آماده، بلکه طرحش را خودش میکشد و با سیم داغ یونولیت را میبرد. خلاصه آدم فوقالعاده باهوشی است و به من کمک کرد چیزهایی یاد بگیرم. فهمیدم که در کار دستی خیلی کند هستم، چون دوست دارم از همان بار اول درست انجام دهم و اگر خرابش کنم دیگر کار نمیکند. اولش کمکم فهمیدم اما کاملاً درکش نکرده بودم. و از ششسالگی میخواستم همان چیزی باشم که هر ششسالهی دیگری میخواهد باشد: مهندس هوافضا، البته. میخواستم... هواپیما. بله. بله، همه میگویند بله باشد، میخواهی فضانورد شوی. من میگویم نه نه نه. من گفتم مهندس هوافضا و همه گفتند این بچه کیست و چرا میداند مهندس هوافضا چیست؟ بله. اما... شگفتانگیز. بله. از آنجا به بعد همهچیز فقط سراشیبی بود. اما همان بود، در ششسالگی به اوج رسیدم. پس بله، از مدرسه گذشتم، میخواستم مهندس هوافضا شوم، ریاضی و علوم را سخت خواندم، به دبیرستان رفتم و یک برنامهی مهندسی واقعی را شروع کردم. دبیرستانم خیلی باحال بود و مسیرهای مختلفی داشت. من مسیر مهندسی و علوم هوافضا را انتخاب کردم. گفتم این همان است که میخواهم. واردش شدم و فهمیدم کاغذبازی زیادی دارد، درست است؟ یعنی این آن چیزی نیست که میخواهم. و منطقی است، چون میخواهی مطمئن شوی همهچیز درست مستند شده و نمیخواهی چیزی خراب شود، چون اگر چیزی خراب شود یک موشک منفجر میشود و شش نفر میمیرند. بله.
جاناتان: یعنی ریسک بالا، بدون جای خطا.
اتان: کاملاً. و تقریباً همان موقع، شروع کردم به بازی با کد، تا حدی چون برای مهندسها مفید است. گفتم میخواهم یادش بگیرم، و تا حدی چون میخواستم همان کاری را بکنم که هر بچهی راهنمایی میخواهد: بازی ویدیویی خودم را بسازم. و بعد گفتم صبر کن. من دستکاری و ساختن را دوست دارم اما استرس اینکه مطمئن شوی موشک منفجر نشود را دوست ندارم. کدنویسی را دوست دارم و شبیه همان سر و کله زدن با وسایل است، اما میتوانی سریعتر انجامش دهی. و اگر خرابش کنی، نهایتش یک سرور جایی کرش میکند، کسی نمیمیرد.
جاناتان: کسی نمیمیرد. بله. پس مثل نرمافزار زیردریایی یا...
اتان: درست است، بله. پس گفتم این باحال است، میخواهم این کار را بیشتر بکنم. شروع کردم به گشتن... در دبیرستان، با IBM کارآموزی کردم و روی نرمافزار کار کردم. عالی بود. یکی از بهترین تابستانهای زندگیام بود. شوخی میکنم که یکی از بزرگترین چیزهایی که در آن کارآموزی یاد گرفتم این بود که نمیخواهم برای شغلم روزی یک ساعت در راه باشم، چون افتضاح بود. اما بقیهی چیزهایش عالی بود. آن تابستان بین سال یازدهم و دوازدهمم بود. پس مدرسه را تمام کردم و پاندمی آمد. راستی، کمی عقب برگردم. در IBM چند پروژه را جلوتر از موعد تمام کردم. مربیهای کارآموزیام گفتند برو با یک نفر در IBM تماس بگیر و بگو من کارآموزم، برایم تعریف کن چه کار میکنی. گفتم عالی. در دفترچهی راهنما گشتم و گفتم اوه، رایانش کوانتومی. تقریباً میدانم چیست. جالب به نظر میرسد. با چند نفر در IBM صحبت کردم. آنقدر مهربان بودند که نیم ساعت با این بچهی دبیرستانی صحبت کنند که میگوید من هیچ چیز دربارهی رایانش کوانتومی نمیدانم اما میخواهم سؤال بپرسم. بله. درست است. و بعد گفتم این واقعاً باحال است و این آدمها خیلی هیجانزدهاند. و به نظر میرسد برخورد سه چیزی است که واقعاً دوستشان دارم: ریاضی، فیزیک و علوم کامپیوتر، که فوقالعاده بود.
جاناتان: به هر حال.
اتان: پس بیشتر در این مورد تحقیق کردم و پادکست دوست دارم. معتاد پادکستم و بیش از حد گوش میکنم و آن موقع پادکست خوبی دربارهی رایانش کوانتومی نبود. گفتم من میتوانم این کار را بکنم. میتوانم با مردم صحبت کنم. میتوانم پادکست راه بیندازم. چه قدر سخت میتواند باشد؟ پس یک پادکست راه انداختم و با کلی آدم صحبت کردم. و نزدیک پایان سال آخر دبیرستانم، یک کارآموزی با شرکت دیگری در نیویورک ترتیب داده بودم که کارش رایانش کوانتومی فیزیکی بود، پس باید حضوری میرفتم. بعد پاندمی آمد و اگر جایی در دنیا تعطیل شد، نیویورک تعطیل شد. و آن دیگر ممکن نبود.
جاناتان: سریعتر از یک دلقک تعطیل شد.
اتان: کاملاً، بله. پس گفتم اوه وای، چه کنم؟ و بعد یکی از آن ایمیلهای استاندارد را گرفتم که میگفت سلام اتان هانسن، پادکستت را دیدم و میخواهم مدیرعامل شرکتم در پادکستت مهمان شود. گفتم بله بله باشد، این کار را میکنیم. قبلاً انجامش دادهام. اما در یکی از همین ایمیلها به این آدم، در یک پیام PS نوشتم شاید ببینیم چه میشود. یعنی واقعاً نوشتم PS، من برای تابستان امسال دنبال کارآموزی هستم. آیا شرکت شما چنین کاری دارد؟ و آن شخصی که پاسخ داد کاترین بود که در نهایت رئیس من شد. گفت بیا یک تماس داشته باشیم. و بعد گفت خب، چه زمانی میتوانی شروع کنی؟ گفتم اوه، از این جلسه انتظار پیشنهاد کارآموزی نداشتم، اما قبول میکنم. بعد پاندمی ادامه پیدا کرد و من واقعاً نمیخواستم مدرسهی زوم را تجربه کنم. پس یک سال وقفه گرفتم و با این شرکت کار کردم. عالی بود و خیلی چیزها یاد گرفتم. سال وقفه تمام شد، به دانشگاه برگشتم و علوم کامپیوتر را در Case Western شروع کردم که خیلی خوب پیش رفته. تازه ترم سومم را تمام کردم و دارم ترم چهارم را شروع میکنم. و بله، این تقریباً ما را به اینجا میرساند. راستی ترم گذشته با یک گروه رایانش کوانتومی در Case Western پژوهش کردم. نزدیک هستیم و امیدواریم بهزودی نتایج را منتشر کنیم. عالی. اما تجربهی یادگیری باورنکردنیای بوده و هنوز در حال یادگیریام، درست است؟ کلی چیز هست که نمیدانم، اما برای سن خودم تجربهی زیادی دارم.
جاناتان: وای، من هرگز با کسی صحبت نکردهام که بیش از معنای اصطلاح رایانش کوانتومی بداند. از پیشینه و تجربهی بسیار محدود و غیرفنی من، فقط به نظر میرسد که محاسباتی با استروئید است. برداشت من همین است. اما بیا واردش شویم و شاید بتوانی کمی توضیحش دهی و به دنیای واقعی وصلش کنی. برای من رایانش کوانتومی همیشه شبیه وزارت دفاع، جاسوسها، رمز و راز است. آن هالهی رمزآلود را دارد. پس بیایید یخ را بشکنیم و کمی بازش کنیم که یعنی چه، و فکر میکنم برای خیلیها واقعاً جالب باشد.
اتان: بله، بله، حتماً. حق داری. یکی از چیزهای بزرگی که در پادکست خودم زیاد دربارهاش حرف زدهام و خیلیها در صنعت دربارهاش صحبت میکنند، «هیاهوی کوانتومی» است. نمیدانم کجای چرخهی هیاهو هستیم، اما فکر میکنم نزدیک قله هستیم. هیاهوی زیادی وجود دارد. اما بهترین توضیح غیرفنیای که تا حالا شنیدهام از آقایی به نام جان اسکریت است که در پادکستم مهمان بود. او در Microsoft است و در انتقال این مفهوم به مخاطب گسترده فوقالعاده است. مثالی که زد این بود: با یک کامپیوتر معمولی، تو آنقدر با Exercism کار کردهای که مطمئنم میدانی کامپیوترهای معمولی با یک و صفر کار میکنند، یعنی بیتها. یا روشن است یا خاموش. چیز دیگری نیست.
جاناتان: در پایینترین سطح. در پایینترین سطح تقریباً همان چیزی است که با آن سر و کار داری.
اتان: بله، دقیقاً. با همین میتوانیم همهی این چیزهای پیچیده و دیوانه را بسازیم. اما بله، در پایینترین سطح یک یا صفر است که میتوانی مثل کلید برق در نظرش بگیری، درست است؟ یا روشن است یا خاموش. گزینهی دیگری نداری. رایانش کوانتومی یک قلمرو کاملاً متفاوت برای محاسبه باز میکند. بهجای کلید برق، میتوانی مثل یک لامپ Philips Hue در نظرش بگیری. نه فقط اینکه دیمر دارد و میتواند روشنتر یا کمنورتر باشد، یعنی جایی بین یک و صفر، بلکه چیزهای عجیبی هم دارد که اگر تنها تصورت یک یا صفر باشد بیمعنیاند، مثل رنگهای مختلف. اگر همهچیز سیاه و سفید باشد، رنگهای مختلف نداری. بله. و بله، اگر بخواهی میتوانی این لامپ Philips Hue را هنوز مثل یک لامپ معمولی استفاده کنی. اینجا منظور از لامپ Philips Hue همان «کیوبیت» است، یعنی بیت کوانتومی. اگر بخواهی میتوانی مثل لامپ معمولی استفادهاش کنی، اما این کار خیلی هم سرگرمکننده نیست. آن رنگهای عجیب را در اتاقت برای مهمانیهای دانشگاهی نمیگیری. اما اگر بخواهی، میتوانی فقط روشن و خاموشش کنی، که... یک گزینه است. پس حرف این است که یک کامپیوتر کوانتومی میتواند هر کاری که کامپیوتر کلاسیک میکند انجام دهد و کمی بیشتر. گفتی تصورت این است که تقریباً مثل محاسبات با استروئید است. فکر میکنم کمی بیراه است، چون در مدل یک و صفر ما، این تقریباً مثل لامپ روشنتر است، در حالی که راه بهکلی تازهای وجود دارد و کارهایی میکنی که در رژیم قدیم بیمعناست. و این باعث میشود بعضی محاسبات سریعتر یا کارآمدتر از محاسبات دیگر انجام شوند. بعضی الگوریتمها هیچ ایدهای نداریم؛ روش کلاسیک بهترین راه است و اجرای آن روی کامپیوتر کوانتومی بیمعناست. راستی مقالهای دربارهی این نوشتم. بازی ویدیویی کلاسیک Doom را میشناسی؟
جاناتان: بله بله، آن خوراک دوران بزرگ شدنم بود.
اتان: بله بله. پس امروزه مردم سعی میکنند هر چیزی که فکرش را بکنی Doom را اجرا کند. درست است؟ شوخی این است: خوب است، فناوری باهوشی است، اما میتواند Doom را اجرا کند؟ مردم آن را روی یخچالهای هوشمند Samsung راه انداختهاند. روی Kindleها هم راهش انداختهاند، حتی نه Kindle Fire، بلکه همان سیاهوسفید.
جاناتان: همان پایهی ساده، بله، همان Kindle.
اتان: بله، درست است. پس اگر یک کامپیوتر کوانتومی واقعاً فقط یک کامپیوتر معمولی تقویتشده باشد و بتوانی Doom را روی یخچال هوشمند اجرا کنی، فکر میکنی میتوانی Doom را روی کامپیوتر کوانتومی هم اجرا کنی. معلوم میشود امروز نمیتوانی Doom را روی کامپیوتر کوانتومی اجرا کنی. دلیلش این است که...
جاناتان: صحبت نمیکند، مثل اینکه پارادایمها خیلی متفاوتاند. این برداشت درست است؟
اتان: نه، دلیلش این است که کامپیوترهای کوانتومی هنوز خیلی کوچکاند. حتی اگر بیتهای داخل یک یخچال هوشمند Samsung زیاد نباشد، باز هم چند مرتبهی بزرگی بزرگتر از چیزی است که داخل یک کامپیوتر کوانتومی داری. IBM تازه یک دستگاه ۴۳۳ کیوبیتی رونمایی کرده. یعنی نه ۴۳۳٬۰۰۰ کیوبیت، فقط ۴۳۳. در مقایسه با لپتاپی که با آن این برنامه را اجرا میکنم تا با هم صحبت کنیم، داخلش میلیاردها بیت ترانزیستور دارد. بله. پس یک تفاوت بنیادی یا نه بنیادی، اما یک تفاوت در مقیاس بزرگی وجود دارد. و علاوه بر این، اجرای Doom روی کامپیوتر کوانتومی واقعاً منطقی نیست و هیچ مزیتی نمیدهد. فقط چیزهای خاصی هستند که میتوانی برای محاسبهات یک تقویت توربو بگیری، اما اجرای چیزهای دیگر روی کامپیوتر کوانتومی بیمعناست.
جاناتان: خب، وای. خیلی سؤال دارم. آیا زبانهای برنامهنویسی متفاوتی برای رایانش کوانتومی وجود دارد که به همان حالوهوای دیمر لامپ بخورد؟
اتان: بله، حتماً. سؤال خیلی خوبی است. بعضیها راه ساختن زبانهای کاملاً جدید را رفتهاند. مثال برجستهاش Q# است که شبیه C# است و Microsoft آن را توسعه داده. و Silq که یک زبان برنامهنویسی آزمایشی است که فکر کنم یک گروه پژوهشی در ETH Zurich ساخته. چیزهای باحالی در حوزهی رایانش کوانتومی انجام میدهد که تو و شنوندگان را با آن خسته نمیکنم. اینها دو زباناند، اما کار اصلی این است که یک بستهی نرمافزاری داخل یک زبان برنامهنویسی استاندارد مینویسند که میتواند با کامپیوترهای کوانتومی حرف بزند. نمونههای محبوبش Qiskit از IBM و Cirq از Google هستند که هر دو با Python نوشته شدهاند. و اگر بخواهی از Julia استفاده کنی، چیزی به نام Yao.jl هست که به هیچ شرکتی وابسته نیست و در Julia اجرا میشود.
جاناتان: خب و اتان، کاربردهای عملی و واقعی رایانش کوانتومی... گفتی بین AI و رایانش کوانتومی مردد هستی. چه چیزی باعثش میشود؟ در افق آینده چه میبینی، با توجه به این پارادایمهای مختلف؟
اتان: بله، سؤال خوبی است. فکر میکنم رایانش کوانتومی وعدههای بلندمدت خیلی قدرتمندی برای چیزهایی دارد که کلاسیک نمیتوانیم انجام دهیم. مثلاً اگر بخواهی چیزی را مدلسازی کنی که اثرات مکانیک کوانتومی دارد، یکی از بهترین راهها این است که کامپیوتر کوانتومیات را بهعنوان شبیهساز راه بیندازی. اثرات کوانتومی درونش هست چون خودش کامپیوتر کوانتومی است. در همان زمان پیشرفتهای باورنکردنی با چیزهایی مثل AlphaFold از Google میبینیم که ساختار سهبعدی پروتئینها را فقط از روی RNA که پروتئین را رمزگذاری میکند، درست پیشبینی میکند. این چیزی است که اگر پروتئینها بهقدر کافی کوچک باشند، شامل اثرات کوانتومی میشود. آنها فقط با یادگیری ماشین و کلی داده این کار را میکنند. مثل این مسابقه است که کدام... چون کامپیوترهای کوانتومی بزرگتر و بزرگتری میسازیم. گفتم IBM تازه دستگاه ۴۳۳ کیوبیتی رونمایی کرد. پارسال بزرگترین عددی که کسی ساخته بود ۱۲۷ بود. بزرگتر میشوند و سریعتر بزرگتر میشوند. اما هنوز از آنچه برای انجام همان محاسبات Google با کلی توان محاسباتی و یادگیری عمیق لازم است، خیلی دوریم.
جاناتان: خدای من، چون به نظرم میآید... و اگر اشتباه میگویم تصحیح کن، برنامهای که برای فرود آوردن انسان روی ماه استفاده شد، ترسناک... بگویم درست است، اما در مقایسه با چیزی که امروز روی لپتاپهای مدرن عادت داریم کوچک بود. یعنی کیلوبایتی بود. پس آیا رایانش کوانتومی هم در همان فضا است؟ یعنی توانایی به کار گرفتن آن ظرفیت محاسباتی هنوز در حال توسعه است؟ فقط این است که فناوری به اندازهی کافی پیش نرفته که برای هر کسی روی این کرهی خاکی به شکل شخصی در دسترس باشد؟
اتان: بله، فکر میکنم... بعضیها میگویند رایانش کوانتومی هرگز موفق نمیشود، درست است؟ به دلایلی فکر میکنند یک سد بنیادی وجود دارد که نمیتوانیم کامپیوتر کوانتومی بزرگتر از حدی بسازیم، یا نمیتوانیم و نخواهیم توانست الگوریتمهای مفید کافی برایشان پیدا کنیم. و در پادکستم با آدمهای بسیار باهوشی دربارهی این صحبت کردهام و چیزی که شنیدهام اساساً این است که بار اثبات روی دوش همانهاست: باید بگویند قانونی بنیادی در جهان وجود دارد که میگوید نمیتوانیم این را مقیاسپذیر کنیم. بیشتر مردم آن را یک چالش مهندسی میبینند. بحث این است که پشتهی فناوری باید ساخته شود تا این کیوبیتها بهقدر کافی از محیطشان محافظت شده باشند که بتوانیم از آنها استفاده کنیم و بهقدر کافی دوام بیاورند. هنوز بعضیها در دستهی میانه هستند و میگویند بله، هرگز یک کامپیوتر کوانتومی در خانهات نخواهی داشت. همیشه در مرکز دادهای جایی خواهد بود که چیزهایی که نیاز داری، مثل توان محاسباتی بالا، را برایت انجام دهد. پرسشی میفرستی و پاسخ را سریعتر از روش کلاسیک میگیری، اما هرگز در خانه نخواهی داشتش. فکر میکنم این محتملترین حالت است. کامپیوترهای کوانتومی واقعاً شکنندهاند. دنیای اطراف ما پر از مکانیک کلاسیک است، چون برای نگه داشتن چیزی در آن ناحیهی کوانتومی یا شرایط درست برای داشتن آن اثرات کوانتومی، باید خیلی خیلی خوب کنترل شود. داشتن چنین چیزی در خانه با بچههای کوچک که میدوند و سگها که پارس میکنند... بله، گربهها از روی همهچیز میدوند. از زمانی که لوحهای گلی بینالنهرین با جایپای گربه رویشان داشتیم، گربهها از روی همهچیز دویدهاند. پس نمیبینم که این هرگز در خانه واقعاً عملی باشد. اما ممکن است. ممکن است ثابت شود اشتباه میکنم.
جاناتان: پس آیا کامپیوتر کوانتومی به کنترل دما نیاز دارد، بدون اختلاف دمای محیطی یا الکتریسیتهی ساکن و بدون سر و صدا؟ گفتی شکننده، اما چرا؟ چرا کامپیوتر کوانتومی شکننده است؟
اتان: بله، سؤال خوبی است. شکننده است چون برای داشتن کیوبیتی خوب کنترلشده باید آن را از محیطش محافظت کنی. پس حق داری، بیشتر کامپیوترهای کوانتومی امروز باید واقعاً سرد باشند. از چیزی به نام «یخچال رقیقساز» استفاده میکنند که دما را خیلی نزدیک به صفر مطلق پایین میآورد. بعضیهایشان این نیاز را ندارند. مدلهای مختلفی از رایانش کوانتومی وجود دارد. این هم نکتهی مهم دیگری است که متفاوت است: در گذشته با رایانش کلاسیک استاندارد، هر بار یک شیوهی اصلی محاسبه داشتیم. لامپ خلأ داشتیم، بعد ترانزیستور آمد و واضح بود که بهتر است و از ترانزیستور استفاده میکنیم و هنوز هم امروز از آن استفاده میکنیم. در رایانش کوانتومی حداقل ۱۰ روش مختلف وجود دارد که نمیتوانم همه را از حفظ نام ببرم، اما یون بهدامافتاده، فوتونیک، ابررسانا... مردم به کیوبیتهای اسپینی سیلیکونی هم نگاه میکنند. اینها تقریباً چهار روش اصلیاند، اما بعد کلی روش دیگر هست و هیچکس واقعاً نمیداند در نهایت کدام برنده میشود. بیشترشان، فکر میکنم کیوبیتهای اسپینی سیلیکونی و ابررسانا، باید واقعاً سرد باشند. یونهای بهدامافتاده سردند. خود یونها فوقالعاده سردند. دستگاه لازم نیست سرد باشد، اما یونها فوقالعاده سردند چون با لیزر کاملاً در جای خود نگه داشته میشوند. و بعد... دیوانهکننده است. درست است؟ وای. بله. میتوانی بفهمی چرا گفتم این خیلی باحال است و میخواهم بیشتر یاد بگیرم.
جاناتان: بله، بله. وای. مثل یک چیز کاملاً متفاوت از درایو SSD ترابایتی و گیگابایتی تو است. در ناحیهی دیگری از فناوری است. وای. حتماً. بله. پس این سؤال را برایم پیش میآورد که...
اتان: دفعهی بعد میبینمت. بله.
جاناتان: تو این کارآموزی را در رایانش کوانتومی انجام دادی، درست است؟ پس بعد از دبیرستان برای شرکتی کار کردی که در رایانش کوانتومی تخصص داشت. بیشتر مردم راه برعکس را میروند: مدرک علوم کامپیوتر، تا آخر میخوانند و بعد از آنطرف بیرون میآیند و میگویند من حرفهایام، ثبتنامم کن. اما تو برعکس رفتی. از کارآموزی در یک شرکت به تحصیل برگشتن چهطور بود؟ درست است بگویم که به تحصیل علوم کامپیوتر معمولی برگشتی؟ پس الآن یک طرف سکه را دیدهای و طرف کاملاً متفاوتی از همان سکه را داری. آن گذار در یادگیریات چهطور بود؟
اتان: بله، متفاوت بود. قطعاً جالب بود. حق داری. من رایانش کلاسیک میخوانم و... نمیدانم، کاملاً دو روی یک سکه نیست، یا شاید هست، چون سکه همان سکه است؛ شاید این نکتهی اصلی این قیاس باشد. چون از یک طرف، وقتی واقعاً واردش شوی، تفاوت بنیادی بین آنچه از رایانش کلاسیک میدانیم و آنچه از رایانش کوانتومی میدانیم وجود دارد. اما در نهایت، همان مبانی تحلیل الگوریتم، شیوههای خوب کدنویسی و درک درست کار تیمی را داری. همهی اینها در همهجا مشابهاند. از نظر بخش نظری کتاب، یکی از درسهای ابتدایی ترم اولم الگوریتمها و ساختار داده بود. مهم نیست از چه معماریای استفاده میکنی، برای نوشتن هر چیز ارزشمندی به همان ساختارهای داده و الگوریتمهای پایه نیاز داری. اما بله، وقتی واقعاً در آن غرق شوی، که هنوز در دانشگاه این کار را نکردهام، کمی متفاوت میشود. کمکم دو روی همان سکه را میبینی. اما الآن سکه را بهعنوان یک کل میبینم.
جاناتان: بله، عالی. پس هنوز کاملاً در عمق مسائل نرفتهای. و این را هم میخواستم کمی زودتر بپرسم. گفتی در مزرعه بزرگ شدی، روستایی، بیرون از خانه، خیلی دستی. و الآن احتمالاً بخش قابل توجهی از وقتت را جلوی صفحه میگذرانی. کامپیوتری که داری چیزی است که بیشتر دورش میچرخی. چطور از دنیای کامپیوتر بیرون میآیی و با دنیای فیزیکیتر وصل میشوی؟ به آن نیاز داری؟ اذیتت نمیکند؟ این ماجرا چهطور پیش میرود، مخصوصاً با توجه به جایی که از آن آمدهای؟
اتان: بله، قطعاً به آن نیاز دارم. بعضی وقتها ترکیبی از هر دو را دارم. یکی از کارهای مورد علاقهام این است که لپتاپ را به ایوان خانهمان ببرم و هنگام غروب آفتاب با لپتاپ کار کنم، اگر هوا بهقدر کافی خوب باشد. در اورگان اغلب باران زیاد است. پس بله، فکر میکنم یکی از کارهای مورد علاقهام، مخصوصاً در اورگان... گفتی میخواهی بیایی اینجا؛ اگر آمدی، حتماً باید حداقل یک پیادهروی در منطقهی Columbia River Gorge بروی. واقعاً زیبا است. عاشق پیادهرویام. فکر میکنم راه عالی برای وصل شدن دوباره با طبیعت است که مهم است. با کسی صحبت کردم که در شرکت کار میکرد و میگفت همه باید چیزی داشته باشند که اساساً هیچ ربطی به شغل پشت میز و خیره شدن به صفحه نداشته باشد. برای او یکی از این کارها دوچرخهسواری بود که من هم دوستش دارم. پس بله، فکر میکنم این فوقالعاده مهم است: پیادهروی، دوچرخهسواری، اینها خوباند.
جاناتان: و اتان، خواهر و برادر داری؟ ترکیب خانوادهات چهطور است؟ کجای ترتیب فرزندان هستی؟
اتان: بله، من بزرگترین فرزندم و دو خواهر و برادر کوچکترم کاملاً متفاوتاند و اصلاً به فناوری علاقهای ندارند. یکی میخواهد تماموقت بازیگر تئاتر باشد و دیگری میخواهد نورپردازی تئاتر انجام دهد. پس با اینکه بزرگترین فرزندم، کمی «گوسفند سیاه» خانواده محسوب میشوم.
جاناتان: بیشتر خلاق است؟ یعنی چه چیزهایی در خانوادهتان... چهطور بگویم؟ میگویی گوسفند سیاه. یعنی علوم کامپیوتر و فناوری هیچوقت در رادار نبود؟ چهطور شد که... واضح است که ریاضی و فیزیک خواندی و با دست وسایل ساختی و میخواستی چیز بسازی و یک پیشرفت طبیعی بود. اما اینکه والدینت توانستند تو را راهنمایی کنند و بفهمند آن کارها به فضای فنیتر میخورد، خیلی هم نادر است. چهطور پیش رفت؟ فقط تشویق والدینت بود؟
اتان: بله. چهطور پیش رفت؟
جاناتان: چهطور پیش رفت؟
اتان: بله، میگویم گوسفند سیاه بیشتر به معنای متفاوت بودن تا طردشده بودن. حق داری، بقیهی خانواده شاید کمی خلاقتر و کمی کمتر منطقی باشند. من زیاد با یک و صفر فکر میکنم، پس علوم کامپیوتر برایم طبیعی بود. اما بله، یکی از چیزهای عالی تربیت من این بود که یکی از پدربزرگ و مادربزرگهایم سالها معلم بودند. و توانستم... آنها واقعاً تشویق به یادگیری میکردند. از بچگی برای صندوق دانشگاهم کمک میگذاشتند. میگفتند میخواهیم این بچه موفق شود و به تمام پتانسیلش برسد. پس تشویق زیادی از آنها گرفتم. و راستش نمیدانم؛ فکر میکنم چند نقطهی عطف در زندگیام بوده. نمیدانم اگر آن یک بار نبود که بر سر تقسیم گریه میکردم، آیا در STEM میبودم. کلاس دوم یا سوم بود که تقسیم یاد میگرفتم و واقعاً نمیفهمیدم. به هر دلیلی جا نمیافتاد. و پدربزرگم که معلم بود و در یک مدرسهی راهنمایی یا چیزی شبیه آن درس میداد، یک شب که گریه میکردم کنارم نشست. پیشحساب یا نه ببخشید، پیشجبر را برایم توضیح داد. من بچهی کلاس دوم یا سوم بودم. گفت خب، میخواهیم مفهوم این چیز به نام x را معرفی کنیم. برای x حل میکنی... اگر x ضربدر این برابر این باشد، x چه باید باشد؟ گفتم اوه، واضح است، چهار. گفت خب، کمی جابهجایش میکنیم. الآن x برابر این تقسیم بر این است، یعنی تقسیم میکنیم. گفتم اوه، الآن تقسیم را میفهمم. پس بله، برای چیزهای سادهتر همینطور بود. و برای چیزهای فنی، تا آنجا که یادم میآید «آدم IT خانواده» بودهام. خیلی زود از بقیهی خانواده در دانستن فناوری جلو زدم. پس بیشتر خودآموزی بود. من کمی همیشهآنلاین هستم و مدام چیز میخوانم. وای، این خیلی نِردی به نظر میرسد، پس بهتر است همه در کامنتها مهربان باشند. اما یکی از سرگرمیهای مورد علاقهام احتمالاً در دورهی راهنمایی تماشای ویدیوهای Khan Academy بود. تا حدی برای آن حس رضایت که اوه، کلی امتیاز تجربه گرفتم، و تا حدی چون یاد گرفتن این چیزها جالب بود. پس بله، تشویق زیاد بود و خودآموزی هم زیاد.
جاناتان: بله، گفتی تقسیم... من تجربهی خیلی مشابهی با جدول ضرب داشتم. باید حدوداً هفت ساله بودم و یادم است گفتند خب، میخواهیم جدول ضرب کار کنیم. و واقعاً نمیفهمیدم. انگار نورونهای مغزم شکل نگرفته بودند تا اینکه کسی توضیح داد: سه گاو بردار و سه ضربدر سه گاو. یعنی سه تا اینجا، سه تا اینجا و سه تا اینجا. و الآن چند تا؟ و من گفتم اوه، ساده است. و بعد یکدفعه ماجرا جا افتاد. اما سؤال جالبی هم هست که از مهمانهای زیادی در پادکست پرسیدهام، یعنی:
اتان: شکل نگرفته بودند.
جاناتان: در یادگیری، آیا آن لحظههای جرقه زدن را داری؟ یا لحظهی خاصی برای تو در کدنویسی بود؟ شاید سخت باشد دقیقاً اشاره کنم، اما در تجربهی خودم... چون مدتی است تلاش میکنم، وسط زندگی و بچه و همهچیز. اما قطعاً آن لحظههای جرقه زدن وجود دارد که یکدفعه میگویی اوه. مدتی در مسئله نشستهای و بعد جرقه میزند. اما بعضیها، مثلاً Eric، میگویند نه، اطلاعات کمکم جذب میشود و منطقی میشود. لحظهی کشف بزرگی نبود. پس برای تو معمولاً چهطور است؟ برای رسیدن به آن نقطهای که یک مفهوم جا میافتد و برایت منطقی میشود و میتوانی آن را در بقیهی بخشهای آن مسئله یا زبان به کار ببری، چه لازم داری؟
اتان: بله، سؤال خوبی است. فکر میکنم در این مورد بیشتر شبیه Eric هستم که همینطور منطقی میشود، حداقل در کدنویسی. چند مفهوم بوده که متفاوت بوده. کدنویسی بهطور کلی، همانطور که گفتم، من با یک و صفر فکر میکنم و در دودویی و ستونهای ماتریسی خواب میبینم. اما در بعضی مفاهیم، آن لحظههای جرقه زدن بوده. یکی از بزرگترینها «بازگشتی» بود. اوایل راهنمایی برنامهنویسی را شروع کردم. تمام آن مدت برنامهنویسی معمولی میکردم، بیشتر JavaScript و کمی Python. خبری از بازگشتی نبود. اگر یک تابع صدا میزدم، یک تابع صدا میزدم. هیچوقت به فکرم نرسیده بود که تابعی را از داخل خودش صدا بزنم. چطور میخواهی تحلیلش کنی؟ به دبیرستان رفتم و Computer Science سطح AP را برداشتم و مجبور شدم این بازگشتی را یاد بگیرم. برایم منطقی نبود. میگفتم اصلاً یعنی چه تابعی را از درون خودش صدا زدن؟ مدتی به آن فکر کردم. در نهایت همان لحظهی جرقه زدن پیش آمد که گفتی، اما نمیتوانم توضیح دهم چه چیزی باعثش شد، جز همین پافشاری. فکر میکنم این به چیز مهمی مربوط میشود. از برنامهنویسان قدیمیتری شنیدهام که گفتهاند هیچ ویژگی قطعی و از پیش تعیینشدهای برای برنامهنویس خوب بودن لازم نیست، جز... اصلیترین کسی که این را از او شنیدم گفت مطمئن نیستم این چیزی باشد که بتوانی یاد بگیری یا بهترش کنی، به نظرم این بخشی از ساختار شخصیتیات است، اما باید بتوانی تلاش کنی، شکست بخوری، تلاش کنی، شکست بخوری و این کار را خیلی سریع و بارها و بارها انجام دهی. و باید...
جاناتان: و باید لجباز و پافشار باشی. بله، بله، کاملاً. گزینه نیست. فقط باید بلند شوی و دوباره راه بیفتی. بله. واقعاً جالب است.
اتان: کاملاً. خداحافظ. و این چیزی است که در همهی برنامهنویسان خوبی که میشناسم دیدهام. خیلی از آنها بله، طبیعتاً باهوشاند و سریع یاد میگیرند. اما برای بیشترشان، اینطور است که بله، من هشت ساعت وقت گذاشتم تا بفهمم چرا این تابع کار نمیکند. گفتم مرد، من در یک نقطهای میرفتم قدم میزدم.
جاناتان: هشت ساعت، وقت زیادی است. وقت زیادی برای گذاشتن روی چیزی، اما کاملاً... میتوانم با آن حس رضایت وقتی چیزی کار میکند ارتباط برقرار کنم. فکر میکنم اینجاست که Exercism واقعاً سرگرمکننده بوده، چون مواقعی بود که... و این روی تمرینهای پایه است، مثلاً سه تمرین بعد از Hello World. و میگفتم این باید ساده باشد. مدام به خودم میگویم ساده است و نیست. و در نهایت میگیریاش و میگویی وای خدای من، همین بود. همین بود. پس نه، میتوانم... آن نقطهویرگول را پیدا کردم. همان نقطهویرگول لعنتی، هر بار. برای همین زبانهای کامپایلشده را کمی بیشتر دوست دارم، چون مثل این است که نه، همین جا را نگاه کن. پس این خیلی سرگرمکننده بوده. الآن از Go لذت میبرم. احتمالاً این را در هر پادکستی گفتهام.
اتان: بله. اگر زبانهای کامپایلشده و Go را دوست داری و چیزهایی که پیام خطای خوب دارند، بگذار سریع V را معرفی کنم، چون بهخاطر همین در این پادکست هستم، یا حداقل همین شد که مرا شناختی.
جاناتان: یک تذکر سریع به همهی شنوندگان. V بهعنوان یک زبان در دست ساخت است که اتان دارد آن را میسازد. خیلی زود راهاندازیاش میکنیم. خب، اتان میگوید بهزودی راهاندازی میکند و من کاملاً حرفش را قبول دارم. احتمالاً تلاش میکنیم با انتشار همین پادکست همزمان شود. پس اگر گوش میدهید، حتماً بروید و ببینید. اما اتان، قبل از اینکه انرژی این معرفی را بگیرم، برگرد به خودت.
اتان: بله، تا زمان ضبط این، روی Exercism آماده نیست، اما امیدواریم یکی از آخرین چیزهایی که آماده میشود همین باشد. فوقالعاده میشود. اما بله، V زبان مورد علاقهی من است، بیبرو برگرد. همانطور که گفتم، از راهنمایی برنامهنویسی میکنم. زبانهای زیادی را امتحان کردهام: JavaScript، Python، Go، Assembly. HTML و CSS را از صفر نوشتهام. Julia را انجام دادهام. Kotlin را امتحان کردهام. خلاصه هر دستهای از زبانها را که انتخاب کنی، احتمالاً امتحانش کردهام. V تا اینجا مورد علاقهی من است. نحوِ آن خیلی شبیه Go است. یکی از چیزهایی که آن را از Go متمایز میکند این است که بهطور مسخرهای سریع است. وقتی معرفیاش میکنم، اغلب میگویم هر زبانی یک «بله» دارد، درست است؟ مثلاً Python، آن «بله» این است که نوشتن با آن واقعاً سرگرمکننده است. کسی نمیگوید بله، از نوشتن Python بدم میآید. ساده است، درست است؟ برای مبتدیها خوب است. آن «اما» این است که خیلی کند است. مثل مینیون زبانهای برنامهنویسی است. C++، آن «بله» این است که بله، مشکل کندی Python را حل کردیم، اما نوشتن با آن افتضاح است. چند آدم دیوانه هستند که میگویند عاشق نوشتن با C خالص یا ++C هستم. من میگویم نمیخواهم با اینهمه تخصیص حافظه و خطای اشارهی خالی سر و کله بزنم. فکر میکنم V هیچکدام از این «بله» و «اما»ها را ندارد.
جاناتان: که ادعای بزرگی است. یعنی ادعای خیلی بزرگ.
اتان: چه ادعای بزرگی... اما «اما»یی که دربارهی V دارم این است که انجمن بزرگی ندارد. برای همین برای آوردنش به Exercism هیجانزده هستم، چون فکر میکنم اگر مردم یادش بگیرند عاشقش میشوند و انجمن بزرگی حولش شکل میگیرد و مردم دورش جمع میشوند. سریع است، نوشتن با آن لذتبخش است. وقتی فکر میکنم یک زبان برنامهنویسی باید چهطور کار کند و به خودم میگویم اوه، دقیقاً نمیدانم این را در V چهطور انجام دهم، میگویم خب، اگر بخواهم این کار را بکنم، این راه منطقی است و میبینم همان کار میکند، چون زبان برنامهنویسی منطقیای است. بهطور مسخرهای سریع است، نوشتن با آن لذتبخش است و فوقالعاده امن. وقتی صفحهی V بالا بیاید، همهی اینها را در صفحهی Exercism میبینید. پیشنهاد میکنم همه بروند و ببینند. خیلی سرگرمکننده است.
جاناتان: اگر این کار را میکنید چون الآن چالش ۱۲ و ۲۳ را داریم. نمیدانم دیدهاید یا نه، که اساساً هر ماه یک زبان جدید یاد بگیرید. فکر میکنم برای برنامهنویسان باتجربه چالش کوچک و خوبی است. اما این معرفی V است، حتماً در فهرستتان بگذارید. بهزودی راهاندازی میشود، پس حواستان باشد. اما چون اغلب وقتی دربارهی زبانهای بسیار پرکارآمد حرف میزنی، Rust بالای فهرست میآید. اما ظاهراً... این را از هوا بیرون میکشم... فهمیدنش، نوشتن با آن یا درک اولیهاش فوقالعاده سخت است، فقط به خاطر شکلش. نمیدانم این لزوماً درست است، اما شاید بتوانی کمی روشن کنی. اما داشتن یک زبان سریع که نوشتن با آن لذتبخش باشد و پیچیده نباشد عالی است.
اتان: عالی. ببین، من آدمهای زیادی را میشناسم که عاشق Rust هستند، پس زیاد بدش را نمیگویم. تنها چیزی که میگویم این است که سریع است، اما کوچک نیست. V فوقالعاده کوچک است. اگر بخواهی V را کامپایل کنی، خود V با V نوشته شده. کد منبع را دانلود میکنی و V در کمتر از یک ثانیه خودش را کامپایل میکند. اگر بخواهی، میتوانی V را وادار کنی خودش را کامپایل کند و بعد با فایل باینری حاصل دوباره خودش را در کمتر از یک ثانیه کامپایل کند. یعنی اینقدر سریع است. در مقابل Rust که اگر درست یادم باشد کامپایل کاملش بیش از ۳۰ گیگابایت و یک ساعت طول میکشد. بیشتر مردم واقعاً خودشان کامپایلش نمیکنند و یک فایل باینری آماده از صفحهی توزیع دانلود میکنند. اما اگر روی کامپیوترم V را تایپ کنم، به GitHub میرود، کد منبع را میگیرد، خودش را کامپایل میکند و به این شکل بهروز میشود. فوقالعاده است. اینقدر سریع و کوچک. عالی است.
جاناتان: آه، عالی. پس برای آوردن V هیجانزده میشوم. و کمی دربارهی خودش بهعنوان یک زبان: چه قدر است که وجود دارد؟ چطور با آن آشنا شدی؟ اطلاعات زمینهای جالبی دربارهی V داری؟
اتان: بله، دقیقاً نمیدانم چه قدر است. خیلی طولانی نیست. زبان جدیدی است و هنوز در نسخهی ۰.۳ است. یعنی تقریباً بتاست. اما فکر میکنم دو سه سال پیش با آن آشنا شدم؛ یکی از سریعترین زبانهای در حال رشد از نظر ستارههای GitHub بود یا چیزی شبیه آن. آن موقع، و هنوز هم کمی این کار را میکنم، اما الآن که Exercism را پیدا کردهام، بهجایش Exercism انجام میدهم. یک مخزن GitHub دارم که در آن فقط فاکتوریل را در کلی زبان مختلف پیاده کردهام. یعنی برنامه یا تابعی برای یافتن فاکتوریل یک عدد. و میخواستم زبانهای جدید یاد بگیرم و این روشم بود. V را امتحان کردم و گفتم اوه، این باحال است. پس بله، اینطور با آن آشنا شدم و از آن موقع عاشقش هستم. عالی است.
جاناتان: عالی. آه، هیجانانگیز است. که فوقالعاده است. الآن ممنون که کمی دربارهاش توضیح دادی و ممنون که ساختیاش. Exercism همانطور که میدانی با آدمهایی مثل خودت ساخته میشود که به چیزی علاقه دارند و ما واقعاً به آن وابستهایم. پس قدردانی زیادی و ممنون که در این کمک کردی. و این مرا بهخوبی میرساند به اینکه چطور با Exercism درگیر شدی. کمی از آن داستان را بگو. چند دقیقه در آن غرق شویم و بعد ببینیم کجا میرویم.
اتان: بله، حتماً. من چیزهای متنباز را دوست دارم. یکی از افتخاراتم در مدرسه این است که تقریباً همهی دوستانم را قانع کردهام از Signal بهجای WhatsApp یا Messenger استفاده کنند، چون متنباز است و خصوصی و این چیزهای خوب. پس دنبال یک جای متنباز بودم. فکر کنم از سایت alternative.to استفاده کردم. دنبال جایگزینی متنباز برای HackerRank بودم و Exercism یکی از گزینهها بود. و بله، آهان بله، یادم آمد چرا دنبالش بودم: میخواستم Julia یاد بگیرم و دنبال جای خوبی برای این کار بودم. Exercism یکی از آنهایی بود که مسیر Julia داشت، پس امتحانش کردم. راستش فکر نمیکنم آن موقع میدانستم متنباز است. فکر کنم فقط دنبال چیزی مثل HackerRank بودم که با آن زبان جدید یاد بگیرم. Julia را شروع کردم و یک جایی دیدم نوشته «کد منبع این صفحه را ببین». گفتم اوه، متنباز است. کمی گشتم و گفتم نکند مسیر V هم داشته باشند. کمی کاوش کردم. معلوم شد چند نفر مدتی پیش به آن فکر کرده بودند. آن موقع هنوز نسخهی ۰.۲ بود، حتی ۰.۳ هم نبود. و به نتیجه نمیرسید. پس پرسیدم کسی هنوز روی این کار میکند؟ و آن شخص واقعاً پاسخ داد. اگر کسی دربارهی GitHub چیزی بداند، میداند که یک ایشوی مرده پیدا میکنی، سؤال میپرسی و هرگز جواب نمیگیری. اما من واقعاً جواب گرفتم. باورنکردنی بود.
جاناتان: جواب داد، باورنکردنی بود، مثل همان اقیانوس بزرگ، بله.
اتان: بله، مستقیم به سیاهچاله، دیگر هرگز دیده نمیشود. اما بله، یک نفر واقعاً جواب داد و گفت راستش من رفتم سراغ چیز دیگری. اگر مسیر را میخواهی، برای خودت. گفتم میدانی، احتمالاً میتوانم حداقل بخشی از این را انجام دهم. پس در وقت آزادم کمی رویش کار کردم و بله، حالا امیدواریم بهزودی راهاندازی میشود.
جاناتان: چون مدتی پیش صحبت کردیم و فکر میکنم وسط راهاندازی کارها بودی. خیلی خوب بود که حال و احوالت را پرسیدم. اما نه، منتظر دیدن انتشارش هستم و حمایت جمع میکنم. پس اگر این را گوش میدهید، شما بخشی از جمع V هستید و باید این مسیر زبانی اول را راه بیندازید. با چه چیزهایی راهاندازی میکنید؟ چند تمرین مفهومی، چند تمرین عملی، چه چیزی برای همه در نظر داری؟
اتان: بله، کمی ابتدایی است. تمرین مفهومی نداریم، اما ۲۰ تمرین عملی داریم. فکر میکنم تقسیمبندیاش ۱۰ آسان، ۷ متوسط و ۳ سخت باشد. خب.
جاناتان: خب. عالی. فوقالعاده میشود. منتظر آن هستم و همه را در جریان میگذاریم. اگر سؤالی دربارهی V دارید، راحت ایمیل بزنید. اتان، کلی چیز هم در توضیحات قسمت میگذاریم. فهرست خوبی دارم که همین الآن مینویسم تا یادم بماند، دربارهی همهچیزی که صحبت کردیم.
اتان: به من ایمیل بزنید یا من انجمن Exercism را چک میکنم؛ اگر میخواهید آنجا بحثی باز کنید و من را تگ کنید، بفرمایید.
جاناتان: عالی. مطمئن میشوم که یک دستهبندی برای آن هم باشد. فکر میکنم احتمالاً باید دستهی V را اضافه کنیم. اما خب، چند چیز کوچک دیگر که میخواهم به آنها بپردازم و بعد میگذارم بروی بخوابی و خودم میروم یک قهوهی صبحگاهی بگیرم. من در کیپتاون هستم، همه، که خیلی دور است از... انتهای آفریقا است و دوستش دارم چون از خیلی چیزها دور است، اما از اینکه اینجاییم لذت میبرم.
اتان: صبح خوبی داشته باشی. نمیدانستم این کار را بدون قهوه انجام میدهی. باید بگویم خیلی تحت تأثیر قرار گرفتم. باورنکردنی است.
جاناتان: با چای انجامش دادم، چون چیز دیگری نداشتند. ما خیلی سختگیریم. احتمالاً تو هم هستی، چون میدانم آمریکاییهای ساحل غربی معمولاً اینطورند و این یک تعمیم بزرگ است. احتمالاً برای همین کمی مورد انتقاد قرار میگیرم. اما قهوه در کیپتاون چیز بزرگی است. از کیفیت قهوهای که داریم خیلی خوششانسیم. اما میدانم ساحل غربی آمریکا هم در مورد قهوه بهطور کلی خیلی سختگیر است. راستش فکر میکنم احتمالاً بیشتر دنیا در همان قایق هستند.
اتان: دربارهی رقابت بین سیاتل و پرتلند حرف زدی. فکر میکنم باید به سیاتل بدهیم که قهوهی بهتری دارد، اما ما پلهای بیشتری داریم، پس نمیدانم کدام برنده است.
جاناتان: بله، روش خوبی است... معیارهای جالبی برای سنجش باحال بودن یک شهر وجود دارد. اما راستش باید بگویم متأسفانه باز هم به سیاتل میدهم، چون در کیپتاون قهوهی سیاتل داریم. اگر قهوهی اورگان هم به سواحل ما برسد، آن روز روز خوبی خواهد بود. حتماً روز خوبی است. خب. خب، قبل از ادامه، اتان، رست یا ترکیب خاصی از قهوه هست که پیشنهاد کنی مردم امتحان کنند؟ در آن سطح از قهوهشناسی هستی؟
اتان: نیستم، اما اگر روزی به اورگان آمدی، حتماً Dutch Bros Coffee را امتحان کن. آنجا به دنیا آمده و بزرگ شده. از یک شهر کوچک و یک کیوسک کوچک جایی شروع کردند و همه عاشقش شدند و حالا تقریباً همهجا هستند.
جاناتان: عالی، Dutch Bros Coffee، سلام ما به آنها. احتمالاً هرگز نمیفهمند که در این پادکست به آنها اشاره شده. مگر اینکه، البته که برایشان بفرستیم و بگوییم به هر کسی که گوش میدهد یک کد تخفیف بدهید، شاید این کار را بکنیم. خب اتان، چند سؤال که هر هفته از مهمانهایمان میپرسیم و غذای اصلی سؤالهای ما هستند، و فکر میکنم خیلی خوباند، مخصوصاً در Exercism که میخواهیم به مردم کمک کنیم یاد بگیرند و خودشان را در موقعیتی قرار دهند که بتوانند برنامهنویسی کنند و فکر کنند، برنامهنویسی و کدنویسی و این چیزها. سؤال اول این است. ما این مفهوم را داریم که روی چه تپهای حاضرید بمیرید، در دنیای فناوری. احتمالاً کمی ملودراماتیک به نظر میرسد. فکر کنم هست. اما آن یک چیزی که واقعاً میخواهی به آن چنگ بزنی، مخصوصاً در فضای فناوری، یا چه ارزشی را واقعاً دفاع میکنی؟ فکر میکنم داشتیم دربارهی چیزی حرف میزدیم که برایش میجنگیم، اما «دفاع کردن» شاید کمی مناسبتر باشد. به نظرت آن یک چیزی که واقعاً پشتش هستی و فکر میکنی مهم است چیست؟ فکر میکنم میتواند هر چیزی باشد، خیلی گسترده است.
اتان: بله، حرف من از جایی میآید که... نمیدانم، این را در GitHub دیدهای؟ فهرستی از چیزهایی هست که به آنها «قوانین هکرها» میگویند.
اتان: بله، خب. یکی از آنها این است که خواندن کد همیشه بیشتر از نوشتنش طول میکشد. پس تپهای که من روی آن میمیرم بر اساس همین این است که باید کد بنویسی یا ببخشید، این است که نوشتن کامنتهای خوب و مستندات خوب مهمتر از نوشتن کد خوب است. این حرف جنجالی من برای امروز است.
جاناتان: عالی. واقعاً جالب است. مهمتر از کد خوب، نوشتن کامنتهای خوب. دارم یادداشت مینویسم. این طلاست. عالی.
اتان: شاید اگر روی Exercism انجامش دهی و کسی هرگز ارسال نمونهات را نبیند، کمی کماهمیتتر باشد. آن تابع را بنویس، اما اگر چیزهایی که در Exercism یاد گرفتهای را در یک شغل یا در یک انجمن متنباز به کار میبری، قطعاً روی آن تپه میمیرم.
جاناتان: خب، واقعاً جالب است، چون مستندسازی و نوشتن کامنتهای خوب فقط به دیگران کمک نمیکند، بلکه به خودت هم کمک میکند افکارت را منطقی و ساختارمند کنی. مثل برنامهریزی یک مقاله است: میخواهی مقدمهات را بچینی و مقاله را قبل از نوشتنش برنامهریزی میکنی. و فکر میکنم این یکی از چیزهایی است که در Exercism دنبالش هستیم. از Jeremy زیاد میشنوم که وقت بیشتری صرف فکر کردن میکند تا نوشتن کد. و اغلب وقتی کد مینویسد، راهحلی را مینویسد که از قبل با تفکر زیاد ساخته است. پس کد واقعاً فقط تجسم آن تفکر است. و فکر میکنم این با بهترین شیوهها هم هماهنگ است، که عالی است. پس اگر کسی میتواند چیزی از امروز ببرد، و داری کدنویسی یاد میگیری و در حال توسعه هستی، کامنتهای خوبت را بنویس، از آن برای فکر کردن و نقشهکشی درست استفاده کن؛ هم به خودت کمک میکند هم به دیگران.
اتان: بله.
جاناتان: امیدوارم منطقی باشد. آن تپهی خوبی است. ممنون.
اتان: همین کار را میکنم. ممنون. ممنون از آن. آنچه گفتی دربارهی کمک به خودت، نه فقط خودِ الآن، بلکه خودِ آیندهات. بعضیها میگویند کد را جوری بنویس که انگار کس دیگری میخواهد بخواندش. من همیشه سعی میکنم کد را جوری بنویسم که انگار خودم شش ماه بعد میخواهم بخوانمش و هیچ ایدهای ندارم چه کار میکردم.
جاناتان: بله، بله. مثل بافت و زمینه است. بافت پادشاه است. و کمک کردن به مردم برای گرفتن آن واقعاً خوب است. خب. سؤال بعدیام این است.
اتان: بله.
جاناتان: میتوانی کنشها یا رفتارهای کلیدیای را شناسایی کنی که یادگیریات را تسریع کردند؟ میتوانی این رفتارها را در کار دیگران هم ببینی، چیزهایی که یادگیری را اثربخش میکنند؟
اتان: بله، فکر میکنم به همان چیزی برمیگردم که قبلاً گفتم: تلاش و شکست بارها و بارها. نمیدانم چیز مشخصی انجام دادهام که یادگیریام را تسریع کرده باشد، اما به مانع میخوری، درست است؟ این سؤال نیست. زمانی میرسد که این خطای عجیب را داری و نمیتوانی حلش کنی. فکر میکنم بعضیها کمی زیادی در سمت «هرگز از کسی کمک نمیخواهم» هستند. مثل دوستم که میگفت هشت ساعت به این تابع خیره شده بودم و آخرش فهمیدم مشکل چیست. و بعضیها هم به مانع میخورند و یا دست بالا میبرند یا فوراً از کسی کمک میخواهند. فکر میکنم پیشنهاد من، یا چیزی که خودم باید انجام دهم، چون بیشتر از آن دستهام که بگذار خودم حلش کنم، بیشتر چون نمیخواهم کسی را اذیت کنم یا احمق به نظر برسم. چون میگویند ای احمق، یک نقطهویرگول جا انداختی، خط ۱۳ است. میگویم آه، حق داری. پس تایمر بگذار، هر عددی که فکر میکنی بهترین است، در بازهی پنج تا ۱۵ دقیقه: باشه، این مقدار روی این مشکل میجنگم و اگر تا آخرش حلش نکردم، اگر کسی داری که میتوانی بپرسی، مثل همکار یا دوست، برو سراغش. یا شاید Stack Overflow که میتوانی کلاسیکش را انجام دهی: سلام Stack Overflow، یک سؤال دارم، و بعد یک رأی منفی و صفر پاسخ میگیری. این همیشه سرگرمکننده است. یا چیزی که بعضی وقتها کمکم میکند این است که فقط قدم بزنم. اگر کسی نیست و نمیتوانم کاری بکنم، آن مدت با آن میجنگم، ذهنم را خالی میکنم، پنج دقیقه قدم میزنم و برمیگردم. و میگویم حتی اگر در یک محل کار حرفهای برنامهنویسی هستی، اگر جایی نیستی که تشویقت کنند به اینکه اگر لازم داری قدم بزن، ذهنت را خالی کن و برگرد به جریان، شاید ارزشش را داشته باشد دنبال جای دیگری باشی، چون همهی جاهایی که برایشان کار کردهام و جای خوبی بودند این را تشویق میکردند، که فوقالعاده مهم است. سلامت روان... اگر ذهنت خراب باشد نمیتوانی کد خوب بنویسی.
جاناتان: درست است، خیلی درست. عالی. خب، این آخرین سؤال امروز است. از گپ صبحگاهی واقعاً لذت بردم. خب، سؤال این است: پیشنهادهایت برای این هفتهی انجمن چیست؟ میتواند خیلی گسترده باشد، مثل برو در اقیانوس اطلس یا آرام شنا کن. اگر در اورگان هستی از Dutch Bros Coffee یک اسپرسو بگیر. پیشنهادت برای این هفته چیست؟
اتان: فکر میکنم قبلاً گفتم: بروید V را ببینید، فوقالعاده است و واقعاً سرگرمکننده. اگر چیزی سرگرمکنندهتر میخواهید، باید Metaculus را پیشنهاد کنم، یک وبسایت به آدرس metaculus.com، یعنی M-E-T-A-C-U-L-U-S. و این یکی از راههای مورد علاقهام برای تلف کردن وقتم است. احتمالاً کمی زیاد انجامش میدهم. وبسایتی است که در آن سعی میکنی آینده را پیشبینی کنی. سؤالی میپرسند مثل اینکه در سال ۲۰۳۵ کل برق تولیدشده توسط پنلهای خورشیدی چند تراواتساعت خواهد بود؟ و تو میگویی خب محدودهی من این است، فکر میکنم بین این و این باشد. صدها نفر به این سایت میآیند و همه تلاش میکنند پیشبینی کنند و هر چه به عدد واقعی نزدیکتر باشی امتیاز بیشتری میگیری. این کار را میکنند تا به مردم کمک کنند بهتر دربارهی تصوراتشان از دنیا فکر کنند. برای من واقعاً مفید بوده که بگویم میدانی، سوگیری من میگوید این چهل درصد احتمال دارد، اما اگر واقعاً به اعداد نگاه کنم، به ۷۵ نزدیکتر است و انتظارش را نداشتم. دیوانهکننده است. پس پیشنهاد من این است: V را ببینید. و وقتی یادگیریاش تمام شد، چون یادگیریش خیلی سریع و آسان و سرگرمکننده است، سراغ Metaculus بروید.
جاناتان: خب، عالی. عالی به نظر میرسد. اتان، از وقتی که گذاشتی واقعاً سپاسگزارم، امشب برای تو و صبح برای من. فوقالعاده جالب بود. کل رایانش کوانتومی، من کمی دربارهاش شنیده بودم، اما فکر میکنم... میروم پادکست تو را هم ببینم. اگر این را گوش میدهید، پادکست اتان را در کامنتها میگذاریم. لطفاً لایک بزنید، سابسکرایب کنید و واردش شوید. من هم در وقت آزادم گوش میدهم، چون این گفتگو را واقعاً جذاب یافتم. ممنون از هر چیزی که به Exercism کمک میکنی. واقعاً منتظر راهاندازی مسیر V در آیندهی نزدیک هستم. پیشنهادها را دوست دارم، خیلی خوب بود که صحبت کردیم و همینجا میمانیم. اما اتان، باز هم خیلی ممنون از وقتت و بقیهی شب خوبی در اورگان داشته باشی.
اتان: ممنون جاناتان. افتخار من بود و ممنون از هر کاری که برای Exercism میکنی. میدانم که این کار را شبانهروزی و اگر لازم باشد ساعت ۵:۳۰ صبح انجام میدهی، که خودم تجربهاش را دارم. پس بله، همهکاری که میکنی عالی است و قدردانی میکنم. ممنون که من را دعوت کردی.
جاناتان: عالی، هر وقت، هر وقت. خب، خداحافظ همه.
گوش دهید، یاد بگیرید و از اعضای انجمن ما الهام بگیرید.