Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

Audio Text:

The following is a conversation with Bjorn Stralstrup. He is the creator of C++.


Programming language that after 40 years is still one of the most popular and
powerful languages in the world. It's focused on fast, stable, robust code,
underlies many of the biggest systems in the world that we have come to rely on as
a society. If you're watching this on YouTube, for example, many of the critical
backhand components of YouTube are written in C++. St. Ghost for Google, Facebook,
Amazon, Twitter, most Microsoft applications, Adobe applications, most database
systems, and most physical systems that operate in the real world, like cars,
robots, rockets that launch us into space, and one day we'll land us on Mars. C++
also happens to be the language that I used more than any other in my life. I've
written several hundred thousand lines of C++ source code. Of course, lines of
source code don't mean much, but they do give hints of my personal journey through
the world of software. I've enjoyed watching the development of C++ as a
programming language, leading up to the big update in the standard in 2011, and
those that followed in 14, 17, and toward the new C++ 20 standard, hopefully coming
out next year. This is the Artificial Intelligence Podcast. If you enjoy it,
subscribe on YouTube, give it five stars and iTunes, support it on Patreon, or
simply connect with me on Twitter, at Lex Friedman's, about the FRID MAM. And now
here's my conversation with Bjorn Straustrup. What was the first program you've
ever written? Do you remember? It was my second year in university, first year of
computer science, and it was in L.C. 60. I calculated the shape of a superlips and
then connected points on the perimeter, creating star patterns. It was with a
wedding on a paper printer. And that was in college. University. Yeah, yeah. I
learned to program the second year in university. What was the first programming
language if I may ask it this way that you fell in love with? I think I'll call 60.
And after that, I remember I remember Snowball. I remember Fortran, didn't fall in
love with that. I remember Pascal, didn't fall in love with that. It all we got in
the way of me. And then I just covered a simpler and that was much more fun. And
from there, I went to my crew. My crew code. So you were drawn to the, you found
the low level stuff beautiful. I went through a lot of languages and then I spent
significant time in a simpler and micro code that was sort of the first really
profitable things and I paid for my masters, actually. And then I discovered
Simula, which was absolutely great. Simula. Simula was the extension of L.C. 60.
Done primarily for simulation, but basically they invented upgitory into
programming at inheritance and run time polymorphism when they were, while they
were doing it. And that was a language that taught me that you could have the, sort
of the problems of a program grow with the size of the program, rather than with
the square of the size of the program. That is, you can actually modularize very
nicely. And that, that, that was a surprise to me. It was also a surprise to me
that a stricter type system than Pascal's was helpful, whereas Pascal's type system
got my way all the time. So you need a strong type system to organize your code
well, but it has to be extensible and flexible. Let's get into the details a little
bit. What kind, if you remember, what kind of type system did Pascal have, what
type system, typing system did the alcohol 60 have? Basically Pascal was sort of
the simplest language that Nick Lossweat could define that served the needs of Nick
Lossweat at the time. And it has a sort of a highly moral tone to it. That is, if
you can say it in Pascal, it's good. And if you can't, it's not so good. Whereas,
similar, a large is basically to build your own type system. So instead of trying
to fit yourself into Nick Lossweat's world, Christian Newgoer's language and all
you understand is language, allows you to build your own. So it's sort of close to
the original idea of you, you build a domain-specific language. As a matter of
fact, what you build is a set of types and relations among types that allows you to
express something that's suitable for an application. So when you say types, stuff
you're saying has echoes of object-oriented programming. Yes, they invented it.
Every language that uses the word class for type is a descent of Simula. Directly
or indirectly. Christian Newgoer and Oliohandal were mathematicians. And they
didn't think in terms of types, but they understood sets and classes of elements.
And so they called their types classes. And basically, in C++, LC in Simula,
classes are used to find type. So can you try the impossible task and give a brief
history of programming languages from your perspective? So we started with the
Algoer 60 Simula Pascal, but that's just the 60s and 70s. I can try. The most sort
of interesting and major improvement of programming languages was the first four-
train. Because before that, all code was written for a specific machine and each
specific machine had a language, a simple language or a simple or some extension of
that idea. But you were writing for a specific machine in the language of that
machine. And Barca's and his team at IBM built a language that would allow you to
write what you really wanted. That is, you could write it in a language that was
natural for people. Now, these people happen to be engineers and physicists, so the
language that came out was somewhat unusual for the rest of the world. But
basically, they said formula translation because they wanted to have the
mathematical formulas translated into the machine. And as a side effect, they got
portability because now they are writing in the terms that the humans used and the
way humans thought. And then they had a program that translated it into the
machine's needs. And that was new and that was great. And it's something to
remember. We want to raise the language to the human level, but we don't want to
lose the efficiency. And that was the first step towards the human. That was the
first step. And of course, there were very particular kinds of humans, business
people, methods of difference, so they got co-borne state and etc. etc. And similar
came out, no, let's not go to simulate yet. Let's go to Elgol. Fortran didn't have
at the time the notions of not a precise notion of type, not a precise notion of
scope, not a set of translation phases that was what we have today, lexical syntax,
semantic. It was a bit of a model in the early days, but hey, they're just on the
big breakthrough in the history of programming, right? So you can't criticize them
for not having gotten all the technical details, right? So we got Elgol. That was
very pretty. And most people in commos and sions considered it useless because it
was not flexible enough and it wasn't efficient enough and etc. etc. But that was a
breakthrough from a technical point of view. Then similar came along to make that
idea more flexible and you could define your own types. I got very interested.
Christian Nugor, who's the main idea man behind Simula. That was late 60s. This was
late 60s. Well, what's a visiting professor in Osh? And so I learned object
oriented programming by sitting around and well in theory discussing with

Translated Text:
A seguir está uma conversa com Bjorn Stralstrup. Ele é o criador do C++. Linguagem
de programação que depois de 40 anos ainda é uma das linguagens mais populares e
poderosas do mundo. É focado em código rápido, estável e robusto, subjacente a
muitos dos maiores sistemas do mundo nos quais confiamos como sociedade. Se você
estiver assistindo isso no YouTube, por exemplo, muitos dos componentes críticos de
backhand do YouTube são escritos em C++. St. Ghost para Google, Facebook, Amazon,
Twitter, a maioria dos aplicativos Microsoft, aplicativos Adobe, a maioria dos
sistemas de banco de dados e a maioria dos sistemas físicos que operam no mundo
real, como carros, robôs, foguetes que nos lançam ao espaço, e um dia nós nos
levará a Marte. C++ também é a linguagem que usei mais do que qualquer outra em
minha vida. Escrevi centenas de milhares de linhas de código-fonte C++. É claro que
as linhas de código-fonte não significam muito, mas dão dicas da minha jornada
pessoal pelo mundo do software. Gostei de observar o desenvolvimento do C++ como
linguagem de programação, levando à grande atualização do padrão em 2011, e às que
se seguiram em 14, 17 e em direção ao novo padrão C++ 20, que esperançosamente será
lançado no próximo ano. Este é o Podcast de Inteligência Artificial. Se você
gostou, inscreva-se no YouTube, dê cinco estrelas e iTunes, apoie no Patreon, ou
simplesmente conecte-se comigo no Twitter, no Lex Friedman's, sobre o FRID MAM. E
agora aqui está minha conversa com Bjorn Straustrup. Qual foi o primeiro programa
que você escreveu? Você se lembra? Foi meu segundo ano na universidade, primeiro
ano de ciência da computação, e foi em L.C. 60. Calculei o formato de um superlábio
e depois conectei pontos no perímetro, criando padrões de estrelas. Foi com um
casamento em uma impressora de papel. E isso foi na faculdade. Universidade. Yeah,
yeah. Aprendi a programar no segundo ano da universidade. Qual foi a primeira
linguagem de programação, se assim posso perguntar, pela qual você se apaixonou?
Acho que vou ligar para 60. E depois disso, lembro que me lembro do Snowball.
Lembro-me do Fortran, não me apaixonei por isso. Lembro-me do Pascal, não me
apaixonei por isso. Tudo o que nos atrapalhou. E então eu cobri um assunto mais
simples e que foi muito mais divertido. E a partir daí fui para minha equipe. Meu
código de tripulação. Então você se sentiu atraído e achou as coisas de baixo nível
lindas. Passei por muitas linguagens e depois passei um tempo significativo em um
código mais simples e micro que foi a primeira coisa realmente lucrativa e paguei
pelos meus mestres, na verdade. E então descobri Simula, o que foi absolutamente
fantástico. Simula. Simula foi a extensão de L.C. 60. Feito principalmente para
simulação, mas basicamente eles inventaram o upgitory para programação em herança e
polimorfismo em tempo de execução quando estavam, enquanto faziam isso. E essa foi
uma linguagem que me ensinou que você poderia fazer com que os problemas de um
programa crescessem com o tamanho do programa, e não com o quadrado do tamanho do
programa. Ou seja, você pode modularizar muito bem. E isso, isso, isso foi uma
surpresa para mim. Também foi uma surpresa para mim que um sistema de tipos mais
rígido que o de Pascal fosse útil, enquanto o sistema de tipos de Pascal funcionava
do meu jeito o tempo todo. Portanto, você precisa de um sistema de tipos forte para
organizar bem seu código, mas deve ser extensível e flexível. Vamos entrar um pouco
nos detalhes. Que tipo, se você se lembra, que tipo de sistema de digitação Pascal
tinha, que tipo de sistema de digitação o álcool 60 tinha? Basicamente, Pascal era
a linguagem mais simples que Nick Lossweat poderia definir e que atendia às
necessidades de Nick Lossweat na época. E tem um tom altamente moral. Ou seja, se
você consegue falar em Pascal, está bom. E se você não pode, não é tão bom.
Considerando que, da mesma forma, um grande é basicamente construir seu próprio
sistema de tipos. Então, em vez de tentar se encaixar no mundo de Nick Lossweat, a
linguagem de Christian Newgoer, e tudo que você entende é linguagem, permite que
você construa a sua própria. Então é mais ou menos próximo da sua ideia original,
você constrói uma linguagem específica de domínio. Na verdade, o que você constrói
é um conjunto de tipos e relações entre tipos que permite expressar algo que seja
adequado para uma aplicação. Então, quando você diz tipos, o que você está dizendo
tem ecos de programação orientada a objetos. Sim, eles inventaram isso. Toda
linguagem que usa a palavra classe para tipo é uma descendente de Simula.
Diretamente ou indiretamente. Christian Newgoer e Oliohandal eram matemáticos. E
eles não pensavam em termos de tipos, mas entendiam conjuntos e classes de
elementos. E então eles chamaram seus tipos de classes. E basicamente, em C++, LC
em Simula, classes são usadas para encontrar tipos. Então, você pode tentar a
tarefa impossível e contar uma breve história das linguagens de programação da sua
perspectiva? Então começamos com o Algoer 60 Simula Pascal, mas isso é apenas dos
anos 60 e 70. Eu posso tentar. A melhoria mais interessante e importante das
linguagens de programação foi o primeiro quatro trens. Porque antes todo código era
escrito para uma máquina específica e cada máquina específica tinha uma linguagem,
uma linguagem simples ou uma simples ou alguma extensão dessa ideia. Mas você
estava escrevendo para uma máquina específica na linguagem dessa máquina. E Barca e
sua equipe na IBM construíram uma linguagem que permitiria escrever o que você
realmente queria. Ou seja, você poderia escrever em uma linguagem que fosse natural
para as pessoas. Acontece que essas pessoas eram engenheiros e físicos, então a
linguagem que surgiu era um tanto incomum para o resto do mundo. Mas basicamente,
eles disseram tradução de fórmulas porque queriam que as fórmulas matemáticas
fossem traduzidas para a máquina. E como efeito colateral, eles obtiveram
portabilidade porque agora estão escrevendo nos termos que os humanos usavam e da
maneira como os humanos pensavam. E então eles tiveram um programa que traduziu
isso para as necessidades da máquina. E isso era novo e foi ótimo. E é algo para
lembrar. Queremos elevar a linguagem ao nível humano, mas não queremos perder a
eficiência. E esse foi o primeiro passo em direção ao humano. Esse foi o primeiro
passo. E, claro, havia tipos muito particulares de humanos, empresários, métodos de
diferença, então eles tinham um estado co-carregado e etc. etc. E surgiram coisas
semelhantes, não, não vamos simular ainda. Vamos para Elgol. O Fortran não tinha na
época as noções de nem uma noção precisa de tipo, nem uma noção precisa de escopo,
nem um conjunto de fases de tradução que é o que temos hoje, sintaxe lexical,
semântica. Era meio que um modelo no início, mas ei, eles estão apenas no grande
avanço na história da programação, certo? Então não dá para criticá-los por não
terem conseguido todos os detalhes técnicos, certo? Então pegamos Elgol. Isso foi
muito bonito. E a maioria das pessoas em comunicações e organizações consideravam-
no inútil porque não era suficientemente flexível e não era suficientemente
eficiente e etc. etc. Mas isso foi um avanço do ponto de vista técnico. Então
surgiu algo semelhante para tornar essa ideia mais flexível e você poderia definir
seus próprios tipos. Fiquei muito interessado. Christian Nugor, que é o principal
idealizador do Simula. Isso foi no final dos anos 60. Isso foi no final dos anos
60. Bem, o que é um professor visitante em Osh? E então aprendi programação
orientada a objetos sentando e discutindo bem em teoria com

You might also like