Algorithms + Data Structures = Programs - Episode 21: Galaxy Brain Programming Languages
Episode Date: April 16, 2021In this episode, Bryce and Conor talk about galaxy brain programming languages and programming paradigms.Date Recorded: 2021-04-03Date Released: 2021-04-16Galaxy Brain Programming Languages blog postF...our Languages from Forty Years Ago - Scott WlaschinPower of Composition - Scott WlaschinCppCast Episode 242 is AWESOME! (first code_report blog post)Intro Song InfoMiss You by Sarah Jansen https://soundcloud.com/sarahjansenmusicCreative Commons — Attribution 3.0 Unported — CC BY 3.0Free Download / Stream: http://bit.ly/l-miss-youMusic promoted by Audio Library https://youtu.be/iYYxnasvfx8
Transcript
Discussion (0)
What joke? What joke am I telling? Am I a funny person?
No, I just figured that I've got a joke. What do you call a boomerang that doesn't come back?
I don't know, Connor. What do you call a boomerang that doesn't come back?
A stick. welcome to adsp the podcast episode 21 recorded on april 3rd 2021 my name is connor and today
with my co-host bryce we talk about galaxy brain programming languages and different programming
paradigms.
So, I watched, here's what we're going to talk about.
We're going to play another game.
This will probably be a shorter episode, but I watched a talk, you might have seen this on Twitter a couple weeks ago, called Four Languages from 40 Years Ago, and it was given
by Scott Wawashin, who's, I believe I pronounced his name correctly.
If I didn't, I apologize.
He's a prominent speaker,
especially in the functional programming community
and is known for his work in F-sharp.
And he's a fantastic speaker.
I'll link to The Power of Composition,
which is a fantastic talk.
He introduces the idea of railroad-oriented programming
where you're basically, you play with functions as like Lego blocks.
And, you know, it's fantastic.
But anyways, if you're looking up the talk, that'll be cheating.
Because we're...
So the game that we're going to play,
and I think that Scott made a big mistake
because the best part
of his talk is in the beginning, he has this little introduction, where he goes through sort
of languages of importance from the 50s up until 1980, I believe. And he talks about, you know,
oh, this language was important for this reason, this language was important for this reason.
And every, you know, second or third language,
he labeled as a galaxy brain language
because it was, it contributed, you know,
it was the first language to do X
or it was important for some reason.
And I think he should have called the talk
galaxy brain programming languages,
which is now I'm going to go give a talk
and I have a blog article that I'm working on.
And so what we're going to do, I do have a blog. Of and i have a blog article that i'm uh working on and so what we're gonna do
of course i do have a blog of course i have a blog i honestly i made the i made the blog because i
wanted to uh write a blog about how much i enjoyed the cpp cast episode when they brought on uh
jonathan turner um jason's cousin who has worked on like i don't know a bunch of different languages
he's worked on rust he's worked on typescript he worked't know, a bunch of different languages. He's worked on Rust,
he's worked on TypeScript, he worked at Microsoft for a while. And he just his story was just so
fascinating as like a programming language enthusiast. And I was I was so excited about it.
I was like, I need to go start a blog just so I can write a review of this episode. Anyways,
but here's what we're going to do. There were eight galaxy brain languages that were mentioned in his history from the 1950s until 1980.
And he sort of makes some remark, I think, like by 1980,
we basically had discovered all the big ideas that exist in programming languages today.
And everything that you see now is just a re-articulation of some idea that we already stumbled across.
So there's nothing really new that's been invented since the 1980 mark.
And we're going to play a game and see how many of these languages you can guess correctly.
Oh, God.
This is not good.
Audience, this is not going to go well.
I think you're going to do better than you think.
And we'll keep track of how many how many wrong guesses you get
i think you can easily get six of these uh six of eight and then i think you might struggle with
the last two i'm gonna be happy if i get one all right you'll definitely get and that's the thing
is if you saw those tweets um the four languages that scott talks about and focuses on so he gives
a brief history at the beginning and then goes on to focus on four of these languages.
They were four of the galaxy brain languages.
So what do you want your first guess to be, Bryce?
Oh, of galaxy brain languages?
Yeah.
I'm going to go with Lisp.
Lisp is number two.
And here's the hint that I'll give you, too.
These were all introduced in chronological order. So Lisp is number two on that list. So you're one for one right now.
Chronological order. Oh, wait, if it's number two, that means there's only one that's older than it.
You are a smart cookie. Actually, and I'm totally wrong. So there's actually nine. I just I realized I put number two twice lisp lisp was originally lisp was like 1958 so that means that one of the other two like the
one of the other two okay so there's only one you said there's only one that there's only one
number before the number two and that's no no no but are we are these listed in in age
they're listening yes so so? Yeah, so the...
So audience, that means that it's almost certainly
got to be either COBOL or FORTRAN,
and I got to decide which of those two I want to pick.
Now, I personally think that COBOL
is a more Galaxy-brained language
because COBOL was the first language
that was not developed by a company.
COBOL was like open source before open source was a thing. We're going to do a whole episode about COBOL. Like I know COBOL is not
very modern today, but it was actually pretty, pretty, pretty modern back in the day. Like in
the process by which it was developed was fairly novel. Yeah. So between COBOL and Fortran,
it's got to be one of those two.
I'm going to go with COBOL.
I'm going to go with COBOL.
That is incorrect.
All right.
And then I'm going to use another one of my guesses on FORTRAN.
Hopefully that one will be correct.
FORTRAN is correct.
And so there's also a little sort of comment behind each of the languages.
So LISP is 1959, according to Scott.
I know 1958, it's sort of fuzzy which number gets chosen.
Fortran is listed as 1957.
The comments next to those languages
is that Fortran was the first high-level language
and that Lisp was the perfect language
that you should read.
That's not why I would pick Fortran. I'm,
I'm surprised. I, like, I understand that reasoning, but there were a lot of other
things that Fortran did that were fairly novel. Like the, the whole idea of like the,
the symbolic computation of, of a programming language for math, there were a number of other
ways in which Fortran was fairly novel. And it's interesting to me that that's the one that you'd,
well, I guess in a vacuum, yeah, that's probably the most important aspect of Fortran was that it
was the first of these high-level languages.
Also, too, I thought
the year associated with COBOL was 1960.
So I'm actually surprised you guessed COBOL.
I could be wrong about that, but...
Yeah, you know what?
I think you're...
Well,
all of it's a little bit fuzzy.
Yeah.
I think of Lisp as being a little bit later there.
But I think you're right.
I think Lisp originally originated in like 1958.
I think the years that Scott chooses are the years where there was the first implementation available.
Because I know that a lot of these languages were being worked on um cobalt was designed in like the summer of 1995 it was cobalt 60 the first spec was published
in wait you just said you just said 1995 1959 the um the first and like when i say it was designed in the summer of 1959, I mean the entire language was designed over the summer of 1959, primarily led by a group of female programmers, which is another reason why COBOL was fairly innovative. And so Lisp, I think, did...
I think the original ideas behind Lisp were like 1958,
but the spec for it, I think,
came out after the initial COBOL specs in 1959
and then the final one in 1960.
Or not the final one,
the final version of that first one in 1960 yep so i hope
i hope all the listeners are playing along so bryce is two for three we've got the first two
languages fortran in 1957 lisp in 1959 and that means there are seven languages sorry so i misspoke
at the beginning there were nine galaxy brain languages in total so what do you want your next guest to be i guess i'm gonna have to go with c next that seems like a pretty a pretty safe one
c is not a galaxy brain language
this is fun.
It's fun for you.
I just imagine, too, that there's folks that are either exercising, they're out on a walk, or they're in their car, and they're playing along being like, why won't Bryce guess this one? Come on.
How about...
Say again, what's the criterion here? What is necessary for a language to be considered a galaxy brain language?
I can only speculate based on the sort of the comments that Scott put next to the galaxy brain photos.
But they're the languages that sort of were the first to do something or to introduce new paradigms
or new things for the first time.
I think Bryce is cheating now.
I heard him clicking his mouse.
It's going to Google.
How about prologue?
Ooh, and this is going to be so fun.
So yes, prologue.
Yeah. You are now three for five. So yes, Prologue. Yeah.
You are now three for five, so you're batting above 50.
That's 60%.
See, the reason I said C was because it's been a transformative language,
but this guy's been thinking about it from a –
not from an impact in the industry,
but from an impact in the field of programming languages.
Yeah.
So,
yeah.
So the,
the comment next to prologue and so prologue is 1972 and it comes in at
number six.
It comes in at number six.
Okay.
Hang on,
hang on.
I gotta,
I gotta open up.
Okay.
So we got,
we have,
we have number one,
we have Fortran. Number one, we have Fortran.
Number two, we have Lisp.
Is that right?
Yeah.
And then number, what, what did you, what number did you say it was?
So number six is Prologue.
And the years on all three of those respectively is 1957, 59, and 72.
So we've got three languages in between 1959
and how many
are there total? There's nine languages
total. So you're missing number 3, 4, 5,
7, 8, and 9. Well, that narrows
the problem down a good bit.
And also, you're capped
at 1980. What?
This list.
This list. I'm glad
I didn't say JavaScript or Java, which were the next two that I was thinking about.
Given that time range, and also given you, I'm going to have to say APL. I think I just have to.
I'm insulted that it took you this long to guess APL.
And I thank all of the listeners that have been yelling this.
But it wasn't a talk that you gave.
It was a talk that somebody else gave.
All right.
Where does APL go on this list?
So APL, although many people think it's 1962,
that was when the A Programming Language book that won Ken Iverson the Turing Award was published.
The first implementation of APL didn't show up until 1966.
And so the two comments also – so APL is number three.
It's number three.
Okay.
We're getting somewhere.
We're getting somewhere i'm getting somewhere and the two the two comments next to prologue and
prologue um it says introduced a new paradigm logic programming and apl is uh jokingly because
he did say some nice things about it afterwards the first write-only language
but he did he did also uh comment next to it that it uh it popularized notation as a tool of thought, which is the name of Ken Iverson's Turing Award paper in 1979.
And then he mentioned that Ken also got the Turing Award for inventing the language.
All right.
All right.
So that means you're four for six.
Am I correct?
Yeah, I got my D out for – hang on.
It's safe to say that Bryce is on is on some wikipedia page i'm checking i am checking yours
i mean i i i guess i'm gonna have to say um algol given that c's not on the list algol
algol is not come on language this guy this guy so i i think in your defense um c and algol
definitely got mentioned in the brief history of you know programming languages and he did remark
that c uh and algol were two of the most influential languages. There was actually a language, this is not one of the nine,
that he, the remark on the language was,
the most influential language never implemented.
And I would, I have zero, I don't think you would get this.
If you want to guess, you can.
I think I had only heard of this once or twice in reading papers.
How about Pascal?
It was not Pascal.
No, no, no.
I'm asking if Pascal's on the list.
Oh, that's one of your guesses.
No.
So you're now, I think, four for eight now.
You're now at 50.
This next guest is important.
The language that I was going to say that was the most influential language that was never implemented is a language called ISWIM, I-S-W-I-M.
I would not have gotten that.
Audience, I would not have gotten that.
And apparently it introduced, like like many of the functional programming
concepts um but yeah it was never implemented all right so we got five five languages left
two between 1966 and 1972 and three after 1972 i think you should definitely get three of these
like i said there's sort of two that even i might not guess because one of them is sort of arguable whether it's a programming language oh sequel yes so i'll start i'll start
giving hints so you're now uh sequel uh is 1974 and that's number eight number eight um wait 1974
and that's number eight hmm. Hmm, that's interesting.
That's interesting indeed.
Hang on.
So the remark of SQL is that it introduced a new paradigm, relational databases.
You said it caps out at 80?
Actually, at this point, you only have one language above 1974.
I'll just tell you the year.
It's 1976 is when this... So if there are any...
See, that puts me in a tough situation
because I have one that I want to guess,
but I don't think it was...
I don't think it was create...
Hang on, hang on, hang on.
I got to...
There's a version of this language.
The most well-known version of this language is, insert the name of the language, 80.
The most well-known version of this language is, hmm, that's interesting.
I think, actually.
I might be mistaken because I think there's an 80 version.
There's an 82 version.
Oh, okay.
It's small talk?
That is correct. That is correct. 2 version um oh but okay it's small talk that is great i i i knew there were i knew that i knew that there was going to be um uh i'll tell you i'll tell you why there was going to be some sort
of message passing or concurrency language um so small talk's not not surprising all right so well small small talk is so the
remarks next to small talk sequel number eight and small talk's number nine okay all right
the um the the comments next to small talk are that they it introduced the interactive uh ide
uh the virtual machine garbage collection which um i, Lisp was the first language with GC,
but I think Smalltalk was the first language that really showed the power of the GC.
Also, RealOO, which, like, that's also a hint, is that the comment is RealOO,
because most people would remark that Smalltalk was the first, you know, purely OO language.
But there is another language on this list that some people say was the actual first object-oriented language.
See, that makes me want to...
It makes me want to...
You're at six for ten right now, so you just you're still batting all right i got i gotta
guess at this point then uh i thought it was pronounced ada but um i uh it is not ada is
not on the list and i also don't think ada i thought ada was created in like the late 80s
no it's like uh 78 79 but I thought it could have been 76.
Well, so that's the, you're not using your information correctly because you know that there's only three languages left.
Two of them are between 66 and 72.
All right, how about ML?
ML is on the list, ladies and gentlemen.
That's the 1973 one, right?
Because that's around the right time time for ml correct yes all right so there's there's two other ones between 1966 and 1972 ml for those uh that
don't know is stands for meta language and the remark next to that one is it introduced a new
paradigm of functional programming which uh i'll i'll say something once we finish all right give me some hints for these
other two so it's uh funnily enough ml and um sequel were the two languages that i thought you
might not get so the two that are remaining i thought you would have an easier time getting so
the one that i'm really surprised you haven't guessed one of these you definitely know the language because it is one of the ancestor languages of c++ in fact you can argue that the ancestor languages
of c++ no you you could argue that c plus this language equals c++ c plus this language. So what does C plus plus minus C give you?
Yeah.
Really?
B?
D?
No, B, I said.
B.
Oh, B, B.
I was like, D definitely didn't come out until, like, the 2000s.
B is not correct.
Really?
Okay.
All right.
What did B do?
B introduced structs?
How about Simula?
Because isn't that object-oriented?
It is Simula.
Yes.
Simula 67 was the first language with classes and inheritance.
Was that four or five?
That was number four. So was that the one you were just talking about?
The one that's C++ minus the C?
Yes.
And this is also the one that a lot of folks argue is actually the first OO.
Like a lot of folks say that the first object-oriented, purely object-oriented language was Smalltalk.
And like they're the one that popularized object-oriented programming.
But then there's some folks that say, well, really,
Simulus 67 was the first true OO language.
I'm just impressed that I got Prolog.
All right, so tell me, give me something about this last one.
So, yeah, this last one is, I believe it was invented by Chuck Moore.
Don't Google that.
I'll Google it for you
just to make sure that
I've got that correct.
And it's known as
Yes.
Chuck Moore is a computer
American computer engineer and programmer
best known for inventing
this programming language.
That does not help me.
It doesn't help you, but it's widely known as one of the easiest,
if not the easiest, programming languages to implement.
As like taking a first stab at implementing a language to get your toes wet.
Oh, well, I mean, I know what...
Wait, no, that wouldn't work for the timeline, though.
Oh, and here's actually a great clue.
I'm not sure if this will help at all.
It has five letters in its name,
and it actually was supposed to be six letters.
So, like, the word that they chose was six letters, but due to some limitation with, like, word length on some system, they had to remove one of the letters.
It's five letters in the name.
Which, like, it was, it's easy to implement.
It's between 67 and...
72.
All right, I'll give one more hint.
It's known as...
The remark next to it is
it's the first use of concatenative programming.
So it's a...
And if you're not familiar with that,
that means it's a stack-based language.
A stack-based language.
That was, that's five letters in between 67 and 72.
I mean, if you're familiar with stack-based languages,
this is the most famous one of all.
So like other stack-based languages that are less well-known
are like joy factor
um and they're all basically derivatives of this language hang on i got so like when you talk i got
an idea i don't actually know anything about this language is it fourth it is fourth look at that
you're nine for 15 that's uh that what is that? That's 3 over 5.
That's 60%. That's pretty good.
Oh, boy.
I do not like your games, Connor.
I don't like them at all.
So, yeah, 4th dropped the U.
I can't remember why they wanted to call it 4th.
I think it was, like, the 4th implementation of something.
There's some story behind it because like that's not a name where it's like obvious that uh uh like there's not it's not a name where there's
like an obvious character that you could drop but like nobody still uses fourth right that's not
true um uh it's too bad ben dean's not here, because Ben Dean knows more stuff about this language.
And it's used on a lot of OS implementations.
I'm not sure if they're OS implementations, but it's a super good language for where you have constrained resources
and you need a really small memory footprint, because it's such a simple language to implement.
It has like, it's very small footprint
and actually is very high performance
because it's such a simple language.
And it's a really interesting language.
Like it basically has a bunch of verbs,
not verbs, but functions that are basically like
ROT for rotate, DUP for duplicate, REV for reverse.
And basically you have to build up an expression that does some simple calculation.
And a lot of them make use of something I've talked about with respect to APL called combinators,
where you need to sort of manipulate the order of the arguments in order to do something,
because you're always evaluating the thing that's at the top of the stack. So it's a very, very interesting paradigm. I'm too
obsessed with APL right now to go and learn it and explore it. But once I get over that obsession,
it's definitely on my list. And yeah, so the reason that I think this is interesting is that
the blog that I'm working on was titled for a long time, The Eight Programming Language
Families. And it's based on a former blog by Ben Dean called Six Programming Languages Worth
Knowing, where he, I actually don't even have the full list of six. Actually, I can just click on
this link and it will bring me to the article. full list of six languages are algal the algal
family so c and any of its descendants fourth lisp haskell smalltalk and erlang and then ben
also has a tweet where he mentions a list of seven languages i believe and apl is on that list
and so i sort of i combined those both ben's tweet and his blog, and then you end up with eight languages.
ALGOL, FORTH, LISP, HASKEL, SMALLTALK, EARLANG, PROLOG, and APL.
And I thought it was super interesting that the overlap
with the Galaxy Brain languages in Scott's talk is almost 100%.
So Scott adds Simula67.
He adds FORTRAN. He doesn't include Erlang. And then he adds
SQL. And then I would argue that like ML versus Haskell, those are just two different languages
that are both extremely functional. And the point here being that I watched a YouTube video
by some, you know, computer science educator that was saying,
you know, programming languages don't matter.
I have the exact quote here.
I have courses on C, C++, Java, Ruby, PHP, Dart, JavaScript, all these different languages.
Teaching these languages, teaching these different languages, I'm literally doing the same thing.
And if you like listen to that list of languages, C, C++, Python, Java, Ruby, PHP, Dart, JavaScript,
they're all from the same category. They're all basically like C or algol derivatives. You could
argue that Ruby is a small talk derivative because basically Ruby is small talk with just nicer
syntax.
But the point being is that like someone remarking that like, oh, like learning C or C++ or Python or Java, like there's no difference.
Well, it's like, well, yeah, that's because they're all in the same category. If you're going to go and learn a new language, don't choose a language from the same family.
Like it's the equivalent of if you know French and then you go and learn Spanish.
Well, it's not super different, whereas if you know French and then you go and learn Korean,
that's an entirely different language,
and it's going to change the way you have to think about things.
And the point here, the point about the blog is just,
if you're exploring languages,
choose languages from different paradigms and different families.
So the list in total was fortran 1957 list 1959 apl 1966 simula 1967
fourth 1970 prologue 1972 ml 1973 sequel 1974 in small talk 1980 um all right all right so if we look 1976 technically for small talk but yeah
okay if we look past um uh if we look past 1980 what other languages would you add to this list
i already have a couple um i would probably add erlang because it was one of the first languages to be designed from the ground up with concurrency and distributed computing in mind.
And it was introduced in the 80s.
So it sort of, it preceded the multi-core revolution.
I think I would also say both Java and JavaScript for somewhat different reasons. well okay there were arguably languages before java that introduced the idea of an abstract
machine um and have run anywhere but um i still would argue that java um uh introduced it in sort
of a novel way and then javascript because it was the first um web centric um uh language um web-centric language.
It was a language which was, you know,
originally designed from the ground up
to run, you know, in your browser.
Although now it runs in many other places.
So what about you?
What languages do you think
would be galaxy brain languages
from the more modern era?
Or ones from the older era
that you
think should have been on his list but weren't yeah i i agree with erlang um i disagree with
java because i think everything in java was in smalltalk um and then uh sun just went and threw
millions of dollars at java and that's why it ultimately won it wasn't because of technically
um like it wasn't a technically superior language.
It was a marketing thing.
And Smalltalk came out of Xerox,
which is like famous for not knowing
how to market their stuff.
Apple came along and just like ripped off all,
I shouldn't say ripped off.
The true story is that really they were collaborative
and they shared ideas.
And Xerox had so many good ideas,
even if they were good marketers,
they wouldn't have been able to sell them all um javascript i would also quasi disagree with i mean javascript is
known as like just lisp in the browser it was originally um designed exactly like that and
it was called live how about html and um i mean i would argue html is not a language and i don't i don't want to start that war but
i i trapped you i just like all to all to all of our listeners who are html programmers
it's connor said that not me um um i mean like i i i agree that like there's something novel about
the browser but like it's just a new sort of it's just a new domain that sort of a quote-unquote Lisp.
And then I think Sun or I think the story was that it was Sun
that they were creating LiveScript and it looked too much like Lisp.
And so they said, we want it to look like Java.
And so they rewrote it, kept the sort of Lisp core nature to it,
and then made it look more like Java
than rebranded it as JavaScript.
So I agree with Erlang.
I wouldn't add Java or JavaScript.
I think I would actually add Rust.
You'd add Rust.
I said that basically nothing new has been invented
since the 1980s.
But Rust, you could argue with their um memory safety um is actually novel
it's the first language uh to have like it's the first systems level language that comes with that
kind of safety guarantee and i think some people argue that it was actually first implemented. This gets back to my issue with Ada not being on this list.
Like, how is Ada not on this list?
A language that introduced the notion of design by contract as a language feature.
Like, yeah.
I'm frankly shocked that it's not on the list i don't know uh anything about uh
is it i i pronounce it i do not know all right well you say ada i'll say ada and one of us
it was a language that that like i think it was first introduced in like 77 um it had uh well now it has concurrence i don't know when
concurrency was added to it but like it was the language designed from the ground up um for use
by the dod um uh for like critical dod systems and it was sort of built from the ground up to be a language that
provided very strong guarantees regarding determinism, et cetera, where you could
make your preconditions and your prec conditions very clear and more most importantly where you could formally verify the correctness of a program um which is like a big deal and like
yeah i'm just i'm shocked that it's not on the list i'm shocked that it's not on the list
and i think definitely if russ belongs on the list at ada or ada however you want to pronounce
it belongs on the list uh well so couple of things I was going to say.
One, you could, if you're going to argue that Rust should be on the list,
I think there's some folks that know more than I do about this
that actually say that Clean was actually the language
that first experimented with that idea.
And then Rust borrowed the language from Clean.
Ada, I don't, yeah, like I said, I don't know enough about.
Do you know if ada was
invented before eiffel yeah i thought it was another one that i was thinking about um uh
eiffel for those of you that don't know is the language that i associate with uh contracts and
that typically contracts yeah for those of you that are not familiar it's like preconditions post
conditions and like making sure that that's uh definitely um ada definitely um precedes eiffel
predates if that's the case then yeah uh arguably ada should be on the list so yeah erlang like i
said though i i wouldn't say for sure rust. I just, that is quasi-novel. And then potentially I would add a language like Agda or Idris to the list because that's
like dependently typed languages that are currently being, it's the equivalent of what
Haskell was in the early 90s.
They're just sort of academic experimental things right now.
But, you know, 20 years from now or, you know, like, qualify. um essentially you write like some uh if i recall the idea correctly you write some like
constraints um uh or you you partially write the program and then like
ml or something figures out the rest of what you wanted
oh is it called um angelic because it's uh what do they call it um it's like it's holy
because you you basically create type holes and then the compiler right i think that's right yeah
i saw i saw a talk about it at some facebook programming language conference that i went to
a few years ago um and and yeah and so so i and i the reason I list that is that there's probably some language like that, or maybe not a language itself, but just the whole model behind machine learning programming frameworks probably deserves to be on that list in some way.
Like, like, like, like I really,
I really liked the definition that Sean gave last week of like machine
learning is just like, you know, it's just a way to approximate a function.
And the whole model of instead of, instead of writing,
instead of coding logic for something, building up a neural net that you're going to train to do the right thing, instead of programming some fancy, complex system to do the right thing, I think that's sort of a novel idea. And I guess another category where, again, I don't have a language, a specific language to list and where it doesn't really exist sufficiently yet to be listed, but, um, uh, quantum compute, like programming paradigms around quantum computing
are fairly different than, uh, traditional computing.
Yeah. The only language I know is Q sharp, which is comes out of Microsoft, um, uh, for quantum
computing, but yeah, that's, it's in its infancy right now. Um, at least it, that's it's in its infancy right now um at least or either it's
in its infancy or it's just outside of the stuff that i've read another term for the angelic
programming thing i think the more popular term is non-deterministic programming in in connor's book
sequel is a programming language but html is not yeah yeah we'll have to do a full we'll have to do a full episode on that um
i feel like sequel is something that like if i really dove into i would actually fall in love
with as well because sequel to me the the little that i've been exposed to it also just basically
seems like an algorithm there it's basically just a bunch of joins group buys
uh selects it was highly influenced link uh in in c sharp 3 uh or like in all the later versions as
well but c sharp 3.0 got link which was highly inspired by sql um there are there are sql people
who have suffered at the hands of sql out there who
are going to send you emails about that yeah okay maybe some people suffer but also too i think the
the work behind like the the algebra and the work done behind uh relational databases and sql it's
it's phenomenal like and um i think yeah that's one of the things like so the four languages in
this talk that i highly recommend it's one of the things. Like, so the four languages in this talk that I highly recommend.
It's one of the best talks I've ever seen.
The four languages from 40 years ago.
The four languages that Scott focuses on is SQL, Prolog, ML, Smalltalk.
And he actually has, oh, here's a bonus round of our game.
He has a hidden language, which is going to get spoiled. So if you don't want that
hidden language to be spoiled for watching the talk, pause and come back to the, listen to the
last couple minutes of this episode. It was created in 1979, and he argues that it's a programming
language, but like it's by all accounts, like not a programming language. But we actually, and it's, it's the predecessor, um, to, uh,
a quote unquote language that we did a whole episode about earlier in this podcast. So first
see if you can identify what that programming language episode that we did was about.
Is this the Excel episode?
Yeah, it is. Yes. So what is the predecessor to Excel?
I don't know.
Well, did Lotus precede Excel?
Technically, Lotus did, but something even preceded Lotus.
And it was the killer app on, I believe, the Apple II.
Oh.
Yeah, I'm not going to get this.
Which is what a lot of people,
it's what a lot of folks argue was actually the reason why that hardware was
successful.
It wasn't because of the hardware, it was because of the software.
And that program was VisiCalc, which actually you probably have heard and recognized the
name, but I probably also wouldn't have been able to name that off the top.
And it's, yeah, it's a fantastic talk.
And yeah, so the point here that I was getting to is that sequel yeah he he spends quite a bit of time talking about it and how um it has persisted
you know amongst so many other programming languages uh that that died and but like not
only has it persisted it has absolutely like thrived um like sql is it's everywhere um data like you're
not gonna you know meet a software engineer that hasn't at least heard of a database i mean think
think about all the different amazon dynamo mongo like everything with a db after it um you know
sql and no sql like it's it's of all the languages, you could make an argument that like SQL has been the most pervasive of all of them,
quote, you know, quote unquote languages,
as obviously some people wouldn't call SQL a language.
But anyways, we should probably start wrapping up.
That's where we'll end it.
Thanks for listening.
And we hope you have a great day.