
Arabic: 
هذه الحلقة برعاية CuriosityStream
ترجمة بواسطة : مهند الدوسري
مرحبا، أنا كاري آن ومرحبا بكم في كراش كورس علوم الكمبيوتر
حتى الآن، بالنسبة لمعظم هذه السلسلة، ركزنا على الأجهزة - المكونات المادية للحوسبة
أشياء مثل: الكهرباء والدوائر والسجلات و الذاكرة العشوائية والمعالج.
ولكن البرمجة على مستوى الأجهزة مرهقة وغير مرنة، لذلك المبرمجين يريد أكثر من ذلك
طرق متعددة لتناسب أجهزة الكمبيوتر - ما يمكن أن تسميه " المرونة " المتوسطة.
هذا صحيح، ونحن في طريقنا للحديث عن البرمجيات!
في الحلقة 8، سرنا من خلال برنامج بسيط لوحدة المعالجة المركزية التي قمنا بتصميمها
كانت أول التعليمات ليتم تنفيذها، الواحدة التي في عنوان الذاكرة 0، كان 1110 0010
كما ناقشنا، البتات الأربع الأولى من التعليمات هي رمز العملية، أو OPCODE
لفترة قصيرة
على وحدة المعالجة المركزية الافتراضية لدينا، 0010 أشار إلى تعليمات LOAD_A - الذي يحرك قيمة
من الذاكرة إلى التسجيل A

Chinese: 
本集由 CuriosityStream 赞助播出
嗨，我是 Carrie Anne 欢迎来到十分钟速成课：计算机科学！
之前大部分系列中，我们都专注于硬件
-- 那些组成计算机的物理组件
如：电路，寄存器，RAM，ALU 和 CPU
但在硬件层面编程非常麻烦
所以程序员想要一种更通用的方法编程
- 你可以叫“更软的”媒介
没错，我们今天要讲软件！
在第8集，我们在自己设计的 CPU 上跑了一个简单程序
跑的第一条指令是内存地址0的指令“0010 1110”
之前说过前 4 位是操作码
简称“OPCODE”
在我们的“假设”CPU 上，“0010”代表 LOAD_A 指令
- 把值从内存移动到寄存器 A

Turkish: 
Bu bölüm size CuriosityStream tarafından sunulmaktadır.
Merhaba, ben Carrie Anne ve CrashCourse'a hoş geldiniz.
Bilgisayar Bilimi!
Şimdiye kadar, bu dizinin çoğu için odaklandık
donanım - fiziksel bileşenleri
hesaplama - gibi şeyler: elektrik
devreler, yazmaçlar ve RAM, ALU'lar ve CPU'lar.
Ancak donanım düzeyinde programlama zahmetlidir
ve esnek değildir, bu yüzden programcılar daha fazlasını istedi.
bilgisayarları programlamanın çok yönlü yolu - ne
"yumuşak" bir ortam diyebilirsiniz.
Bu doğru, konuşacağız
Yazılım!
GİRİŞ
8. bölümde basit bir programdan geçtik
tasarladığımız CPU için.
Gerçekleştirilecek ilk talimat,
hafıza adresindeki 0, 0010 1110 idi.
Tartıştığımız gibi, ilk dört bit
talimat, işlem kodudur veya OPCODE
kısaca.
Varsayımsal işlemcimizde 0010 bir
LOAD_A talimatı - bir değeri taşıyan
bellekten Kayıt A'ya.

English: 
This episode is brought to you by CuriosityStream.
Hi, I’m Carrie Anne and welcome to CrashCourse
Computer Science!
So far, for most of this series, we’ve focused
on hardware -- the physical components of
computing -- things like: electricity and
circuits, registers and RAM, ALUs and CPUs.
But programming at the hardware level is cumbersome
and inflexible, so programmers wanted a more
versatile way to program computers - what
you might call a “softer” medium.
That’s right, we’re going to talk about
Software!
INTRO
In episode 8, we walked through a simple program
for the CPU we designed.
The very first instruction to be executed,
the one at memory address 0, was 0010 1110.
As we discussed, the first four bits of an
instruction is the operation code, or OPCODE
for short.
On our hypothetical CPU, 0010 indicated a
LOAD_A instruction -- which moves a value
from memory into Register A.

Korean: 
이 강의는 CuriosityStream에서 가져 왔습니다.
안녕하세요, 저는 Carrie Anne입니다. 
컴퓨터 과학 특강에 오신 것을 환영합니다~
지금까지이 시리즈의 대부분에서 우리는
하드웨어에 초점을 맞추어 왔습니다.
거기에는 컴퓨팅의 물리적 구성 요소 : 전기 및 회로, 레지스터 및 RAM, ALU 및 CPU와 같은 것들이 포함됩니다.
그러나 하드웨어 수준에서의 프로그래밍은 
번거롭고 융통성이 떨어지기 때문에
프로그래머는 컴퓨터를 프로그래밍 할 수 있는 
다양한 방법을 원했습니다.
그것은 아마도 더 부드러운  매체라고 부를 수 있겠죠.
맞아요! 우리는 소프트웨어에 대해 이야기해 볼 겁니다.
 
8강에서는 우리가 설계한 CPU에 대한 
간단한 프로그램을 차례차례 살펴보았습니다.
실행될 첫 번째 명령은 
메모리 주소 0에있는 0010 1110입니다.
예전에 논의한 바와 같이, 처음 4 비트는
명령은 연산 코드 또는 줄여서 OPCODE입니다.
 
가상의 CPU에서 0010은
LOAD_A 명령을 나타냈습니다.
메모리에서 레지스터 A로 값을 이동하는 명령이죠.

Korean: 
두번째 셋트의 4비트는 메모리의 위치입니다.
이 경우 1110은 10진수로 14입니다.
 
그래서 이 8개의 숫자가 실제로 의미하는 바는 
"위치 14에 있는 값을 레지스터 A로 로드하라."
우리는 단지 두 가지의 다른 언어를 사용하고 있습니다.
이것은 마치 영어와 모스부호처럼 생각할 수 있습니다.
"안녕하세요"와 "..... .- .. .- .. --- "은 같아요.
단지 다르게 인코딩됩니다.
영어와 모스 부호 또한 서로 다른 수준의 
복잡성을 지니고 있습니다.
영어는 26개의 다른 문자를 알파벳으로 가지고 있고
다양한 사운드가 가능하죠.
모스는 오직 점과 대시(-) 만 있습니다.
그러나 그들은 동일한 정보를 전달할 수 있으며, 
컴퓨터 언어도 비슷합니다.
앞서 보았 듯이, 컴퓨터 하드웨어는
원시 이진 명령어를 처리합니다.
이것은 컴퓨터 프로세서가 
토박이로 말할 수 있는 "언어" 입니다.
실제로, 그것은 그들이 사용할 수 있는
유일한 언어입니다.
이 언어를 Machine Language 또는 Machine Code
(둘다 기계어라는 뜻)라고 하죠.
컴퓨팅 초기에는 사람들이 전체 프로그램을 
기계어로 작성해야 했습니다.
더 구체적으로 말하자면, 그들은 먼저
영어로 종이에 높은 수준의 프로그램을 작성 했어요.
예를 들면,

Turkish: 
İkinci dört bit takımı hafızayı tanımlar
konum, bu durumda, 1110
ondalık olarak.
Peki bu sekiz sayının gerçekte ne anlama geldiği
“A Adresine 14.
Sadece iki farklı dil kullanıyoruz.
İngilizce ve Mors gibi düşünebilirsin
Kod.
"Merhaba ve ".... . .-.. .-.. ---" anlamına gelmek
Aynı şey - merhaba! - onlar sadece
farklı şekilde kodlanmış.
İngilizce ve mors kodu da farklı
karmaşıklık düzeyleri.
İngilizce'nin alfabesinde 26 farklı harf var
ve çok daha olası sesler.
Morse'da sadece noktalar ve çizgiler var.
Fakat aynı bilgiyi aktarabilirler.
ve bilgisayar dilleri benzer.
Gördüğümüz gibi, bilgisayar donanımı sadece
Ham, ikili komutları işlemek.
Bu “dil” bilgisayar işlemcileridir.
doğal konuş
Aslında, onlar onların tek dili.
konuşabilmek.
Makine Dili veya Makine denir
Kod.
Hesaplamanın ilk günlerinde, insanlar
tüm programları makine kodunda yazmak için.
Daha spesifik olarak, önce bir
Kağıt üzerinde bir programın üst düzey versiyonu,
İngilizce olarak, örneğin ...
“Bir sonraki satışı hafızadan al, ardından
bunu güne ait toplam koşu sayısına ekleyin,

English: 
The second set of four bits defines the memory
location, in this case, 1110, which is 14
in decimal.
So what these eight numbers really mean is
“LOAD Address 14 into Register A”.
We’re just using two different languages.
You can think of it like English and Morse
Code.
“Hello” and “.... . .-.. .-.. ---” mean
the same thing -- hello! -- they’re just
encoded differently.
English and Morse Code also have different
levels of complexity.
English has 26 different letters in its alphabet
and way more possible sounds.
Morse only has dots and dashes.
But, they can convey the same information,
and computer languages are similar.
As we've seen, computer hardware can only
handle raw, binary instructions.
This is the “language” computer processors
natively speak.
In fact, it’s the only language they’re
able to speak.
It’s called Machine Language or Machine
Code.
In the early days of computing, people had
to write entire programs in machine code.
More specifically, they’d first write a
high-level version of a program on paper,
in English, for example...
“retrieve the next sale from memory, then
add this to the running total for the day,

Arabic: 
تحدد المجموعة الثانية من أربع بتات موقع الذاكرة، في هذه الحالة، 1110، وهو 14
في عشري
وذلك ما تعني هذه الأرقام الثمانية حقا
"حمل العنوان 14 في تسجيل A"
نحن فقط استخدام لغتين مختلفتين.
يمكنك التفكير في الأمر مثل اللغة الإنجليزية وشفرة مورس
"مرحبا و ".... . .-.. .-.. ---" تعني
نفس الشيء - مرحبا! - انهم فقط
المشفرة بشكل مختلف
لدينا الإنجليزية وشفرة مورس أيضا مختلفة
مستويات من التعقيد
اللغة الانجليزية مكون من 26 حرفا مختلفة في أبجديتها
وبطريقة أكثر الأصوات الممكنة
مورس مكون من النقاط وشرطات فقط.
ولكن، يمكن نقل المعلومات نفسها،
ولغات الكمبيوتر متشابهة.
كما رأينا، يمكن أجهزة الكمبيوتر فقط
التعامل مع الخام، تعليمات الثنائية.
هذا هي "اللغة"  التي تتحدثها معالجات الكمبيوتر
في الواقع، انها اللغة الوحيدة التي تجعلهم قادرين على التحدث.
انه يدعى آلة اللغة أو آلة الشفرة.
في الأيام الأولى من الحوسبة، وكان الناس يقومون
بكتابة برامج بأكملها في شفرة الآلة.
وبشكل أكثر تحديدا، وكانت أول رسالة عالية المستوى من برنامج على الورق،
في اللغة الإنجليزية، على سبيل المثال ...
استرداد البيع القادم من الذاكرة، ثم إضافة هذا إلى مجموع تشغيل لهذا اليوم،

Chinese: 
第二个 4 位数代表内存地址
“1110”为十进制的“14”
所以这8位数表示“读取内存地址 14，放入寄存器 A”
我们只是用了两种不同语言
你可以把它想成是英语和摩尔斯码的区别
“你好”和“.... ... .. .. ..- .. ---” 
 是一个意思：“你好”
它们只是编码方式不同
英语和摩尔斯码也有不同的复杂度
英文有26个字母，和更多的发音
但摩尔斯码只有“点”和“线”
但它们传达相同的信息，而计算机语言也类似
计算机只能处理二进制指令
二进制是处理器的“母语”
事实上，它们只能理解二进制
这种叫“机器语言”或“机器码”
在计算机的早期阶段，人们必须用机器码写程序
具体来讲，他们会在纸上先写一个“高层次版”
比如用英文写：
“从内存拿下一个销售额，加到

English: 
week and year, then calculate any tax to be
added”
...and so on.
An informal, high-level description of a program
like this is called Pseudo-Code.
Then, when the program was all figured out
on paper, they’d painstakingly expand and
translate it into binary machine code by hand,
using things like opcode tables.
After the translation was complete, the program
could be fed into the computer and run.
As you might imagine, people quickly got fed
up with this process.
So, by the late 1940s and into the 50s, programmers
had developed slightly higher-level languages
that were more human-readable.
Opcodes were given simple names, called mnemonics,
which were followed by operands, to form instructions.
So instead of having to write instructions
as a bunch of 1’s and 0’s, programmers
could write something like “LOAD_A 14”.
We used this mnemonic in Episode 8 because
it’s so much easier to understand!
Of course, a CPU has no idea what “LOAD_A
14” is.
It doesn’t understand text-based language,
only binary.
And so programmers came up with a clever trick.
They created reusable helper programs, in
binary, that read in text-based instructions,

Turkish: 
hafta ve yil sonra vergileri hesaplamak
katma"
...ve bunun gibi.
Bir programın gayrı resmi, üst düzey bir açıklaması
Bunun gibi sözde kod denir.
Ardından, programın tamamen çözüldüğü zaman
Kağıt üzerinde özenle genişler ve
elle ikili makine koduna çevirmek,
opcode tabloları gibi şeyler kullanmak.
Çeviri tamamlandıktan sonra program
bilgisayara beslenebilir ve çalıştırılabilir.
Tahmin edebileceğiniz gibi, insanlar hızla beslendi
Bu süreç ile.
Yani, 1940'ların sonunda ve 50'lerin içine, programcılar
biraz daha yüksek seviyeli diller geliştirmişti
bu daha insan tarafından okunabilirdi.
Opkodlara mnemonics denilen basit isimler verildi.
talimatlar oluşturmak için operandlar tarafından takip edildi.
Yani talimat yazmak zorunda kalmak yerine
1 ve 0'lı bir demet olarak, programcılar
“LOAD_A 14” gibi bir şey yazabilirdi.
Bu anıyı Bölüm 8'de kullandık çünkü
anlamak çok daha kolay!
Tabii ki, bir CPU ne olduğu hakkında hiçbir fikri yok “LOAD_A
14 ”.
Metin tabanlı dili anlamıyor,
sadece ikili.
Ve böylece programcılar zekice bir numara ile geldi.
Yeniden kullanılabilir yardımcı programlar oluşturdular.
metin tabanlı talimatları okuyan ikili,

Korean: 
"다음 판매를 메모리에서 검색 한 다음
하루, 주, 연도의 누적 합계를 더하고,
추가할 세금을 계산하시오.
등등.. 이런 것들이요
프로그램에 대한 비공식적이고 높은 수준의 설명을
의사 코드 (Pseudo-Code)라고합니다.
그리고 종이에 프로그램을 모두 파악해 낸 후,
그들은 그것을 고심하여
이진 기계어로 opcode 표 같은 것을 사용하여 
손으로 직접 확장하고 번역합니다.
번역이 완성된 후, 프로그램은 
컴퓨터에 입력되여 실행할 수 있습니다.
아마 여러분이 예상했겠지만,  
사람들은 금새 싫증을 냈습니다.
그래서 1940 년대 말과 50 년대에 이르러 
프로그래머는 약간 더 높은 수준의 언어를 개발했습니다.
그것은 사람이 좀 더 읽을 수 있는 언어였습니다.
Opcode에는 니모닉 (mnemonics)이라고 하는
간단한 이름이 지정되었습니다.
따라서 1과 0의 무더기로 지침을 작성하는 대신 ,
프로그래머는 "LOAD_A 14"와 같은 것을 쓸 수 있습니다.
8강에서 이 니모닉을 사용 했으므로
이해하는 것이 훨씬 쉽습니다!
물론 CPU는 "LOAD_A 14 "가 뭔지 알지 못합니다.
그것은 텍스트 기반 언어를 이해하지 못하고 
오직 이진수만 이해합니다.
그래서 프로그래머들은 똑똑한 트릭을 찾아냈습니다.
그들은 재사용 가능한 도우미 프로그램을 
이진 형식으로 만들었습니다.

Chinese: 
当天、当周、当年的总和，然后算税”
等等...
这种对程序的高层次描述叫 “伪代码”
在纸上写好之后
他们会用“操作码表”转换成二进制机器码
当翻译完成后，程序可以导入计算机并运行
你可能猜到人们很快就厌烦了这样做
所以在 1940~1950 年代
程序员必须得开发某种更可读更高层的语言。
他们给每个操作码分配一个简单的名字，叫“助记符”
“助记符”后面紧跟着数据，形成完整的指令
所以与其用一堆 1 和 0 来写代码
程序员可以写“LOAD_A 14”
我们在第 8 集用了这个助记符，因为它更容易理解！
当然，CPU 不知道“LOAD_A 14”是什么
它不能理解文字，只能理解二进制
所以程序员想了一个技巧
他们写了可重用的二进制帮助程序
它可以读懂文字指令

Arabic: 
الأسبوع والسنة، ثم حساب أي ضريبة أن تكون
وأضيفت
...وما إلى ذلك.
وصف غير رسمي عالية المستوى من برنامج
مثل هذا ما يسمى الشفرة الزائفة.
ثم، عندما كان البرنامج يحسب كل شيء
على الورق، انه يريد التوسع بعناء
و ترجمته إلى رمز الآلة الثنائية من جهة،
استخدام أشياء مثل جداول شفرة التشغيل.
بعد اكتمال الترجمة، والبرنامج
يمكنك إدخالها في الكمبيوتر وتشغيله
كما قد تتخيل، الناس سرعان ما سئموا من هذه العملية
وهكذا، بحلول أواخر الأربعينيات وحتى الخمسينيات، كان المبرمجون يطورون لغات ذات مستوى أعلى قليلا
التي كانت أكثر قابلية للقراءة البشرية.
أعطى Opcodes  أسماء بسيطة، يدعى فن الإستذكار، والتي أعقبتها العمليات، لتشكيل تعليمات.
لذلك بدلا من الاضطرار إلى كتابة تعليمات كحفنة من 1s و 0s
المبرمجين يمكنهم أن يكتبوا شيئا مثل "LOAD_A 14".
ذكرنا هذا بالحلقة 8 لأنه من الأسهل بكثير أن نفهم!
وبطبيعة الحال، وحدة المعالجة المركزية ليس لديها فكرة ما هو "LOAD_A 14"
أنها لا تفهم اللغة القائمة على النص، ثنائي فقط.
وهكذا جاء المبرمجون مع خدعة ذكية.
وأنشأوا برامج مساعدة قابلة لإعادة الاستخدام، في الثنائية، التي تقرأ في التعليمات القائمة على النص،

Korean: 
그 프로그램은 문자 기반의 명령을 읽고 
자동으로 이진 명령과 일치하는 것을 조합했습니다.
이 프로그램은 여러분이 추측하듯이
어셈블러라 불립니다.
이것은 어셈블러 언어로 된 프로그램을 읽고 
원래의 기계어로 전환합니다.
 
"LOAD_A 14"는 어셈블리 명령어의 한 예입니다.
시간이 지남에 따라 어셈블러는 새로운 기능을 얻어 
프로그래밍은 훨씬 쉬워졌습니다.
한 가지 멋진 기능은 자동으로 
JUMP주소를 파악하는 것입니다.
이것은 8강에서 사용한 예제 프로그램입니다. 
JUMP NEGATIVE 명령이 어떻게 되는지 주목해보세요.
5 번 주소로 점프하고 일반 JUMP가 2번 주소로 갑니다.
문제는 프로그램 초반에 더 많은 코드를 추가하면, 
모든 주소들은 변경 됩니다.
 
만약 여러분이 프로그램을 업데이트 하고 싶다면 
크나큰 고통일거에요.
그래서 어셈블러는 원래 JUMP주소를 사용하지 않고 JUMP할 수 있는 작은 레이블을 삽입 할 수 있습니다.
 
이 프로그램이 어셈블러로 전달되면,
모든 점프 주소를 알아내는 일을합니다.
 
이제 프로그래머는 프로그래밍에 더 집중할 수 있고 
후드 아래에 있는 기본 매커니즘에 덜 집중하며
불필요한 복잡성은 숨겨서
더욱 정교한 작업을 수행할 수 있습니다.
강의를 들으며 여러 번 해왔던 것처럼,
다시 한 번 다른 추상화의 수준으로 올라갑니다.
 

Arabic: 
وتجميعها في التعليمات الثنائية المقابلة تلقائيا.
ويسمى هذا البرنامج - كنت تفكر في ذلك - مترجم .
يقرأ في برنامج مكتوب بلغة التجميع ويحوله إلى شفرة 
 الآلة الأصلية
 
"LOAD_A 14" هو مثال على تعليمات التجميع.
وبمرور الوقت، اكتسب المجمعون ميزات جديدة جعلت البرمجة أكثر سهولة.
ميزة واحدة هي معرفة القفز للعنوان تلقائيا .
كان هذا مثالا البرنامج الذي استخدمته في الحلقة 8: لاحظ كيف لدينا تعليمات للقفز السلبية
يقفز إلى عنوان 5، و القفزة العادية يذهب إلى عنوان 2
المشكلة هي، إذا أضفنا المزيد من التعليمات البرمجية إلى بداية هذا البرنامج، كل من العناوين
سيتغير
فإذا كان البرنامج ضخم فمن الصعب تحديث البرنامج الخاص بك!
وبالتالي فإن المترجم يلغي عناوين القفز الخام، ويتيح لك إدراج تسميات صغيرة
التي يمكن قفز إليها
عندما يتم تمرير هذا البرنامج في المترجم ، فإنه يعمل على معرفة كل من
عناوين القفز.
الآن كمبرمج يمكن أن تركز أكثر على البرمجة وتترك العمليات الميكانيكا
كغطاء محرك السيارة تمكين من اخفاء الأشياء لا لزوم لها.
كما فعلنا عدة مرات في هذه السلسلة
 

Chinese: 
然后自动转成二进制
这种程序叫
你可能猜到了
“汇编器”（Assembler）
它读入用“汇编语言”写的程序
然后转成“机器码”
“LOAD_A 14”是一条汇编指令
随着时间推移，汇编器有越来越多让编程更容易的功能
其中一个功能是自动找出 JUMP 地址
这是第8集用的例子：
注意 JUMP NEGATIVE 指令跳到地址5
JUMP 2 指令跳到地址 2
问题是，如果加更多代码
所有地址都会变
更新程序的时候会很痛苦！
所以汇编器不用固定跳转地址
而是允许你插入可以跳转的小标签
当程序输入汇编器时
它会自己搞定所有跳转地址
程序员就可以专心编程，不用管底层的细节
通过隐藏不必要的复杂性来实现更复杂的工作
我们又提升了一层抽象

English: 
and assemble them into the corresponding binary
instructions automatically.
This program is called -- you guessed it -- an
Assembler.
It reads in a program written in an Assembly
Language and converts it to native machine
code.
“LOAD_A 14” is one example of an assembly
instruction.
Over time, Assemblers gained new features
that made programming even easier.
One nifty feature is automatically figuring
out JUMP addresses.
This was an example program I used in episode
8:Notice how our JUMP NEGATIVE instruction
jumps to address 5, and our regular JUMP goes
to address 2.
The problem is, if we add more code to the
beginning of this program, all of the addresses
would change.
That’s a huge pain if you ever want to update
your program!
And so an assembler does away with raw jump
addresses, and lets you insert little labels
that can be jumped to.
When this program is passed into the assembler,
it does the work of figuring out all of the
jump addresses.
Now the programmer can focus more on programming
and less on the underlying mechanics under
the hood enabling more sophisticated things
to be built by hiding unnecessary complexity.
As we’ve done many times in this series,
we’re once again moving up another level
of abstraction.

Turkish: 
ve bunları ilgili ikiliye birleştirin.
otomatik olarak talimatlar.
Bu program denir - tahmin etmiştin - bir
Montörleri.
Bir Meclis'te yazılmış bir programda okur
Dil ve ana makineye dönüştürür
kodu.
“LOAD_A 14” montajın bir örneğidir
talimat.
Zamanla, Assemblers yeni özellikler kazandı
bu programlamayı daha da kolaylaştırdı.
Şık bir özellik otomatik olarak
JUMP adreslerini çıkar.
Bu bölümde kullandığım örnek bir programdı
8: JUMP NEGATİF talimatımızın nasıl olduğuna dikkat edin
5. adrese atlar ve normal JUMP
adres 2'ye.
Sorun, şuna daha fazla kod eklersek
bu programın başlangıcında, tüm adresler
değişecekti.
Güncellemek istersen bu çok acı verici.
Programın
Ve böylece bir montajcı ham zıplar
adresler ve küçük etiketler eklemenizi sağlar
Bu atlanabilir.
Bu program montajcıya geçtiğinde,
tüm anlamaya çalışma yapar
adresleri atla.
Artık programcı programlamaya daha fazla odaklanabilir
ve altında yatan mekanik hakkında daha az
daha sofistike şeyler sağlayan başlık
Gereksiz karmaşıklığı gizleyerek inşa edilecek.
Bu seride pek çok kez yaptığımız gibi,
bir kez daha başka bir seviyeye geçiyoruz
soyutlama

Turkish: 
YENİ BİR ÖZET SEVİYESİ!
Ancak, şık assembler özellikleriyle bile
JUMP'leri etiketlere otomatik bağlama gibi, Montaj
Diller hala makine üzerinde ince bir kaplamadır
kodu.
Genel olarak, her bir meclis dili eğitimi
doğrudan ilgili makineye dönüştürür
komut - bire bir eşleme - yani
doğal olarak altta yatan donanıma bağlı.
Ve montajcı hala programcıları zorlar
hangi kayıtları ve hafızayı düşünmek
kullanacakları yerler.
Birdenbire fazladan bir değere ihtiyacın olursa,
çok fazla kod uyacak şekilde değiştirmek gerekebilir
içeri.
Düşünce Balonuna gidelim.
Bu sorun Dr. Grace Hopper'dan kaçmadı.
ABD deniz subayı olarak, o
Harvard Mark 1 bilgisayarındaki ilk programcılar,
2. bölümde konuştuk.
Bu, 1944'te müttefik savaş çabasının bir parçası olarak tamamlanan devasa, elektro-mekanik bir canavardı.
Programlar depolandı ve bilgisayara beslendi
Delikli kağıt bant üzerinde.
Bu arada, gördüğünüz gibi, onlar “yamalı”
tam anlamıyla koyarak bu programdaki bazı hatalar
zımbadaki deliklerin üzerine kağıt ekleri
kaset.
Mark 1'in talimat seti çok ilkeldi,
JUMP talimatları bile yoktu.

English: 
A NEW LEVEL OF ABSTRACTION!
However, even with nifty assembler features
like auto-linking JUMPs to labels, Assembly
Languages are still a thin veneer over machine
code.
In general, each assembly language instruction
converts directly to a corresponding machine
instruction – a one-to-one mapping – so
it’s inherently tied to the underlying hardware.
And the assembler still forces programmers
to think about which registers and memory
locations they will use.
If you suddenly needed an extra value, you
might have to change a lot of code to fit
it in.
Let’s go to the Thought Bubble.
This problem did not escape Dr. Grace Hopper.
As a US naval officer, she was one of the
first programmers on the Harvard Mark 1 computer,
which we talked about in Episode 2.
This was a colossal, electro-mechanical beast completed in 1944 as part of the allied war effort.
Programs were stored and fed into the computer
on punched paper tape.
By the way, as you can see, they “patched”
some bugs in this program by literally putting
patches of paper over the holes on the punch
tape.
The Mark 1’s instruction set was so primitive,
there weren’t even JUMP instructions.

Arabic: 
مستوى جديد من التجريد!
ومع ذلك، حتى مع ميزات المترجم في ربط القفزإلى العناوين في لغة التجميع
اللغات لا تزال قشرة رقيقة على رمز الجهاز.
بشكل عام، كل تعليم لغة التجميع يحول مباشرة إلى آلة المقابلة
تعليمات - رسم الخرائط واحد إلى واحد - لذلك هو بطبيعتها مرتبطة بالأجهزة الأساسية.
ولا يزال المترجم يجبر المبرمجين على التفكير في السجلات والذاكرة
المواقع التي سوف تستخدم.
إذا كنت بحاجة فجأة إلى قيمة إضافية، قد تضطر إلى تغيير الكثير من التعليمات البرمجية لتناسب
 
دعونا نذهب إلى فقاعة الفكر.
هذه المشكلة لم تفلت من الدكتور جريس هوبر.
وباعتباره ضابطا في البحرية الأمريكية، كان من أوائل المبرمجين في جهاز كمبيوتر هارفارد مارك 1،
والتي تحدثنا عنها في الحلقة 2.
وكانت هذا الوحش الكهروميكانيكي الهائل الذي أنجزت في عام 1944 كجزء من جهود الحرب المتحالفة.
تم تخزين البرامج وتغذيتها في الكمبيوتر على شريط ورق مثقب.
بالمناسبة، كما ترون، انهم "مصححة" بعض الخلل في هذا البرنامج من خلال وضع حرفيا
بقع من الورق على الثقوب على الشريط .
كانت مجموعة التعليمات 1 مارك بدائية جدا، لم تكن هناك حتى تعليمات قفز.

Chinese: 
然而，即使有各种厉害的汇编器功能，比如自动“标签”跳转
汇编依然只是修饰了一下机器码
一般来说，一条汇编指令对应一条机器指令
所以汇编码和底层硬件的相连非常紧密
汇编器仍然强迫程序员去考虑要用什么寄存器和内存地址
如果你突然需要一个额外的数，可能要改很多代码
让我们进入思考泡泡
葛丽丝·霍普博士 也遇到了这个问题
作为美国海军军官，她是哈佛Mark1计算机首批程序员之一
我们在第 2 集提过这台机器
这台巨大的机电野兽在 1944 年战时建造完成
程序写在“打孔纸带”上然后放到计算机里执行
顺便一说，如果程序里有错
他们真的就是用胶带来修程序的“漏洞”
Mark 1 的指令集非常原始，甚至没有 JUMP 指令

Korean: 
추상화의 새로운 레벨!
그러나, JUMP를 라벨에 자동 링크하는 것과 같은 
멋진 어셈블러 기능이 있더라도
어셈블리 언어는 여전히 기계어에 비해
얕은 겉치장에 불과했습니다.
일반적으로, 각 어셈블리 언어 명령어는
해당 기계 명령어로 직접 변환합니다. (일대일 매핑)
그래서 그것은 본질적으로 
기본 하드웨어에 묶여 있습니다.
그리고 어셈블러는 여전히 프로그래머에게 어떤 레지스터와 메모리를 사용할지 생각하도록 강요합니다.
 
갑자기 추가해야 할 값이 필요하면
그에 맞는 많은 코드를 변경해야 할 수도 있습니다.
 
생각 거품으로 가 봅시다.
이 문제는 그레이스 호퍼 박사를 벗어나지 못했습니다.
미국 해군 장교로서 그녀는
하버드 마크 1 컴퓨터의 첫 번째 프로그래머였습니다.
이건 2강에서 이야기 했었어요.
이것은 연합군의 전쟁 노력의 일환으로 1944 년에
완성된 거대한 전기 기계 짐승이었습니다.
프로그램이 펀치 종이테이프에 저장되서
 컴퓨터에 입력되었습니다.
그런데 여기 보이듯이, 그들은 이 프로그램의 
일부 버그를 "패치"했습니다.
말 그대로 펀치 테이프의 구멍에 
종이 패치를 두는 것 입니다.
Mark 1의 명령 세트는 매우 원시적이었고, 
 JUMP 명령 조차도 없었습니다.

Arabic: 
لإنشاء التعليمات البرمجية التي كرر نفس العملية عدة مرات، وكنت الشريط طرفي
ربط شريطين مثقبين  معا، وخلق حلقة المادية.
وبعبارة أخرى، برمجة علامة 1 كان نوع من كابوس!
بعد الحرب، واصل هوبر للعمل في طليعة الحوسبة.
ولإطلاق العنان لقدرات الحواسيب، صممت لغة برمجة رفيعة المستوى
تسمى "الحساب اللغوي الإصدار 0"، أو A-0 لفترة قصيرة.
لغات التجميع لديها مباشرة، واحد إلى واحد رسم الخرائط لتعليمات الجهاز.
ولكن، سطر واحد من لغة البرمجة عالية المستوى قد يؤدي إلى عشرات التعليمات
ويجري تنفيذها من قبل وحدة المعالجة المركزية.
لتنفيذ هذه الترجمة المعقدة، بنيت هوبر أول مترجم في عام 1952.
هذا هو برنامج متخصص يحول رمز "المصدر" المكتوب في البرمجة
اللغة إلى لغة منخفضة المستوى، مثل التجمع أو ثنائي "رمز الجهاز" أن
وحدة المعالجة المركزية يمكن معالجة مباشرة.
شكرا، فقاعة الفكر.
لذلك، على الرغم من أن البرمجة أسهل، كان كثير من الناس متشككين من فكرة هوبر.
وقالت مرة واحدة، "كان لدي مترجم تشغيل ولا أحد سوف تلمس ذلك.
... قالوا لي بعناية، أجهزة الكمبيوتر يمكن أن تفعل فقط الحساب؛ لم يتمكنوا من القيام ببرامج ".

Korean: 
동일한 작업을 여러번 반복하는 코드를 작성하려면
펀치테잎의 두 끝을 붙여 
물리적인 루프(고리)를 만듭니다.
다시 말하자면 , Mark 1을 프로그래밍 하는 것은
하나의 악몽이었어요!
전쟁이 있은 후에도 호퍼 (Hopper)는
컴퓨터 업계의 최전선에서 계속해서 일했습니다.
컴퓨터의 잠재력을 최대한 발휘하기 위해
높은 수준의 프로그래밍 언어를 설계했어요.
그것을 
"산술 언어 버전 0"(또는 줄여서 A-0)이라고 불렀습니다.
어셈블리 언어는 직접, 
기계명령어에 일대일 매핑 됩니다.
반면, 한 줄의 높은 수준의 프로그래밍 언어로 
수십가지 명령이 CPU에 의해 실행될 수 있습니다.
반면, 한 줄의 높은 수준의 프로그래밍 언어로 
수십가지 명령이 CPU에 의해 실행될 수 있습니다.
이 복잡한 번역을 수행하기 위해 Hopper는
1952 년에 최초의 컴파일러를 만들었습니다.
이것은 전문화된 프로그램으로,
프로그래밍 언어로 작성된 "소스"코드는
어셈블리 또는 이진 "기계 코드"와 같은 
낮은 수준의 언어로 변환하여
CPU가 직접 처리 할 수 ​​있습니다.
고마워요, 생각 거품.
따라서 프로그래밍이 더 쉽다는 약속에도 불구하고,
많은 사람들이 호퍼의 생각에 회의적이었습니다.
그녀는 한 번 말했다, "나는 컴파일러를 운영하고 있었고, 아무도 그것을 만질 수 없었어요."
"... 그들은 조심스럽게  말했어요. 컴퓨터는 산술만 할 수 있어요.. 컴퓨터는 프로그램을 할 수 없어요."

Chinese: 
如果代码要跑不止一次
你得把带子的两端连起来做一个循环
换句话说，给 Mark 1 编程简直是噩梦！
战后，霍普继续在计算机的前沿工作
为了释放电脑的潜力
她设计了一种叫“算术语言版本 0”的高级编程语言
简称“A-0”
汇编与机器指令是一一对应的
但一行高级编程语言可能会转换成几十条二进制指令
为了做到这种复杂的转换，
 Hopper 在 1952 年创造了第一个编译器
这个程序专门负责把高级语言的代码转成低级语言
比如转成汇编语言，或转成 CPU 可以直接执行的机器码
谢谢，思想泡泡
尽管“使编程更简单”看起来很诱人
但很多人对霍普的想法持怀疑态度
她曾说过“我有个能用的编译器，但没人愿意用
他们告诉我计算机只能做算术,不能运行程序”

Turkish: 
Aynı işlemi tekrarlayan kod oluşturmak için
birçok kez, iki ucu bantlarsınız
birlikte zımbalanmış kasetin
döngü.
Başka bir deyişle, Mark 1’in programlanması
Bir çeşit kabus!
Savaştan sonra Hopper çalışmaya devam etti.
hesaplama ön planda.
Bilgisayarların potansiyelini açığa çıkarmak için
yüksek seviye bir programlama dili tasarladı
“Aritmetik Dil Versiyon 0”,
veya kısaca A-0.
Assembly dilleri bire bir direk
Makine talimatlarıyla eşleştirme.
Ancak, bir üst düzey programlama için tek bir satır
dil onlarca talimatla sonuçlanabilir
CPU tarafından yürütülmektedir.
Bu karmaşık çeviriyi yapmak için, Hopper
ilk derleyiciyi 1952'de inşa etti.
Bu dönüştüren özel bir programdır
Bir programlamada yazılmış “kaynak” kodu
derleme gibi düşük seviyeli bir dile
veya ikili "makine kodu"
CPU doğrudan işleyebilir.
Teşekkürler, Kabarcık düşündüm.
Yani, kolay programlama vaadine rağmen,
birçok kişi Hopper'ın fikrinden şüpheleniyordu.
Bir keresinde, “Çalışan bir derleyicim vardı.
ve kimse ona dokunmazdı.
… Dikkatlice söylediler, bilgisayarlar yapabilirdi
sadece aritmetik yap; programlar yapamadılar. ”

English: 
To create code that repeated the same operation
multiple times, you’d tape the two ends
of the punched tape together, creating a physical
loop.
In other words, programming the Mark 1 was
kind of a nightmare!
After the war, Hopper continued to work at
the forefront of computing.
To unleash the potential of computers, she
designed a high-level programming language
called “Arithmetic Language Version 0”,
or A-0 for short.
Assembly languages have direct, one-to-one
mapping to machine instructions.
But, a single line of a high-level programming
language might result in dozens of instructions
being executed by the CPU.
To perform this complex translation, Hopper
built the first compiler in 1952.
This is a specialized program that transforms
“source” code written in a programming
language into a low-level language, like assembly
or the binary “machine code” that the
CPU can directly process.
Thanks, Thought Bubble.
So, despite the promise of easier programming,
many people were skeptical of Hopper’s idea.
She once said, “I had a running compiler
and nobody would touch it.
… they carefully told me, computers could
only do arithmetic; they could not do programs.”

English: 
But the idea was a good one, and soon many
efforts were underway to craft new programming
languages -- today there are hundreds!
Sadly, there are no surviving examples of
A-0 code, so we’ll use Python, a modern
programming language, as an example.
Let’s say we want to add two numbers and
save that value.
Remember, in assembly code, we had to fetch
values from memory, deal with registers, and
other low-level details.
But this same program can be written in python
like so:
Notice how there are no registers or memory
locations to deal with -- the compiler takes
care of that stuff, abstracting away a lot
of low-level and unnecessary complexity.
The programmer just creates abstractions for
needed memory locations, known as variables,
and gives them names.
So now we can just take our two numbers, store
them in variables we give names to -- in this
case, I picked a and b but those variables
could be anything - and then add those together,
saving the result in c, another variable I
created.
It might be that the compiler assigns Register
A under the hood to store the value in a,
but I don’t need to know about it!
Out of sight, out of mind!

Arabic: 
ولكن الفكرة كانت فكرة جيدة، وسرعان ما تبذل جهود كثيرة لصياغة برامج جديدة
اللغات - اليوم هناك المئات!
للأسف، لا توجد أمثلة على قيد الحياة من رمز A-0، ولذا فإننا سوف نستخدم أمثلة حديثة
لغة البرمجة، كمثال.
لنفترض أننا نريد إضافة رقمين وحفظ هذه القيمة.
تذكر، في رمز التجمع، كان علينا أن نجلب القيم من الذاكرة، والتعامل مع السجلات، و
تفاصيل أخرى منخفضة المستوى.
ولكن هذا البرنامج نفسه يمكن أن تكون مكتوبة في لغة البرمجة مثل ذلك:
لاحظ كيف لا توجد سجلات أو مواقع الذاكرة للتعامل مع - يأخذ المجمع
والرعاية من تلك الأشياء، وتجريد بعيدا الكثير من مستوى منخفض وتعقيد لا لزوم لها.
مبرمج يخلق فقط التجريدات لمواقع الذاكرة المطلوبة، والمعروفة باسم المتغيرات،
ويعطيهم أسماء.
حتى الآن يمكننا أن نأخذ فقط رقمين لدينا، وتخزينها في المتغيرات نعطي أسماء ل - في هذا
الحالة، اخترت a و b ولكن تلك المتغيرات يمكن أن يكون أي شيء - ومن ثم إضافة تلك معا،
حفظ النتيجة في ج، متغير آخر أنا خلقت.
قد يكون أن المحول يعين السجل A تحت غطاء متحرك لتخزين القيمة في،
ولكن أنا لست بحاجة إلى معرفة ذلك!
بعيد عن الأنظار بعيد عن الفكر!

Chinese: 
但这个点子是好的
不久，很多人开始想办法创造新型程序语言
- 如今有上百种程序语言！
可惜的是，没有任何 A-0 的代码遗留下来
所以我们用 Python（一门现代编程语言）作例子
假设我们要将两个数字相加并保存该值
记住，在汇编代码中
我们不得不从内存中获取值，处理寄存器和其他低级细节
但同样的程序可以用 Python 这样写：
注意这里不用处理寄存器或内存位置
- 编译器会处理这些东西，抽象掉很多底层不必要的复杂性
程序员可以创建内存地址的抽象表示，叫“变量”
然后给变量取名字
现在我们可以把两个数字 存在变量里
这个例子里我们取名“A”和“B”，现实中你可以任意起名
然后相加两个数，把结果存在变量“C”里
在底层操作中，编译器可能把变量 A 存在寄存器 A 里，
但我不需要知道这些细节！
眼不见心不烦
这是个重要的里程碑

Korean: 
그러나 그 아이디어는 좋은 것이었고, 곧 새로운 프로그래밍 언어를 만들기 위한 많은 노력이 진행되었습니다.
오늘날은 수백가지가 있죠!
슬프게도, A-0 코드의 생존 사례가 없습니다.
그래서 우리는 파이썬을 예시로 사용합니다.
현대의 프로그래밍 언어죠.
두 개의 숫자를 추가하고
그 값을 저장하도록 해 봅시다.
어셈블리 코드에서는 메모리 값을 인출, 레지스터 및 기타 낮은 수준의 세부 사항을 처리해야 한다는 것을 기억하세요.
어셈블리 코드에서는 메모리 값을 인출, 레지스터 및 기타 낮은 수준의 세부 사항을 처리해야 한다는 것을 기억하세요.
하지만 이 프로그램은 파이썬으로 
이렇게 작성 될 수 있습니다.
처리할 레지스터 또는 메모리 위치가 없음을 
주목하십시오.
컴파일러가 그것들을 다루고 많은 낮은 수준의 
불필요한 복잡성을 추상화 합니다.
프로그래머는 단지 변수로 알려진 메모리 위치를 위한 
추상화를 만들면 됩니다.
그리고 그들에게 이름을 주죠.
이제  두 숫자를 가져와 변수를 저장하고 
이름을 붙일 수 있습니다.
이 경우, 저는 A와 B라고 했지만 그 변수들
무엇이든 될 수 있습니다  - 그리고 둘을 더하세요.
제가 새로 만든 변수 C에 결과를 저장합니다.
컴파일러가 Register A를 후드 아래에 할당하여 
a값을 저장했을 수도 있어요.
근데 그걸 굳이 알 필요는 없죠.
눈에서 멀어지면 마음에서도 멀어진다.

Turkish: 
Ancak fikir iyi oldu ve çok yakında
yeni programlama yapmak için çaba sarfedildi
diller - bugün yüzlerce var!
Ne yazık ki, hayatta kalan hiçbir örnek yok
A-0 kodu, bu yüzden modern bir Python kullanacağız.
programlama dili, örnek olarak.
Diyelim ki iki sayı eklemek istiyoruz ve
bu değeri sakla.
Unutma, montaj kodunda, almak zorunda kaldık.
bellekteki değerler, kayıtlarla uğraşmak ve
diğer düşük seviye detayları.
Ancak bu aynı program python ile yazılabilir.
bunun gibi:
Kayıt veya bellek olmadığına dikkat edin.
ilgilenilecek yerler - derleyici
Bu şeylerin bakımı, çok soyutlama
Düşük seviye ve gereksiz karmaşıklık.
Programcı sadece için soyutlamalar yaratır
Değişkenler olarak bilinen ihtiyaç duyulan hafıza yerleri,
ve onlara isimler verir.
Şimdi sadece iki numaramızı alabiliriz, mağaza
değişkenlerde bunlara ad veriyoruz - bu
durumda, a ve b'yi seçtim ama bu değişkenler
herhangi bir şey olabilir - ve sonra bunları birlikte ekleyin,
sonucu c olarak kaydetme, başka bir değişken I
yarattı.
Derleyici Register atar olabilir.
Kaputun altındaki değeri a değerinde saklamak için,
ama bunu bilmeme gerek yok!
Gözden ırak olan gönülden de ırak olur!

Chinese: 
但 A-0 及其变体没有被广泛使用
FORTRAN，源自于“公式翻译”
这门语言由 IBM 在 1957 年发布
主宰了早期的计算机编程
FORTRAN 项目总监 John Backus 说过
“我做的大部分工作都是因为我懒
我不喜欢写程序
所以我开始写这门语言，让编程更容易“
你懂的，典型的“懒人”
（白眼）总是写自己的编程语言
平均来说，FORTRAN 写的程序
比等效手写的汇编代码短 20 倍
然后 FORTRAN 编译器会翻译成机器码
人们怀疑它的性能是否和手写代码相比
但它能让编程更快，所以成了一个更经济的选择
以运算时间的小幅增长，换取编程时间的大幅缩减
当时 IBM 在卖计算机
因此，最初 FORTRAN 代码只能在 IBM 计算机上编译和运行
1950 年代大多数编程语言和编译器
只能运行在一种类型的计算机上

Turkish: 
Önemli bir tarihi dönüm noktasıydı.
ancak A-0 ve sonraki sürümleri yaygın olarak kullanılmadı.
FORTRAN, "Formül Çevirisi" den türetilmiştir,
IBM tarafından birkaç yıl sonra
1957 ve erken bilgisayar egemenliğine geldi
programlama.
FORTRAN proje direktörü John Backus,
Dedi ki: "Çalışmalarımın çoğu varlıktan geldi
tembel.
Program yazmayı sevmedim ve ...
Bir programlama sistemi üzerinde çalışmaya başladı.
program yazmak daha kolay. "
Bilirsin, tipik tembel biri.
Her zaman kendi programlarını yaratıyorlar
sistemleri.
Neyse, ortalama olarak, FORTRAN'da yazılmış programlar
eşdeğer el yazısından 20 kat daha kısa
montaj kodu.
Sonra FORTRAN Derleyici çevirirdi
ve bunu yerel makine koduna genişletin.
Topluluk, performans konusunda şüpheci oldu
elle yazılmış kod kadar iyi olurdu, ama
programcıların daha fazla yazabilecekleri gerçeği
kodunu daha hızlı, kolay bir seçim yaptı
ekonomik olarak: ticarette küçük bir artış
önemli bir düşüş için hesaplama süresi
programcı zamanında.
Tabii ki, IBM satış işindeydi
bilgisayarlar ve başlangıçta, FORTRAN kodu
yalnızca IBM bilgisayarlarında derlenip çalıştırılabilir.
Ve çoğu programlama dili ve derleyici
1950’li yılların yarısı sadece tek bir tipte çalışabildi
Bilgisayar

English: 
It was an important historical milestone,
but A-0 and its later variants weren’t widely used.
FORTRAN, derived from "Formula Translation",
was released by IBM a few years later, in
1957, and came to dominate early computer
programming.
John Backus, the FORTRAN project director,
said: "Much of my work has come from being
lazy.
I didn't like writing programs, and so ... I
started work on a programming system to make
it easier to write programs."
You know, typical lazy person.
They’re always creating their own programming
systems.
Anyway, on average, programs written in FORTRAN
were 20 times shorter than equivalent handwritten
assembly code.
Then the FORTRAN Compiler would translate
and expand that into native machine code.
The community was skeptical that the performance
would be as good as hand written code, but
the fact that programmers could write more
code more quickly, made it an easy choice
economically: trading a small increase in
computation time for a significant decrease
in programmer time.
Of course, IBM was in the business of selling
computers, and so initially, FORTRAN code
could only be compiled and run on IBM computers.
And most programing languages and compilers
of the 1950s could only run on a single type
of computer.

Arabic: 
وكان معلما تاريخيا هاما، ولكن A-0 والمتغيرات في وقت لاحق لم تستخدم على نطاق واسع.
فورتران، المستمدة من "ترجمة الفورمولا"، وقد صدر من قبل عب بعد بضع سنوات، في
1957، وجاءت للسيطرة على برمجة الكمبيوتر في وقت مبكر.
وقال جون باكوس، مدير مشروع فورتران: "لقد جاء الكثير من عملي من وجود
الكسل
لم أكن أحب كتابة البرامج، وهكذا ... بدأت العمل على نظام البرمجة لجعل
من السهل كتابة البرامج. "
كما تعلمون، شخص كسول نموذجي.
انهم دائما خلق أنظمة البرمجة الخاصة بهم.
على أي حال، في المتوسط، كانت البرامج المكتوبة في فورتران أقصر 20 مرة من مكتوبة بخط اليد يعادل
رمز التجميع.
ثم مترجم فورتران سوف تترجم وتوسيع ذلك إلى رمز الجهاز الأصلي.
وكان المجتمع متشككا في أن الأداء سيكون جيدا مثل رمز مكتوب اليد، ولكن
وحقيقة أن المبرمجين يمكن كتابة المزيد من التعليمات البرمجية بسرعة أكبر، وجعلها خيارا سهلا
اقتصاديا: تداول زيادة صغيرة في وقت الحساب لانخفاض كبير
في وقت مبرمج.
وبطبيعة الحال، كان IBM في مجال بيع أجهزة الكمبيوتر، وذلك في البداية، رمز فورتران
يمكن تجميعها وتشغيلها على أجهزة كمبيوتر IBM فقط.
ومعظم لغات البرمجة والمجمعين في 1950s يمكن أن تعمل فقط على نوع واحد
من الكمبيوتر

Korean: 
중요한 역사적인 이정표였습니다.
그러나 A-0 및 그 후의 변종은 널리 사용되지 않았습니다.
"Formula Translation"에서 파생 된 FORTRAN을
몇 년 후 인 1957년에 IBM이 발표하여
초기 컴퓨터 프로그래밍을 지배하게 되었습니다.
FORTRAN 프로젝트의 디렉터인 John Backus는  말했습니다. "제 작업의 대부분은 게으름에서 비롯되었습니다."
 
"저는 프로그램을 쓰는 것을 좋아하지 않았고, 
그래서 프로그램을 쓰기 쉽게 만들기 위해
프로그래밍 시스템에서  작업을 시작했습니다."
전형적인 게으른 사람 이네요.
그들은 항상 자신의 프로그래밍 시스템을 
만들고 있습니다.
어쨌든 평균적으로, FORTRAN으로 작성된 프로그램은
손으로 쓴 어셈블리 코드보다 20 배 더 짧았습니다.
어쨌든 평균적으로, FORTRAN으로 작성된 프로그램은
손으로 쓴 어셈블리 코드보다 20 배 더 짧았습니다.
그런 다음 FORTRAN 컴파일러는 이를 변환하여 
원시 기계 코드로 확장합니다.
커뮤니티는 FORTRAN의 성능이 손으로 쓴 코드만큼 
좋을 지 회의적이었습니다.
그러나 프로그래머가 더 많은 코드를 더 빨리 쓸 수 있다는 사실 때문에 경제적으로 쉽게 선택할 수 있었습니다.
프로그래머 시간을 현저하게 줄이기 위해 계산 시간을 약간 늘리는 것입니다.
프로그래머 시간을 현저하게 줄이기 위해 계산 시간을 약간 늘리는 것입니다.
물론 IBM은 컴퓨터 판매 사업을 하고 있었으므로 
초기에는 FORTRAN 코드는
IBM 컴퓨터에서만 컴파일되고 실행될 수 있습니다.
그리고 1950년대의 대부분의 프로그래밍 언어와 컴파일러는 단일 유형의 컴퓨터에서만 실행 가능했습니다.
그리고 1950년대의 대부분의 프로그래밍 언어와 컴파일러는 단일 유형의 컴퓨터에서만 실행 가능했습니다.

Turkish: 
Yani, bilgisayarınızı yükselttiyseniz,
genellikle tüm kodu da tekrar yazmak zorundasınız!
Buna cevaben, endüstriden bilgisayar uzmanları,
akademi ve hükümet bir konsorsiyum kurdu
1959'da - Veri Sistemleri Dilleri Komitesi,
arkadaşımız Grace Hopper tarafından önerilen - rehberlik etmek
Ortak bir programlama dilinin gelişimi
farklı makinelerde kullanılabilir.
Sonuç, kullanımı kolay, üst düzeydi.
Ortak İş Odaklı Dil veya COBOL
kısaca.
Farklı temel donanımlarla uğraşmak,
Her bilişim mimarisinin kendine ihtiyacı vardı.
COBOL derleyicisi.
Ancak kritik olarak, bu derleyiciler hepsini yapabilir
olursa olsun aynı COBOL kaynak kodunu kabul et
hangi bilgisayarda çalıştırıldığı.
Bu nosyona bir kere yazma denir, her yere koş.
Çoğu programlama dili için geçerlidir.
bugün montajdan uzaklaşmanın bir yararı
ve hala CPU'ya özgü makine kodu.
Tüm bunların en büyük etkisi azaltma oldu.
hesaplamanın giriş engelleri.
Üst seviye programlama dilleri mevcut olmadan önce,
bilgisayar uzmanlarına özel bir alandı
ve meraklıları.
Ve genellikle tam zamanlı meslekleriydi.
Ama şimdi, bilim adamları, mühendisler, doktorlar, ekonomistler,
öğretmenler ve diğerleri
işlerine hesaplama.

Korean: 
컴퓨터를 업그레이드했다면
종종 모든 코드를 다시 작성해야합니다.
이에 따라 산업, 학계의 컴퓨터 전문가들과 
정부가 1959년에 협회를 구성하여
데이터 시스템 언어위원회 (우리에게 친근한 Grace Hopper가 고안한)를 만들었습니다.
다른 컴퓨터에서도 사용할 수 있는
공통 프로그래밍 언어 개발을 안내하기 위함이었어요.
결과는 사용하기 쉽고, 높은 수준의 공통 비즈니스 지향 언어 또는 줄여서 COBOL이라 부르는 것을 만들었습니다.
결과는 사용하기 쉽고, 높은 수준의 공통 비즈니스 지향 언어 또는 줄여서 COBOL이라 부르는 것을 만들었습니다
서로 다른 기본 하드웨어를 다루기 위해, 각 컴퓨팅 구조에는 자체 COBOL 컴파일러가 필요했습니다.
서로 다른 기본 하드웨어를 다루기 위해, 각 컴퓨팅 구조에는 자체 COBOL 컴파일러가 필요했습니다.
그러나 아슬아슬하게, 이 컴파일러는 어떤 컴퓨터에서 실행되든 동일한 COBOL 소스코드를 수용할 수 있었습니다.
그러나 아슬아슬하게, 이 컴파일러는 어떤 컴퓨터에서 실행되든 동일한 COBOL 소스코드를 수용할 수 있었습니다.
이 개념은 "한 번 쓰면 어디서나 실행'" 
이라고 불렸습니다.
오늘날 대부분의 프로그래밍 언어에서 그렇듯, 어셈블리와 기계 코드에서 멀어지는 이점이 있습니다.
여전히 CPU와는 관련이 있지만요.
이 모든 것의 가장 큰 영향은
컴퓨팅에 대한 진입 장벽을 줄이는 것이었습니다.
고급 프로그래밍 언어가 존재하기 전에는,
그것은 컴퓨터 전문가 및 애호가들에게 
독점적인 영역이었습니다.
그리고 종종 전임하는 직업이었습니다.
그러나 이제는 과학자, 기술자, 의사, 경제학자, 
교사 및 많은 다른 사람들이
컴퓨테이션을 그들의 작업에 통합시킬 수 있습니다.

Arabic: 
لذلك، إذا قمت بترقية جهاز الكمبيوتر الخاص بك، وكنت غالبا ما تضطر إلى إعادة كتابة كل التعليمات البرمجية أيضا!
وردا على ذلك، شكل خبراء الكمبيوتر من الصناعة والأوساط الأكاديمية والحكومة اتحادا
في عام 1959 - لجنة نظم البيانات و اللغات، نصيحة من قبل صديقنا قرايس هوبر
تطوير لغة برمجة مشتركة يمكن استخدامها عبر آلات مختلفة.
وكانت النتيجة عالية المستوى، وسهلة الاستخدام، المشتركة الموجهة نحو الأعمال اللغة أو كوبول
لفترة قصيرة.
للتعامل مع الأجهزة الأساسية المختلفة، تحتاج كل بنية حاسوبية خاصة بها
مترجم كوبول.
ولكن بشكل نقدي، يمكن لهذه المجمعين جميعا قبول نفس شفرة المصدر كوبول، بغض النظر عن
ما الكمبيوتر الذي تم تشغيله على
يسمى هذا المفهوم الكتابة مرة واحدة، تشغيل في أي مكان
هذا صحيح بالنسبة لمعظم لغات البرمجة اليوم، فائدة من الابتعاد عن التجمع
ورمز الجهاز، والتي لا تزال وحدة المعالجة المركزية محددة.
وكان الأثر الأكبر لهذا كله هو الحد من حاجز الحوسبة أمام الدخول
قبل وجود لغات البرمجة عالية المستوى، كان عالم حصري لخبراء الكمبيوتر
و المتحمسين
وكان في كثير من الأحيان مهنتهم بدوام كامل.
ولكن الآن، يمكن للعلماء والمهندسين والأطباء والاقتصاديين والمعلمين، وغيرها الكثير دمجه
في عملهم.

Chinese: 
所以如果你升级电脑
就需要重写所有代码！
对此，来自工业界，学术界，和政府的计算机专家
在 1959 年组建了一个联盟
- 数据系统语言委员会，由 Grace Hopper 担任顾问-
来开发一种通用编程语言，可以在不同机器上使用
诞生的是一门高级，易于使用，
“常见的面向商业语言”，简称“COBOL”
为了处理不同底层硬件
每个计算架构都需要自己的 COBOL 编译器
但最重​​要的是，这些编译器都可以接受相同的 COBOL 源代码
无论在什么电脑上运行程序
这个概念叫“一次编写，到处运行”
今天大多数编程语言都是如此
远离了每种 CPU 特有的汇编代码和机器码
远离了每种 CPU 特有的汇编代码和机器码。
这减少了进入计算机领域的壁垒
在拥有高级编程语言之前
这只是计算机专家和爱好者专属的领域
而且通常是他们的全职
但现在，科学家，工程师，医生，经济学家，教师
等等人群，都可以把计算机结合到他们的工作中
感谢这些语言

English: 
So, if you upgraded your computer, you’d
often have to re-write all the code too!
In response, computer experts from industry,
academia and government formed a consortium
in 1959 -- the Committee on Data Systems Languages,
advised by our friend Grace Hopper -- to guide
the development of a common programming language
that could be used across different machines.
The result was the high-level, easy to use,
Common Business-Oriented Language, or COBOL
for short.
To deal with different underlying hardware,
each computing architecture needed its own
COBOL compiler.
But critically, these compilers could all
accept the same COBOL source code, no matter
what computer it was run on.
This notion is called write once, run anywhere.
It’s true of most programming languages
today, a benefit of moving away from assembly
and machine code, which is still CPU specific.
The biggest impact of all this was reducing
computing’s barrier to entry.
Before high level programming languages existed,
it was a realm exclusive to computer experts
and enthusiasts.
And it was often their full time profession.
But now, scientists, engineers, doctors, economists,
teachers, and many others could incorporate
computation into their work .

English: 
Thanks to these languages, computing went
from a cumbersome and esoteric discipline
to a general purpose and accessible tool.
At the same time, abstraction in programming
allowed those computer experts – now “professional
programmers” – to create increasingly
sophisticated programs, which would have taken
millions, tens of millions, or even more lines
of assembly code.
Now, this history didn’t end in 1959.
In fact, a golden era in programming language
design jump started, evolving in lockstep
with dramatic advances in computer hardware.
In the 1960s, we had languages like ALGOL,
LISP and BASIC.
In the 70’s: Pascal, C and Smalltalk were
released.
The 80s gave us C++, Objective-C, and Perl.
And the 90’s: python, ruby, and Java.
And the new millennium has seen the rise of
Swift, C#, and Go - not to be confused with
Let it Go and Pokemon Go.
Anyway, some of these might sound familiar
-- many are still around today.
It’s extremely likely that the web browser
you’re using right now was written in C++
or Objective-C.
That list I just gave is the tip of the iceberg.
And languages with fancy, new features are
proposed all the time.

Arabic: 
وبفضل هذه اللغات، ذهبت الحوسبة من انضباط مرهق و مقصور على فئة معينة
إلى أغراض عامة وأداة يمكن الوصول إليها.
وفي الوقت نفسه، فإن التجريد في البرمجة سمح لخبراء الحواسيب - الآن
" المبرمجين المحترفين "- لخلق برامج متطورة على نحو متزايد، كان من الممكن أن تتخذ
الملايين، عشرات الملايين، أو حتى المزيد من خطوط رمز التجمع.
الآن، هذا التاريخ لم ينتهي في عام 1959.
في الواقع، بدأ العصر الذهبي في برمجة لغة تصميم وقفزة و تطور
مع تقدم كبير في أجهزة الكمبيوتر.
في 1960s، كان لدينا لغات مثل ألغول، ليسب و بيسك.
في السبعينات: تم إطلاق باسكال، C و سمالتالك.
أعطانا الثمانينات C ++، أوبجكتيف -C، و بيرل.
و 90's: الثعبان، روبي، وجافا.
وقد شهدت الألفية الجديدة صعود سويفت، #C، والذهاب - لا ينبغي الخلط بينها
السماح لها الذهاب وبوكيمون العودة.
على أي حال، بعض هذه قد تبدو مألوفة - العديد لا تزال موجودة اليوم.
من المحتمل جدا أن متصفح الويب الذي تستخدمه الآن مكتوب بلغة C ++
أو Objective-C
تلك القائمة التي أعطيت للتو هي غيض من فيض.
واللغات مع الهوى، يتم اقتراح ميزات جديدة في كل وقت.

Turkish: 
Bu diller sayesinde bilgi işlem gitti
hantal ve ezoterik bir disiplinden
Genel bir amaç ve erişilebilir bir araç için.
Aynı zamanda, programlamada soyutlama
bilgisayar uzmanlarına izin verdim - şimdi “profesyonel
programcılar ”- giderek daha fazla yaratmak
almış olacak karmaşık programlar
milyonlarca, on milyonlarca hatta daha fazla satır
montaj kodu.
Şimdi, bu tarih 1959'da bitmedi.
Aslında, programlama dilinde altın çağ
tasarım atlaması başladı, adım adım ilerliyor
bilgisayar donanımında çarpıcı gelişmeler.
1960'larda ALGOL gibi dillerimiz vardı.
LİSP ve TEMEL.
70'lerde: Pascal, C ve Smalltalk
yayınlandı.
80'ler bize C ++, Objective-C ve Perl verdi.
Ve 90'lı yıllar: python, ruby ​​ve Java.
Ve yeni binyılın yükselişini gördü
Swift, C # ve Go - karıştırılmaması gerekenler
Gidelim ve Pokemon Gitsin.
Neyse, bunlardan bazıları tanıdık gelebilir
- çoğu bugün hala buralarda.
Web tarayıcısının büyük olasılıkla
Şu anda kullanıyorsunuz C ++ ile yazılmış
veya Amaç-C.
Az önce verdiğim liste buzdağının görünen kısmı.
Ve fantazileri olan diller, yeni özellikler
her zaman teklif etti.

Korean: 
이러한 언어들 덕분에 컴퓨팅은
성가시고 난해한 학문에서
범용 목적으로 접근 가능한 도구로 발전했습니다.
동시에,  프로그래밍의 추상화로 인해 컴퓨터 전문가들은 이제 "전문 프로그래머"로서
점점 더 정교해지는 프로그램을 
만들 수 있게 되었습니다.
수백만, 수천 또는 그 이상의 
어셈블리 코드라인을 사용해서요.
자, 이 역사는 1959 년에 끝나지 않았습니다.
사실, 프로그래밍 언어의 황금 시대가 시작되어 컴퓨터 하드웨어의 획기적인 진보와 함께 진화를 거듭했습니다.
사실, 프로그래밍 언어의 황금 시대가 시작되어 컴퓨터 하드웨어의 획기적인 진보와 함께 진화를 거듭했습니다.
1960 년대에는 ALGOL이나 
LISP, BASIC과 같은 언어를 사용했고,
70 년대에는 파스칼, C 언어 및 Smalltalk가
 출시되었습니다.
80년대는 우리에게 C ++, Objective-C, Perl을 주었습니다.
그리고 90 년대에는 파이썬, 루비, 자바.
2000년대에는 Swift, C #, Go
(Let it Go와 Pokemon Go랑 헷갈리지 마세요.)
2000년대에는 Swift, C #, Go
(Let it Go와 Pokemon Go랑 헷갈리지 마세요.)
어쨌든, 이 중 일부는 친숙하게 들릴지도 모릅니다. 
많은 것들이 아직도 오늘날도 사용됩니다.
지금 사용하고있는 웹 브라우저는 
C ++ 또는 Objective-C로 작성되었습니다.
지금 사용하고있는 웹 브라우저는 
C ++ 또는 Objective-C로 작성되었습니다.
방금 전에 말했던 목록은 빙산의 일각입니다.
세련되고 새로운 기능을 갖춘 언어는
항상 제안되었습니다.

Chinese: 
计算机科学从繁琐深奥的学科
变成了多用途的大众化工具
同时，编程中的抽象也允许这些计算机专家
现在叫“专业程序员”
创建越来越复杂的程序
如果用汇编写的话可能需要数百万行
计算机的历史没有在 1959 年结束
编程语言设计的黄金时代才刚刚开始
和计算机硬件一起飞速发展
在 1960s，我们有 ALGOL，LISP 和 BASIC 等语言
70年代有：Pascal，C 和 Smalltalk
80年代有：C++，Objective-C 和 Perl
90年代有：Python，Ruby 和 Java
在新千年我们看到 Swift, C#, Go 在崛起
不要把 Go 和 Pokemon Go 混淆
其中一些语言你可能很耳熟
- 还有一些至今仍在使用
你现在用的浏览器很有可能
是用 C++ 或 Objective-C 编写的
我刚才给的清单只是冰山一角
新的编程语言经常冒出来
每种新语言都在试图用更聪明的抽象机制

Turkish: 
Her yeni dil yeni kaldıraç kullanmaya çalışır
ve bazı yönleri yapmak için akıllı soyutlamalar
programlama daha kolay veya daha güçlü, veya
gelişmekte olan teknolojilerden yararlanmak ve
platformlar, böylece daha fazla insan daha fazlasını yapabilir
inanılmaz şeyler, daha çabuk.
Birçok programlamanın kutsal kâsesini düşünüyor
“sade ol 'İngilizce” kullanımı,
tam anlamıyla sadece ne konuşabileceğini nerede
bilgisayarın yapmasını istiyorum, anlıyor
ve onu yürütür.
Bu tür akıllı sistem bilimdir
kurgu… şimdilik.
Ve 2001 hayranları: Bir Uzay Odyssey olabilir
Bununla.
Artık programlama dilleri hakkında her şeyi biliyorsunuz,
Bir sonraki çift için derin dalış yapacağız
bölüm, ve biz inşa etmeye devam edeceğiz
programlama dillerini nasıl anladığınızı
ve oluşturdukları yazılım
serin ve inanılmaz şeyler yapın.
Haftaya görüşürüz.
Hey millet, bu haftaki bölüm getirildi.
size bir akış olan CuriosityStream tarafından
belgesel ve kurgusal olmayan hizmet
Bazı harika film yapımcılarının başlıkları,
özel orijinaller dahil.
Az önce “Rakamlar” adında harika bir dizi izledim.
arkadaşımız Derek Muller tarafından ev sahipliği yaptı.
Hepsi İnternet ile ilgili - kökenlerinden,
Nesnelerin İnterneti'nin yayılmasına,
etik veya beyaz şapka, hack.

Korean: 
각각의 새로운 언어는 새롭고 영리한 추상화를 활용하여 프로그래밍의 일부 측면을 보다 쉽고 강력하게 만들거나
각각의 새로운 언어는 새롭고 영리한 추상화를 활용하여 프로그래밍의 일부 측면을 보다 쉽고 강력하게 만들거나
신기술 및 플랫폼을 활용함으로써 더 많은 사람들이 보다 놀라운 일들을 더 빨리 할 수 있게 합니다.
신기술 및 플랫폼을 활용함으로써 더 많은 사람들이 보다 놀라운 일들을 더 빨리 할 수 있게 합니다.
많은 사람들이 프로그래밍의 성배를 "평범한 영어"를 
사용하는 것이라고 생각합니다.
문자 그대로 여러분이 컴퓨터가 할 일을 말하면 
그것을 알아내고 실행합니다.
문자 그대로 여러분이 컴퓨터가 할 일을 말하면 
그것을 알아내고 실행합니다.
이러한 종류의 지능 시스템은 지금은
과학 소설과 같아요.
그리고 2001 년의 팬 : 스페이스 오딧세이가 괜찮을지도 모릅니다.
이제 프로그래밍 언어에 대해 모두 알았으므로,
우리는 다음 몇 강을 좀더 깊이 있게 살펴볼거에요.
그리고 계속해서 어떻게 프로그래밍 언어와 소프트웨어가 쿨하고 믿기지 않는 일들을 하는데 사용되는지
여러분의 이해를 구축해 나갈 것입니다.
다음주에 봐요^^
 
 
 
 
 
 

English: 
Each new language attempts to leverage new
and clever abstractions to make some aspect
of programming easier or more powerful, or
take advantage of emerging technologies and
platforms, so that more people can do more
amazing things, more quickly.
Many consider the holy grail of programming
to be the use of “plain ol’ English”,
where you can literally just speak what you
want the computer to do, it figures it out,
and executes it.
This kind of intelligent system is science
fiction… for now.
And fans of 2001: A Space Odyssey may be okay
with that.
Now that you know all about programming languages,
we’re going to deep dive for the next couple
of episodes, and we’ll continue to build
your understanding of how programming languages,
and the software they create, are used to
do cool and unbelievable things.
See you next week.
Hey guys, this week’s episode was brought
to you by CuriosityStream which is a streaming
service full of documentaries and non­fiction
titles from some really great filmmakers,
including exclusive originals.
I just watched a great series called “Digits”
hosted by our friend Derek Muller.
It’s all about the Internet - from its origins,
to the proliferation of the Internet of Things,
to ethical, or white hat, hacking.

Arabic: 
تحاول كل لغة جديدة للاستفادة من التجريدات الجديدة والذكية لجعل بعض الجوانب
من البرمجة أسهل أو أكثر قوة، أو الاستفادة من التكنولوجيات الناشئة و
منصات، حتى أن أكثر الناس يمكن أن تفعل أشياء أكثر مذهلة، وبسرعة أكبر.
كثيرون يعتبرون المقدسة المقدسة من البرمجة لتكون استخدام "عادي أول" الإنجليزية "،
حيث يمكنك حرفيا مجرد التحدث ما تريد الكمبيوتر للقيام به، فإنه أرقام بها،
وتنفذه
هذا النوع من نظام ذكي هو الخيال العلمي ... في الوقت الراهن.
والمشجعين من عام 2001: أوديسي الفضاء قد يكون بخير مع ذلك.
الآن بعد أن كنت تعرف كل شيء عن لغات البرمجة، ونحن في طريقنا إلى الغوص العميق للزوجين المقبلين
من الحلقات، وسنواصل بناء فهمك لكيفية برمجة لغات،
والبرمجيات التي يخلقونها، وتستخدم للقيام أشياء رائعة ولا تصدق.
اراكم الاسبوع القادم.
يا رفاق، تم جلب حلقة هذا الأسبوع لك من قبل CuriosityStream الذي هو تدفق
خدمة كاملة من الأفلام الوثائقية وألقاب غير واقعية من بعض المخرجين حقا كبيرة،
بما في ذلك النسخ الأصلية الحصرية.
شاهدت مجرد سلسلة كبيرة تسمى "أرقام" استضافها صديقنا ديريك مولر.
انها كل شيء عن الإنترنت - من أصولها، إلى انتشار إنترنت الأشياء،
إلى الأخلاقية، أو قبعة بيضاء، القرصنة.

Chinese: 
来使编程的某些方面更容易或更强大
或利用新兴技术和平台
让更多人更快做出很棒的事情
许多人认为编程的圣杯是用“普通的英文”
可以直接告诉电脑做什么
然后计算机可以理解并执行
这种智能系统现在只存在于科幻小说中
“2001：太空漫游”的粉丝可能觉得现在这种情况很好
现在你知道了编程语言的故事
我们接下来几集
会深入了解那些编程语言和软件
是怎样做到各种神奇的事
下周见

Arabic: 
وحتى أنه يتضمن بعض مظاهر الضيف خاصة ... مثل هذا الرجل جون قرين الذي تذكرونه
في التعليقات.
و Curiosity Stream يوفر وصول غير محدود ابتداء من 2،99 $ في الشهر، وبالنسبة لكم يا رفاق،
الشهرين الأولين مجانا إذا قمت بالتسجيل في curiositystream.com/crashcourse
واستخدام الرمز الترويجي "كراش كورس" أثناء عملية الاشتراك.

Korean: 
 
 
 
 
 

English: 
And it even includes some special guest appearances…
like that John Green guy you keep mentioning
in the comments.
And Curiosity Stream offers unlimited access
starting at $2.99 a month, and for you guys,
the first two months are free if you sign
up at curiositystream.com/crashcourse
and use the promo code "crash course" during the sign-up process.

Turkish: 
Hatta bazı özel konuk görünümlerini de içeriyor…
Bahsettiğiniz John Green denen adam gibi
yorumlarda.
Merak Akışı sınırsız erişim sunar
ayda 2,99 dolardan başlayan fiyatlarla,
imzalarsan ilk iki ay ücretsiz
curiositystream.com/crashcourse adresinde bulun
ve kaydolma işlemi sırasında promosyon kodu "çarpışma rotası" nı kullanın.
