Чи говорили ми колись про квантові обчислення глибше, ніж просто ковзаючи по поверхні...? Ця розмова з Ітаном стала справжнім зануренням у світ, який знають небагато з нас... не пропустімо!
Джонатан: Ну, доброго ранку. Принаймні для мене доброго ранку. Це Джонатан. Я разом з Ітаном Хансеном у подкасті Exercism. Ітане, чудово, що ти з нами. Ти перебуваєш у зовсім іншій частині світу, у зовсім іншому часовому поясі. Тож для мене це ранок, а для тебе ніч. Розкажи нам трохи про себе. Де ти зараз? Чим займаєшся? Дай нам коротке уявлення про те, де ти зараз.
Ітан: Так, дякую, Джонатане. Чудово, що я тут. Навіть якщо тобі довелося вставати дуже рано, а мені трохи пізно, я радий, що ми змогли це організувати. Так, я тут, в Орегоні. Так, Західне узбережжя, Західне узбережжя, маленьке містечко, де я виріс. І так, я зараз на канікулах від коледжу, від навчання. І я тут, в Орегоні. Я тут, на Західному узбережжі. Я тут, в Орегоні. Я тут, на Західному узбережжі. Я тут, в Орегоні. Я тут, на Західному узбережжі. Якщо хочеш дізнатися, як я тут опинився, це цікава історія, яку я із задоволенням розповім. Якщо тобі потрібен лише короткий вступ...
Джонатан: Ось так. Гаразд, чудово. Отже, Орегон, я б із задоволенням його відвідав. Мені здається, це ж батьківщина... це Портленд? Це Портленд? Сіетл - це Вашингтон, якщо я не помиляюся. Тож ви сусіди. Так. Я впевнений, що між цими двома містами є трохи суперництва, в яке нам не обовʼязково заглиблюватися одразу. Але чому ти на канікулах? Я думав, усі повернулися до навчання чи до роботи. Що там відбувається? Це просто так склалося з термінами навчання і всім таким?
Ітан: Так, насправді я знаю багато інших людей, які навчаються в різних коледжах, які вже повернулися і ввійшли в ритм, але мій коледж ще не почався - Кейс Вестерн Резерв. Це там, де я навчаюся. Я почну приблизно через чотири дні.
Джонатан: Гаразд, Ітане, як довго ти там навчаєшся? На якому етапі навчання ти зараз?
Ітан: Так, я зараз на другому курсі. Хоча я кажу людям, що мав би бути на третьому, бо я взяв рік перерви. Перед початком навчання в коледжі я взяв рік перерви під час пандемії, і вважаю, що це, мабуть, один із найкращих виборів у моєму житті. Я зміг пропустити Zoom-навчання. І я зміг працювати в дуже класній компанії, займаючись дечим, повʼязаним з квантовими обчисленнями, що саме по собі була ціла історія.
Джонатан: Ого. Отже, виходить, ти був у школі, десь на початку 2020 року, так? Тобто це був твій випускний рік. Вдарила пандемія. І раптом... тобто, ти, мабуть, був на якомусь семестрі... чи ти вже почав перший курс в університеті? І ти такий: я тут не залишуся? Як це було, деталі?
Ітан: Так, гаразд. Отже, я закінчив старшу школу, або, як ви кажете, середню школу, люди по той бік океану. Це було приблизно в травні 2020 року. Тобто якраз у розпалі. І тоді ж я почав стажування в цій компанії з квантових обчислень. Я займався цим деякий час. Мені дуже подобалося. Але ситуація не покращувалася, знаєш, через пандемію та все таке. І я подумав: гм, чи справді я хочу ще цього Zoom-навчання, якого я скуштував місяць-два в кінці школи? Я вирішив, що ні. І так, у цій компанії я займався маркетингом, що якось природно випливло з... Насправді, у мене є власний подкаст про квантові обчислення, який, якщо люди хочуть послухати, називається «Quantum Computing Now». Я давно там нічого не публікував, бо займався дослідженнями в коледжі. Але це був чудовий досвід - робити той подкаст, і чудово було працювати з цією компанією. Спілкуватися з людьми, знаходити найкращий спосіб пояснити складну науку, інженерію та технічні виклики більш діловій аудиторії або широкому загалу - це було справді цікаво.
Джонатан: Гаразд. Ось ми знову тут. З поверненням. Невеличка перерва, перерва через відсутність інтернету. Отже, бідний Ітане, ти був на півдорозі, а потім усе завмерло з мого боку. Тож ми просто продовжимо з того місця, де зупинилися. Але я знайду спосіб змонтувати все це, і ніхто ніколи не дізнається. Ніхто ніколи не побачить цього.
Ітан: Для твого монтажу, на майбутнє: я плеснув у долоні через кілька секунд після того, як усе вимкнулося, тож, сподіваюся, тобі буде легше знайти це місце за сплеском на аудіо.
Джонатан: Класно. Знаєш, ці маленькі штуки, які називають режисерськими... ну, ті, що клацають. Так, хлопавки. Так, я думаю, можливо, це те, що мені потрібно в магазині сувенірів для Exercism. Маленькі... Так.
Ітан: Так, клац. Трохи. Так.
Джонатан: Але гаразд, вибач, давай повернемося назад. До технічної проблеми. Отже, ти щойно сказав, що почав стажування в компанії. Як ти... але до того моменту ти навчався, закінчив школу, а потім став стажером. Це була робота на літо? Чи ти просто подумав: мені треба чимось заповнити час? Яка там була історія?
Ітан: Так, це почалося як літня робота, але потім я продовжив і взяв повну перерву. Але це не було просто заповненням часу. Я дуже цікавлюся квантовими обчисленнями. Вважаю це захопливим. Вони мають потенціал змінити багато речей. Хоча на цьому етапі, думаю, це трохи схоже на перегони. Я не впевнений, хто переможе: чи квантові обчислення змінять більше речей першими, чи ШІ, з усіма божевільними речами, що виходять з ChatGPT та іншого. Це дико. Але так, я не знаю. Скільки з цього ти бачив? Бо я спілкувався з людьми, досить обізнаними в технологіях, і вони кажуть: я не чув про ChatGPT. Розкажи мені про це.
Джонатан: Так, я, мабуть, не найкращий приклад, і саме тоді я усвідомив його силу, бо воно якось зʼявилося, і я такий: так-так, ну, щось таке, знаєш, як блокчейн, усі думають, що це просто мода. Але моя дружина не розмовляє... вона розмовляє англійською, але вона швейцарка, тож англійська не є її рідною мовою. У неї невеликий дитячий бізнес, і їй доводиться займатися маркетингом, особливо постами в Instagram, розсилками, усім таким, бо це її власна справа. І якось вона написала мені днями: слухай, чи не міг би ти допомогти мені з маркетинговим матеріалом, наприклад, розсилкою або... здається, це був пост в Instagram, де треба описати... дати опис. І, чесно кажучи, я дуже не люблю писати маркетингові чи промо-матеріали, бо це забирає частину мозку, яка... так, байдуже. Тож я такий: о, давай просто... я чув про ChatGPT для маркетингу, давай спробую. І я був дуже скептичний, думав, це буде жахливо. Але ми сіли разом, вона поруч, ми вводимо: напиши невеликий промо-матеріал для посту в Instagram, натискаємо, і ми дали йому досить конкретні інструкції. І те, що вийшло, нас вразило. Для моєї дружини, яка не є носієм англійської, мати можливість створювати маркетинговий матеріал і не витрачати на це буквально три години - це неймовірно. А я вивчав англійську літературу в школі, тож для мене англійська... я розумію англійську, я розумію, як добре писати нею і повʼязувати речі. Я був вражений. Тепер вона для всього промо-маркетингу використовує ChatGPT, а я такий: о, ми просто підживлюємо машину. О, абсолютно. Це страшно, це справді страшно. Вибач за цей невеликий відступ, але так, це було на мені.
Ітан: Ні, ні. Так. Це все моя провина. Але так, гаразд, мені здається, ми йдемо назад. Ми почали з того, де я зараз, що я робив минулого року. Але якщо хочеш, я можу розповісти всю історію з початку.
Джонатан: Давай. Я за історії. Історії - це чудово.
Ітан: Гаразд, чудово. Отже, так, я народився і виріс у маленькому містечку в Орегоні. Не в тому самому маленькому містечку, але я не жив... до коледжу я не жив у місті з населенням понад 2000 осіб. Тож це... Що? 2000? Так. Це крихітне. Так. Я кажу "маленьке містечко", а люди: о, ну, може, 20-30 тисяч. Я такий: ні, ні, ні. Найближче місто на 20-30 тисяч - це десь за 20 хвилин їзди. Так. Ого. Так, але я це люблю. Я завжди бігав на фермі, щось садив, доглядав за козами, рубав дерева, все таке. Але коли я подорослішав, я зрозумів, що мені дуже подобається щось майструвати. І я почав цим займатися. У мене є чудовий друг... Це старший сімейний друг, блискучий інженер-механік за фахом, але знає все, що можна знати про електроніку. Він займається радіокерованими машинками. Він будує власні радіокеровані літаки на вихідних для розваги. І не з набору, а сам малює креслення, а потім ріже пінопласт гарячим дротом. Це абсолютно блискуча людина. І він допоміг мені дещо зробити. Я навчився трохи майструвати і зрозумів, що я дуже повільний, коли щось роблю руками, бо люблю, щоб усе виходило з першого разу, а якщо зламаю, то воно не працює. Але я якось почав це усвідомлювати, хоча спочатку не дуже розумів. І з шести років я хотів бути тим, ким хотів бути кожен шестирічний - аерокосмічним інженером, звісно. Я хотів... Літаки. Так. Так. Усі такі: так, гаразд, якщо хочеш бути астронавтом. Я такий: ні, ні, ні. Я сказав слова "аерокосмічний інженер", і всі: хто ця дитина і чому вона знає, що таке аерокосмічний інженер? Так. Так. Але... Дивовижно. Так. Далі все пішло під укіс. Але це так, я досяг піку в шість років. Але так, я просто навчався в школі, хотів стати аерокосмічним інженером, старанно вивчав математику та природничі науки, пішов до старшої школи і почав займатися справжньою інженерною програмою. Моя школа була досить класною. Там були різні напрямки. І я обрав інженерію, це був напрямок інженерії та аерокосмічних наук. Я такий: це те, чим я хочу займатися. І я поринув у це і виявив, що це просто купа паперової роботи, так? Це не те, чим я хочу займатися. І це має сенс, бо треба переконатися, що все належно задокументовано, і не можна нічого наплутати, бо якщо наплутаєш, ракета вибухне і шестеро людей загине. Так.
Джонатан: Це як високий ризик, без права на помилку.
Ітан: Абсолютно. І приблизно в той же час я почав гратися з кодом, частково тому що це корисно для інженерів. Я такий: хочу це вивчити, частково тому що хочу зробити те, що хоче кожен у середній школі - створити власну відеогру. А потім я такий: гаразд, стривай. Мені подобається майструвати. Мені не подобається стрес, повʼязаний з тим, щоб ракета не вибухнула. Мені якось подобається програмування, і це схоже на майстрування, але робити це можна швидше. І якщо наплутаєш, то якийсь сервер десь впаде, ніхто не загине.
Джонатан: Ніхто не гине. Так. То це як програмне забезпечення для підводних човнів чи щось таке...
Ітан: Так, так. І я такий: це класно. Хочу займатися цим більше. Тож я почав шукати... У старшій школі я проходив стажування в IBM. І займався програмним забезпеченням. І це було чудово. Це було одне з найкращих літ у моєму житті. Я жартую, що найбільше, що я виніс з того стажування, це те, що я не хочу годину добиратися до роботи, бо це жах. Але все інше було чудово. Отже, це було літо між моїм передвипускним і випускним роком. Я закінчив школу, вдарила пандемія. Насправді, повернемося трохи назад. В IBM я завершив багато своїх проєктів достроково. Тож мої наставники на стажуванні сказали: а давай, просто звʼяжися з кимось в IBM і скажи: привіт, я стажер. Розкажи мені, чим ти займаєшся. Я такий: круто. Я переглянув довідник. І бачу: о, квантові обчислення. Я приблизно знаю, що це. Звучить цікаво. Я поговорив з деякими людьми в IBM. Вони були досить любʼязні, щоб витратити півгодини на розмову з цим дурним старшокласником, який каже: я нічого не знаю про квантові обчислення, але все одно хочу поставити запитання. Це звучало круто. Так. І тоді я подумав: це звучить справді круто. І ці люди дуже захоплені. І це схоже на перетин трьох речей, які я дуже люблю. Так. Математика та природничі науки, так, математика, фізика та інформатика, що було фантастично.
Джонатан: Хоча.
Ітан: Тож я почав більше в це заглиблюватися, і я люблю подкасти. Я слухаю... я як наркоман подкастів. Слухаю занадто багато, і не було справді хорошого подкасту про квантові обчислення. Тож я такий: я можу це зробити. Я можу спілкуватися з людьми. Я можу вести подкаст. Що тут складного? І я запустив подкаст, почав спілкуватися з багатьма людьми. А потім, ближче до кінця випускного року, у мене було заплановано стажування в іншій компанії, яка займалася чимось у Нью-Йорку, але це було б повʼязане з фізичними квантовими обчисленнями. Тож мені довелося б бути там особисто. А потім вдарила пандемія, і якщо десь у світі й закрилися, то Нью-Йорк закрився. І це не мало відбутися.
Джонатан: швидше, ніж клоун.
Ітан: Абсолютно, так. І я такий: ой лишенько, що мені робити? І тут я отримав один із тих стандартних листів: привіт, Ітане Хансене, я бачив твій подкаст, і я хотів би, щоб генеральний директор моєї компанії прийшов на твій подкаст. Я такий: так, так, гаразд, можемо це зробити. Я вже робив таке. Але в одному з цих листів до цієї людини я додав, як постскриптум: привіт, може, подивимося, що вийде. Це було буквально: P.S. Я шукаю стажування на це літо. Чи не займається ваша компанія чимось подібним? І ця людина, яка відповіла, виявилася Кетрін, яка згодом стала моєю начальницею. І вона сказала: давай поговоримо. І потім: то коли ти можеш почати? Я такий: о, я не очікував пропозиції стажування від цієї зустрічі, але я згоден. Так, потім пандемія продовжувала лютувати. І я зрозумів, що дуже не хочу Zoom-навчання. Тож я продовжив до року перерви, працював з цією компанією. І це було чудово. Я багато чого навчився. Так, рік перерви закінчився, я повернувся до навчання, почав вивчати інформатику в Кейс Вестерн, і це йде дуже добре. Щойно закінчив третій семестр, скоро почну четвертий. І так, це нас підводить до сьогодення. Насправді, минулого семестру я займався дослідженнями з групою квантових обчислень у Кейс Вестерн. І ми вже близькі до того, щоб опублікувати результати. Чудово. Але це був неймовірний досвід навчання. І я все ще вчуся, так? Є багато речей, яких я не знаю, але так, у мене багато досвіду для мого віку, мабуть.
Джонатан: Ого, я ніколи не говорив з кимось, хто розповідав би або знав більше, ніж те, що означає термін "квантові обчислення". З мого дуже обмеженого нетехнічного досвіду це звучить як обчислення на стероїдах. Ось таке в мене уявлення. Але, можливо, давай заглибимося в це, і ти трохи поясниш, і, можливо, спробуєш повʼязати це з реальним світом. Для мене квантові обчислення завжди звучать як міністерство оборони, шпигуни, секретність, запуски... це має таку таємничість, можна сказати. Тож давай трохи розберемо, що це означає, і, можливо, це буде цікаво багатьом людям.
Ітан: Так, так, звісно. Так, ти маєш рацію. Одна з головних речей, про які я багато говорив у своєму подкасті, і багато людей в індустрії говорять про це, - це квантовий ажіотаж. І я не знаю, на якому етапі циклу ажіотажу ми перебуваємо, але, думаю, ми близько до піку. Навколо багато ажіотажу. Але так, я вважаю, що найкраще нетехнічне пояснення квантових обчислень, яке я коли-небудь чув, належить людині на імʼя Джон Скеррітт, який був у мене в подкасті. Він працює в Microsoft. Чудово вміє пояснювати це широкій аудиторії. І приклад, який він навів: у звичайного компʼютера... ти достатньо довго працював з Exercism, тож, певно, знаєш, що звичайні компʼютери працюють на одиницях і нулях, тобто бітах. Він може бути або увімкненим, або вимкненим. Нічого іншого.
Джонатан: На найнижчому рівні. На найнижчому рівні це приблизно те, з чим маєш справу.
Ітан: Так, саме так. І з цього ми можемо будувати всі ці божевільні складні речі. Але так, на найнижчому рівні - одиниці та нулі, що можна уявити як вимикач світла, так? Він або увімкнений, або вимкнений. Інших варіантів немає. Квантові обчислення відкривають зовсім іншу область для обчислень. І це можна уявити не як вимикач, а скоріше як лампочку Philips Hue. Вона не лише регулюється за яскравістю, тобто може бути яскравішою чи тьмянішою, десь між одиницею та нулем, але вона також може видавати дивні речі, які взагалі не мають сенсу, якщо твоє уявлення обмежується одиницею чи нулем, наприклад, різні кольори. Якщо все біле й чорне, у тебе навіть немає різних кольорів. Так. І тому, якщо хочеш, ти все ще можеш використовувати... Вибач, повернемося трохи. Ця Philips Hue - це як кубіт, так? Це те, що ми називаємо квантовим бітом. Ти все ще можеш використовувати його як звичайну лампочку, якщо хочеш, так? У цьому небагато задоволення. Ти не отримаєш божевільних кольорів у своїй кімнаті для... знаєш, божевільних студентських вечірок. Але якщо хочеш, можеш просто вмикати й вимикати його, що... Це варіант. Тож це означає, що квантовий компʼютер може робити все, що може робити класичний компʼютер, і трохи більше. Ти сказав, що це як обчислення на стероїдах. Мені здається, це трохи не те, бо... Якщо дивитися на модель одиниць і нулів, то це майже як зробити просто яскравішу лампочку, а не зовсім новий спосіб, коли ти робиш речі, які не мають сенсу в старій парадигмі. І це дозволяє виконувати деякі обчислення швидше або ефективніше за інші. Для деяких алгоритмів ми не маємо уявлення, класичний спосіб - найкращий. Немає сенсу запускати їх на квантовому компʼютері. Насправді, я написав статтю про це. Ти знаєш класичну відеогру Doom?
Джонатан: Так, так, це була класика, коли я ріс.
Ітан: Так, так. Тож сьогодні люди намагаються запустити Doom на всьому, що тільки можна уявити. Так? Жарт такий: гаразд, класно. Це крутий шматок розумної техніки, але чи може він запустити Doom? Люди запустили його на розумних холодильниках Samsung. Вони запустили його на Kindle, навіть не на Kindle Fire, а на чорно-білих.
Джонатан: На найпростіших, так, Kindle.
Ітан: Так, саме так. І от, якщо квантовий компʼютер справді просто як потужніший звичайний компʼютер, і ти можеш запустити Doom на розумному холодильнику, то подумаєш, що зможеш запустити Doom і на квантовому компʼютері. Виявляється, сьогодні на квантовому компʼютері Doom запустити не можна. Гаразд. Причина в...
Джонатан: Він не говорить, він не... парадигми занадто різні. Чи правильно так дивитися?
Ітан: Ні, причина в тому, що квантові компʼютери просто замалі. Хоча в розумному холодильнику Samsung не так уже й багато бітів, він все одно на порядки більший за те, що є всередині квантового компʼютера. IBM щойно представила машину на 433 кубіти. Не 433 000, а просто 433. Для порівняння, ноутбук, на якому я запускаю цю програму, щоб ми могли спілкуватися, має порядок мільярдів бітів транзисторів усередині. Так. І це така фундаментальна, чи не фундаментальна, але різниця в масштабі. І до того ж, немає сенсу запускати Doom на квантовому компʼютері. Це не дає жодної переваги. Є лише конкретні речі, де можна отримати турбопідсилення для обчислень, але для інших речей немає сенсу запускати їх на квантовому компʼютері.
Джонатан: Гаразд, ого. І в мене багато запитань щодо цього. Тож чи є різні мови програмування для квантових обчислень, які відповідають цій ідеї з регулятором яскравості лампочки, якщо це має сенс?
Ітан: Так, ні. Так, звісно. Дуже гарне запитання. Деякі пішли шляхом створення цілком нових мов. Помітний приклад, або, можливо, два помітні приклади: Qsharp, яка схожа на Csharp. Microsoft розробила її. І Silk, яка є експериментальною мовою програмування, розробленою, здається, ETH Zurich. Це дослідницька група розробила її. Вона робить деякі цікаві речі в царині квантових обчислень, про які я не буду вам чи слухачам набридати. Тож це дві мови, але головне, що роблять люди, - це використовують пакет, написаний усередині стандартної мови програмування, який може спілкуватися з квантовими компʼютерами. Популярні приклади: Qiskit від IBM, Cirque від Google. І обидва написані на Python. А ще, якщо хочеш використовувати Julia, є така річ під назвою yow.jl, яка не повʼязана з жодною компанією і працює на Julia.
Джонатан: Гаразд, Ітане, а практичні застосування квантових обчислень у реальному світі... Ти сказав, що розриваєшся між ШІ та квантовими обчисленнями. Чому? Що ти бачиш у майбутньому щодо цих різних аспектів, цих різних парадигм?
Ітан: Так, так, це гарне запитання. Я думаю... Квантові обчислення мають багато дуже потужних довгострокових перспектив для речей, які ми просто не можемо зробити класично. Наприклад, якщо хочеш змоделювати щось, що має квантово-механічні ефекти, один із найкращих способів - налаштувати квантовий компʼютер як симулятор. Він ніби має квантові ефекти вбудованими, бо це квантовий компʼютер. Водночас ми бачимо неймовірні досягнення в таких речах, як Google Alpha Fold, який здатен правильно передбачити 3D-структуру білків лише за РНК, яка, мабуть, кодує білок. Це те, що, якщо білки достатньо малі, включає деякі квантові ефекти. Вони можуть робити це за допомогою машинного навчання та величезної кількості даних. Це як перегони: хто першим... Бо ми будуємо дедалі більші квантові компʼютери. Я казав, IBM щойно випустила машину на 433 кубіти. Минулого року найбільше, що хтось зробив, було 127. Вони стають більшими, і роблять це швидше. Ми все ще далекі від того, що потрібно для тих самих обчислень, які Google робить з величезною кількістю обчислювальних ресурсів і глибоким навчанням.
Джонатан: Боже, бо мені здається, виправ мене, якщо я помиляюся, програма, яку використовували для висадки людей на Місяць, була... страхітливо... ну, ти розумієш, але малою порівняно з тим, до чого ми звикли на сучасних ноутбуках. Вона була в кілобайтах, та програма. Тож чи квантові обчислення в такому ж просторі, де... здатність охопити цю обчислювальну потужність ще в розробці, якщо це має сенс? Чи просто технологія ще не дійшла до того, щоб зробити її доступною для кожної людини на планеті, в особистому плані?
Ітан: Так, так, я думаю, є люди, які кажуть, що квантові обчислення взагалі ніколи не злетять. Чомусь вони вважають, що буде фундаментальна перешкода, що ми не зможемо побудувати квантові компʼютери більші за певний розмір, і не зможемо, або не знайдемо достатньо корисних алгоритмів для них. Я говорив про це у своєму подкасті з деякими дуже блискучими людьми, і те, що я від них почув, зводиться до того, що тягар доказу лежить на тих, хто каже, що існує якийсь фундаментальний закон всесвіту, який забороняє це масштабувати. Більшість бачить це як інженерний виклик. Йдеться про те, що технологічний стек потрібно розбудувати, щоб ми могли мати ці кубіти, достатньо захищені від довкілля, щоб ми могли їх використовувати, і вони існували достатньо довго. Є ще люди, можливо, серединної категорії, які кажуть: так, у тебе ніколи не буде квантового компʼютера вдома. Він завжди буде десь у дата-центрі, який робить речі, які тобі потрібні, як-от багато обчислень, великі обчислення для розвʼязання. Це буде десь у дата-центрі. Ти надішлеш запит, і він поверне тобі відповідь швидше, ніж класичний, але вдома його ніколи не буде. Думаю, це, мабуть, найімовірніше. Квантові компʼютери дуже крихкі. Світ навколо нас - це багато класичної механіки, бо щоб утримати щось у квантовій зоні, або в правильних умовах, де можуть бути квантові ефекти, це має бути дуже-дуже добре контрольовано. Мати це вдома, коли бігають малюки, гавкають собаки, так, коти бігають по всьому. Вони бігають по всьому з часів глиняних табличок стародавньої Месопотамії з відбитками котячих лап. Тож я не бачу, щоб це колись було супержиттєздатним у домі. Але це можливо. Мене можна переконати в протилежному.
Джонатан: Отже, квантовий... звучить так, ніби квантовому компʼютеру потрібен контроль температури, відсутність перепадів температури чи статики в кімнаті, відсутність шуму? Ти кажеш "крихкий", але чому? Чому квантовий компʼютер крихкий?
Ітан: Так, так, гарне запитання. Він крихкий, бо щоб мати добре контрольований кубіт, його потрібно захищати від довкілля. Так, більшість квантових компʼютерів сьогодні мають бути дуже холодними. Вони використовують так званий рефрижератор розчинення, який охолоджує майже до абсолютного нуля. Є деякі, яким це не потрібно. Є різні моделі квантових обчислень. Це ще одна велика відмінність. У минулому, зі стандартними класичними обчисленнями, у нас був один основний спосіб обчислень за раз: були вакуумні лампи, потім зʼявилися транзистори, і вони були очевидно кращими, і ми використовуємо транзистори. І досі їх використовуємо. У квантових обчисленнях є щонайменше 10 різних модальностей, і я не зможу назвати їх усі з памʼяті, але є іонні пастки, фотоніка, надпровідники. Люди також дивляться на кремнієві спінові кубіти. Гаразд, це, мабуть, основні чотири, але є й багато інших, і ніхто точно не знає, яка переможе врешті-решт. Більшість із них, я вважаю, кремнієві спінові кубіти, надпровідники, мають бути дуже холодними. Іонні пастки холодні. Самі іони надхолодні. Апарат не обовʼязково має бути холодним, але вони надхолодні, бо їх утримує лазер ідеально на місці. І потім... Божевілля. Так? Ого. Так. Так, ти можеш зрозуміти, чому я казав: це надзвичайно круто, і я хочу дізнатися більше.
Джонатан: Так, так. Ого. Це як ціла... це зовсім інша річ порівняно з твоїм терабайтним, гігабайтним SSD, знаєш, це ніби в іншій зоні технологій, можна сказати. Ого. Звісно. Так. І це викликає в мене запитання:
Ітан: Побачимося наступного разу. Так.
Джонатан: Ти пройшов стажування з квантових обчислень, так? Ти працював у компанії, що спеціалізується на квантових обчисленнях, після школи. Більшість людей роблять навпаки: здобувають ступінь з інформатики, вичавлюють з неї максимум, а потім виходять і кажуть: я професіонал, беріть мене. Але ти пішов іншим шляхом. Як це було: від стажування в компанії назад до навчання? Чи правильно сказати, що ти повернувся до вивчення звичайної інформатики? Тож ти подивився на один бік монети, а тепер маєш зовсім інший бік. Як відбувся цей перехід у твоєму навчанні?
Ітан: Так, це було інакше. Це було безумовно цікаво. Так, ти маєш рацію. Я вивчаю класичні обчислення і... не знаю, це не зовсім два боки монети, бо, можливо, це та сама монета - ось головний висновок з цієї аналогії. Бо з одного боку, коли ти справді заглиблюєшся, є фундаментальна різниця між тим, що ми знаємо про класичні обчислення і про квантові. Але зрештою, все ще є ті самі основи аналізу алгоритмів, хороших практик програмування, розуміння, як працювати в команді. Усе це буде дуже схожим. Що стосується теорії, най-самими основами в одному з моїх перших семестрів були алгоритми та структури даних. І незалежно від архітектури, тобі майже завжди потрібно знати ці базові структури даних та алгоритми, щоб написати щось вартісне. Але так, коли ти справді зануришся, чого я ще не робив в університеті, стане трохи інакше. Ти почнеш дивитися на два боки однієї монети. Але зараз я дивлюся на монету як на ціле.
Джонатан: Так, гаразд, класно. Тож ти ще не заглибився повністю. І ще, я хотів запитати про це трохи раніше. Ти згадував, що виріс на фермі, в сільській місцевості, на природі, дуже руками. А тепер ти проводиш, мабуть, значну частину часу перед екраном. Компʼютер, який у тебе є, - це обʼєкт, навколо якого ти обертаєшся набагато більше. Як ти виходиш із компʼютерного світу і воззʼєднуєшся з фізичним світом? Тобі це потрібно? Чи тебе це не надто турбує? Як це відбувається, особливо з огляду на те, звідки ти родом?
Ітан: Так, мені це точно потрібно. Іноді я поєдную. Одна з моїх улюблених справ - винести ноутбук на ґанок і дивитися на захід сонця, працюючи за ноутбуком, якщо погода достатньо гарна. В Орегоні часто занадто дощить. Але так, я думаю, одні з моїх улюблених занять, особливо в Орегоні... якщо ти плануєш, ти казав, що хочеш сюди приїхати, то обовʼязково треба піти хоча б в один похід в ущелину річки Колумбія. Абсолютно чарівне місце. Я люблю ходити в походи. Думаю, це чудовий спосіб воззʼєднатися з природою, що важливо. Я розмовляв з людиною, яка працювала в компанії, і вона сказала: так, кожному потрібно мати щось, що абсолютно не повʼязане з роботою за столом перед екраном. Для нього це була просто поїздка на велосипеді, що я теж люблю. Тож так, це надзвичайно важливо, і я б сказав, походи, велосипедні прогулянки - це добре.
Джонатан: Ітане, у тебе є брати чи сестри? Який склад твоєї сімʼї? Де ти в цьому порядку, так би мовити?
Ітан: Так, я найстарша дитина, і мої двоє молодших зовсім інші, зовсім не цікавляться технологіями. Один хоче займатися театром як актор на повну ставку, а інший хоче займатися освітленням для театру. Тож я, хоч і найстарший, трохи біла ворона в сімʼї.
Джонатан: Це більше творче? Які були речі у твоїй сімʼї, як це описати? Ти кажеш, що ти біла ворона. Це означає, що інформатика й технології ніколи не були на радарі? Як ти опинився... Очевидно, ти займався математикою, фізикою, майстрував руками, хотів щось будувати, і був природний прогрес. Але як... це досить круто, що твої батьки змогли, так би мовити, направити тебе до усвідомлення, що те, чим ти займався, підходить для більш технічної сфери. Це досить рідко. Як це все сталося? Це була просто підтримка батьків?
Ітан: Так. Як це все працювало?
Джонатан: Як це все працювало?
Ітан: Так, я кажу "біла ворона" не стільки як "ізгой", а більше як "той, хто вирізняється". Ти маєш рацію, усі інші в сімʼї, можливо, трохи творчіші й менш логічні. Я думаю багато в одиницях і нулях, тож інформатика виникла для мене природно. Але так, одна з чудових речей у моєму вихованні: одна пара моїх бабусь і дідусів дуже довго була вчителями. І я зміг... Вони справді заохочували навчання. Вони поповнювали мій освітній фонд з самого дитинства. І казали: ми хочемо, щоб ця дитина досягла успіху, реалізувала свій потенціал. Тож я отримав від них багато підтримки. І я чесно не знаю, думаю, було кілька поворотних моментів у моєму житті. Я не знаю, чи займався б я чимось у STEM, якби не один раз, коли я плакав через ділення. Я вивчав ділення у другому-третьому класі і просто не розумів його. Чомусь воно не вкладалося. І мій дідусь, учитель, він викладав у середній школі чи десь так. Одного вечора, після того як я плакав, він посадив мене поруч. Він пояснив мені початки аналізу, ні, вибач, не аналіз, а преалгебру. Я ж учень другого-третього класу. І він каже: гаразд, ми введемо поняття ось такої штуки під назвою x. Ти розвʼяжеш для x так: якщо в нас є x помножити на це дорівнює цьому, чому має дорівнювати x? Я такий: о, очевидно, чотири. Він: гаразд, ми трохи переставимо. Тепер x дорівнює цьому поділити на це, тобто тепер ми ділимо. Я такий: о, тепер я розумію ділення. Тож так, це були основи. А коли я почав займатися технічними речами, я став сімейним IT-фахівцем, скільки себе памʼятаю. Я швидко перевершив решту своєї сімʼї в розумінні технологій. Тож багато було самоосвіти. Я трохи як "термінально онлайн", постійно щось читаю. О, це прозвучить дуже по-ботанічному, тож усі краще будьте любʼязними в коментарях. Але одне з моїх улюблених занять, мабуть, у середній школі було дивитися відео Khan Academy. Частково заради задоволення: о, я отримав стільки балів досвіду, а частково просто тому що було цікаво дізнаватися про всі ці речі. Тож так, багато підтримки і багато самоосвіти.
Джонатан: Так, ти згадував, я мав дуже схожий досвід з таблицею множення, мені було, мабуть, сім років, і памʼятаю, кажуть: гаразд, будемо вчити таблицю множення. І я просто не розумів. Це було так, ніби нейрони в моєму мозку ще не сформувалися, поки хтось не пояснив: візьми три корови і зроби тричі по три корови. Тобто тут три, тут три і тут три. І скільки виходить? І я такий: о, це легко. І тоді ніби спалахнуло. Але це цікаве запитання, яке я часто ставлю багатьом нашим гостям у подкасті:
Ітан: Вони не сформувалися.
Джонатан: Щодо навчання, чи бувають у тебе такі моменти осяяння, чи був такий момент у програмуванні? Це, мабуть, складно визначити, але я точно відчував у своєму досвіді вивчення програмування... бо я намагаюся вже давно, посеред життя, дітей і всього іншого. Але точно є ці моменти осяяння, коли раптом: о! Ти сидиш над проблемою деякий час, і тут воно клацає. Але деякі люди, як-от Ерік, кажуть: ні, просто інформація засвоюється і стає зрозумілою. Не було моменту "еврика". А як у тебе зазвичай? Що тобі потрібно, щоб дійти до точки, коли концепція закріплюється, стає зрозумілою і ти можеш застосувати її в інших аспектах задачі чи мови?
Ітан: Так, це гарне запитання. Думаю, я більше як Ерік у цьому плані: принаймні з програмуванням воно завжди якось було зрозумілим. Було кілька концепцій. Програмування загалом, як я казав, я думаю в одиницях і нулях, мені сняться двійкові коди та стовпці матриць, але... Але щодо деяких концепцій були ці моменти осяяння. Один із головних - рекурсія. Я почав програмувати на початку середньої школи. Весь той час я робив звичайні речі, здебільшого JavaScript, трохи Python. Рекурсії не було. Якщо я викликав функцію, то викликав функцію. Я навіть не думав про виклик функції зсередини самої себе. Як ти взагалі це проаналізуєш? Я пішов до старшої школи, взяв AP Computer Science і мусив вивчати всю цю рекурсію. Вона не мала для мене сенсу. Я такий: що взагалі означає викликати функцію зсередини самої себе? Мені довелося думати про це деякий час. Зрештою, стався момент осяяння, як ти кажеш, але я не можу пояснити, що саме змусило його клацнути, крім наполегливості. Думаю, це підводить до дуже важливої речі. Я чув це від старших розробників, з якими спілкувався, вони казали: немає якихось чітких характеристик, які обовʼязково потрібні, щоб бути хорошим програмістом, крім... головна людина, від якої я це чув, сказала: не впевнений, що цього можна навчитися чи вдосконалити, це просто те, як ти влаштований як особистість, але ти маєш вміти пробувати й зазнавати невдач, пробувати й зазнавати невдач, робити це дуже швидко і знову, і знову, і знову. І бути кровожерно-
Джонатан: І бути впертим і наполегливим. Так, так, абсолютно. Це просто не варіант. Треба просто вставати і знову братися до роботи. Так. Так. Це дуже цікаво.
Ітан: Абсолютно. Бувай. І це те, що я помічав у всіх, кого знав і хто був хорошим програмістом. Багато з них, так, звісно, від природи розумні. Вони швидко все схоплюють. Але більшість із них: так, я витратив вісім годин, намагаючись зрозуміти, чому ця функція не працює. А я такий: чувак, я б уже пішов прогулявся.
Джонатан: Вісім годин - це багато часу. Це багато часу, вкладеного в щось. Але я цілком розумію задоволення від того, що щось працює. І я думаю, саме тому 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 чи C++. Я такий: я не хочу мати справу з таким обсягом виділення памʼяті та помилками з нульовими вказівниками. Думаю, у V немає цих "але". Вона така.
Джонатан: Це досить гучна заява. Тобто це дуже, дуже гучна заява.
Ітан: Яка гучна... Я скажу, що "але" щодо V - це те, що в неї немає великої спільноти. Ось чому я з нетерпінням чекаю на її появу на Exercism, бо думаю, якщо люди її вивчать, вони її полюблять, і навколо неї збереться велика спільнота, люди обʼєднаються навколо неї. Вона швидка. На ній весело писати. Коли я думаю, як має працювати мова програмування, і не знаю точно, як зробити щось у V, я кажу: ну, якби я робив це, то логічно було б так. І воно просто працює, бо це логічна мова програмування. Вона неймовірно швидка. На ній весело писати. Вона надзвичайно безпечна. Коли сторінка V зʼявиться, ви побачите все це на сторінці Exercism. Раджу всім піти й подивитися. Це так весело.
Джонатан: Якщо ви це робите, бо ми зараз проводимо челендж 12 і 23 мов. Не знаю, чи ви бачили, це фактично вивчення нової мови щомісяця. Думаю, для досвідчених розробників це гарний невеличкий челендж. Але ось презентація V, додайте її до свого списку. Обовʼязково, вона запуститься найближчим часом. Тож слідкуйте за цим. Але часто, коли говорять про дуже продуктивні мови, Rust виринає на вершині. Але, кажуть... Це я просто витягую інформацію з повітря, так би мовити. Його неймовірно складно зрозуміти, писати або зрозуміти спочатку, через те, як він влаштований. Не знаю, чи це правда. Але, можливо, ти проллєш світло. Було б круто мати швидку мову, на якій весело писати, яка не складна. Можливо.
Ітан: Класно. Слухай, я знаю достатньо людей, які люблять Rust, тож не буду його сильно критикувати. Єдине, що скажу: він швидкий, але не маленький. V дуже маленька. Якщо хочеш скомпілювати V, а V написана на V. Якщо хочеш скомпілювати V, ти завантажуєш вихідний код. Потім V компілює себе менш ніж за секунду. Якщо хочеш, можеш змусити V скомпілювати себе, а потім використати отриманий бінарник, щоб знову скомпілювати себе за секунду. Ось наскільки вона швидка. На відміну від Rust, який, якщо я правильно памʼятаю, потребує понад 30 гігабайт для повної компіляції та годину часу. Більшість людей насправді не компілюють його самі. Вони просто завантажують готовий бінарник зі сторінки дистрибутива. Але якщо я набираю V на своєму компʼютері, він звертається до GitHub, завантажує вихідний код, компілює себе, і так оновлюється. Це так круто. Так швидко, так мало. Це фантастика.
Джонатан: О, класно. Це мене заінтригувало щодо V. І трохи про мову: як давно вона існує? Як ти з нею познайомився? Якась фонова інформація про V, яка була б цікавою.
Ітан: Так, я не знаю точно, як давно вона існує. Не дуже давно. Це нова мова. Вона все ще на версії 0.3. Тож вона ніби бета. Але я дізнався про неї, здається, два-три роки тому, вона була однією з найшвидше зростаючих мов за зірками на GitHub чи щось таке. І тоді, і я досі трохи цим займаюся, але тепер, коли я знайшов Exercism, я роблю вправи там. У мене є репозиторій на GitHub, де я реалізував факторіал, тобто програму чи функцію для знаходження факторіалу числа багатьма різними мовами. І я такий: я вивчу кілька нових мов, і ось як я це робитиму. І я спробував V, і такий: о, це класно. Тож так я про неї дізнався. І я її полюбив відтоді. Вона чудова.
Джонатан: Класно. О, захопливо. Це чудово. Дякую, що поділився цим. І дякую за те, що створюєш це. Exercism, як ти знаєш, створюють такі люди, як ти, які цікавляться речами. І ми дуже на це покладаємося. Тож величезна подяка і дякую за допомогу. Це підводить нас до того, як ти долучився до Exercism. Розкажи трохи цю історію. Може, ми заглибимося в неї на кілька хвилин, а потім побачимо, куди рухатися далі.
Ітан: Так, звісно. Я люблю відкритий код. Одна з моїх головних заслуг у школі - я змусив basically усіх своїх друзів користуватися Signal замість WhatsApp чи Messenger, бо він з відкритим кодом, приватний і все таке. Тож я шукав щось із відкритим кодом. Здається, я використовував сайт alternative.to. Я шукав відкриту альтернативу HackerRank, і Exercism був одним із тих, що зʼявилися. І... о, так, я знаю, чому я це шукав: я намагався вивчати Julia. Я шукав гарне місце для цього. І Exercism був одним із тих, де був трек Julia, тож я спробував. І насправді, я навіть не думаю, що тоді знав, що він з відкритим кодом. Я просто шукав щось схоже на HackerRank, де можна вивчити нову мову. Я почав робити Julia, і якось побачив: подивись на вихідний код цієї сторінки. Я такий: о, це відкритий код. Я почав озиратися: цікаво, чи є в них трек V. І я трохи пошукав. Виявилося, що деякі люди почали думати про це давно. Це була ще версія 0.2, навіть не 0.3. Це не мало вийти. І я такий: привіт, хтось ще працює над цим? Людина насправді відповіла. А якщо хтось знає щось про GitHub, то знає, що ти знайдеш мертвий issue, поставиш запитання і ніколи не отримаєш відповіді. А я отримав відповідь. Це було божевільно.
Джонатан: Відповідь, це було божевільно, як великий океан, так.
Ітан: Так, просто в чорну діру, і більше ніколи не побачиш. Але так, хтось відповів: знаєш, чесно, я перейшов на щось інше. Якщо хочеш трек, бери його. Я такий: знаєш, я, мабуть, зміг би зробити принаймні частину. Тож я почав потроху працювати над ним у вільний час. І ось ми тут, сподіваюся, скоро запустимо.
Джонатан: Бо ми розмовляли деякий час тому. Думаю, ти був у процесі запуску. Було дуже приємно звʼязатися. Але так, з нетерпінням чекаю на запуск і підтримку. Тож якщо ви це слухаєте, ви частина колективу V, який має зробити цей перший мовний трек. А з чим ви запускаєтесь? Скільки концептуальних вправ, практичних вправ, що ви приготували для всіх?
Ітан: Так, це трохи базово. Концептуальних вправ немає, але є 20 практичних вправ. Здається, розподіл такий: 10 легких, 7 середніх і 3 складних. Гаразд.
Джонатан: Гаразд. Чудово. Це буде здорово. З нетерпінням чекаю. Ми будемо всіх інформувати. І якщо у вас є запитання про V, будь ласка, пишіть. Ітане, ми також додамо багато чого в нотатки до шоу. У мене є чудовий список, який я записую, щоб запамʼятати все, про що ми говорили.
Ітан: Напишіть мені, або я перевіряю форум Exercism. Якщо хочете відкрити обговорення там і позначити мене, будь ласка. Тож так.
Джонатан: Класно. Я подбаю, щоб для цього була категорія. Думаю, нам, можливо, потрібно додати категорію V. Але гаразд, ще кілька дрібниць, яких я хочу торкнутися, а потім я відпущу тебе спати, а сам піду візьму ранкову каву. Я в Кейптауні, усі, що дуже далеко. Це на краю Африки, і мені це подобається, бо це так далеко від багатьох речей, але мені подобається, що ми тут.
Ітан: Гарного ранку. Я не усвідомлював, що ти робиш це без кави. Скажу, я дуже вражений. Це неймовірно.
Джонатан: Я пив чай. Я пив чай, бо це все, що було. Ми страшенні сноби. Тобто, ви, мабуть, теж, знаючи вас, типових американців із Західного узбережжя, і це буде величезне узагальнення. Мене, мабуть, за це критикуватимуть. Але кава тут, у Кейптауні, - це велика справа. Нам дуже пощастило з якістю кави. Але я знаю, що Західне узбережжя США також дуже вибагливе до кави загалом. Насправді, думаю, більша частина світу така сама.
Ітан: Ти говорив про суперництво між Сіетлом і Портлендом. Думаю, доведеться визнати, що в Сіетла краща кава, але в нас більше мостів, тож не знаю, хто перемагає.
Джонатан: Так, це чудовий спосіб... ну, є цікаві критерії для вимірювання крутості міста, але насправді, на жаль, доведеться віддати перевагу Сіетлу, знову ж таки, бо в нас у Кейптауні є сіетлська кава. Тож якщо орегонська кава колись дійде до наших берегів, то це буде гарний день. Гарний день, звісно. Гаразд. Перш ніж ми продовжимо, Ітане, якийсь конкретний обсмажений сорт чи суміш кави ти рекомендуєш спробувати? Ти на такому рівні кавового сноба?
Ітан: Ні, але якщо колись будеш в Орегоні, обовʼязково спробуй Dutch Bros Coffee. Вона ніби народилася й виросла в Орегоні. Вони починали в маленькому містечку в якійсь крихітній халабуді, і всім сподобалося, а тепер вони всюди.
Джонатан: Класно, Dutch Bros Coffee, вітаємо їх. Вони, мабуть, ніколи не дізнаються, що їх згадали в цьому подкасті. Хіба що ми просто надішлемо їм і скажемо: дайте нам промокод для слухачів. Тож, можливо, ми так і зробимо. Гаразд, Ітане, кілька запитань, які ми часто ставимо нашим гостям щотижня. Це наш стандартний набір запитань, які, я вважаю, дуже класні, особливо щодо Exercism, намагаючись допомогти людям вчитися і сприяти тому, щоб люди могли займатися програмуванням, мислити програмуванням, кодити і все таке. Отже, перше. У нас є концепція "пагорба, на якому ти готовий померти" в технологіях. Це звучить трохи мелодраматично. Можливо, так і є. Але що б ти назвав єдиною річчю, за яку ти справді тримаєшся, особливо в технологічній сфері, або яку цінність ти б відстоював? Ми говорили про "боротися за", але "відстоювати", мабуть, доречніше. Що б ти сказав, що це ключова річ, яку ти підтримуєш і вважаєш справді важливою, особливо в технологіях? Думаю, це може бути будь-що, досить широко.
Ітан: Так, моя річ випливає з... не знаю, чи бачив ти на GitHub? Є такий список, їх називають "закони хакерів".
Ітан: Так, гаразд. Один із них: код завжди довше читати, ніж писати. Тож пагорб, на якому я готовий померти, виходячи з цього: ти маєш писати код, або, вибач, важливіше писати хороші коментарі та хорошу документацію, ніж писати хороший код. Ось моя гаряча теза на сьогодні.
Джонатан: Класно. Це справді цікаво. Важливіше писати хороші коментарі, ніж хороший код. Я тут записую. Це золото. Чудово.
Ітан: Можливо, це менш важливо, знаєш, якщо ти робиш це на Exercism і ніхто ніколи не побачить твоє рішення, то, можливо, трохи менш важливо. Просто напиши ту функцію. Але якщо ти береш те, що вивчив на Exercism, і застосовуєш це на роботі чи в спільноті відкритого коду, то я точно помру на цьому пагорбі.
Джонатан: Гаразд, це справді цікаво, бо я думаю, що документування речей, написання хороших коментарів, допомагає не лише іншим, а й тобі структурувати думки логічно... це допомагає структурувати мислення. Це як планування есе: ти хочеш викласти вступ і плануєш есе ще до того, як почнеш писати. І я думаю, це одна з речей, до яких ми дуже прихильні в Exercism. І я часто чую від Джеремі, що він витрачає більше часу на роздуми, ніж на написання коду. І часто, коли він пише код, він пише рішення, яке вже сформував, ґрунтовно все обміркувавши. Тож код - це просто матеріалізація думки. І я думаю, це добре узгоджується з багатьма найкращими практиками. Тож якщо хтось може щось винести з сьогоднішнього дня, і ти вчишся програмувати, ти в розробці, пиши хороші коментарі, використовуй їх для мислення, правильно все плануй, це допомагає тобі й іншим.
Ітан: Так.
Джонатан: Сподіваюся, це має сенс. Це класний пагорб. Дякую.
Ітан: Я так і зроблю. Дякую. Дякую за це. Те, що ти кажеш про допомогу не лише теперішньому тобі, а й майбутньому. Деякі кажуть: пиши код так, ніби його читатиме хтось інший. Я завжди намагаюся писати код так, ніби його читатиму я через шість місяців. Я не матиму жодного уявлення, що я робив.
Джонатан: Так, так. Це як контекст. Контекст - король. І допомагати людям це зрозуміти - це справді класно. Гаразд. Наступне запитання.
Ітан: Так.
Джонатан: Чи можеш ти визначити ключові дії чи поведінку, які прискорили твоє навчання? Чи можеш ти помітити цю поведінку в інших, яка дозволяє навчанню бути ефективним?
Ітан: Так, і я думаю, повернуся до того, про що говорив раніше: просто пробувати й зазнавати невдач знову і знову. Не знаю, чи є щось, що я явно робив для прискорення навчання, але так, ти будеш натрапляти на перешкоди, так? Це не питання. Настане момент, коли ти маєш цю дивну помилку і не можеш її зрозуміти. І я думаю, деякі люди надто схильні до позиції "я ніколи не попрошу нікого про допомогу". І вони просто сидять, як мій друг, який казав: так, я дивився на цю функцію вісім годин. Нарешті зрозумів, у чому проблема. А інші, коли натрапляють на перешкоду, або опускають руки, або одразу когось питають. Думаю, моя рекомендація, або те, що я сам мусив робити, бо я більше з тих, хто каже "я сам розберуся", я схиляю голову, переважно тому що не хочу турбувати інших або виглядати дурнем. Бо скажуть: дурнику, ти пропустив крапку з комою. Вона в рядку 13. Я такий: а, точно. Тож встанови таймер, на скільки вважаєш за потрібне. Але десь у діапазоні від 5 до 15 хвилин: гаразд, я буду боротися з цим X часу. І якщо не розберуся до кінця, то якщо є хтось, у кого можна запитати, наприклад, колега чи друг: допоможи розібратися, то йди до них. Або, можливо, Stack Overflow, і ти можеш зробити класичне: привіт, Stack Overflow, у мене є запитання. І отримати один мінус і нуль відповідей. Це завжди весело. Або щось, що мені іноді допомагає, - просто піти прогулятися. Якщо нікого немає поруч, я не можу нічого зробити. Я борюся з цим стільки часу. Прочищаю голову, прогулянка, пʼять хвилин, повертаюся. І я б сказав: навіть якщо ти в професійному середовищі розробників, якщо це не місце, де заохочують: якщо потрібно, піди прогуляйся, прочисти голову, повернися в зону, можливо, варто пошукати інше місце, бо всі місця, де я працював і які були хорошими, заохочували це, що надзвичайно важливо. Психічне здоровʼя... Ти не можеш писати хороший код, якщо твої думки в занепаді.
Джонатан: Правда, дуже, дуже правда. Класно. Гаразд, це наше останнє запитання на сьогодні. Мені справді сподобалося спілкуватися цього ранку. Отже, запитання: які твої рекомендації для спільноти цього тижня? Це може бути досить широко. Наприклад, сходити поплавати в Атлантичному чи Тихому океані. Випити еспресо в Dutch Bros Coffee, якщо ти в Орегоні. Що б ти рекомендував спільноті цього тижня?
Ітан: Думаю, я вже це зробив. Я вже сказав: подивіться на V, чуваки. Вона фантастична. Це так весело. Якщо хочете щось, можливо, трохи веселіше, я мушу рекомендувати Metaculous - це вебсайт. Metaculous.com. M-E-T-A-C-U-L-U-S. І це один із моїх улюблених способів витрачати час. Я, мабуть, роблю це трохи занадто часто. Це вебсайт, де ти намагаєшся передбачити майбутнє. Є запитання: у 2035 році якою буде загальна кількість електроенергії, виробленої сонячними панелями, у терават-годинах? І ти такий: гаразд, ось мій діапазон. Думаю, буде між цим і цим. І сотні людей заходять на цей сайт і намагаються передбачити. І чим ближче ти до реального числа, тим більше балів отримуєш. Вони роблять це, щоб допомогти людям краще думати про свої уявлення про світ. Мені це дуже допомогло: знаєш, мо упередження каже, що ймовірність цього, не знаю, 40%. Але якщо я насправді подивлюся на цифри, то ближче до 75. І я б цього не очікував. Це божевілля. Тож це моя рекомендація. Або подивіться V. А коли вивчите її, бо це дуже швидко, дуже весело, дуже легко, підіть подивіться Metaculous.
Джонатан: Гаразд, класно. Звучить чудово. Ітане, дуже вдячний за твій час. Для тебе це вечір, для мене ранок. Було надзвичайно цікаво. Усе про квантові обчислення, я трохи чув про це, але думаю, що піду і послухаю твій подкаст. Якщо ви це слухаєте, ми також опублікуємо подкаст Ітана в коментарях. Будь ласка, поставте лайк, підпишіться і зануртеся. Я теж збираюся послухати у вільний час, бо мені було абсолютно захопливо про це говорити. Дякую за все, що ти робиш для Exercism. З нетерпінням чекаю на запуск треку V найближчим часом. Люблю рекомендації, було дуже приємно поговорити. Завершуємо. Ітане, ще раз дякую за твій час, і чудового залишку вечора в Орегоні.
Ітан: Дякую, Джонатане. Було приємно, і дякую за все, що ти робиш для Exercism. Я знаю, що ти робиш це цілодобово, навіть о 5:30 ранку, якщо потрібно, як я знаю з власного досвіду. Тож так, це чудово, все, що ти робиш. Я ціную це. І так, дякую, що запросив мене.
Джонатан: Класно, будь ласка, будь ласка. Чудово. Усім привіт.
Слухаймо, навчаймося й надихаймося від учасників нашої спільноти.