
Japanese: 
よっしゃ！
カテゴリ論（圏論）の、授業に、ようこそ
それで、ここにいるのは全員プログラマか？
全員プログラマ？プログラマじゃないやついるか？
プログラマじゃないやつは・・・手を挙げてください
OK、プログラム全然書いたことない？
>趣味でちょっと勉強した
OK、それで十分だ。
それじゃ、
ハスケルの知識が少しでもあるやつは何人くらい？
わあたくさん！
いいね！
多分、俺が例として挙げるのは、

English: 
Alright, welcome to category theory lectures
So, are we all programmers here?
Is everyone a programmer, or are there people who are not programmers?
If you're not a programmer, please raise your hand
Okay, thats means, like, you don't write any programs?
> I kind of learn as a hobby
Okay well that's good enough
okay and how many people here have some
little bit of knowledge of Haskell, okay
Oh Lots, that's, that's, excellent because
I might be giving some examples mostly

Chinese: 
好的，歡迎收看範疇論的課程
所以，在座的都是工程師嗎？
大家都是工程師，或者這邊有誰不是工程師嗎？
如果你不是工程師，請舉起手
好的，這代表你並不寫程式？
> 我只是為了興趣
好的，這樣夠好了
好的，這邊有多少人有些Haskell的經驗
好的，哇
噢很多，這真的、真的很棒，因為大多數時候我可能會提供這方面例子

German: 
Willkommen zur Vorlesung zur Kategorientheorie
Nun, sind wir hier allesamt Programmierer?
Ist jeder hier ein Programmierer, oder sind hier Personen, die keine Programmierer sind?
Falls Sie kein Programmierer sind, zeigen Sie bitte auf.
In Ordnung, Sie schreiben also keine Programme?
> Ich lerne das gerade irgendwie als Hobby.
Prima, das sollte ausreichen.
Und wie viele Leute haben hier ein wenig Erfahrung mit Haskell?
Okay
Oh, viele! Das ist hervorragend, ich werde damit einige Beispiele geben. Im wesentlichen...

Russian: 
Окей, добро пожаловать на лекции по теории категорий.
Итак, тут все программисты?
Все программисты, или нет?
Если нет, пожалуйста, поднимите руку.
ОК, значит, не пишете никаких программ?
> Да я учусь, это хобби;
Ну тоже неплохо
Многие ли из вас хоть немного знают Haskell?
О, порядочно, это прекрасно, потому что я буду давать примеры,

Japanese: 
ほとんどが、ほらあれだよ、
宣言とか関数とかそんな感じのやつだ。
全部説明するけど、あらかじめちょっとでも知ってるといい。
それで、俺はプログラミング言語を教えるわけじゃなくて、カテゴリ論を教えるわけで、
カテゴリ論というのは最も抽象的な・・・
いやたぶん「ほぼ最も」抽象的な数学の分野だ。
な？
それで、疑問なのは、
なんで俺らはここにいるのか？
それがプログラミングとなんの関係が？
だろ？
大抵のプログラマは数学が嫌いだ。
大学で数学を学び終えると、
それでマジで幸せ。
「もう一生やらねえ」
「数学嫌いだ」とかそんなだ。
それで、おまえらは何でここに・・・

Chinese: 
就像你知道的，宣告、函數之類的
我會解釋一切，不過如果能有些
概念是好的。所以我不真的會教一個程式語言，這會是關於
範疇論。範疇論是最抽象的，或
可能幾乎是數學最抽象的部份
所以問題是，我們為什麼在這裡？
是啊，這和寫程式有什麼關係呢？
而且很多程式設計師討厭數學
他們在大學修習完數學然後現在他們
非常開心。「在我的下半生不需要再碰它了」

English: 
just like you know, declarations,
functions or something like that
I'll explain everything but it's it's
good to have a little bit of
understanding. So I'm not really teaching
a programming language, it will be about
category theory and category theory is
like this most abstract, or well maybe
almost the most abstract part of
mathematics, right
so the question is why are we here?
what does it have to do with programming,
right?
and a lot of programmers they hate math
they finished learning math at college and now they
are really happy now "for the rest of my
life I will not have to touch it"

Russian: 
в основном, объявления функций, или что-нибудь в таком духе.
Я всё буду объяснять, но базовое понимание не помешает.
Дело в том, что я не буду учить вас языку программирования,
курс будет о теории категорий,
а это самая абстрактная, ну, может, почти самая абстрактная область математики.
Резонный вопрос: а вообще зачем мы здесь?
Какое это отношение имеет к программированию?
К тому же, многие программисты не любят математику,
они её закончили изучать ещё в институте, и теперь счастливы,
дескать, "до конца жизни не придётся к ней прикасаться",
"я ненавижу математику" итд.

German: 
so etwas wie, naja, Deklarationen, Funktionen und solche Dinge.
Ich werde das alles erklären. Es ist aber sicher hilfreich grundlegende Kenntnisse zu haben.
Nun, ich unterrichte nicht wirklich eine Programmiersprache. Es geht mehr um...
...Kategorientheorie. Kategorientheorie ist so etwas wie der abstrakteste, oder wenigstens...
... der fast abstrakteste Teil der Mathematik.
Die Frage ist nun, warum sind wir hier?
Was hat das alles mit Programmierung zu tun?
Und eine Menge Programmierer hassen Mathe.
Sie haben mit Mathe nach ihrer Ausbildung abgeschlossen,
und sind zufrieden: "Nie wieder Mathe!", ...

German: 
..."Ich hasse Mathe" und so weiter. Und Ihr seid hier als, ich weiß ja nicht, Bestrafung?
Warum denken Sie Kategorientheorie könnte wichtig sein?
Was denken Sie? Verwenden wir funktionale Programierung?
Ist Kategorientheorie nur wichtig für die funktionale Programmierung oder könnten andere Bereiche ...
... der Programmierung vielleicht auch davon profitieren?
Springt dabei vielleicht noch mehr heraus?
Haben Sie schon man von "Funktoren" gehört? Wer hat hat von Funktoren gehört?
Ja, und wer weiß, was Funktoren sind?
Hm, einige. Das ist gut und bedeutet, ich kann diese Sachen erklären und es ist für Sie keine vollständige ...
... Wiederholung bekannter Dinge.

English: 
"I hate math" and so on, and you guys here come for, I dunno, punishment?
Why do you think
category theory might be important?
What do you think, do we do functional
programming?
Is category theory only relevant to
functional programming or other branches
of programming would maybe profit from it too?
is there something more to offer?
Have you heard of functors, who's heard of functors?
yeah, and who knows what functors are?
Uh huh, a few. That's good, that means i can actually explain stuff and you won't be totally
repeating what you already know

Japanese: 
理解できねえ。罰かなんかか？
なんでカテゴリ論が重要だと思った？
どう思う？
お前ら関数型プログラミングするか？
カテゴリ論は関数型プログラミングにだけ関係してるのか、
それとも
他の系統のプログラミングもカテゴリ論の恩恵を受けれるのか？
もっとなんかいいことがあるのか？
ファンクタ（関手）って聞いたことあるか？
聞いたことあるやつ？
そうか、じゃファンクタが何か知ってるやつは？
少ないな。よかった。
俺がこれから教えることが、お前らにとって、
知ってることの繰り返しじゃないってことだ。

Chinese: 
「我討厭數學」之類的，然後你們為了，難道是，被懲罰而來？
為什麼你們會覺得範疇論可能很重要？
你們怎麼想的，大家用函數式編程嗎？
範疇論是只和函數式編程相關
還是也可能有助於
其它寫程式的方式？
它能提供更多嗎？
你們聽過函子嗎，誰聽過函子？
好，那誰知道函子是什麼？
啊哈，有一些。
這很好，這代表我可以真的解釋些概念而你不會完全在
重複你已經會的

Russian: 
Вы, ребята, сюда сосланы
отбывать наказание, да?
Как вы думаете, почему теория
категорий может быть важна?
Для функционального
программирования?
Может, теория категорий релевантна только для функционального программирования?
Или другие области тоже могут из неё почерпнуть
что-нибудь полезное?
Есть ей, что ещё предложить? Вы когда-нибудь слышали о функторах?
Кто из вас слышал?
Ну а кто знает, что это такое?
Ага, немного. Это хорошо, значит, можно будет объяснять что-то новое для вас,
а не повторять уже изученное.

Chinese: 
我沿著一條崎嶇小徑來到範疇論的世界
我從組合語言開始學習程式
你在可能的最低階層詳盡的告訴電腦要做什麼
例如「從記憶體拿取這個東西，把它放進暫存器，把它當成
位址然後跳轉」之類的。我非常精確地告訴電腦
要怎樣做，嗯。這是非常命令式的編程。我們
從最命令式的編程方法開始然後我們持續
一直這麼做，直到

German: 
Also, ich bin zur Kategorientheorie über einige Umwege gekommen.
Ich habe mit Assembler das Programmieren begonnen.
Das die niedrigste mögliche Ebene. Wo man dem Computer ganz genau sagt, was zu tun ist.
Bis hinunter zu: "Nimm das Ding aus dem Speicher, tue es in das Register, verwende es als ...
... eine Adresse und dann spring dahin" und so weiter.  Das sagt dem Computer sehr genau...
... was zu tun ist. Das ist eine sehr imperative Art der Programmierung. Wir beginnen ...
...mit diesem imperativsten Ansatz zu programmieren und dann...
...ziehen wir mit dieser Art durch unser Leben. Und dann ..

English: 
so I came to category theory through a
long long twisted road
ok when I started programming I started
programming in assembly language
the lowest possible level, right, where you actually tell the computer exactly what to do
right down to "grab this thing from
memory, put it into the register, use it as an
"address and then jump" and so on so this
is very precisely telling the computer
what to do right this is this is a very
imperative way of programming we start
with this most imperative approach to
programming and then sort of we drag
this this approach to programming
throughout our lives right and like we

Russian: 
Я вот пришёл в теорию категорий
длинной-предлинной запутанной дорогой.
Когда я начинал
программировать, я писал на ассемблере,
на низшем возможном
уровне, где приходится компьютеру очень точно говорить, что делать,
прямо до "возьми вот эту штуку из памяти, положи в регистр, интерпретируй как адрес и прыгни по нему"
Это очень точный способ дачи указаний компьютеру,
очень императивный путь программирования.
Мы начинаем с этого самого императивного подхода,
потом тащим его всю жизнь за собой, в конце концов же, приходится
отучиваться от него.

Japanese: 
それで、俺は長い長いねじれた道を通ってカテゴリ論にたどり着いたんだ。
プログラミングを始めた時は、
アセンブリ言語で始めたんだ。
一番最低水準のやつだ。だろ？
コンピュータが正確に何をするかを書くんだ。だろ？
こいつをメモリからもってきて、
それをレジスタにいれて、
そいつをアドレスとして使って、
それでジャンプとかそんなだ。
すごく正確にコンピュータが何をするのかを書くんだ。
な？
これはすごく命令的なプログラミングだ。
俺らはこの最も命令的なアプローチでプログラミングを始めたんだ。
そしてそれを生涯引きずってしまってる。だろ？
いつか忘れないといけない。

German: 
... an einem gewissen Punkt, müssen wir diese Art wieder verlernen. Dieser Programmieransatz ist in der ...
...Informatik eng verbunden mit Turingmaschinen. Eine Turingmaschine ist so eine ...
... sehr primitive Maschine, die Lochstreifen schreibt und so etwas.
Da gibt es keine höhere Programmierung. Das ist gerade wie in der ...
... Maschinensprache: "Lies diese Zahl, schreib sie auf das Band, lösche etwas
vom Band" und so weiter. Also, das ist die eine Art zu Programmieren.
Übrigens, alle dies Arten zu Programmieren wurden erfunden bevor es auch nur...
... Computer gab. Und dann ist da ein anderer Ansatz zur Programmierung, der kam...
... aus der Mathematik: das Lambda-Kalkül. Von Alonzo Church und diesen Leuten.
Die Fragestellung ist: "Was kann man berechnen...
... wenn man Mathematik betreibt mit Bezug auf...

English: 
have to unlearn at some point. And this
approach to programming sort of in
computer science is related to Turing
machines. A Turing machine is this kind of
very primitive machine, it just stamps stuff on a paper tape, right
there is no high-level
programming there it's just like this is
the assembly language "read this number,
put it back on tape, erase something from
the tape" and so on so this is this one
approach towards programming
by the way, all these approaches to programming
were invented before there were even
computers, right and then there's the
other approach to programming this came
from mathematics the lambda calculus
right, Alonzo Church and these guys
and that was like "what is possible
to compute, right,
"thinking about mathematics in terms of

Chinese: 
某刻我們必須假裝忘記它。計算機科學中這樣的編程方式
和圖靈機有關。圖靈機是種
非常基本的機器，它只在一個紙帶上打印，是吧。
沒有高階編程，這就像是
組合語言:
「讀取這個數字，存回磁帶上，消除
某些磁帶上的東西」等等。這是一種寫程式的方式
順帶一提，這些編程方式甚至在電腦出現之前就被發明了
然後有另一種編程方式，來自於
數學，即lambda演算，阿隆佐·邱奇和那些人
問「什麼是可計算的？」
「以東西會怎麼樣被實際被執行，變換，來

Russian: 
Этот подход в информатике связан с машинами Тьюринга.
Машина Тьюринга очень примитивна, она просто печатает на бумажной ленте,
здесь нет никакого высокоуровневого программирования, это как ассемблер:
"прочти это число, запиши обратно на ленту, сотри что-нибудь
с ленты" итд.
Это первый подход, кстати, все эти подходы появились ещё до первых компьютеров,
Но ведь есть и другой,
пришедший из математики, это лямбда-исчисление.
Алонзо Чёрч и другие ребята думали: "А что вообще вычислимо?", думали о

Japanese: 
それで、
このプログラミングのアプローチは、
コンピュータ・サイエンスでは、
チューリング機械と関係している。
チューリング機械ってのは、とても原始的な機械で、
そいつは紙のテープに、
スタンプ的なものを押すだけだ。
な？高水準のプログラミングは無しだ。
ただのアセンブリ言語みたいに、
この数字を読んで、
それをテープに戻して、
テープから何か消して、
てなかんじだ。
これがプログラミングへの一つのアプローチだ。
ところで、
これらプログラミングへのアプローチというのは全部、 コンピュータができる前に発明されてるんだ。
それで、数学から出てきた別のアプローチが、ラムダ計算だろ？
アロンゾ・チャーチとか。こいつらだ。
それでそれは、
「計算可能性とはなにか？」みたいな、
だろ？

Russian: 
математике в терминах "как алгоритмы исполняются", "как
трансформируются".
Эти подходы не очень практичны, хотя некоторые так и пишут на ассемблере, это возможно, но оно
не масштабируется, потому и придумали языки с более высоким
уровнем абстракции.
Абстракцией следующего уровня стало процедурное программирование.
Что характерно для него, так
это деление больших задач на процедуры,
у каждой своё имя, количество аргументов, она может возвращать какое-то значение,

Chinese: 
思考數學。」嗯
所以這些程式設計的技巧不是非常的實際
雖然人們用組合語言寫程式而這是可行的但
它們並不真正
是可擴展的，這是為什麼我們發明了提供更高層級抽象的語言
然後下個層級的抽象是程序式編程
程序式編程的特徵是你把一個大問題
分割程很多程序且每個程序都有名字、有
一定數量的參數
或者它可能傳回一個值，恩

English: 
"how things can be actually executed
in some way, transforming things", right
so these approaches to
programming are not very practical
although people write programs in
assembly language and it's possible but
they don't really scale, so this is why we
came out with languages that offer higher levels of abstraction,
and so the next level abstraction was procedural programming
what's characteristic of procedural
programming is that you divide a big
problem into procedures and each
procedure has its name, has a
certain number of arguments
maybe it returns a value sometimes right

Japanese: 
数学について考えるんだが、使う言葉は、
どうやって事が実際に「実行」されるのかとか、
なにかをどうにかして「変換」するとか、
だろ？
それで、これらのアプローチはあまり実用的では無い。
アセンブリ言語でプログラム書くやつもいるし、
不可能ではないんだが、
現実には大きくできないんだ。
そうだろ？
そういうわけで、
より高水準の抽象化をもたらす言語が出てきたんだ。
その次の水準の抽象化というのが、
「手続き型プログラミング」だ。
手続き型プログラミングの特徴ってのは、
大きな問題を「手続き」に分けるんだ。
でそれぞれの「手続き」には、「名前」があって、
決まった数の、「引数」があって
ひょっとしたら、そいつは「値」を返す。
ときどき。
だろ？

German: 
...Dinge, die man in bestimmter Weise ausführt und dabei etwas transformiert"
Nun, diese Ansätze zur Programmierung sind nicht sehr praktisch.
Es gibt schon Leute, die in Assembler programmieren. Das ist schon möglich.
Ist aber nicht flexibel. Daher kamen Programmiersprachen auf, die mehr Abstraktion erlauben.
Und die nächste Abstraktionsstufe ist die prozedurale Programmierung.
Typisch ist beim prozeduralen Programmieren das Aufteilen eines großen...
...Problems in Prozeduren. Jede Prozedur hat ihren Namen,  hat eine...
... bestimmte Anzahl Parameter,...
... gibt vielleicht einen Wert zurück.

English: 
not necessarily, maybe it's just for side
effects and so on, but because you
chop up your work into smaller pieces and you can like deal with bigger
problems right so this this kind of
abstracting of things really helped in
in programming, right and then next people came up with this
idea of object-oriented programming right
and that's even more abstract now you
have stuff that you are hiding inside
objects and then you can compose these
objects right and once you program an object you don't have to look
inside the object you can forget about
the implementation right and and and
just look at the surface of the object
which is the interface and then you can

German: 
Muss es aber nicht notwendigerweise tun, vielleicht nur wegen der Seiteneffekte und so. Aber weil man ...
... seine Arbeit in kleine Teile zerlegt, kann man etwas mit größeren ...
... Problemen umgehen. Diese Art der Abstraktion hilft wirklich sehr ...
...beim Programmieren. Als nächstes kam man auf die ...
... Idee der objektorientierten Programmierung. Und das ist sogar noch abstrakter. Nun ...
... hat man Zeug, dass man in den Objekten versteckt und danach kombiniert man diese...
... Objekte wieder. Sobald man ein Objekt programmiert hat, muss man nicht mehr...
... hinein schauen. Man kann die Implementation getrost vergessen.
Man muss nur noch auf die Oberfläche des Objekts schauen, was die Schnittstelle ist, und dann kann man...

Chinese: 
也不一定，它可能只為了副作用之類的，但因為你
把你的工作分成小片段
你可以處理更大的
問題。這樣的抽象對寫程式真的有幫助
然後接下來大家發現
物件導向這樣的點子。這甚至更抽象
現在你在物件內藏東西然後可以組合這些
物件對吧
然後一旦你寫了個物件你不必去探討物件
的內部
你可以忘了物件的實作然後
只觀察物件的表面，介面
然後你可以

Japanese: 
必ずってわけじゃないが、
多分、副作用を避けるためだ。
とかそんなだ。
やることを細かくぶった切るから、
より大きい問題を扱うことができる。
な？
つまり、こういう感じに物事を抽象化するのは、
プログラミングにマジで役に立つんだ
な？
で次に人々が思いついたのは、
オブジェクト指向プログラミングだろ？
そしてそれはさらに抽象的で、
今度は、ブツはオブジェクトの中に隠してしまって、
そして、これらのオブジェクトを合成できて
な？
一旦オブジェクトをプログラムしたら、
もう中身を見なくていい。
ある意味、実装については忘れていいんだ。
だろ？
それで、
ただオブジェクトの表面だけ、つまり、
インタフェースだけ見て、

Russian: 
а может и не делать этого, может, она только ради побочных эффектов итд.
Но т.к. вы делите работу на мелкие кусочки, вы можете работать с более сложными задачами,
так что этот способ абстрагирования оказался весьма полезен в программировании.
Потом было придумано объектно-ориентированное программирование, и оно еще более абстрактное.
Там у вас есть штуки, которые вы
прячете в объектах, а потом сочетаете их,
и как только вы закодили объект, не нужно больше заглядывать внутрь него.

English: 
combine these objects without looking
inside and you know you have the bigger picture
and then you combine them into bigger
objects and so you can see that there is
a a certain idea there, right? and so
it's a very important idea that if you
want to deal with more complex problems
you have to be able to
chop the bigger problem into smaller problems, right,
solve them separately and then combine the solutions together
And there is a name for this, this is called composability, right.
So composability is
something that really helps us in programming.
What else helps us in programming? Abstraction, "abstraction" that comes from

Russian: 
Вы можете забыть о его реализации и только смотреть на его поверхность, т.е. интерфейс.
Тогда вы можете комбинировать
их в более сложные объекты...
Видите здесь какую-то закономерность?
Это весьма важная идея, если хотите решить сложную задачу, вам нужно уметь разбивать большие задачи на малые,
решать их по отдельности, а затем собирать решения вместе.
И для этого есть название, это компонуемость.
Итак, компонуемость, вот что
помогает нам программировать. Что ещё помогает?
Абстракция. "Абстракция" происходит от греческого слова,

Chinese: 
在不探討物件的內部下組合它們
然後你曉得你對整個程式有更深入了解了
然後你再把它們組成更大的物件。所以你可以看到這裡有
有個特定的點子，是吧？這是個非常重要的點子，如果你
想處理更大的問題，你必須能
把大問題分割成更小的問題
分別解決後把這些解組合起來
這樣的行為有個詞：「可組合性」
可組合性是一個大大地幫助我們寫程式的概念
還有什麼也是可以幫助我們寫程式的？
「抽象」。抽象這個詞來自

Japanese: 
中身を見ずに、こいつらオブジェクトを結合することができる。
わかるだろ？よりでっかい絵がかけるんだ。
それでそれから、
そいつらをよりでっかいオブジェクトへ結合して、・・・
もうわかっただろうけど、
ここに確実に、アイデアがあるんだ。な？
とても重要なアイデアで、こいうことだ。
より複雑な問題を扱いたければ、
こういうことが出来ないといけない。
大きい問題をより小さい問題にぶった切って、
な？
そいつらを別々に解いて、
それから、それらの解を結合するんだ。
な？
そしてこれには名前がついてる。
コンポーザビリティ（合成可能性）だ。
このコンポーザビリティがプログラミングにマジで役に立つなにかだ。
他には？プログラミングに役に立つのは？
抽象化！

German: 
... diese Objekte verknüpfen, ohne hinein zu schauen, so behält man den Überblick...
...und dann kombiniert man sie weiter zu größeren Objekten. Hier erkennt man ...
...ein bestimmtest Konzept. Es ist die sehr wichtige Idee, dass wenn man...
...mit komplexeren Problemen umgehen möchte, dann muss man...
...das große Problem in kleinere Probleme zerlegen,...
...diese getrennt lösen und schließlich die gesamte Lösung wieder zusammenstellen.
Dafür gibt es eine Bezeichnung: Kombinierbarkeit.
Also ist Kombinierbarkeit etwas, was uns wirklich beim Programmieren hilft.
Was hilft uns sonst noch beim Programmieren? Abstraktion. Das Wort kommt ...

Japanese: 
抽象化（abstraction）はギリシャ語から来てて、
意味は、減算（subtraction）と似たりよったりだ。
つまり
「詳細を消し去れ！」
詳細を隠したいんだ。
こう言いたいんだ、
「こいつらは細かい詳細は違うが、俺にとっては同じだ。」
「俺は詳細は気にしない」
オブジェクト指向プログラミングでは、
「オブジェクト」がこの詳細を隠す何かだ。
詳細を包み込んで抽象化するんだ。
な？
それでさらに、抽象データ型なんてのまであって、
こいつらはインタフェースだけ露出してて、
どうやって実装されてるかは知らなくていいことになってる。
だろ？
俺が初めて、オブジェクト指向プログラミングを学んだ時は、
「こいつは、パンを切ること以来の最高の発明だ！」
って思ったよ。
それで、オブジェクト指向プログラミングの信奉者だったんだが、
それで、

German: 
...aus dem griechischen und meint mehr oder weniger "Substraktion".
Was wiederum bedeutet: "Einzelheiten entfernen". Wenn man Details weglässt, meint man entweder man will sie nicht, oder man möchte sagen:
"Diese Dinge variieren zwar in Kleinigkeiten, sind für mich aber das selbe"
"Einzelheiten kümmern mich nicht". Ein Objekt in objektorientierter Programmierung...
... ist etwas, dass die Einzelheiten versteckt und einige Einzelheiten abstrahiert. Es gibt sogar diese...
... abstrakten Datentypen, die nur die Schnittstelle darstellen und die Implementation...
hat einen nicht zu interessieren.
Also, als ich zum ersten mal objektorientierte Programmierung lernte, dachte ich: "Das ist die beste Erfindung, seit Brot in Scheiben"
Und ich war ein großer Verfechter der objectorientierten Programmierung. Zusammen mit der Idee...

Russian: 
значащего примерно то же, что и "вычитание", т.е. "избавление от деталей".
Если хотите спрятать детали, или просто хотите сказать:
"Эти вещи отличаются в незначительных деталях,
но для меня они одинаковы", "меня не заботят эти детали", это абстракция.
Объект в ООП это что-то, что прячет детали, абстрагируется от них,
есть даже абстрактные типы данных, у которых видно только
интерфейс,
и вам не положено знать, как они реализованы.
Когда я только начал изучать ООП, думал
"да это же лучшее изобретение человечества, ну после резаного хлеба".
Я был ярым апологетом ООП,

English: 
from a Greek word that means more or
less the same as "subtraction", right which
means "getting rid of details". If you want to hide details, you don't want them or you wanna say
"these things, they differ in some
small details but for me they are the same"
"I don't care about the details" so, an
object is in object-oriented programming
is something that hides the details, abstracts over some details right, and there are even these
abstract data types that just expose the
interface and you're not supposed to
know how they are implemented right?
so when I first learned object-oriented programming I thought "this is like the best thing since sliced bread"
and I was a big proponent of object-oriented programming and together with this idea

Chinese: 
一個或多或少代表「減法」的希臘文字
意即「擺脫細節」。如果你想隱藏細節，你不想要它們或者你想說
「這些東西，它們在小細節上不同，但對我來說是他們一樣的」
「我不在意細節」。所以，在物件導向中物件是
用於隱藏細節、抽象於某些細節，甚至有這些
只暴露介面的抽象資料型態而你不應該
知道它們是怎麼被實作的是吧
所以當我初次接觸到物件導向的時候覺得「這是開天闢地以來最棒的東西」
然後我那時是個物件導向的擁護者，伴隨著

Russian: 
и вместе с идеей абстрагирования и компонуемости
идёт идея повторного использования.
Если у меня есть блоки, на которые
я что-то поделил,
я их реализовал, может, я могу их как-то пересобрать по-разному,
так что как только я реализовал что-то, может, я это смогу использовать в решении другой задачи.
У меня будут эти стройблоки, тонна блоков, что скрывают сложность,
и я просто пожонглирую ими, пораскладываю новые комбинации, а?
Мне казалось, вот он, Святой Грааль объектно-ориентированного программирования, дайте два!
И я стал писать объектно, используя C++, и даже стал неплох в этом деле, знаете ли.
Я написал кучу плюсового кода,

Chinese: 
抽象這樣點子和、和、和組合東西的是
可重複使用性所以如果我有切割好的模塊
而且已被實作，或許我能用不同的方式排列它們
一旦我實作了某個東西我以後可能會在不同的問題上用他
來解決那個問題。我會有這些模塊，我會有很多
隱藏複雜性的模塊然後我會把它們
揉合成不同形貌，對吧。所以當時我看來這真的是
物件導向達到的承諾，我服了這套！我開始用 C++ 以物件導向的方式寫程式
然後我的 C++ 變得很強，我想。你知道的，我寫了很多 C++

German: 
...der Abstraktion und der Zusammensetzung von Dingen ergibt sich die Idee der...
...Wiederverwendbarkeit. Wenn ich also diese Blocke zerlegt und
...implementiert  habe, dann könnte ich die ja auch noch anders benutzen. Wenn ich...
...also etwas implementiert habe, vielleicht benutze ich es, um ein anderes Problem zu lösen.
Ich habe dann diese Bausteine, viele Bausteine,...
... die  ihre Komplexität verstecken. Dann jongliere ich nur noch damit und...
...stelle sie neu zusammen. So erschien mir das damals, das ist das Versprechen der...
...objektorientierten Programmierung und ich habe das abgenommen. Ich begann das objektorientierte Programmieren mit...
...C++ und wurde ziemlich gut in C++, denke ich jedenfalls. Ich schrieb viel C++-Code...

Japanese: 
この事物を抽象化することと、それと、
事物を組み合せることを一緒にすると、
リユーザビリティ（再利用可能性）というアイデアになる。
な？つまり、
俺はこのぶった切って実装したブロックを持ってるんなら、
多分、こいつらを違うふうに並べ替えることができる。
つまり、一旦なにか実装したんなら、
別の問題を解くときにも、多分それを使うだろう。
それで俺は、そういう建築ブロックをいっぱい持つようになって、
複雑さを隠して、それでそいつらを、単にこねくり回して、
新しく配置するんだ
な？
だから俺にとっては、オブジェクト指向プログラミングの将来は約束されてたんだ。
「乗ったぜ！」
で、オブジェクト指向のやり方でプログラミングし始めたんだ。
C++を使ってな。
俺はC++めっちゃうまくなって・・・
自分なりにはだが、わかるだろ？
たくさんC++のコードを書いたさ。

English: 
of abstracting things and and and
composing things comes the idea of
reusabillity right so if i have these
blocks that I have chopped up and
implemented, right, maybe I can rearrange
them in different ways so once I
implemented something maybe I will use
it in another problem to solve
another problem I will have these
building blocks, I will have lots of building
blocks that hide their complexity and I
will just juggle them and put them
in new constellations, right? so it seemed
to me like this is really the promise of
object-oriented programming, I'm buying it! and I started programming object-oriented way
using C++ and I became pretty good at C++ I think, you know, I wrote a lot of C++ code

Chinese: 
但物件導向似乎有些地方不太對勁
一旦人們開始撰寫並行和平行的程式，痛苦變得愈來愈明顯
好的，所以並行並不能和
物件導向相處得很好。為什麼？因為物件導向隱藏了實作
而且它們正好隱藏了錯誤的東西，使得他們無法被組合，是吧。
它們隱藏了兩件非常重要的事情：
它們隱藏了改寫──它們改寫了某些內部狀態，對吧？而且我們不知道，它們隱藏了它

Japanese: 
それでそのうち、
オブジェクト指向のアプローチの何かがおかしいことに気づいたんだ。
そしてそれは、
人々が並行や並列のコードを書き始めると、
痛々しいまでに明らかになった。
いいか、
並行性はオブジェクト指向プログラミングとうまく混ざらない。
なぜか？
なぜなら、オブジェクトは実装を隠す。
それがまさしくダメなものを隠すからだ。
そいつらのせいで合成可能にならないんだ。
いいか？
オブジェクトはとても重要なものを２つ隠す。
オブジェクトはmutation（変化）を隠す。
奴らはは内部で状態を変化させる。だろ？
そして、俺らはそれを知らない。
オブジェクトが隠すからだ。

German: 
...und, nun, es stellte sich heraus,  da ist etwas falsch mit diesem
objektorientiertem Ansatz. Das wurde um so mehr schmerzhaft deutlich als man anfing...
...konkurrierenden und parallel verarbeiteten Code zu schreiben. Gleichzeitiger Ressourcenzugriff verträgt sich nicht gut mit...
... objektorientierter Programmierung. Warum nicht? Weil Objekte die Implementation verstecken.
Sie verstecken genau die falsche Sache. Und das macht es nicht mehr zusammenfügbar, okay?
Sie verstecken zwei Dinge, die sehr wichtig sind:
Sie verstecken Veränderung - das geschieht im Innern. Wir wissen nichts davon, es wird versteckt.

Russian: 
и вдруг оказалось, что-то не ладится с подходом ООП.
Становилось всё более очевидно, что писать одновременный и параллельный код, это боль.
ОК, одновременность так себе
сочетается с ООП. А почему?
Потому что объекты скрывают свою реализацию,
и скрывают как раз то, что не надо скрывать, это их делает некомпонуемыми.
Они прячут две важнейшие вещи.
Прячут изменяемость: они меняют какое-то состояние внутри, не правда ли?
И мы этого не видим, они это скрывают.

English: 
and well it turns out that there is
something wrong with this
object-oriented approach and it became more and
more painfully obvious when people started
writing concurrent code and parallel code, ok, so concurrency does not mix very well with
object-oriented programming. Why doesn't it? Because objects hide implementation
and they hide exactly the wrong thing,
which makes them not composable, ok?
They hide two things that are very important:
They hide mutation – they mutate some state inside, right? And we don't know about it, they hide it

English: 
They don't say "I'm mutating something".
And sharing these pointers right – they
share data and they often share data between
each other you know between themselves
they share data
And mixing, sharing and mutation has a name
It's called a data race, ok?
So what the objects in object-oriented programming are abstracting over is the data races
and you are not supposed to abstract over data races
because then when you start combining these objects you get data races for free, right.
and it turns out that for some reason we don't like data races, ok?
and so once you realize that you think

Chinese: 
它們並不說它們改寫了什麼
還有分享──它們使用指標對吧，他們分享資料而且經常
在彼此之間分享。你知道的，在它們之間分享資料
然後分享、改變並混合
有個名字
它被稱為資料競奪，好嗎？
所以物件導向中的物件對資料競奪進行抽象
但你不該這麼做
因為一旦你開始組合它們，你就會有資料競奪
而且因為某些原因我們不喜歡資料競奪
一旦你頓悟後你開始想

German: 
Die Objekte sagen nicht, "Ich verändere etwas".
Zweitens teilen sie Referenzen. Sie teilen Daten und häufig teilen sie Daten zwischen...
...einander und untereinander.
Und das Vermischen, Teilen und Verändern von Daten bezeichnet man als:
"Daten Wettlauf"
Also, was beim objektorientierten Programmieren weg-abstrahiert wird sind diese "Daten Wettläufe"
Man sollte "Daten Wettläufe" nicht weg-abstrahieren,...
... weil man, sobald man diese Objekte neu kombiniert, diese "Daten Wettläufe" mit dazu bekommt.
Es zeigt sich, aus irgendwelchen Gründen mögen wir diese "Daten Wettläufe" gar nicht.
Dann bemerkst Du, wie du darüber nachdenkst,

Russian: 
Они же не говорят: "Я что-то там меняю".
А совместное использование
указателей? Они обмениваются данными,
используют их вместе,
и у такого смешения, обмена и изменений тоже есть имя.
Это называется состоянием гонки (за данными).
Так что объекты в ООП абстрагируются от гонки данных,
а это не то, что стоит абстрагировать,
потому что когда начинаешь компоновать эти объекты, получаешь настоящую Формулу-1 в подарок.
И по какой-то причине мы не очень любим состояния гонки, а?

Japanese: 
奴らは、
「私は何かを変化させてます」なんて言わない。
それから、sharing（共有）だ。
オブジェクトはポインタを使う。
そして、あいつらはデータを共有する。
知ってるだろ？
奴らは、しばしばお互い同士でデータを共有する。
共有と変化を混ぜることには、名前がついている。
データ競合だ。
いいか？
つまり、
オブジェクト指向プログラミングのオブジェクトが、
覆い隠して抽象化しているのはデータ競合だ。
そして、データ競合は覆い隠して抽象化していいものではないのだ。
なぜなら、これらのオブジェクトを組み合せると、
データ競合がタダでついてくる。な？
それで俺らは、何かしらの理由でデータ競合が嫌になるんだ。
いいか？
で、一旦このことがわかると、

Russian: 
Через некоторое время вам кажется: "О, а я придумал, как избежать гонки. Я буду использовать замки.
И их я тоже спрячу, потому что хочу от них абстрагироваться",
это как в Java, где у каждого объекта есть свой замок, да?
Но, какое несчастье, замки ведь тоже вовсе не компонуются!
В этом их проблема.
Я не собираюсь в это сильно углубляться, это, скорее, тема для отдельного курса
по многопоточному программированию, но я упоминаю это,
потому что такой способ наращивания уровней абстракции опасен.
Нужно быть очень осторожным с тем, от чего абстрагируешься,
что убираешь, выкидываешь и не показываешь.
И вот следующий виток абстракции, появившийся позже,
точнее, хронологически-то раньше, но лишь потом люди поняли:

Japanese: 
「俺はデータ競合の避け方はわかってるぜ！」
だろ？
「俺はロックを使うぜ！」
「俺はロックも隠すぞ！覆い隠して抽象化したいからな！」
そんなわけで、
javaとかじゃ全オブジェクトが自前のロックを持ってるんだろ？
そして残念なことに、
ロックもうまく組み合わせられない。
それがロックの問題だ。
俺はこれについてはあまり喋らない。
並行プログラミングについての、
別の授業になっちまうから、
ただ言いたいのは、
この種の、抽象化の水準を上げるときには
何を覆い隠して抽象化しているのか、
気をつけなければならないということだ
一体何を減算し、投げ捨てて、
露出しないようにしているか、だ。
それで、この後に来た次の抽象化の水準は、
いや実はその前からあったんだが、

Chinese: 
「好，現在我知道怎麼避免資料競奪，我要使用數據鎖」
而且我將也要隱藏它們因為我想要抽象於它們
所以像在Java裡所有物件都有它們自己的數據鎖對吧？
不幸的是數據鎖也無法被組合
這是數據鎖的問題。我不再談更多
因為這可以開另一堂並行編程的課程
我只蜻蜓點水：你必須特別注意這類抽象
對什麼進行了抽象
你減去、扔掉了什麼並不暴露它們？
所以下一階段的抽象是，噢它其實更早出現

English: 
"okay, I know how to avoid data races, right, I'm going I'm going to use locks
"and I'm going to hide locks too because I want to abstract over it"
so like in java where every object has its own lock, right?
and unfortunately locks don't compose either, right.
That's the problem with locks. I'm not
going to talk about this too much
because that is like a different
course about concurrent programming but I'm
just mentioning it that this kind of
raising the levels of abstraction
you have to be careful what you're abstracting over
what are the things that you are subtracting, throwing
away and not exposing, right?
So the next level of abstraction that came
after that, well actually it came before

German: 
"In Ordnung, ich weiß doch wie man Daten Wettläufe verhindert. Ich benutze Sperren (Locks, Semaphoren)
und dann verstecke ich diese Sperren ebenso, weil ich darüber abstrahiere"
Ja, genau wie in Java, wo jedes Objekt seinen eigenen Sperrmechanismus hat.
Unglücklicherweise sind Sperren auch nicht kombinierbar.
Das ist das Problem mit Sperren. Ich werde das nicht weiter vertiefen.
Dazu gibt es einen eigenen Kursus über konkurrierende Programmierung.
Ich erwähne es hier nur, weil es die Abstraktionsstufe erhöht.
Man muss gut darauf achten, was man abstrahiert.
Was man weglässt, entfernt und nicht zugänglich macht.
Also kam die nächste Abstraktionsebene, nun sie kam tatsächlich eigentlich vorher,

Japanese: 
人々が気づいたんだ。
「おい、多分俺らはこいつを掘り起こして使わんといかん」
それが関数型プログラミングで、
何かを「関数」に抽象化する。
そして関数は、特にハスケルでは、
知ってるんだろ？
関数型言語には変化が無い。
だから、
データ競合が隠されるなんて問題はない。
それに、
データ構造をより大きなデータ構造へ組み合わせる方法もある。
これも全てがimmutable（変化不能）なおかげだ。
だからものを安全に組み合わせたり分解したりできる。
俺は新しい言語を学ぶ時は毎回、
その言語の限界を知りたくなるんだ。
「この言語でやるのに一番難しいことは何なんだ？」
だろ？

English: 
that but people realised that, "Hey, maybe
we have to dig it out
"and start using this functional
programming" when you abstract things into functions
and especially in Haskell when, you know,
in a functional language you don't have
mutations so you don't have this problem
of hiding data races, and then you also have ways of composing
data structures into bigger data structures and that's also because everything is
immutable so you can safely compose and decompose things.
Now every time I learned a new language I wanted to find where the boundaries of this language are
like, "what are the hardest things to do in
this language?", right?

Russian: 
Хм, может, надо выкопать функциональное программирование со свалки и начать использовать?"
Когда абстрагируешься на уровне функций, особенно, в Haskell,
ну знаете, в функциональных языках у вас нет изменяемости, потому и нет проблемы скрытых гонок за данными,
зато есть способы компоновки структур данных в более сложные,
и это тоже из-за неизменяемости всего, так что можно безопасно
собирать и разбирать объекты.
Знаете, каждый раз, когда я учу новый язык программирования,
я пытаюсь найти границы этого языка,
типа "какие вещи труднее всего даются на этом языке".

Chinese: 
但人們體會到「嘿，我們可能要重新找到它
並開始使用所謂「函數式編程」把東西抽象成函數
而且函數，特別是在Haskell裡面，你知道的
在函數式語言裡你不需要可變變數所以你不會有
隱藏資料競奪的問題，然後你也有把
資料結構組合成更大的資料結構的方法，也因為所有東西都是
不可變的所以你可以安全組合和分解資料
每次我學習一個新語言，我都想尋找語言的界線
例如，「這個語言最難做到什麼」？

German: 
die Leute bemerkten: "Hey, vielleicht können wir das wieder ausgraben...
und diese funktionale Programmierung verwenden", dabei werden die Dinge zu Funktionen abstrahiert.
Insbesondere in Haskell dann, wie Sie wissen,
es gibt es keine (implizite) Veränderung in funktionalen Sprachen, also gibt es dort nicht dieses Problem ...
... mit versteckten "Daten Wettläufen". Und trotzdem hat man ebenso die Möglichkeiten der Kombinierbarkeit von
Datenstrukturen in größere Datenstrukturen. Das liegt auch daran, dass alles...
... immutable (unveränderlich) ist, so dass man Dinge sicher zusammenstecken und auseinander nehmen kann.
Nun, jedes mal, wenn ich eine neue Programmiersprache lernte, versuchte ich an die Grenzen dieser Sprache zu gehen.
Wie etwa: "Was ist das schwierigste, was man in dieser Sprache tun kann"

Chinese: 
例如在 C++ 中，你能達到的最高抽象是什麼？
模板元編程，是吧？我著迷於模板元編程
我開始閱讀了這些關於模板元編程的書
那就像是「哇，我永遠想不出這些點子，他們太複雜了」，是吧？
事實上它們是很單純的點子
只是被用一個雞掰的語言表達
所以我學了些Haskell然後說「好，這些巨大的模板太複雜了
那只不過是一行Haskell。」對吧？所以存在某些
在抽象層級上大躍進的語言，它們讓

Russian: 
Например, в C++ каких высших уровней абстракции можно достичь?
Шаблонное метапрограммирование, да?
Я был заворожён им, начал
о нём книжки читать,
и думал: "О, я бы никогда не додумался дотаких идей, они так сложны!"
Оказалось, идеи-то весьма простые, только вот на этом языке их трудно выразить.
Так что изучил немного Haskell и сказал:
"Ладно, этот огроменный шаблон,
такой переусложнённый, это же одна строчка на Haskell."
Так что есть языки, в которых заметен скачок в уровне абстракции,

German: 
Zum Beispiel in C++, was ist die höchste Abstraktionsstufe, die man erreichen kann?
Template-Metaprogrammierung! Ich war wirklich fasziniert davon.
Und ich begann die Bücher über Template-Metaprogrammierung zu lesen.
Und mir erschien es wie: "Wow, ich wäre niemals auf diese Ideen gekommen. Das ist alles so Kompliziert"
Es stellt sich heraus, das sind eigentlich ganz einfache Ideen.
Es ist einfach, dass diese Sprache so umständlich ist, diese auszudrücken.
Also lernte ich ein wenig Haskell und merkte: "Okay, dieses riesen Template, dass so kompliziert war,...
...das ist nur eine Zeile Code in Haskell". Also sind das Sprachen in denen
da ein Sprung der Abstraktionsebene war und in denen es viel einfacher ist

Japanese: 
例えば、C++で使える、最も高水準の抽象化は何だ？
テンプレートメタプログラミング！
だろ？
だから俺は、
マジでテンプレートメタプログラミングに魅せられたんだ。
それで俺は、テンプレートメタプログラミングの本を読み始めて、
「すげえ！俺は、こんなアイデア思いつけねえ。
めちゃくちゃ複雑じゃねえか」ってなったんだ。
な？
でもあとになって、
こいつらはとても単純なアイデアだと気づくんだ。
この言語がこいつらを表現するのにややこし過ぎるだけなんだ。
それで俺はちょっとだけハスケルを勉強して、
「このめちゃくちゃ複雑で巨大なテンプレートは、
ハスケルで一行じゃないか」ってなったんだ
な？
OK、つまり、
こういう言語が存在するということなんだ。

English: 
So for instance in C++, right, what are the highest levels of abstraction that you can get?
Template metaprogramming, right? So I was really fascinated by template metaprogramming
and I started reading
these books about template metaprogramming
and was like "Wow, I would have never come up with these ideas, they are so complex", right?
So it turns out that these are very simple ideas
it's just that the language is so
awkward in expressing them
So I learned a little bit of Haskell and I said "Ok this huge template that was so complicated,
that's one line of code in Haskell", right? So there are languages in which
there was like a jump in the level of
abstraction and made it much easier to

Russian: 
на них много проще писать высокоабстрактно.
И в любом языке есть группа людей, что пишут библиотеки,
эти люди всегда используют язык на полную катушку,
доходят до высших возможных
уровней абстракции,
хакают. Они хакают по полной.
Я подумал: "Ладно, я-то не люблю хакать, я просто хочу использовать язык,
позволяющий мне выражать себя на высоком уровне абстракции,
позволяющий выражать новые, более интересные идеи."
Как в шаблонном метапрограммировании вы выражаете идею того,
что может быть много структур данных, которые
отличаются лишь типом данных, который они скрывают.

Chinese: 
你在更高抽象上寫程式簡單得多
在每個語言中你都知道有一群人撰寫著
程式庫，他們總是延展著可能性
他們一路向上至最高的抽象層級。他們、他們是「駭客」。對吧？他們駭程式
直至極限。所以我想，「好我不想駭程式，我只是想
使用一個讓我能在更高層次抽象上表達自己的語言
而且它讓我表達有趣得多的新點子」
你知道的，像模板元編程能讓你表達
一堆只差在它們包裝型別的資料結構這樣的點子

English: 
program at a higher level of abstraction, right.
And in every language you know there is
this group of people who are writing
libraries right and they always stretch
the language they always go to the highest
possible abstraction level and they and
they hack, right? They hack at it
as much as possible. So I thought "Okay
I don't like hacking, I just wanted to
"use a language that allows me to
express myself at a high level of
"abstraction and that lets me express
new ideas that are much more interesting"
you know, like, with template
metaprogramming right you express this
idea that you might have lots of data
structures that only differ by the type

German: 
abstrakter zu programmieren.
In jeder Sprache gibt es Gruppen von Leuten, die schreiben
wiederverwendbare Büchereien und die reizen die Sprache stets bis zur höchsten
...möglichen Abstraktionsebene aus. Die müssen Tricksen, was geht.
Also dachte ich: "Ich mag diese Tricks nicht. Ich möchte eine Sprache verwenden, ...
...die es mir erlaubt, mich auszudrücken, die mir eine hohe Stufe der
Abstraktion erlaubt, die mich neue interessante Ideen ausdrücken lässt.
Etwa bei der Template-Metaprogrammierung, da drückt man diese
Idee aus und du hast vielleicht eine Menge Datenstrukturen die unterscheiden sich nur durch den Typ, ...

Japanese: 
抽象化の水準を飛び越えるような、
より高水準の抽象度でのプログラミングをだいぶ簡単にする 、 
そんな言語が存在するということだ。
な？
そして、全ての言語には、あれだよ、
ライブラリ書く人らがいるだろ？
あいつらは毎回、その言語を拡張する。
あいつらは毎回、
最高水準の抽象化へ行こうとする。
そんで、あいつらはハックする（改造する）。
だろ？
あいつらは可能な限りハックする。
それで俺は、
「OK、俺はハックするのは嫌だ。」
って思ったんだ
俺はただ、高水準の抽象度で自分を表現できる言語を使いたい。
そうすればもっと興味深い新しいアイデアを表現できる。
わかるだろ？
テンプレートメタプログラミングを使えば、
こういうアイデアを表現できる。
保持する型が違うだけの、
大量のデータ構造を作るというアイデアだ。

Japanese: 
例えば、
integerのvectorと、booleanのvectorみたいな。な？
共有できるコードが大量に存在する。
つまり、もしそこに格納するデータ型を、
覆い隠して抽象化すれば、
もしそのことを忘れて、隠して、覆い隠して抽象化すれば、
抽象的なコードをかける。
C++ではこれをテンプレートでやるんだ。だろ？
そしたら、ほら、新しい何かができた。
より高水準でプログラムしてる。な？
より高い抽象水準だ。
なぜなら、 何かしらの詳細を無視しているからだ。
すばらしい。
それで、一旦ハスケルを学ぶと、
いや、今でも学んではいるんだけども、
ある程度になると、
ハスケルの中でも抽象化の限界があることを見つけたんだ。

Chinese: 
像你能有一個整數的列表和
一個布林值的列表對吧？而且它們之間有好多的共通代碼，所以如果你抽象於
你儲存的資料型別，如果你忘了它
隱藏它、對它進行抽象，你能撰寫代碼、抽象代碼
在C++裡你用模板進行這樣的事情，對吧。豻且你得到了一些新的東西，你獲得了
在更高層次──更高抽象層次──寫程式的能力因為
你忽略了某些細節，而那真的很棒
再後來，我發現在學了Haskell後
（某種程度上我還在學習Haskell）
我發現Haskell中有某些東西在抽象的極限上

German: 
den sie abstrahieren. Wie etwa ein Vektor von Integern und einem Vektor von
Boolean. Und das ist so viel Code, der wieder verwendet werden kann. So abstrahierst Du über die
Datentypen, in die gespeichert wird. Wenn  man die einfach vergisst
einfach versteckt, sie abstrahiert, schreibst du Code, abstrakten Code und in
C++ macht man das mit Templates. Und so bekommt man da etwas neues,
du programmierst auf einer höheren Ebene, einer höherene Abstraktionsebene, weil du
diese Details vernachläßigen kannst. Das war schon großartig!
Es stellte sich heraus, sobald ich Haskell gelernt hatte,...
(und ich lerne das gewissermaßen immer noch)
fand ich heraus, da sind auch in Haskell Dinge an dieser Grenze der Abstraktion.

Russian: 
Ну вроде того, что может
быть вектор целых чисел, вектор булевых значених.
И тут так много общего кода,
то вы хотите абстрагироваться от типа данных, который храните,
если вы о нём забудете, спрячете,
абстрагируетесь от него, вы сможете писать код,
абстрактный код, и вот в C++ вы это делаете шаблонами.
И получается что-то новенькое, программируете на более высоком уровне,
на более высоком уровне абстракции,
потому что не обращаете внимания на детали, и это замечательно.
Когда я выучил Haskell
(хотя я до сих пор его изучаю в какой-то мере),
оказалось, есть в нём вещи, находящиеся на границе допустимых абстракций,

English: 
that they hide. Like you can a
vector of integers and vector of
booleans right? And there's just so much code to share, so if you abstract over the
data type that you are storing there, if you forget about it,
hide it, abstract over it, you can write
code, abstract code, and in
C++ you do this with templates right. And 
you get something new, you
program at a higher level – a
higher abstraction level because you
disregard some of the details, so that was great.
Now it turns out that once I
learned Haskell
(I'm still learning Haskell to some extent)
I found out there are things in Haskell that are at these boundaries of abstraction

German: 
Und auch da sind Leute, die an dieser Front von Haskell arbeiten.
Es gibt da bestimmte sehr abstrakte Dinge, die unglücklicherweise in Haskell ein bisschen umständlich auszudrücken sind.
Also gibt es diese Grenze zur Abstraktion sogar in Haskell.
Wenn man sich etwa einige Libraries ansieht, die von Edward Kmett geschrieben wurden,
da bemerkt man wie extrem schwer die zu verstehen sind. Was ist der Gedankengang dahinter?
Das Geheimniss ist ganz einfach: Kategorientheorie
Edward Kmett kennt die Kategorientheorie und hat sein Material von dort.

Japanese: 
なんというか、
このハスケルの先端に挑む人らがいてる。
みたいな？
残念ながら、
ハスケルで表現するのがちょっぴりややこしい、
とても抽象的なことって存在する。
そんで、
「ハスケルにすら、抽象化の限界が存在するんだ。」
ってな？
つまり、俺が言いたいのは、
エドワード・クメットのライブラリとか見たことあるなら、
思考過程を理解するのがマジでめちゃくちゃ難しいのがわかるだろ？
で、その秘密はとても単純だ。
カテゴリ論だ。
いいか？
エドワード・クメットはカテゴリ論を知ってるんだ。

English: 
that, like, there are people who are working on this frontier of Haskell, right?
There are certain very abstract things that are unfortunately a little bit
awkward to express in Haskell
and then there is this barrier to
abstraction even in Haskell right?
I mean if you've seen some
libraries that were written by Edward Kmett
you realise that they are extremely hard to understand what was the thought process, right?
And the secret is very simple – Category Theory.
Edward Kmett knows Category Theory, and he just takes this stuff from

Chinese: 
像有些人在Haskell的最前線努力對吧？
有某些非常抽象的東西很可惜的有點難在Haskell中被表達
所以甚至在Haskell裡都有抽象程度上的障礙，對吧？
我的意思是如果你看過某些Edward Kmett編寫的程式庫
你會發現它們之中的思路非常難被理解吧？
而這之中的秘密很單純：範疇論
Edward Kmett 懂範疇論，他只是把東西從

Russian: 
есть люди, идущие в авангарде Haskell.
Есть некоторые очень
абстрактные вещи, к несчастью, немного сложные
для выражения и в Haskell,
и есть абсолютные барьеры для абстракции даже в
этом языке.
Если вы видели некоторые библиотеки Эдварда Кметта, то знаете,
что они невероятно сложны в плане понимания
мыслительного процесса, что за ними стоит.
А секрет очень прост,
дело в теории категорий.
Эдвард Кметт знает теорию категорий

Chinese: 
範疇論搬來，他讀那些數學論文
並把它翻譯成Haskell。如果你從範疇論
翻譯到Haskell，你喪失了很多抽象，你讓它變得更具體
Haskell有一個內建的範疇且你是在
把自己限制在這個範疇
你能在Haskell中創建其它範疇並對它們建模
但那變得不方便且有點像在Haskell中進行你所知道的模板元編程──
並非經由完全一樣的機制，但
在Haskell中表達這些點子的難度和
在C++進行模板元編程一樣高

German: 
Er liest die mathematischen Veröffentlichungen und er
übersetzt sie einfach in Haskell . Und wenn man die Dinge der Kategorientheorie
nach Haskell übersetzt, verliert man viel Abstraktion, man macht es spezifischer.
Haskell hat eine eingebaute Kategorientheorie und man
beschränkt sich auf diese besondere Kategorie.
Man kann andere Kategorien in Haskell erstellen und modellieren, aber das wird
mühsam. So etwa wie die Template Metaprogrammierung,
im Haskell - ist es nicht der gleiche Mechanismus, aber der gleiche
Schwierigkeitsgrad, um diese Ideen auszudrücken - ist es so groß, wie
die Template Metaprogrammierung in C++.

English: 
Category Theory, he reads these 
mathematical papers and he just
translates them into Haskell and
when you translate stuff from Category
theory to Haskell you lose a lot of
abstraction, you make it more concrete
Haskell has one
category built-in and you are
restricting yourself to this particular category.
You can create other categories in Haskell and model them, but that becomes
awkward and that becomes sort of like
template metaprogramming you know within
Haskell – not exactly the same
mechanism but the the level of
difficulty in expressing these ideas in
Haskell is as big as template
metaprogramming in C++.

Japanese: 
あいつはカテゴリ論からブツをただ持ってきてるだけだ。
数学の論文を読んで、
それらをハスケルに翻訳してるだけだ。
そして、
カテゴリ論からハスケルに物事を翻訳する時は、
たくさんの抽象度を失う。
その物事をより具体的にするということだ。
ハスケルには一つのカテゴリが組み込まれていて、
この特定のカテゴリに制限されてしまうんだ。
Haskの中に別のカテゴリを作ってモデル化することはことはできるが、
ややこしいことになる。
ハスケル内でのテンプレートメタプログラミング的な、
わかるだろ？
正確には同じ仕組みじゃないが・・・でも・・・
こいつらをハスケルで表現する難しさのレベルは、
C++でのテンプレートメタプログラミングと同じくらいだ。

Russian: 
и просто черпает из неё, он читает математические статьи и просто
переводит их на Haskell.
А когда вы переводите что-то с языка теории категорий, сильно теряете в уровне абстракции,
оно становится более конкретным.
В Haskell всего одна-единственная
категория,
и вы сужаете контекст только до этого частного случая.
Вы можете создавать другие категории в Haskell, точнее,
моделировать их, но это становится трудно выражаемо, как шаблонное метапрограммирование, только внутри Haskell.
Не точно тот же механизм,
но тот же уровень сложности в выражении идей на
Haskell, что и шаблонное метапрограммирование на C++.

Chinese: 
所以範疇論是個Haskell之上的更高階語言
在函數式編程之上，在ML
Haskell, Scala...等等之上
像 C++ ，組合語言。它是更高階層的語言好嗎？他並不是一個
我們可以在之中寫實際程式的語言，但它是個語言
所以就像在C++中撰寫恐怖模板元編程程式庫的人們一樣
只因為他們學了些Haskell而能做到這些
而且他們知道 Haskell 中的某些構造是什麼而且要怎麼做──

English: 
So Category Theory is this
higher-level language above Haskell, above
functional programming, above ML,
Haskell, Scala, and so on
C++, assembly, it's a higher-level
language, okay? It's not a practical
language that we can write
code in, but it's a language.
So just like people who write these horrible metaprogramming template libraries in C++
they can only do this because they
learned a little bit of Haskell.
and they know what some constructs in Haskell are and how to do

German: 
Also ist Kategorientheorie eine höher stufige Sprache als Haskell, höher als
funktionale Programmierung, höher als ML,
Haskell, Scala und so weiter
C++, Assembler. Es ist eine hoch-stufige Sprache. Keine praktische
Sprache, in der wir Code schreiben können, aber es ist eine Sprache.
Diese Leute, die diese schrecklichen metaprogrammierung Template-Libraries in C++ schreiben,
können das nur weil sie etwas Haskell gelernt haben.
Sie kennen einige Konstrukte in Haskell und wie man sie benutzt.

Japanese: 
つまり、
カテゴリ論はハスケルよりさらに高い水準の言語だ。
関数型プログラミングより高い、
MLよりも、
ハスケル、Scala、とかよりも、
C++、アセンブリ、よりも高い。
これは高水準言語だ。
いいか？
これは実用的にコードがかける言語ではない。
しかし言語なのだ。
この酷いC++のメタプログラミングテンプレートライブラリを書いた人らは、
やつらがあれをできたのは、
ちょっとハスケルを学んだからなんだ。
そんでやつらは、
ハスケルでの構成はどうなってるかとか、
どうやってことを成し遂げるか

Russian: 
Так что теория категорий это ещё более высокоуровневый язык,
стоящий над Haskell, над функциональным программированием, над ML, Haskell, Scala итд.
.., C++, ассемблер. Это ещё более высокоуровневый язык.
Не практичный язык, на котором можем писать код, но всё-таки язык.
Вот люди, пишущие эти ужасные библиотеки шаблонного метапрограммирования в крестах,
они могут это делать
лишь потому, что немного выучили Haskell.

German: 
Wie man Algorithmen auf unveränderlichen Datenstrukturen implementiert.
Sie wissen das, weil sie es von Haskell gelernt haben.
Sie übersetzen das bloß in diese furchtbare Template Programmiersprache.
Nun gut. Das funktioniert. Die Leute benutzen es, in der selben Weise wie
ein funktionaler Programmierer diese Ideen aus der Kategorientheorie nehmen würde.
Diese sehr sehr abstrakten Ideen und übersetzte sie in diese umständliche Sprache Haskell.
Nun wird aus der kategorischen Perspektive Haskell
eine genauso hässliche Sprache, wie es aus der Sicht von Haskell C++ ist.
Aber wenigstens wissen wir,  das es eine ausführbare Sprache ist,
eine Sprache, um Programme zu schreiben. Und natürlich, wenn diese Ideen

Chinese: 
怎麼在不可變資料結構正確實作演算法
他們知道怎麼做因為他們從Haskell學了這些
然後他們僅把它翻譯成這糟糕的模板程式語言
是吧？它行得通且人們正在使用它們。同樣的道理
如果你是個函數式工程師，你可以從範疇論擷取這些點子
把這些非常非常抽象的點子翻譯成這樣不便的程式語言
名為Haskell，對吧？現在從範疇論角度看
Haskell變成了這個非常醜陋的語言一如從Haskell看C++變成這個
醜陋的語言，是吧？但至少你知道它是個可被執行的語言
在它之中我們能寫程式。而且當然這些點子在

Japanese: 
変化不能のデータ構造でアルゴリズムをどうやって実装するかとかを知ってたんだ。
やつらはハスケルから学んだから、
どうやればいいか知ってたんだ。
そんで、奴らはただそれを、
この酷いテンプレートプログラミング言語に翻訳しただけだ。
いいだろ？
それはちゃんと動くし、みんな使ってる。
同じ方法で、
もしお前らが、関数型プログラマなら、
カテゴリ論からこれらのアイデアを取ってこれる。
これらのめちゃくちゃ抽象的なアイデアを取ってきて、
ハスケルっていうややこしい言語に翻訳すればいい。だろ？
カテゴリ的視点から見れば、
ハスケルはこんなに無様な言語となる。
ハスケルから見るとC++がかように無様なのと同じだ。
だろ？
でも、ハスケルは最低でも実行できる言語だとわかっている。
ハスケルはプログラムが書ける言語だ。

English: 
things – how to implement algorithms on immutable data structures right
they know how to do this
because they learned it from Haskell
and they just translated into this
horrible template programming language.
Fine right? And it works and people
are using it, the same way that if you're
a functional programmer you can
take these ideas from category theory,
these very very abstract ideas and translate it into this kind of awkward language called
Haskell, right? Now from looking from
from categorical perspective Haskell
becomes this ugly language just like
looking from Haskell C++ becomes this
ugly language, right? But at least you
know it's an executable language, its a
language in which we can write programs.
And of course these ideas when they

Russian: 
Они знают, чем являются некоторые конструкции в Haskell, как делать некоторые вещи,
как реализовать алгоритмы с неизменяемыми структурами данных,
они умеют это, потому что познали это в Haskell,
а затем перевели в этот ужасный шаблонный метаязык.
Неплохо, а? И это работает, люди
используют это.
И так же, если вы функциональщик, вы берёте
идеи из теории категорий,
эти очень абстрактные идеи, и переводите на этот несколько странный язык, именуемый Haskell.
С такой категорной точки зрения Haskell кажется уродцем, как C++ кажутся уродливыми с высоты Haskell.
Но это хотя бы исполняемый язык, на котором мы можем писать программы.

Chinese: 
從範疇論滲透到 Haskell 後，它們也能滲透
到 C++ 或可能甚至組合語言、PHP 或不管什麼語言，如果你想要的話，JavaScript
因為他們是非常一般性的點子
所以我們想得到這個最高的可能層次上的抽象以幫助我們表達
之後可被翻譯成程式的點子。這對我來說是最大的應用面的動機
好嗎？但接下來我開始思考理論上的動機或
更哲學上的動機，因為一但你開始學習範疇論，你

Russian: 
И, конечно же, эти идеи просачиваются из теории категорий в Haskell,
затем в C++, и даже в ассемблер, PHP или ещё куда,
Javascript, если хотите, всё потому, что это очень общие идеи.
Итак, мы хотим забраться на вершину уровней абстракции,
это поможет нам выражать идеи,
которые в дальнейшем могут быть преобразованы в программы.
Вот это и является для меня основной
практической мотивацией.
Но также я стал задумываться и о теоретической мотивации, или более философской,
потому что когда начинаешь изучать теорию категорий, понимаешь:

German: 
von der Kategorientheorie zu Haskell durchsickern, dann können sie ebenso
zu C++ durchsickern. Sogar zu Assembler, PHP und was sonst noch. JavaScript wenn man möchte.
Einfach weil das sehr allgemeine Ideen sind.
Wir wollen also die höchste mögliche Ebene der Abstraktion erreichen, die es uns erlaubt Ideen später
in Programme zu übersetzen. Das ist für mich die ganz praktische Motivation.
Dann begann ich über die theoretische Motivation nachzudenken, oder auch die
philosophische Motivation, Denn wenn man Kategorientheorie lernt, sagst Du dir:

English: 
percolate from category theory down to
Haskell they can also percolate then
down to C++ and even to assembly, PHP or whatever, JavaScript if you want to
because these are very
general ideas
So we want to get to this highest possible level of abstraction to help us express ideas that later can be
translated into programs. So that for
me is the main practical motivation
ok? But then I started also thinking
about the theoretical motivation or more
philosophical motivation because once
you start learning Category Theory you

Japanese: 
そしてもちろん、これらのアイデアが、 カテゴリ論からハスケルへと浸透していくと、
そいつらはさらに、C++やアセンブリへさえも浸透していく。
PHPへでも、何へでもだ。
JavaScriptへでもだ。
やりたきゃな。
これらはとても普遍的なアイデアだからだ。
それで俺らは、最も高い水準の抽象度に到達したい。
後でプログラムに翻訳できるアイデアを表現するためにだ。
それが俺にとって最大の、実用的な動機だ。
いいか？
だがそのあと俺は、
理論的動機や もっと哲学的な動機について考え始めたんだ。
なぜなら、一旦カテゴリ論を学び始めると・・・
見てろよ。

German: 
"Okay, Kategorientheorie vereinheitlicht eine Menge Dinge."
Ich meine, wenn man nur genug abstrahiert, wenn man das unnötige wegläßt
also auf der Spitze des Mount Everest schaut man nach unten und plötzlich
sieht alles gleich aus. Von diesem hohen Punkt aus, werden alle diese
kleinen Programmiersprachen wie kleine Ameisen und verhalten sich alle gleich.
Es ist wie: "Okay, wir sind alle gleich". Auf dieser Ebene der Abstraktion ist diese ganze
Programmierkram gleich und sieht gleich aus.
Aber das ist noch nicht alles - plötzlich sehen von diesem hohen Blickpunkt aus auch andere Dinge gleich aus.
Die Mathematiker entdeckten das in völlig verschiedenen Entwicklungsbereichen

Japanese: 
「OK、カテゴリ論はいろんなものを統合する」
ってなるんだ。
つまり、
もしお前らが十分抽象化すれば、
もしお前らが全ての不必要なブツをぶった切れば、
お前らは、
わかるな？
エベレストの頂上にいることになるんだ。
お前らは、そこから見下ろしてるんだ。
そしたら突然、
全てのものが同じように見え始める。
いいか？
この高水準から見れば、
こいつら・・このちっちゃいプログラミング言語どもは全部、
ちっちゃい蟻みたいに見えるし、
そしてこいつら同じように振る舞うし
そんで、「OK、こいつら全部同じだ」ってなるんだ。
この水準の抽象化では、
こいつら全部、プログラミングなんとかは、
全部同じだ。同じように見える。
だが、それだけじゃない。
この高い高い水準では突然、
他のものまで同じに見える。
いいか？
数学者の人らはこれを発見したんだ。
数学では、個別に領域を発展させてきただろ？

Russian: 
"Ладненько, теория категорий унифицирует огромное количество вещей."
Я имею ввиду, когда вы абстрагируетесь достаточно,
когда отбросите всё лишнее, и вот вы на вершине Эвереста, смотрите вниз,
внезапно все вещи начинают казаться похожими,
вот так с этого высочайшего уровня выглядят все маленькие язычки программирования,
выглядят, как муравьи, ведут себя одинаково,
понимаешь: "Да это всё одно и то же."
а таком уровне абстракции все эти программерские штуки, они все одинаковы, выглядят одинаково.
Но это не всё.
На этой вершине некоторые другие вещи выглядят так же,
вот тогда математики обнаружили, что они разрабатывали разные области математики...

English: 
say "Okay, Category Theory unifies lots of things".
I mean if you abstract enough, if you chop
up all the unnecessary stuff and you are
you know, top of Mount Everest and  you're looking down and suddenly
all these things start looking
similar, like from that high-level all these
little programming languages look like little ants and they behave same way
and its like "Ok, they're all the same". At that level of abstraction all this
programming stuff, it's all the same, it looks the same.
But that's not all –
suddenly at this high, high level other things look the same
and then mathematicians discovered
this, that they've been developing separate

Chinese: 
會發現，「範疇論統一了很多東西」
我的意思是如果你夠抽象，如果你去蕪存菁
你知道的，你在聖母峰頂鳥瞰，突然
所有這些東西看起來變得相似了，就像從如此高層次上
這些小小的程式語言看起來像螞蟻以同樣的方式行動
這就像「是啊，它們都是一樣的。」在那樣的抽象層次上這一切
編程東西，它們都是一樣的，看起來一樣
不僅這樣──在這樣高的高角度，突然其它東西看起來也一樣
然後數學家發現了它，他們曾開發

Chinese: 
數學的其他領域，是吧？所以最初他們發展了幾何學
代數、數論、拓墣學、集合論等等
這些分別都是完全不同的理論，它們怎麼看都不像，對吧
而範疇論發現了其中的共通性。結果是在一定階層的
抽象上，這些理論的結構都是一樣的。所以你能描述
誠如，你微調範疇的結構，忽然生出了拓墣
你微調這樣範疇的結構，忽然生出了集合論
你微調其他部分便生出了代數

Japanese: 
最初に発展したのは地測学（幾何学）、
代数、数論、位相論・・・
なんであれだ。
集合論も。
こいつらは全部、全く違う別の理論だ。
何も似てないだろ？
カテゴリ論はこいつら全部の類似性を発見したんだ。
つまり、ある特定の水準の抽象度では、
こいつら全部の理論の構造は同じなのだ。
だから記述できる。わかるだろ？
あるカテゴリの構造をいじると、
突然、位相論になったり、
こっちのカテゴリの構造をいじると、
突然、集合論になったり、
別のをいじると、
代数になるんだ。

German: 
der Mathematik. Zunächst entwickelten sie die Geometrie,
Algebra, Zahlentheorie, Topologie und Mengenlehre.
Das sind alles komplett verschiedene eigenständige Theorien. Sind sich kaum ähnlich.
Kategorientheorie findet die Ähnlichkeit zwischen diesen Dingen. Es stellt sich heraus, dass ab einem bestimmten Grad
der Abstraktion, die Struktur all dieser Theorien gleich ist. Man kann also
etwa an der Struktur einer Kategorie herumdoktern und plötzlich hat man Topologie.
Man feilt weiter an der Struktur der Kategorie und hat plötzlich Mengenlehre.
Man justiert noch anders und erhält Algebra.

English: 
areas of mathematics, right? So first of
all they developed geometry,
algebra, number theory, topology, what have you, set theory
these are all completely different separate theories, they look nothing like each other, right
and category theory found out similarities between all these things. So it turns out that at a certain level of
abstraction, the structure of all these
theories is the same. So you can describe,
you know, you tweak with the structure of
a category and you suddenly get topology,
you tweak this structure of
category, you suddenly get set theory,
you tweak something else and you get algebra.

Russian: 
Сначала они разработали геометрию, алгебру, теорию чисел,
топологию, что там ещё, теорию множеств,
всё это совершенно разные, отдельные теории, они и не похожи вовсе.
Но теория категорий помогла обнаружить связи между всеми этими теориями.
Оказывается, на достаточном уровне абстракции структура этих теорий одна и та же.
Например, вы можете подправить структуру категории, бац, получите топологию
или теорию множеств, поправите ещё что-нибудь, получится алгебра.

English: 
So there is this unification, this
grand unification, of, essentially, all
areas of mathematics in category theory. But then there is also programming, right?
Programming that deals with these computers with this memory and processor or registers, ok?
And this stuff can be described also, and
then there's a programming language,
this stuff can be described
mathematically, yes, lambda calculus
Like all these languages that
essentially have roots in lambda calculus
they try to get away from
bits and bytes and gotos and jumps, right
and loops, and they want to abstract this
stuff into stuff that's more
like lambda calculus, right and there are
these data structures and these data

Russian: 
Вот она, унификация, великое объединение, в сущности, всех областей математики в теории категорий.
Но есть же ещё программирование, да?
Программирование, в котором приходится работать с компьютерами, с памятью, процессором, регистрами, да?
И это всё тоже можно описать, и есть языки программирования, описываемые математически, да, с помощью лямбда-исчисления.
Все языки, в сущности, уходят корнями в лямбда-исчисление,
они пытаются сбежать от битов и байтов,
goto и джампов, циклов, пытаются абстрагировать всё это в что-то более похожее на лямбда-исчисление.

Japanese: 
つまり統合方法があるのだ。
かように壮大な、基本的に全ての 数学の領域を,、カテゴリ論に統合する方法が。
さらにカテゴリ論には、プログラミングもある。
だろ？
メモリーとか、プロセッサとか、レジスタとかがついたコンピュータを扱うプログラミングだ。
いいか？
そんでこいつも記述できるんだ。
そしたらプログラミング言語もあるってことだ。
こいつは数学的に記述できる。
そうだ、ラムダ計算だ。
基本的にこれらの言語は全部、
ラムダ計算にルーツがあるんだ。
こいつらは、ビットとかバイトとか、
gotoとかjumpとかから逃れようとしてるだろ？
ループとか、
それで、こいつらはこういったブツを、
もっと、ラムダ計算っぽいブツに抽象化したいんだ。
それから、
カテゴリ論にはデータ構造もある。

German: 
Also das ist diese Vereinheitlichung, diese große Vereinheitlichung von eigentlich allen
Bereichen der Mathematik in der  Kategorientheorie. Aber dann ist da noch das Programmieren.
Programmieren dreht sich um diese Computer mit Speicher und Prozessoren oder Registern.
Und dieser Kram kann ebenso beschrieben werden. Dann ist da eine Programmiersprache.
Diese Sachen können mathematisch beschrieben werden. Ja, mit Lambda Analysis.
So haben alle Sprachen ihre Wurzeln in der Lambda Analysis.
Sie versuchen von Bits und Bytes, Gotos und Sprungbefehlen weg zu kommen.
Von Schleifen,  und sie wollen diese Dinge abstrahieren in etwas, das mehr
wie Lambda Analysis ist. Und dann  sind das diese Datenstrukturen

Chinese: 
所以有著這樣的一統，這樣子
所有領域的數學大一統於範疇論。但也有所謂編程領域，對吧？
程式處理電腦的記憶體，處理器和暫存器
而這也能被描述，當有個程式語言
這些東西能被以數學的方式描述，如lambda演算
似乎所有語言都建基於lambda演算上
他們想要擺脫位元、位元組、goto、跳轉
還有迴圈，他們想要把它抽象成更像是
lambda演算的東西，然後我們有這些和

Russian: 
Тоже и структуры данных, вот мы раньше их
воспринимали,
как "тут кучка байтов, там кучка, а вот указатель с одной кучи байтов на другую" итд.
Очень-очень низкий уровень,
как сантехники в трубах ковыряются.
Тут господа информатики говорят: "Хм, а вообще-то эти штуки, они ведь формируют типы."
И появилась теория типов, теория типов, описывающая все эти категории структур данных,
но есть ещё и теория типов в
математике.
Люди изобрели типы в математике не для того, чтобы решать проблемы информатиков, они решают задачи вроде парадоксов.

Chinese: 
那些我們知道的資料結構，我們曾把它們視為「這裡有一些位元組
這裡有另一些位元組，這邊有個從這一些位元組指向另一些位元組的指標
」......等等等，對吧？
這像非常非常低階的工作，像處理管線的水管工，對吧？
接著計算機科學家說「事實上這些東西組合成型別」
所以有了型別論，有了能描述所有這些
資料結構範疇的型別論，對吧？但數學中也有型別論
嗯，人們在數學裡發明型別，不是為了解決

German: 
unser Blick darauf ist: "Hier sind ein paar Bytes"
"Hier sind noch ein paar Bytes. Hier sind ein paar Adressreferenzen von diesen paar Bytes in jene
paar Bytes" uns so weiter.
Das ist die sehr grundlegende Sicht. Wie Klempner an Rohren arbeiten.
Und dann sagen Informatiker: "Nun eigentlich bilden diese Dinge nur Typen ab"
Dann ist das Typen Theorie, die beschreibt all diese
Kategorien von Datenstrukturen. Es gibt diese Typen Theorie aber auch
in der Mathematik. Die Leute erfanden Typen in Mathe nicht um die gleichen Probleme zu lösen,

English: 
structures you know, we used to look at
them like "here's a bunch of bytes,
"here's a bunch of bytes, here's a pointer
from this bunch of bytes to this bunch
"of bytes" and so on, right?
The very very low level, like
plumbers working with tubes, right?
And then computer scientists say "Well
actually these things, they form types"
So there's type theory, there's type theory that can describe all these
categories of data structures, but there's also type theory in
mathematics, right, people invented types
in math not to solve problems that

Japanese: 
わかるだろ？
俺らはデータ構造を同じように見なすのには慣れてる。
「ここにバイトが集まってて、ここにはポインタ、
そいつはこっちのバイトからこっちのバイトまでをさしてて・・」
とかだろ？
配管工がパイプを弄ってるみたいに、
めちゃくちゃ低水準だろ？
そしたら、
コンピュータ・サイエンスの人らはこう言うんだ。
「いや、データ構造は型を形成する。」と。
そうだ。つまり、型理論というのがある。
これら全てのデータ構造のカテゴリを記述できる型理論があるんだ。
それで・・・
しかし、数学にも型理論が存在してて、
数学で人々が型理論を発明したのは、
コンピュータ・サイエンスの人らが解こうとしてる問題を解くためじゃなくて、
奴らはパラドックスとかの問題を解こうとするんだ。

Chinese: 
計算機科學家有的問題，他們想解決悖論之類的問題，例如有所謂羅素悖論
它告訴我們如果你想，嗯，你沒辦法建構所有集合的集合，諸如此類的
或你可能知道理髮師悖論：理髮師能幫自己理髮嗎？
當所有理髮師只幫不幫自己理髮的人理髮，他能幫自己理髮嗎？
這類的悖論──這是個好笑的悖論但也是具有深刻意義的
所以理髮師悖論事實上能被翻譯成羅素悖論
諸如「所有集合的集合」或「不包含它們自己的集合不形成一個集合」之類的

Russian: 
Например, парадокс Рассела, утверждающий, что невозможно построить множество всех множеств, вот такого рода задачи.
Может, слышали о парадоксе брадобрея, бреет ли он сам себя, если каждый брадобрей бреет только людей, которые не бреют себя сами.
Так может ли он побриться? Забавный парадокс, но серьёзный в то же время.
Парадокс брадобрея может быть преобразован в парадокс Рассела с этим "множеством всех множеств"
или "множества, не содержащие себя, не образуют множество" итд.

German: 
die Informatiker haben. Sie versuchten damit Paradoxien zu lösen, wie Russels Paradox.
Welches besagt, man kann keine Menge aller Mengen konstruieren und so etwas.
Vielleicht kennen sie das Friseur Paradox: Kann sich ein Friseur selber frisieren oder nicht -
Jeder Friseur frisiert nur Leute, die sich  nicht selbst frisieren. Kann er sich selbst frisieren oder nicht?
Diese Art von Paradoxien eben. Lustige Paradoxien mit ernsten Problemstellungen.
Das Friseur Paradox kann tatsächlich in Russels Paradox überführt werden.
Also Dinge, wie "Mengen von Mengen", "Mengen, die sich nicht selbst enthalten sind keine Mengen" etc.

Japanese: 
「ラッセルのパラドックス」ってのがあって、
「全ての集合の集合は作れない」
とか言うかんじのやつだ。
それか、「散髪屋のパラドックス」なら知ってるか。
散髪屋は自分のヒゲを剃ることができるのか？
散髪屋は「自分でヒゲを剃らない人」のヒゲだけを剃るなら、
散髪屋は自分のヒゲを剃ることができるのか？
それとも、・・・
こんな感じのパラドックスだ。
おもしろおかしいパラドックスだ。
でも奴らは真剣なんだ。
それで実は、この散髪屋のパラドックスはラッセルのパラドックスに翻訳できるんだ。
「全ての集合の集合」とか、
「自身を含まない集合の集まりは集合を形成しない」
とか言ってるやつにだ。

English: 
computer scientists have, they try to solve
problems like paradoxes, like there is Russell's paradox
that says that you cannot construct a set of all sets, things like this,
or maybe you know the Barber's Paradox: can the barber shave himself or not –
every barber shaves only people who don't shave themselves so can he shave himself or not?
This kind of paradox – its a funny paradox but they're serious
So this Barber's Paradox actually
can be translated into Russell's Paradox
which is like "the set of all sets" or "sets that don't contain themselves don't form a set" and so on stuff like this right and

Chinese: 
然後羅素想出了這樣型別的理論
闡述集合形成層層結構，你不能把所有的集合
放進一個大集合，然後型別論從此演化成
那樣非常抽象且形式化的Martin-Löf集合論
這只是為了解決悖論而被創造的一支數學然後
你知道有邏輯，邏輯在很久以前被
古希臘人創造，他們使用邏輯。所以有基本的邏輯律而人們已
研究了邏輯數千年。在某刻人們

German: 
Russell entwickelte die Theorie der Typen, welche besagt, dass Mengen
Schichten über Schichten bilden, das man nicht alle Mengen (äußere Schicht) nehmen kann und in
eine große Menge einbettet. Die Typen Theorie entwickelte sich weiter.
Etwa mit der abstrakten und sehr formalen Martin-Löf-Typen Theorie.
Diese Bereiche in der Mathematik wurden geschaffen, um mit Paradoxien umzugehen.
Dann ist da die Logik, ist vor langer Zeit entstanden, vor Urzeiten von den
antiken Griechen. Sie schufen die Logik als Regelwerk und die Leute haben
diese Logik  tausende Jahre lang studiert. An einem gewissen Punkt

Japanese: 
それでラッセルはこの型理論を思いついたんだ。
それによると、
集合の集まりは、階層上の階層を形成する。
全ての集合を直接一つの集合に入れることはできない。
それで、
型理論はここから発展して、
とても抽象的なマーティン＝レーフ型理論ってのがあって、
こいつはとても形式的だ。だろ？
つまり、数学の一系統に過ぎないってことだ。
パラドックスを扱うためのな。
それから、「論理」ってのもある。
論理が作られたのは、ずっとずっと昔、
古代ギリシア人だろ？あいつらが論理を使ってた。
だから、論理の法則があって、千年単位で調べてきたんだ。
で、人々はある時点で突然気づいたんだ。

Russian: 
Рассел придумал теорию типов, чтобы описать, что множества формируют
слои, которые формируют слои, что нельзя взять все множества и положить в одно большое множество;
со временем эта теория типов эволюционировала, сейчас есть очень абстрактная теория типов Мартина-Лёфа,
она очень формальна, так что это уже целая ветвь математики, созданная для борьбы с парадоксами.
Ещё же есть логика, она вообще была давным-давно открыта древними греками,
они её использовали, существуют законы логики, люди их изучают вот уже тысячи лет.

English: 
and Russell came up with this theory of
types that to say that sets
form layers upon layers, that you cannot
just have all sets and put them
one big set, right and then the type
theory evolved from this and there's
this very abstract Martin-Löf Type
Theory that's very formal, right so that's
that's just a branch of mathematics that
was created to deal with paradoxes and
then there is logic, and logic was
created you know long, long time ago by the
ancient Greeks right, they used logic so
there are laws of logic and people have
been studying logics for thousands of
years, right. And at some point people

Chinese: 
忽然體悟這所有不同領域的數學都正好是一樣的
這被稱為 Curry-Howard-Lambek 同構，它告訴我們
你在邏輯中做的任何事情能被直接翻譯成你在
型別論中做的事情。他們正好──不只是相似──是
正好相同的，有個一對一對應，對吧？而Lambek
部分的同構闡明在範疇論中，特定
類型的範疇──例如笛卡兒閉範疇──它們事實上完全

Japanese: 
これらの異なる数学の領域は全て、正確に同じだ、と。
これが「カリー=ハワード=ランベック同型」だ。
これによると、
論理においてやってることは何であれ、
型理論に直接翻訳できる。
こいつらは正確に、似てるとかではなく、
正確に同じなのだ。
一対一の対応があるんだ。な？
さらに、
この同型のランベックの部分が言っているのは、
カテゴリ論にも、
ある種のカテゴリ、
例えばデカルト・・・完全カテゴリみたいな、
全く同じ事を記述するカテゴリが存在する。

English: 
suddenly realized that all these distinct areas of mathematics are exactly the same
this is called the Curry-Howard-Lambek
isomorphism which says that
whatever you do in logic can be directly translated into whatever you do in
type theory. They are exactly –
it's not like they are similar – they are
exactly the same there is a one to one
correspondence, right? And the Lambek
part of this isomorphism says that
in category theory, there's certain
types of categories – like the cartesian closed categories – that actually totally

Russian: 
В какой-то момент люди резко осознали, что
все эти различные области математики
суть одно и то же.
Это называется изоморфизмом Карри-Говарда-Ламбека.
Утверждается, что у всего, что вы делаете в логике,
есть аналог в теории типов.
Они в точности, заметьте, они не просто похожи, они являются в точности одним и тем же, есть взаимнооднозначное соответствие.
Ламбекова часть изоморфизма утверждает, что
в теории категорий существуют некоторые виды категорий, например, декартовы замкнутые категории,
которые описывают те же вещи.

German: 
verstand man plötzlich, diese verschiedenen Bereiche der Mathematik sind exakt das selbe Ding.
Das ist der Curry-Howard-Lambek Isomorphismus, der besagt:
Was man in der Logik machen kann, gilt entsprechen in der Typen Theorie.
Und zwar exakt - nicht nur irgendwie ähnlich - sie sind gleichartig,
Es gibt eine Eins-zu-Eins-Entsprechung. 
Der Lambek Teil
von diesem Isomorphismus besagt, in der Kategorientheorie gibt es bestimmte
Typen von Kategorien, wie etwa kartesisch geschlossene Kategorien, die tatsächlich vollständig

Russian: 
То есть, имеются три разные теории, одна о вычислимости,
другая о категориях, третья вообще о типах, и все они суть одно и то же.
Получается, вся наша человеческая деятельность описывается одной теорией, вот это сносит крышу.
Математики, конечно, когда открывают вещи такого рода, настраиваются на философский лад
или, я бы не сказал религиозный, но философский, как минимум.
"Боже мой, мы открываем новое!"
Вы как бы не создаёте математику, а познаёте
глубинную суть вселенной.

German: 
die selbe Sache beschreiben. Das gibt es diese drei verschiedenen Theorien, eine
über Informatik, eine über Kategorien, eine über Typen, und
alle sind gleichartig. Es ist als würde alle menschliche Denkaktivitäten
durch eine einzige Theorie beschrieben.
Also das ist in der Tat eine überwältigende Erkenntnis. Und natürlich, als die Mathematiker
solche Sachen entdeckten, wurden sie philosophisch,
vielleicht nicht religiös aber wenigsten philosophisch, etwa wie: "Oh, mein Gott, wir entdecken Dinge!"
Da erschafft man nicht einfach nur Mathematik, man
entdeckt tiefe, ganz tiefe Wahrheiten über das Universum.
Also, was meinen Sie dazu? Ist Mathematik grundsätzlich etwas, was erfunden wird oder

Japanese: 
こいつら３つの異なる理論は、
一つは計算について、だろ？
一つはカテゴリについて、
もう一つは型についてなのだが、
こいつら全部同じなんだ。
つまり、基本的に全ての人類の活動は、
一つの理論で記述できるんだ。
OK、
マジで頭吹っ飛びそう。
それで数学者は、もちろんあれだよ、 こういうのを発見すると哲学的になるんだ。
宗教的とまでは言わないが、最低でも哲学的にはなる。
そうだろ？
「神よ！俺達は何か発見したぞ！」
数学では実際にはなにも作らないだろ？
宇宙の深い深い真実を発見しているのだ。

English: 
describe the same thing. It's just like there
are these three different theories, one
is about computing, one is about
categories another is about types and
they are all the same so like all
essentially all our human activity is
described by one theory
ok so this is like really mind-blowing
and of course mathematicians you know
when they discover things like this
they turn philosophical or
I wouldn't say religious but at least philosophical
right like "Oh my god we are discovering
stuff!" it's like you're not really
creating mathematics right you're
discovering some deep deep truth about
the universe
okay like what do you think it is
mathematics something that we invent or

Chinese: 
描述了一樣的東西。這就像是有三個不同理論，一為
關於計算，一為關於範疇，另一則關於型別而
它們都是一樣的，所以基本上所有人類活動都
被一個理論說明
所以這真的讓人為之驚艷，而且你知道的，數學家當然
在發現這類東西後變得哲學了
我不會說是像宗教那樣的，但至少是哲學的，像「天啊我們正在發現
東西！」就像是你不是在創造數學，而是在
發現某些宇宙深處的真理
像你認為數學是什麼？是我們發明的

English: 
is it like built into the universe, because
for physicists, this is "no", right, physicists
do experiments so – "We study stuff, we throw these atoms at each other, bang bang
and we observe something so we are discovering stuff that's around us"
Whereas mathematicians, no, they just
sit down at the desk with a pencil
or walk around in a park and think.
What are they discovering? And now they are saying "Well we have independently discovered
that this branch of mathematics this guy
discovered and this other guy in
ancient Greece he discovered logic and
this guy in Sweden who discovered type
theory you know, and they all discovered the same thing – there is some really really

Chinese: 
或是內建在宇宙中的，因為對物理學家來說，是「不」，物理學家
進行實驗所以「我們研究東西，我們撞擊這些原子，砰砰
然後我們觀察到了什麼，我們正發覺我們的周遭環境」
數學家則不一樣，他們只拿著一支鉛筆坐在書桌前
或在公園裡走動並思考
他們在發現什麼？而現在他們說「好我們分別發現了
這個人發現的這支數學而且另一個
古希臘人發現了邏輯，這個瑞典人發現了
型別論，然後他們都發現了一樣的東西：我們真的、真的

German: 
ist sie irgendwie im Universum enthalten? Weil Physiker sagen da "Neee".  Physiker
machen Experimente - "Wir untersuchen die Dinge. Wir knallen diese Atome gegeneinander, Peng! Peng!"
"Dann beobachten wir etwas und so entdecken und verstehen wir die Dinge um uns herum"
Mathematiker andererseits, setzen sich mit Bleistift an den Schreibtisch
oder gehen im Park spazieren, um nachzudenken.
Was entdecken die schon? Und jetzt sagen die, "wir haben unabhängig voneinander entdeckt,
dass dieser Zweig in der Mathematik, den dieser Knabe entdeckt hat, und die anderen Jungs im
antiken Griechenland haben die Logik entdeckt und dieser Kerl in Schweden, der die Typen Theorie entdeckte,
dass sie alle das selbe Ding entdeckt haben. Da muss also einen wirklich wirklich

Japanese: 
どう思う？
数学とは発明されるものなのか？
それとも、宇宙に組み込まれているものなのか？
というのも、物理学者にとっては違うんだ。
だろ？物理学者は実験する。
「俺らはブツを調べるぜ。
俺らは原子をぶつけ合うんだ。
ばーん、ばーん」だろ？
そんで俺らは何かを観測する。
つまり俺らは俺らの周りにある何かを発見しているのだ。
ところが数学者は違う。
あいつらはただ机に座ってたり、
鉛筆でなんか書いたり、
それか公園を徘徊して、
そんで考えるんだ。
一体あいつらは何を発見しているのだ？
今やこんなことまで言い出してる。
「俺らがこれまで個別に発見した、
こいつが発見したこの系統の数学と、
別のこいつが古代ギリシアで発見した論理と、
スウェーデンのこいつが発見した型理論は、
こいつらは全部、同じものを発見したのだ。」と
「俺らが発見していることには、 本当に深い真実が含まれているのだ」と。

Russian: 
Вы как думаете, математика, это что-то, что мы изобретаем, или она, скажем, встроена во вселенную?
Для физиков ответ очевиден, физики проводят эксперименты:
"Мы изучаем всякие штуки, мы кидаем атомы друг в друга, бабах, смотрим, что из этого вышло, так что мы просто познаём окружающий мир."
Что же до математиков, они просто садятся за
стол с карандашом или бродят по парку и размышляют.
Что они открывают?
И тут они говорят: "Так вот, мы порознь обнаружили, что область математики, которую открыл вон тот парень,
логика, открытая в Древней Греции кем-то, теория типов от парня из Швеции, так вот, они все открыли одно и то же.
Здесь какие-то глубочайшие законы природы, которые мы открываем."

Japanese: 
プラトンのいうイデアは存在するのだと。
ニール・スティーヴンスンの小説読んだことあるか？
こんな小説があって、
多世界宇宙なんだが、それぞれの宇宙が、
他のよりプラトン的なんだ。
それで人々が宇宙を行ったり来たりするっていう。
数学者は自分らがこういう事をやってるって思ってる。
だろ？
それで俺は思ったんだ。
「いやこんなんじゃなくて、
もっと簡単な説明があるはずだ」って。

German: 
tiefe Wahrheit in dem, was wir entdeckt haben, enthalten sein.". Das ist so etwas wie ein platonischer Begriff.
Ich weiß nicht, ob sie [Neal] Stephensons Novelle über,
also diese Novelle in der es Multiversen gibt und jedes davon ist
platonischer als die anderen. Und die Leute reisen von einem platonischen Multiversum zum anderen. Aber die
Mathematiker denken, das ist genau was sie selber machen.
Ich habe darüber nachgedacht und finde "So ist das nicht wirklich -
es muss eine einfachere Erklärung geben"

Russian: 
Платонизмом попахивает, не находите?
Не знаю, читали ли вы новеллы Нила Стефенсона, есть у него одна, где существует много вселенных, и каждая всё более платоновская, чем предыдущие,
и люди движутся из одной в другую, но математики ведь взаправду считают, что они этим и заняты.
Я над этим мыслил, пришёл к выводу: "Да ну, должно быть объяснение попроще."

English: 
deep truth that we are discovering" so
it's like there is some Platonic Ideal right
I don't know if you read [Neal] Stephenson's novels about,
there's this novel in which there are
multiple universes and each of them is
more platonic than the other, and people move from one platonic universe to another but the
mathematicians think that this is really
what they are doing, right?
And I was thinking about it and I
thought "No this is really not – there
has to be at a simpler explanation"

Chinese: 
發現了些真理，這就像是存在著某些柏拉圖式的理想
我不知道你們是否讀過史蒂芬森的小說
在有一部小說中，有多重宇宙
其中每個宇宙都比其它某些
更柏拉圖式而人們從一個柏拉圖式宇宙移動到另一個，但
這就是數學家覺得他們正在做的對吧？
我曾思考過但我覺得，「不是這樣
應該要有個更簡單的解釋。」

German: 
Und das geht zurück auf die Art, wie wir die Mathematik betreiben und das Universum entdecken.
Was tun wir? Wir sind Menschen. Wir haben uns aus Affen entwickelt.
Unser Gehirn hat sich entwickelt. Einige Teile davon
entwickeln sich seit, ich weiß nicht, Milliarden Jahren der Evolution. Wie zum Beispiel die Bilderkennung.
Diese Bilderkennung  hat sich seit sehr sehr langer Zeit entwickelt.
Das ist als wirkliche in sehr gutes System, um visuelle Eindrücke zu verarbeiten.
Das hat sich seit sehr langer Zeit entwickelt, beginnend mit Bakterien.
Die erkennen gerade mal ob es hell oder dunkel ist und ändern dann ihren Metabolismus.

Chinese: 
而這能回溯到我們做數學的方法，或者我們探索宇宙的方法
我們怎麼做的？我的意思是我們是人類，我們是進化過的
猴子，現在我們的腦進化過了。我們的腦的某些部分
自從，不知道，數十億年前就開始演化，例如
圖像處理的部份就演化了很長很長一段時間
所以我們真的有處理視覺輸入的非常非常棒的系統
很久以前自從細菌上的系統開始演化
它只能辨別明暗而改變其代謝

Russian: 
Истоками этого является наш способ занятий математикой, либо способ познания вселенной.
Что мы делаем? В смысле, мы всего лишь люди, верно?
Мы эволюционировавшие обезьяны, сейчас у нас эволюционировал мозг, некоторые его части развивались, ну не знаю, миллиарды лет,
например, система обработки изображений.
Это очень крутая система для анализа визуального потока.
Она развивалась очень давно, начиная с бактерий, которые всего-то могут различить, темно или светло, и поменять свой метаболизм,

English: 
And that goes back to the way we do
mathematics or the way we discover the universe, right.
So what do we do? I mean we are human, right? We are these evolved
monkeys, right now we have evolved our
brains so some parts of our brain
evolved you know since, I dunno, billion
years of evolution, like, the image
processing stuff for instance has been
evolving for a very very long time right
so this is a really very good
system to analyse visual
input. That's been involving for a
very long time starting with bacteria
that would just see whether it's bright or dark and change their metabolism

Japanese: 
それで、俺らが数学とか宇宙の発見とかする方法を遡ってみたんだ。
つまり、俺らは何やってんだ？
俺らってのは、つまり人類な？
この進化した猿だ。
今は進化した脳を持っているが、
これはつまり脳のある部分が進化して来たんだ。
あれだよ、どれくらいか知らんが、10億年とかの進化だろ？
例えば画像処理はめちゃくちゃ長い時間進化してきたろ？
これは視覚入力を分析するのがとてもうまいシステムだ。
これはとても長い時間をかけてきたんだ。
最初はバクテリアで、明るいか暗いかに応じて代謝を変えるだけだったのだろう。

Japanese: 
次にはそいつらは、
こっちよりあっちの方がよりが明るいとかを見始めて。
それが最終的には、
一番重要なことだ。
「天敵はどこだ？」だろ？
「食べ物はどこだ？」
天敵と食べ物の区別だ。
な？
これが生き残るのに一番重要なことだろ？
だから俺らはこれが得意なんだよ。
こいつはより下等な動物から継承してるんだ。
こういったことを進化させる進化圧がたくさんあるんだ。
今では俺らがそういった奴らを、コンピュータを使って真似てみるが、
それは本当に難しいって判ったんだ。
画像認識と言うのは本当に難しい問題だ。
誰が悪者で、誰が仲間かを認識したり、
食べ物がどこにあるかを認識したり、

English: 
and then they would start seeing this side is brighter than that side and so on and eventually, you know, the
most important thing "Where is the predator?" "Where's the food?" distinguishing
between a predator and food
right this is like the most important
thing that makes you survive right so we
got very good at this and we have
inherited the stuff from lower
animals and and there's been a lot of
evolutionary pressure to evolve these
right and now we are trying to imitate
the stuff with computers and we're
finding it really hard
it's a really hard problem image
recognition right now, recognizing
who's your foe and who's your friend
and recognizing where the food is right

Chinese: 
接下來它們開始能看到某側比某側亮，最終，你知道的
最重要的問題是「掠食者在哪裡？」「食物在哪裡？」分辨
掠食者和食物對吧？這是
讓你生存最重要的問題。我們已經在這上頭變得很強
我們繼承自較低等的動物且有了許多
演化壓力使我們進化對吧？現在我們試著用
電腦模仿這些而我們發現它非常非常困難
現在圖像識別是非常難的問題，識別
是敵是友且識別食物在哪

Russian: 
затем они начали видеть, что одна сторона светлее другой итд.
В конце концов, самая важная вещь: "Где хищник? Где еда?"
Отличать хищников от еды, это важнейшая способность, позволяющая выжить, вот она у нас неплохо развилась,
мы это унаследовали от животных,
и было сильное эволюционное давление, приведшее к этому.
А теперь мы пытаемся имитировать подобные вещи с помощью компьютеров и находим их непростыми,
это нетривиальная задача -- распознавание образов, понимание, кто твой враг, кто друг, где еда, годится ли она в пищу.

German: 
Dann beginnt es zu erkennen, diese Seite ist heller als die andere und so weiter.
Dann ganz wichtig "Wo ist der Angreifer? Wo ist das Futter?"
Die Unterscheidung zwischen Jäger und Futter ist wohl die wichtigste Sache,
die etwas Überleben lässt. Also wir sind ziemlich gut darin. Und wir haben
diese Fähigkeiten von den vorherigen Entwicklungsstufen geerbt.
Der evolutionäre Druck zu dieser Entwicklung war riesig. Wenn wir nun versuchen
diese Dinge mit Computer nachzumachen, finden wir das richtig schwer.
Bilderkennung ist wirklich ein sehr schwieriges Problem.
Freund und Feind zu erkennen, Futter zu finden

German: 
und zu sehen ob es verdorben ist, sind ganz wichtige Fähigkeiten, die Computer nicht besonders gut können.
Das ist also eine sehr schwere Aufgabe, aber wir arbeiten sein einer Milliarden Jahre dran.
Also kennt sich unser Gehirn damit aus.
Dann gibt es noch die Dinge,
die sich erst in den letzten hunderttausend Jahren oder so entwickelt haben. Ich weiß nicht,
wie lang entwickeln wir uns als Menschen? 100 Millionen Jahre?
Nein, wohl eher nicht. Es ist eine winzige Zahl an Jahren.
Im Verhältnis Millisekunden der Evolution, die wir plötzlich diese Hirne haben,
mit denen wir abstrakt denken können. Wir können jetzt zählen, uns verständigen,

Russian: 
Очень важные вещи, с которыми компьютеры плохо справляются,
но мы-то над ними работали миллиарды лет, вот наш мозг и знает, как это делать.
А есть ещё эти штуки, развившиеся в последние сотни тысяч лет или около того,
Сколько шла эволюция человека, я не знаю точно. 100 миллионов лет?
Нет, нет. Да без разницы, это неизмеримо мельчайшее число, последняя миллисекунда эволюции,
в которую мы получили эти мозги, которые внезапно могут абстрактно мыслить.

Chinese: 
和它有沒有被打翻──電腦做的不是很好但非常重要的事情
所以這是個非常難的問題但我們已經處理了它數十億
年所以我們的腦知道如何做對。但還有些
在這幾十萬年間左右進化的東西，我不
知道，人類進化史有多長？一億年？
不、不到。不管怎樣，那是一段很短的時間，是
演化史的最後一微秒，我們突然有了
能真正進行抽象思考的腦──我們能數數，我們能交流，我們

English: 
and whether it's spoiled or not – very
important things computers don't do very well
ok so this is a very hard problem but
we've been working on it for a billion
years so our brains know how to do
this stuff. But then there are there are
things that evolved in the last
hundred thousand years or so, I don't
know, how long is human evolution? 100 million years?
No it's not. Whatever it is it's a
tiny number, it's just like the
last millisecond of evolution that
we suddenly had these brains that
that can actually think abstractly –
we can count, we can communicate, we

Japanese: 
それが腐ってないかを認識したり、
とても重要なことなのに、
コンピュータはうまくやれない。
これは難しい問題だが、
俺らは10億年やり続けてるんだ。
だから、俺らの脳はこういうことをどうやるか知ってる。
だが一方で、 ここ１万年くらいかそこらで進化したやつもあるんだ。
知らんけど。
人類の進化ってどれくらい？
１０万年？
違うな・・・。
なんにせよだ、小さい数字だろ？
進化からしたら最後の１ミリ秒だ。
俺らは突然この脳を持った。
この脳は抽象的に考えられるんだ。
数を数えることができるし・・
コミュニケーションできるし・・だろ？
何かを整理したり・・だろ？

German: 
wir können organisieren, Mathematik und Wissenschaft betreiben. Und das sind
ganz frische Fähigkeiten. Wir betreiben nun Wissenschaft seit
den letzten paar tausend Jahren. Nichts im Vergleich zum Zeitraum der Evolution.
Wir machen das mit unseren Gehirnen, die entstanden sind
aus Aufgaben wie Mammuts zu jagen oder Sägezahn-Tigern zu entkommen.
Es hat sich nicht entwickelt, um Programmieren zu können.
Das sind ganz neue Aufgaben. Sie haben sich auch nicht entwickelt, um Mathematik oder Logik zu betreiben.
Sie entwickelten sich zum Jagen, Essen finden und

English: 
can organise stuff, and we can do
math and we can do science and this is
like a really fresh ability, and and we've been doing science for
the last few thousand years onwards so that's that's nothing on the evolutionary scale
and we're doing it with these
brains, what do these brains come
from, they evolved to do things
like hunt mammoths, or run away from
sabre-toothed tigers, they did not
evolve to do programming, that's a
very recent thing! They didn't
evolve even to do mathematics or logic
no, they evolved to do stuff like
hunting, like finding food and

Japanese: 
さらには、数学もできるし、科学もできる。
これはめちゃくちゃ新しい能力だ。
な？そんで、
俺らはここ数千年、科学してるが、
こんなの進化のスケールからしたら無に等しい。
それで、俺らはこういった事をこの脳でやるんだ。
一体なんでこの脳が出てきたのか？
こいつらはマンモスを狩ったりするために進化したんだ。
それか、
サーベルタイガーから逃げるためにだ。
いいか？
こいつらはプログラミングするために進化したんじゃない。
そんなのごく最近のことだ。
数学とか論理のためですら無い。
違うんだ。こいつらが進化したのは、
狩りのためだ。食べ物を見つけるためだ。

Chinese: 
能組織，且我們能進行數學和科學，這
真的真的是新獲得的能力，我們
在這最後幾千年研究科學，這和演化史比只是九牛一毛
而我們正使用我們的腦，我們的腦是怎麼
來的？它們為了如獵捕猛瑪象的活動演化，或為了
從劍齒虎眼光下逃走，它們不是為了寫程式演化
這是很晚期的事情！它們不為了做數學或邏輯演化
不，它們為了如打獵、覓食

Russian: 
Мы можем считать, общаться, организовывать вещи, заниматься математикой, наукой, и всё это очень свежая способность.
Мы занимались наукой последние несколько тысяч лет, это ведь ничто в масштабах эволюции,
и мы это делаем этими самыми мозгами, которые развиты для охоты на мамонтов, спасения от саблезубых тигров,
они не развиты для программирования, это новая вещь!

English: 
especially organizing ourselves into
groups, right? Social activities
and communicating, so language
right? So we have these language skills
it's very fresh thing, right?
So compared to the complexity of our
visual cortex this new newly
acquired ability to actually think
abstractly and using a language that
that's like really very very fresh thing
and it's very primitive, ok. It hasn't had
time to evolve. It's very simple and we
are using this tool that we evolved to

Chinese: 
特別是組織團體而進化，對吧？社交活動
和溝通，所以語言對吧？所以我們有了這些語言能力
這是很新的事情對吧？
所以和我們視覺皮質的複雜性相比，這樣新獲得的
真正抽象思考的能力和使用語言
是非常非常新的事情且它很原始，是吧。它沒有
時間進化。它非常單純且我們正在使用這樣為了

Japanese: 
特に、自分らを群れとして編制するためだ。
だろ？
社会活動だ。
それとコミュニケーション、すなわち言語だ。
だから俺らは言語能力を持ってるんだ。
これはとても新しいブツだ。
視覚野の複雑さと比べると、
この新しい、
抽象的に考えたり言語を使う能力は、
マジでめちゃくちゃ新しいやつだ。
それに、とても原始的なんだ。
いいか？
そんなに進化する時間なんて無い。
とても単純で、俺らはこれを使っているが、これが進化したのは、

Russian: 
Они развивались даже не для математики или логики, а для охоты, поисков еды и, особенно, организации в группы.
Социальные действия и коммуникация, т.е. язык.
Способности к языку у нас тоже весьма
свежи.
По сравнению со сложностью нашей зрительной коры, эти новоприобретенные языковые и абстрактные способности очень примитивны.
У них не было времени развиться.
Они просты, и мы используем эти инструменты, предназначенные для метания копья,

German: 
inbesondere dem gemeinsamen organisieren als Gruppe. Soziale Tätigkeiten
und Verständigung, also Sprache. Wir haben also diese Sprachfähigkeit
Was eine ganz neue Sache ist.
Verglichen mit unserem visuellem Kortex, sind diese neu
erworbenen Fähigkeiten des abstrakten Denkens und Sprachen zu benutzen
einfach brandneu, frisch und sehr unausgereift. Es hatte noch keine Zeit
sich zu entwickeln. Wir verwenden diese primitiven Fähigkeiten, die sich entwickelt haben, um

English: 
throwing javelins or arrows, shooting
arrows and communicating with with other
guys like "Oh here, the mammoth is over there!"
"No don't run there!" or "Right behind you
a sabre-toothed tiger!" or "A bear!" so we
are now using this tool to do
mathematics
so there are certain things that we
found useful in doing
abstract thinking, in doing mathematics
and the major thing is we
come head-to-head with a very complex
problem like how to provide food for our
tribe right and we solve it, how do we
solve it, we divide it into smaller

German: 
Speere zu werfen, Pfeile zu schießen,  mit anderen zu reden
Wie: "Oh da, ein Mammut ist dort"
"Nein, nicht da entlang!" oder "Achtung, hinter dir, ein Säbelzahntiger!" oder "Ein Bär!"
Dieses Werkzeug verwenden wir nun also für die Mathematik.
Bestimmte Dinge finden wir dabei sehr hilfreich
wie das abstrakte Denken in der Mathematik. Der Kernpunkt ist,
wenn wir ein kniffliges Problem haben, wie etwa Nahrung für unseren Stamm finden,
lösen wir das. Wie gehen wir vor? Wir zerlegen es in kleinere

Russian: 
стрел и общения друг с другом вроде: "Эй, тут мамонт!", "Сюда не ходи!" или "Тигр за тобой!", "Медведь!"
И этот инструмент мы сейчас используем для математики.
Есть некоторые вещи, что мы нашли полезными в абстрактном мышлении, в математике,
и самая крутая в том, что мы сталкивались лицом к лицу с очень сложными задачами, например,
обеспечить едой своё племя, и мы решали их.

Japanese: 
これは槍を投げたり、弓を射ったり、
他の奴らとコミュニケーションするためだ。
「ほら！あそこにマンモスだ！」
「あっち行くなよ！」とか、
「後ろ！サーベルタイガーだ！」
「熊だ！」
今は俺らはこのツールを使って数学するんだ。
すでに俺らには、
確実に便利だとわかってることがある。
抽象的に考えたり、数学をするのに時に便利なものだ。
最大のものは、
とても複雑な問題に直面した時は、
例えば、どうやって部族に食料を供給するか？、とかだろ？
俺らはこれを解くんだ。
どうやって？
より小さい問題に分けるんだ。
解けるくらい小さくだ。

Chinese: 
射標槍或箭和溝通演化出來的工具
例如「阿這裡，猛瑪象在那裡！」
「不要到那裡！」或「劍齒虎就在你後面！」或「一隻熊！」所以我們
正在用這樣的工具進行數學
因此我們發現了某些有助於抽象思考的特定概念
在進行數學時和更重要的在我們
一起處理一個非常複雜的問題如如何為
部落提供食物。我們怎麼解決？我們把它分割成更小

German: 
Probleme, die wir einzeln lösen und als Gesamtlösung kombinieren können.
Also das ist einfach die einzige Art, wie wir mit komplexen Situationen umgehen können:
Zerlegung in einfache Dinge, einzeln lösen,
die einfachen Probleme lösen und Verknüpfung zur großen Gesamtlösung. Und das machen wir überall so.
Dieses Vorgehen durchdringt unser gesamtes Tun, selbst wenn wir das nicht immer merken.
Aber so funktionieren wir nun einmal. Und weil das so ist betreiben wir Wissenschaft genau in dieser Art und Weise.
Also in jeder Wissenschaft, in jeder Disziplin der Mathematik gilt:
"Wir können nur wahrnehmen, was wir zerlegt und wieder zusammengesetzt haben."

Japanese: 
それから解を結合する。
いいか？これが俺らの知っている、
複雑な状況を扱う唯一の方法なのだ。
そいつらをより単純なものに分解して、
で、そいつらを解くんだ。
単純な問題を。
それから、その解を大きな解へと結合する。
これはどこにでも現れる。
いいか？
お前らも見つけられる。
これはあまりにも全てに浸透しすぎていて、
気づきすらしないんだ。
しかし、これが俺達の仕組みだ。
これが俺達の仕組みなのだから、
科学の仕組みもこれと同じだ。
つまり、全ての科学の系統と、
全ての数学の系統は、
俺らが見ることが出来るのは、

Chinese: 
而能被解決的問題然後我們組合這些方案
好所以這是我們所知道解決複雜問題的唯一方法
把它們分解成簡單點的問題然後解決
它們，解決最簡單的問題，然後把解決方案組成更大的解決方案，我們到處這麼做
我們發現這滲透所有我們做的事情，我們甚至沒注意到它
但這是我們運作的方式，因此這也是我們進行科學的方式
所以每個科學的分支、每個數學的分支是
「我們只能看到這些能被分而治之後組合的事情」

Russian: 
Каким образом? Деля их на более мелкие задачи, которые мы умеем решать, затем комбинируя решения.
И это единственный известный способ, разбирать на более простые блоки, решать их, собирать решения, это же повсюду.
Оно настолько всепроникающе, что мы этого не замечаем.
Но так уж мы устроены, и из-за такого устройства мы и науку делаем так же.
Все научные области, разделы математики состоят из

English: 
problems that we can solve and then we
combine the solutions
ok so this is the only way we know how
to deal with complex situations by
decomposing these things
into simpler things and then solving
them, the simplest problems, and combining the solutions into bigger solutions and this is everywhere.
You find is that this permeates everything we do that we don't even notice it.
But this is how we work and because
this is how we work this is how we do science as well.
So every branch of science, every branch of mathematics is
"We can only see these things that can be
chopped into pieces and then put

German: 
Kein Wunder, dass sie sich so ähnlich sind!
Wir können nur Probleme mit dieser Struktur betrachten.
Wenn es diese Struktur nicht gibt, sagen wir einfach: "Wir können das Problem nicht lösen"
"Also schauen wir uns was anderes an. Vielleicht können wir da was schaffen,"
das Problem sieht zerlegbar aus."
"Dieses hier nicht. Vergiss es! Reden wir nicht mehr drüber"
Noch etwas Bemerkenswertes.
Vielleicht ist das Universum einfach so. Alles kann
in kleinere Teile zerlegt  und wieder zusammengesetzt werden. Vielleicht ist das so etwas wie eine
Eigenschaft des Universums selbst und unser Gehirn spiegelt das einfach wider.

English: 
together" so no wonder they look the same!
Because we can only see these
problems that have this structure. If they
don't have this structure, we just don't
see them, we just say "We cannot solve this problem"
"Let's do something else, maybe
we can get a grant for solving that other
"problem because that seems choppable
into smaller pieces
"this one doesn't, let's forget about it
let's not even talk about it", right?
So one good thing,
ok, so maybe the whole universe is like
this maybe everything in this universe
can be chopped into little pieces and
then put together, maybe that's like the
property of this universe and our brains are just reflecting this.

Japanese: 
ぶった切って、また一緒にできるものだけなんだ。
だから、こいつらが同じに見えるのは不思議じゃないんだよ！
いいか、
構造を持った問題だけが俺らに見えるからだ。
構造を持たないものは、俺らは見ない。
ただ「この問題は俺らに解けない」ってなるんだ。
「別のことしようぜ。多分こっちの問題は解ける。
こっちはぶった切れそうだからな」
「こっちはダメだ。忘れようぜ、話すのもやめよう」ってな？
そしたら、こう考えるやつが出てくるんだ。
そうか、だから多分、宇宙全体がこんなかんじなんだ。
多分、この宇宙にある全ては、
小さい破片にぶった切ってまた繋げられる。
だろ？
多分これは、この宇宙の属性だ。
俺らの脳はただこれを反映してるのだ。

Chinese: 
難怪它們看起來都一樣！
因為我們只能看到有這樣構造的問題
如果它們沒有這樣構造，我們只會忽視，我們只會說「我們無法解決問題」
「來做其它事情，或許我們能拿到解決其它問題的門票
因為它看起來是可被分割成小部分的
這一個不行，忘了它且甚至不要談論它。」對吧？
有件好事
好的，或許這整個宇宙都像這樣子，或許這整個宇宙的所有事情
都可以被分而治之，或許這是
這個宇宙的性質而且我們的腦只反映了它

Russian: 
"Мы можем увидеть только такие вещи, которые можно порубить на кусочки и собрать заново",
неудивительно тогда, что они все похожи!
Потому что мы можем увидеть задачи, обладающие подобной структурой.
Если её нет, мы слепы, говорим:
"Мы не можем решить эту задачу, давайте займёмся чем-нибудь другим,
может, удастся получить грант за решение другой задачи, она выглядит, как удобно раскладываемая на составляющие, а эта нет.
Давайте о ней забудем, даже говорить о ней не будем."
Ладно, может, вся вселенная такая, может, всё во вселенной можно покромсать на кусочки и пересобрать.
Может, это неотъемлемое свойство вселенной, а наш мозг лишь отражает это.

Japanese: 
個人的には俺はそうは思わない。
多分間違ってるが。間違ってるといいな。
だけど、
俺は物理学者でもあるんだが、
最初は物理学者だったんだ、
だから俺は、物理学で何が起こってたか見たんだ。
で、物理学でも、俺らは小さくぶった斬りたいんだ。
そうだろ？
それで、俺らはこれでとても成功したんだ。
知ってるだろ？
俺らは物体が、 原子から出来ていることを見つけただろ？
だから、原子がこの小さいやつに当たるんだよ。
切り分けて、属性を調らべることができて、
そんで、
この石とか金属塊とかの属性は、
原子の属性の組み合わせから来てるって言える。
つまり、石の塊を原子にまで分解して、調べて、
また再合成する。
そうして俺らはこいつらのことがわかるんだ。
どうだ！

Chinese: 
但我個人不這麼認為。或許我是錯的，希望如此，但我也是一個
物理學家，我從物理學家開始做起的，所以我看到了物理學中發生的事情
在物理學中我們也想把東西分割成小片段。且
我們這方面非常成功：我們發現物質
由原子組成，對吧？所以原子是這些
我們可以分開來並研究，發現他們的性質的東西，就假如是
一顆石頭或一塊金屬的性質好了，他們是
這些原子組合成的性質所以我們能把石頭分割成原子，研究
他們然後重組它，我們就有了對它的理解

German: 
Ich persönlich glaube nicht daran. Vielleicht irre ich mich dabei, hoffentlich. Aber ich bin ein
Physiker, habe als Physiker angefangen, habe gelernt was in der Physik vor sich geht.
In der Physik möchte man auch alles in kleinere Teile zerlegen.
Wie sie wissen, sind wir damit sehr erfolgreich. Wir haben herausgefunden, dass Materie
aus Atomen zusammengesetzt ist. Diese Atome sind Dinge, die wir trennen können
und dann einzeln untersuchen, wir finden die einzelnen Eigenschaften und sagen dann
die Eigenschaften eines Steins oder eines Stück Metalls ergibt sich als die Kombination der Eigenschaften
dieser Atome. Also zerlegen wir Steine in Atome, studieren diese,
setzen die wieder zusammen und haben ein Verständnis des Ganzen.

English: 
And personally I don't think so. Maybe
I'm wrong, hopefully I'm wrong, but I'm a
physicist also, I started as a physicist, so I saw what was happening in physics
and in physics we also wanted to chop
things into little pieces, right. And
we were very successful at this you
know – we found out that matter is
built from atoms, right? So atoms are
these things that we can
separate and then study, find their
properties and then say that the
property of a rock or a piece of
metal comes by combining the properties
of these atoms so we can 
decompose a piece of rock into atoms, study
them and then recompose it, and
then we have the understanding of them.

Russian: 
Лично я так не думаю.
Могу быть неправ, надеюсь даже, что неправ,
но я ведь ещё и физик, я видел, что происходило в физике,
мы там тоже хотели поделить всё на кусочки. Добились ощутимых успехов в этом,
обнаружили, что материя состоит из атомов.
Атомы это такие штуки, что мы можем отделить и изучить, понять их свойства, затем утверждать,
что свойства камня или куска металла порождены комбинацией свойств составляющих атомов.
Так что мы можем разобрать кусок камня на атомы, изучить их, собрать воедино, и вот мы уже познали его.

Japanese: 
しかし、そこで俺達は止まらなかった。
原子の中に何があるか見たかったからだ。だろ？
だから、素粒子があるんだ。
電子とか、陽子とか、そんな奴らだ。
ある水準で、ものを「より単純なもの」に分解したければ、
この単純なものは、 「より単純な属性」を持ってるハズだ。
例えば、
素粒子として俺らが考えうる最も単純なものはなんだ？
点に違いない。だろ？
点なハズだ。
と言うのは、
もしそれが球だったら、
より細かい破片に切り分けられるんだ。
そうなったら、さらに分解して、
再合成して、とかそんなだ。
だから、どこかの水準で、
これ以上切り分けられないっていう最低の水準では、
俺らは点を見つけるはずなんだ。
だろ？
だから、
素粒子は点であるハズなんだ。

Russian: 
Но мы ведь не остановились на атомах, мы захотели посмотреть, а что у них внутри?
Вот и элементарные частицы: электроны, протоны итд.
На каком-то уровне, если мы хотим разобрать что-то на более простые составляющие,
у более простых элементов должны быть более простые свойства.
Например, что самое простое можно представить в качестве элементарной частицы?
Это должна быть точка, не правда ли? Точка.
Я подразумеваю, что если бы это был шарик, то вдруг его тоже можно порезать, распилить на кусочки, пересобрать итд...
Потому на каком-то уровне, на нижнем из всех возможных, мы уже не можем ничего разложить.
Так элементарная частица должна быть точкой.

English: 
But then we didn't stop at that
because we wanted to see what's inside the
atom right? So there are these elementary particles
electrons, protons and so
on. So at some level if we
want to decompose things into
simpler things, these simpler things have
to have similar properties. For instance
what's the simplest thing that we can
imagine for an elementary particle? It
has to be a point, right? It should be a point. I mean, if it's a ball right then maybe we can
cut it, chop it into smaller pieces and
and then do the decomposition,
recomposition and so on. So at some
level, some lowest possible level we
cannot chop it anymore and we should
find a point, right? So an elementary

Chinese: 
但我們不停在這裡因為我們想看看
原子內有什麼對吧？所以有了這些基本粒子
電子、光子之類的，所以到了某個階段如果我們
想要把東西分割成更簡單的東西，這些更簡單的東西必須
有相似的性質。例如
什麼是我們能想到基本粒子最單純的性質？它
必須是個點，對吧？他應該是一個點，我的意思是，如果它是個球則我們或許能
切割它，把它分割成部分而進行分解
再重組之類的。所以到了某個階層，某個所有之中最低的階層，我們
沒辦法再繼續分割它，我們應該發現一個點對吧？所以一個基本

German: 
Dann schauten wir tiefer und wollten wissen: Was ist im innern
der Atome. Da fanden wir weitere elementare Teilchen
Elektronen, Protonen und so weiter. Ab einem gewissen Punkt
wenn wir Dinge in einfachere Teile zerlegen, müssen diese Teile auch
einfachere Eigenschaften haben. Zum Beispiel
Was ist das einfachste vorstellbare Ding in der Teilchenphysik?
Es muss ein Punkt sein. Es sollte schon ein Punkt sein. Also wenn es ein Ball wäre, dann
könnte man es doch weiter teilen, zerlegen
und wieder zusammensetzen. Also ab einem gewissen Punkt können wir es
nicht weiter zerlegen und das sollte dann ein Punktteilchen sein. Also sollte ein Elementarteilchen

Chinese: 
粒子應該是一個點。那會是分割得出的階層的最底端，對吧？
我們曾試著這麼做，我們有著粒子的標準模型
在其中我們假設粒子是點，這有點作弊因為這麼
一來我們不能真的處理點狀粒子因為
他們生成了無限例如如果兩個點粒子非常非常非常
接近
它們的交互作用成為無限且一切崩潰所以我們想出了
重整化理論，它像是為了擺脫無限的大補丁
等等而且當然物理學家對此不太高興
所以他們想
「好的或許在這樣最低的階層東西不像我們想像中的可分割，或許

English: 
particle should be a point. That would be the end of this level of decomposition, right?
And we tried doing this, we have like
the standard model of particles in
which we assume that the particles are
points, which is sort of a cheat because it turns
out that we cannot really deal
theoretically with point particles because
they get to infinities like two point
particles when they get very very very
close together, right.
The interaction goes to infinity and
everything blows up so we came up with
this renormalization theory which is
like a big hack you know to get rid of
infinities and so on and and of course
physicists were not very happy with that
So they thought
"ok so maybe at this lowest level things
are not as choppable as we thought, maybe

German: 
ein Punkt sein. Das wäre der Endpunkt der Zerlegungskette.
Das hat man versucht. Wir haben so etwas wie ein Standardmodell der Teilchen bei dem
wir annehmen Teilchen sind Punkte. Was irgendwie gemogelt ist. Es stellt sich heraus,
dass man mit Punktteilchen keine gute theoretische Beschreibung machen kann,
weil sich Divergenzen ergeben, wenn etwa zwei Teilchen sehr sehr sehr
nahe zusammen kommen.
Die Wechselwirkung wird unendlich und alles fliegt auseinander. Also baute
man Renormalisierungen in die Theorie. Was ein großer Trick ist, um die
Divergenzen los zu werden. Natürlich waren nicht alle Physiker damit glücklich.
Also dachten sie:
"Vielleicht sind die kleinsten Dinge ja nicht so teilbar, wie wir dachten. Vielleicht"

Russian: 
Это было бы пределом этого уровня раскладывания на части.
И мы пытались, есть вот стандартная модель частиц,
в которой предполгается, что частицы _являются_ точками, хотя здесь мы кривим душой,
потому что работать теоретически с частицами-точками не получается.
Две точечные частицы, когда оказываются очень-очень близко друг к другу, их взаимодействие устремляется к бесконечности, и всё летит к чертям.
В качестве контрмеры придумали теорию ренормализации, которая есть один большой костыль для избавления от бесконечностей, и дальше в том же духе.
Конечно же, физики не очень были рады такому ходу событий.

Japanese: 
そこがこの分解の行き着くところなんだ。
だろ？
俺らはこれをやろうとしたんだ。
粒子の標準モデルとかもあって、
これは、粒子を点と仮定するんだ。
これはある意味裏技で、なぜなら、
俺らには論理的に点の粒子は扱えないということが判ったんだ。
なんでかというと、無限に陥るからで・・・
もし２つの点が互いにめちゃくちゃ近づいたら、
相互作用が無限になって
全てが吹き飛ぶ。
それで俺らは、繰り込み理論っていう、
巨大ハック的なものを思いついて、無限とかを消し去ったんだ。
もちろん物理学者は嬉しくなくて、
それで奴らは思ったんだ、
「そうか多分、最低水準では、俺らが思ってたように物事は切り分けられないのかもしれない。

English: 
nature really does not follow this kind
of divide and then combine" so
they came up with this idea that maybe
elementary particles are strings. If you've heard of
of string theory right? Like, what a crazy
theory this is! That this most elementary
thing is not a point but it actually is
a string and you cannot chop it
Its like the elementary thing is not divisible, but it's not a point.
And quantum theory – and this is
another non-choppable piece

German: 
"ist die Natur nicht so gemacht, dass man Teilen und zusammensetzen kann"
So kam die Idee auf, vielleicht sind die elementarsten Teilchen Strings (kleine Bändchen). Sie haben wohl gehört von den
String Theorien. Ich meine, was für eine irre Theorie ist das denn? Das elementarste Teilchen
ist kein Punkt, sondern ein String mit Ausdehnung und man kann den nicht teilen.
Die elementarsten Dinge sind nicht teilbar, aber auch kein Punkt.
Quantentheorie ist ein anderes Stück Erkenntnis, das wir gefunden haben.

Chinese: 
自然真的不遵循這種分割後重組的方法
所以他們想出了這樣點子，或許基本粒子是弦。你聽說過
弦論對吧？就像，這是多瘋狂的理論！最基本的
東西不是點而事實上是弦而且你無法分割它
最基本的東西不是可分割的，但它不是一個點
還有量子理論，這是另一個

Russian: 
Подумали: "ОК, может, на низшем уровне вещи не так уж поддаются делению, как мы думали, может, природа так не работает."
И возникла у них идея, что элементарными частицами могут быть струны.
Может, вы слышали о теории струн? Какая крышесносная теория!
Что элементарной вещью может быть не точка, а струна, которую вы тоже не можете дальше делить.
Элементарное неделимое, но не точка.
Или квантовая теория, ещё один неделимый кусок знаний, утверждает,

Japanese: 
多分本当は、自然はこの分解・合成には従ってないのだ。」って。
それで奴らは、多分素粒子はひもだって言うアイデアを思いついたんだ。
ひも理論て聞いたことあるだろ？
何だこのキチガイ理論は！
最も基本的なものは、点ではなく実はひもで、
切り分けることはできない。
基本的なものは・・・
分けられないんだ・・・
でもそれは点じゃないんだ。
それに量子論だ。
これも俺らが発見した知識の中でぶった切れないやつだ。

Japanese: 
それ曰く、
より大きな系があったとして、
そしたら多分それは素粒子に分解できて、
「俺は１０粒子の系を持ってるぜ、
俺はこいつら１０粒子の属性を知ってるし、
俺はこの系に何か大きいっぽい名前をつけて、
「オブジェクト」みたいな名前だ。
それで、俺はこのオブジェクトの構造を
こいつら粒子を見ることで明らかにするんだ」とか言うんだ。
ところが、量子力学で明らかになったのは、
こいつらの状態は・・・これは・・・
こいつらは足し合わせられねえんだ！
いいか？
２つの粒子の状態は、それぞれの粒子の状態の加算でも、乗算でも、畳み込み演算でも無いんだ。
それは新しい状態なんだ！
それは、あれだよ、
異なる微分方程式に従う、とかだ。

Russian: 
что если у вас есть большая система, возможно, вы её можете поделить на элементарные частицы и сказать:
"Вот у меня система из 10 частиц,
я знаю свойства всех десяти, ну и назову эту систему, скажем, объектом."
И можно понять структуру этого объекта, глядя на составляющие его частицы.
Не тут-то было, в квантовой механике
состояния объекта так не выражаются.
Состояние системы из двух частиц не является ни суммой, ни произведением, ни свёрткой двух состояний систем из одной частицы.
Это полностью новое состояние, описываемое другим дифференциальным уравнением итд.

German: 
Wenn man da ein größeres System hat, vielleicht kann
man es in elementare Teile zerlegen und sagen "Hey, ich habe ein System von
10 Teilchen. Ich kenne die Eigenschaften dieser 10 Teilchen. Das gesamte System
nenne ich etwas größeres wie ein Objekt", und ich kann die Struktur von diesem Objekt finden
indem ich auf die Teile schaue. In der Quantenmechanik zeigt sich, dass die Zustände des Gesamten
sich nicht einfach aus den Teilen ergeben.
Die Zustände aus zwei Partikeln sind nicht die Summe, das Produkt oder die Überlagerung der
Zustände der einzelnen Partikel. Es sind neue Zustände, die sich aus einer anderen

English: 
of knowledge that we found out – says that if you have a bigger system, maybe you
can separate it into elementary
particles and say "Hey I have a system of
10 particles, I know properties of these 10
particles and I call this system
something bigger like an object", right,
and I can find out the structure of this
object by looking at these particles and it turns out in quantum mechanics that the states that
it comes to – they don't add up!
A state that has two particles is not a
sum or a product or a convolution of
states of a single particle it's a new
state which follows a different you know

Chinese: 
我們發現無法被分割的知識，它說如果你有個較大的系統，或許你
能把它分割成基本粒子後說「嘿我們有個有
10個粒子的系統，我知道這10個粒子的性質且稱呼這個系統叫做
某個更大的東西例如一個物件」好的，然後我能
由聚焦在這些粒子上發現這個物件的結構，但後來在量子力學上他的相
變成：它們無法被這樣取總和！
一個有兩個粒子的相並不是兩者分別的相的和或積或疊積
它是一個遵循不同微分方程的一個不同的相

English: 
differential equation, and so on, so we
try to separate particles
And suddenly we cut the particles apart
and it turns out that
something weird happens in between when you are cutting, right, you are actually
changing the system by separating things, ok? So maybe, maybe at the very bottom – or
maybe there is no bottom – maybe at the
very bottom things are not separable,
maybe things are not composable. Maybe
this composability that we love so much
is not a property of nature, that's what I'm saying, maybe it's not a property of nature.
Maybe this is just the property of our
brains, maybe our brains are such that we  have

German: 
Differenzialgleichung ergeben. Wenn wir also versuchen Teilchen zu trennen
und Systeme tatsächlich zerlegen, stellt sich heraus
da passiert etwas merkwürdiges beim Zerlegen. Tatsächlich
verändert man das System indem man die Teile trennt. Also ist es vielleicht letzten Endes
, vielleicht gibt es kein letzten Endes, vielleicht sind am Ende die Dinge nicht trennbar
Vielleicht sind die Dinge nicht zusammensetzbar. Vielleicht ist diese geliebte Kombinierbarkeit
keine Eigenschaft der Natur. Das will ich sagen: Vielleicht ist es keine Eigenschaft der Natur,
sondern eine Eigenschaft unseres Gehirns. Vielleicht ist unser Gehirn so, dass

Chinese: 
等等，所以我們試著分別粒子
我們切割粒子後突然間
你切割的東西發生了些奇怪的事情，是的，你在分割東西時事實上正
改變整個系統，好嗎？所以或許、或許在最底層
──或者可能沒有最底層──或許在最底層東西不是可分的
或許東西不是可組合的。或許我們最喜歡的可組合性
並不是大自然的性質，這是我正在說的，或許這不是大自然的性質
或許這只是我們腦袋的性質，或許我們的腦袋就是

Russian: 
Так мы пытаемся разделить частицы, внезапно что-то странное происходит между ними, когда их отделяешь, система меняется от этого.
Вот так, возможно, в самом низу (хотя может и нет никакого низа),
вещи нельзя поделить, может, их и собрать нельзя.
Может быть, сочетаемость, которую мы так любим, не является природным свойством, я об этом хотел сказать.
Может, это свойство нашего мозга,

Japanese: 
俺らは粒子を分けようとするが、
粒子を切り分けた途端、
なんと、・・・
ほらあれだよ、
この切っている隙間に、なんか奇妙なことが起きるんだ。
そうだろ？
ものを分けることで系を変えてしまってるんだ。
いいか？
だから、ひょっとしてひょっとすると、一番底では、
多分底なんて無いんだけど、
とても底の方のものは分けられないのかもしれない。
多分、ものは合成可能じゃないんだ。
俺らが愛して止まない、この合成可能性は、多分、
自然の属性では無いのだ。
俺が言いたいのはこれだ。
「多分、これは自然の属性では無い。」
多分これは単に、俺らの脳の属性なんだ。
おそらく俺らの脳がこんなだから、
俺らは至るところに構造を見つけるのだ。

Chinese: 
必須在任何地方看到結構，如果沒辦法看到結構則放棄
這麼一來範疇論不是真正和數學和物理相關
範疇論和我們的心智，和我們的腦怎麼運作相關所以
這比較是知識論而非本體論。知識論是我們怎麼理解東西，怎麼
學習東西，本體論和東西是什麼。或許我們沒辦法學習
東西是什麼，但我們能學習如何研究而且這是範疇論告訴我們的
先休息一下

English: 
to see structure everywhere and if we
can't find the structure we just give up
So in this way category theory is not
really about mathematics or physics
category theory is about our minds, how
our brains work so it's more of
epistemology than ontology. Epistemology is how we can reason about stuff, how we can
learn about stuff, ontology is about what
things are, right. Maybe we cannot learn what
things are. But we can learn about how we can study, and that's what category theory tells us.
Let's take a break

German: 
wir diese Struktur überall sehen und wo wir sie nicht erkennen, geben wir auf.
In diesem Sinne ist Kategorientheorie nicht wirklich über Mathematik oder Physik.
Kategorientheorie ist über unseren Verstand, wie unser Hirn funktioniert. Also mehr eine
Epistemologie als eine Ontologie. Epistemologie (Erkenntnistheorie) handelt von Vernunft, vom Lernen.
Ontologie handelt vom Seienden. Vielleicht können wir nicht lernen was die Dinge sind.
Aber wir können lernen, wie wir verstehen. Das zeigt uns die Kategorientheorie
Kurze Pause.

Russian: 
может, наш мозг так устроен, что ему везде необходимо обнаруживать структуру, и если мы не можем это сделать, то просто сдаёмся.
При таком подходе теория категорий есть наука не о математике или физике,
теория категорий, скорее, о наших разумах, о том, как работает наш мозг.
Это больше эпистемология, чем онтология.
Эпистемология изучает, как мы мыслим о разных вещах, как мы изучаем их,
онтология же о природе, о сути вещей.
Может, мы и не можем познать их суть. Но мы можем понять наши механизмы познания, вот что теория категорий открывает нам.
Давайте передохнём.

Japanese: 
そしてもし構造を見つけられないと、俺らはただ諦めるんだ。
こう考えると、
カテゴリ論てのは実は、
数学とか物理学の話じゃないんだ。
カテゴリ論とは俺らの思考の話なんだよ。 
俺らの脳はどういう仕組みかっていう。
どっちかというと、実在論っていうより認識論なんだ。
認識論ってのは、
「どうやって俺らが物事を推論するか」とか、
「どうやって物事を学べるか」とかだ。
実在論ってのは、「ものとは何か」だ。
多分俺らは、「ものとは何か」は学べないんだ。
だが俺らは、
「どうやって学べるか」を学ぶことができる。
これが、カテゴリ論の教えだ。
休憩しよう。
