Python Bytes - #156 All the programming LOLs
Episode Date: November 15, 2019Topics covered in this episode: * Why You Should Use* python -m pip Visual Studio Online: Web-Based IDE & Collaborative Code Editor Black 19.10b0 Released — stable release coming soon Extras ...Joke See the full show notes for this episode on the website at pythonbytes.fm/156
Transcript
Discussion (0)
Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.
This is episode 156, recorded November 6, 2019.
And we're recording from a special place here at Microsoft Ignite in Florida, live.
Maybe you might be able to hear some background noise, and that's because it's right here.
And Brian is not here because he couldn't get away. He should have come to the conference.
So I have not one but two special guests. Dan Bader. Hey, Dan. Hey, how's it going, Mike? Great to have you
here. And Cecil Phillip. Hey, what's going on, everybody? Hey, welcome back, both of you. Been
on independently now together, very quite close together in this little corner area we put
together. Cecil and I were sharing a mic, so we get to like snuggle up here on the couch.
You guys will be fast friends after this. Yeah, we're getting some intimate time together while
we record this podcast.
Alright, awesome.
Well, let's start by thanking DigitalOcean for sponsoring
the show. Check them out at pythonbytes.fm
slash DigitalOcean. More on that
later. Dan, there's a lot
of debate about how you create a virtual
environment. I know both of you guys are fans of virtual
environment, but there's VE&V,
there's virtual environment,
there's poetry, there's all these things.
You've got a recommendation for us, huh?
Yeah, so I wanted to call
out or
showcase an article that Brett Cannon
published recently.
Basically, it's about a best practice
you can apply when you're running
commands like pip install.
What Brett recommends in his article is
instead of running pip space install in whatever library we want to install instead you can run python dash m
space pip and then run whatever command you want to run because brett likes to type a lot or what
because he enjoys typing so much and uh that's probably why why we should all use that um now
so the the reason is that uh if you use this other form,
like dash m will basically load a module
and execute it,
you know exactly which Python environment
this will affect. So if you just go
pip install, it would be possible that
pip actually points to a different environment,
maybe not the one that you think
it does point to. So maybe
you're accidentally installing something into your Python 2
environment, but you want it to go into your Python 2 environment, but you wanted to go into your Python 3
environment. That happened to me when I was new. I'm like,
why is request not here? I don't understand
what is going on. So frustrating. But like, yeah,
I think I typed pip instead of pip 3 or something
silly. I was new and young. I didn't know
what I was doing. I just really
like this article because it gave some pretty clear
recommendations, and I'm pretty much on board
with all of them. And
if you follow this format
whenever you run pip install, you will always just be 100% sure that you're actually installing
stuff into the right environment. Because if you hit the wrong environment, you have to go and
uninstall stuff. Maybe you end up upgrading something that you didn't want to upgrade and
it can get messy. And so I just felt like, yeah, that's a good recommendation there. And an article
worth reading because bread goes into a lot of the backstory and like why this is a good idea.
That's really cool.
My first thought is like, I need to alias this so that pip just means Python 3-mpip.
Cecil, I know that you are a fan of virtual environments.
Do you do anything special or do you just run Python 3?
Do you pip directly or do you do something like Poetry or something else like that?
I'm actually a big fan of
pipenv actually.
So we do this live stream
randomly and we actually showed that
off on our last episode how you could use
pyenv and pipenv.
For our students it was really important for us to
have that background information but then
now they know how these little bits and pieces
go together and having one command line tool that'll be able to like orchestrate
all of that stuff for us like just is is like a game changer yeah that's awesome so you're doing
with blank brian clark you're doing a twitch live stream programming series which is really fun
we're going to talk about on talk python yeah further down the road like pretty much in real
time close but in release time far apart sort
of thing. But yeah, so it seems like there's a lot of beginners in that world. And so this is
probably a tricky concept for them. Yeah, it totally is. And so using something like it was
so much less for them to worry about in terms of like installing and setting up and like, what's
the right combination of commands I need to use? What order I need to run them in? If I made a
mistake, like how do I back out of it and like restart over? That one command, it just kind of allows
us to manage environments and manage packages and it just makes it so much easier.
Super cool. Well, we are here at Microsoft Ignite, which is,
I had no sense of the scale of this place until I came here. 29,000 people.
Yep. Ignite is massive, man. I don't know. Because Ignite is so much more than just a developer audience. It's developers, it's IT folks, it's CTOs, and all these different types of folks,
all at one conference. So when you bring all those people together, you get a pretty massive
turnout. And you get a lot of steps in. You get a lot of steps in, man. So as you can imagine,
a conference center is humongous. And so there's sessions all across the conference center,
there's sessions across the street
and down the street.
So, I mean, sometimes
you got to do a little bit of walking.
That's right.
The reason I bring all this up
is there was a pretty big announcement here
that's quite close to Visual Studio Code,
which is one of the most popular
Python code editors these days.
So, you know, tell us about it.
Yeah, yeah.
So, like you said,
like Visual Studio Code
that runs on our desktop
runs on Linux, Mac, Windows.
And then the Python extension has something like, I don't know, like 24 million.
Yeah, I know.
It's got a mini, mini, mini.
It's tons of millions of downloads.
It's by 2x the most popular thing for Visual Studio Code.
Way over C Sharp, way over C++.
It's massive.
Right, definitely.
And so the Python extension is easily like the most popular extension for Visual Studio Code by leaps and bounds.
But one of the big things that we had announced this week was our new Visual Studio Online environment.
And this is the real Visual Studio Online and not the old one.
And when I say that, I mean, we used to have a product called Visual Studio Online,
but that was essentially what turned into Azure DevOps.
The Visual Studio Online used to be our CICD.
Yeah, it was hardly even Visual Studio.
It was like the continuous integration story and like TFS.
Right, right, right.
And all the source control bits.
It was source control.
It was ticket management.
It was bills and those types of things.
That name was hijacked.
Yeah.
And so, you know, now we're repurposing the name.
And now Visual Studio Online is exactly what you think it is, right?
It's Visual Studio Online.
More specifically, it's Visual Studio Code Online. Right. Which is so interesting because Visual Studio Code is an
Electron JS app. So it's got like this front end and this back end already on your machine,
like got Node and then Chrome like packaged into one thing. But now you just put like lots of
distance and stuck part of it in the cloud, right? Yeah, totally. And so the background of it is a
little bit of, so we had Visual Studio Code and we also have some extensions that allow you to do
what we call remote sessions and remote debugging into different environments.
So for instance, I could have Visual Studio Code in my machine and I could debug into a Docker
container. I can debug into a Linux machine. I could debug into a workspace that's not on my
local machine. But then not only can I do that, I can have my environment-specific
settings and tools I have
installed, extensions and those types of things
on that environment and not on my machine.
So all that happens is that when I start
to remotely connect to that machine,
I'll just have all those additional things just added
to my currently working workspace.
So we're like, okay, well, if we can do that,
what if we just created a completely online
experience for that?
Kind of like what you said, Visual Studio Code is built on web technology.
It's JavaScript and CSS and those types of things.
Essentially, they took the editor and they took all the tooling and they put it in a web browser. Yeah, it's so cool. It's really a nice experience.
You get basically an Ubuntu machine and you get a little Docker.
Is it Docker or just straight VM
or what? Honestly, I have no idea what type of machine is running on. But you get some machine
with a terminal that like your stuff lives on, right? Yeah, you get a machine with a terminal.
So essentially what you do is you go in and you could like create a new environment or if you
have an already existing Git repo, there's some markup that you could add to your markdown file
that'll add like a button in your markdown. is it like like the launch binder for notebooks but instead you like launch nvs code right like
you know you see launch binder or if you might have seen the thing that says um like build
succeeded or something like that like those little tabs those little buttons you can add into your
git repo so you can add one of those that just says create environment and what will happen is
per person right like you'll get a individualized environment for yourself right so
if i have my github repo and you know dan can click the button and you can click the button
i can click the button but we'll have three different environments pointing to the same
repository i see so it's like spin up a little dev machine but it links back to the source control
just right which is great right because when you think about companies that have situations where
it takes really long time for us to do setup,
and I got to install dependencies, and there's multiple things that need to happen before I can even start to become productive.
I got to install this OSS thing, and I got to install SSL, and stuff has to happen before work can actually happen.
Now we could have these predefined environments where I could just be like, hey, let's just create this environment for this particular code project,
and now we can just get to work.
And it's running on the browser.
I don't have to install anything on my machine if I don't want to,
and I have everything I want right there,
just running inside of the cloud.
That's super cool.
You could use it from an iPad.
You could use it from a Chromebook,
other places where it's hard to run code, right?
I've had teammates that have run it from iPads,
from their cell phones, from all over the place.
Hey, Siri, refactor this.
What was really cool,
if you remember the keynote,
Amanda Silva was telling us a story
about how she ran it from inside the airplane.
Like she was debugging the demo
that she showed using the project
for the demo on the airplane,
which is an airplane Wi-Fi.
And if anybody's used airplane Wi-Fi,
we know that's not like the most...
Yeah, that's sipping
through a straw.
The most high bandwidth situation.
That's cool, man.
But it was super cool.
So people can try this now, right?
And the link is in the show notes.
Yeah, people can definitely
try it out now.
Let us know what you think about it.
I ran it myself personally
just the other day.
The Ubuntu machine
that it comes with
comes with Python 3.8
by default,
which is great.
So I didn't have to install it
or do anything with it.
And I think that's also really cool because Python 3.8 is like, what, great, so I didn't have to install it or do anything with it. And I think that's also really cool
because Python 3.8 is like, what, like
two or three weeks old as of today?
Yeah, it's brand new. Yeah, it still has that new
Python smell.
These are brand new, fresh, you know,
machines and images that you get to run your code on,
so I think this is really cool. That's a great one. Thanks for sharing
that. Now, before we get on to another
one, let me tell you about DigitalOcean and their sponsoring
the show. All of our infrastructure runs on DigitalOcean. Super, super happy. We ship like
15 terabytes of data through there. We have millions of requests and just love, love using
it. So if you want some like we got going on here, check them out at pythonbytes.fm slash
DigitalOcean. Now, this last one, speaking of Python 3.8 and 3.9, the next version of Python should come a lot quicker
because we've now switched from an 18-month release cycle
to a 12-month release cycle.
This is a project that LucasLing has been working on for a long time,
trying to make this happen,
now that he's in charge of the release management.
And so Brett Cannon, speaking of Brett Cannon from earlier,
he sent out a message from,
officially from the steering council, which is a cool way to announce thing, that after a long discussion on changing the cycle, we've decided to accept HEP 602.
And it's now yearly, which I think is great because it's just weird to have like alternating
times of the year or like this.
It just seemed one really long and two kind of weird.
Like, what do you guys think about this i think this is a is a good change because it kind of puts everything on a very
regular cadence in the year so you know when you think about when python is pycon is happening in
the year i guess if you have the sort of 18 month release cycle you're always kind of in a different
phase of development and preparing that release but if it's on a 12 month fixed cycle then you
can always say okay you know we're going to get ready
to, I don't know, finalize,
we're in this phase, getting ready to
beta version or whatever,
during that time, which I think makes planning
a lot easier for everyone.
And, yeah,
I can understand the rationale
for that, going to a 12-month cycle.
Makes sense to me.
I'm actually pretty happy to see this.
I think what I hope to see out of this is just
we'll be able to see new features faster,
try them out faster, and you won't
have to wait until those official
releases come out on that longer cadence.
I think it's the same with most development
environments. Unless it's
an official release, most people really don't
play around with the betas and the alphas as much.
It's only when the official releases come out where you get most of
the developers and companies really jumping on new features. So I think with this shorter
cadence now we should be able to get more feedback and I guess people
to be able to iterate faster on some of these new cool things that are coming out in the language.
Yeah, we don't have to have as much patience. We can get right to the cool new features that are coming out.
Yeah, exactly. Yeah, so I'm really excited about this.
I actually linked not to the official announcement directly, but to a Reddit thread,
because the Reddit thread has a bunch of feedback, and I would say it's pretty mixed.
It's like 50-50 positive, negative.
It's an interesting look, and it's just side of what people are thinking intersected with the weirdo Reddit world.
So that's pretty cool.
But people are saying, well,
it's going to be shorter, so there's not as much time for testing. So I'm concerned about quality.
But there was a lot of pressure on that 16th and 17th month to get your feature in, because if you
don't get it, it's a year and a half. You got to wait if you miss that deadline. So you're going
to scramble to get that in. Now it takes the pressure off a little bit. So I think it's
actually a pretty positive thing. Dan, you want to tell us about this next one another uh release
story yeah sure so i feel like this is the the brett cannon and lukash langa episode of python
so yeah i've got another cool announcement so black which is the uncompromising code formatter
for for python code just had a new, so this version is called 1910
beta 0 or B0.
And the way I understand it, or the
way I interpret Lukasz's
Twitter feed,
they're actually getting ready for releasing a
stable version or stable release of Black.
The first actual stable release
for Black Friday this year, which
is kind of a beautiful
thing, how the naming scheme is working out there.
And so maybe if you're listening,
you don't know what Black,
the uncompromising code formatter is.
So it is essentially a tool
that enforces a certain Python formatting standard
or like a style guide.
So it will reformat your code to be PEP8 compliant.
And it, well, just the great thing is it will reformat your code to be PEP8 compliant. And the great thing is it will reformat your code,
and it would also call you out on anything that's misformatted
or not following the standards.
So it's a really great way to establish a consistent code style
in a large code base,
and then put that in place on a CI system,
continuous integration,
and it just makes sure that you never have to argue about code formatting
in a pull request again,
ever again. If there's ever a problem, you just run
black again, and it's great.
Honestly, it's one of my favorite tools. I put it
into every Python code base that I work with.
It's been super stable, even though
it is still in beta, technically,
but I've been running it in production, if you will,
very happily, pretty much since it
came out. And if you just want to try it out,
there's also a interactive playground on the web
at black.now.sh.
That's really cool.
I didn't know about that.
Yeah, it's pretty cool.
Like you can just copy and paste a bunch of code there
or just enter code
and it will show you what Black would do to the code
and how it would reformat it.
And yeah, I highly recommend it.
It's honestly one of my favorite,
most favorite tools there.
Yeah, super cool. It'd be great to one of my favorite, most favorite tools there.
Yeah, super cool. It'd be great to have that come out and be basically totally stable.
Cecil, do you guys use that on your live stream?
I think by default, we use this thing called AutoPep8. So when I say by default,
we use Visual Studio Code, as you can imagine. And the extension, when you save it, auto formats it, you know, based on if you have that setting turned on or not.
And if you don't have like a formatter installed, it'll
ask you at the bottom which one you want
to use, and then it'll install one.
So it's black as an option.
I think there's one called YAPF.
YAPF? I'm not quite sure
how you pronounce that one, but there's that one.
Get another formatter or something.
Right, right, right. And then I think the default
one that it uses is AutoPep8.
So if you just click OK, it'll just use AutoPep 8.
Or you could select one of the other options as well.
But I'm kind of interested to try this out.
I want to kind of see what does the configuration look like
and how can you tweak the settings and those types of things.
Yeah, cool.
I think it takes away a lot of the debate.
My understanding is it's kind of like a Model T.
You can have it in color as long as you want it in black.
So there's not a lot of debate about the format.
It's just like it does what it does.
Exactly.
So speaking of formatting options,
there's basically none,
which is kind of cool
because it prevents any arguments
that you otherwise might have
with a team about preferences.
So yeah, it's like a philosophical choice there
that you're making with this tool, I guess.
Pretty cool. Cecil, you also talked, when you talked about Visual Studio Code that you're making with this tool, I guess. Pretty cool.
Cecil, you also talked,
when you talked about Visual Studio Code,
you just start by pointing to GitHub repo.
Yeah.
And you can like, once you load it up,
you can navigate around within Visual Studio Code, right?
Yep.
So I mean, I think everything that we do as developers,
like at one point in time, like touches GitHub.
Like I think it's almost impossible today to write code
that wasn't on GitHub or touched GitHub
or used something that was associated with GitHub at some point.
If it wasn't for the weekends, imagine the streaks.
Right, exactly.
So GitHub is obviously a super important tool for us,
for our industry.
And they've been releasing tons of cool features
over the past couple of months.
And one of the features I want to highlight today
is their code navigation.
So inside of it, what you could do now is, you know, if you go to their,
if you click on a file and you go to like a code view,
you could essentially like, you know, click on functions
and you could see things like where was it referenced
and where the definition of the function was.
And so you can imagine if I had like one super huge code file that I have open
and I'm just looking at it in the default browser inside of github.comcom it makes it so much easier now for me to like jump and see where was that defined and
whatever the case is and so now navigation within the browser is super easy that click and go to
definition is so cool because yeah otherwise it'll even go cross file I think within a repo it's it's
pretty killer it's really cool and not only it supports python obviously but it supports tons
of other languages like I think it supports go, it supports JavaScript, Ruby, PHP.
Again, there's tons of language support, right?
But obviously, we're going to be a little bit biased,
and we're going to make sure we try out the Python support in Cyclic.
Yeah, that's right. We tried it out.
I even linked to a file where we know that it works from one of my courses.
So this last one I want to talk about, it's going to sound like a joke,
but I really mean it as a legitimate thing. I got a shot of you
with your webcam and then it'll generate like a meme looking picture with your commit message on
there so it will give you like this crazy you know like you could make a face like you're happy or
sad did it work out did it not why you know are you fixing a bug is it a fun new feature and so
you can do this really cool like sort of meme looking picture here and then you can get plugins for like slack and twitter
and stuff and like you to like post these pictures back up to like say your team slack so someone not
just knows there's a commit but they can see how you felt about it they can see the message
what do you guys think about this i don't know how i'd never heard about this until you mentioned
it but this is like the coolest thing ever this This is going to make like committing code so much fun. I know. I'm going to pay so much
attention to the commit message now. You're just going to be committing like all day, every day.
And I'm like, I got to get this committed. I got to get this committed. But I think this is super
cool, man. I definitely want to try this out. Yeah, it looks pretty fun. It's very understated.
Like, you know, it describes itself as being like the single most useful piece of software known to
mankind and stuff but no in all seriousness it's fun it talks about like a lol repository where
you commit these or like you can create animated gifs of like your commits over time and like all
sorts of weirdness so it's it's pretty fun i just thought you know maybe this will like make working
in teams a little more fun dan what do you think i think this is awesome like just looking at the
website there you apparently can have apparently you can write your own
plugins or there's different filter options
so you can get a unique style
for your commits.
I'm wondering how frustrating this could be
if you're accidentally maybe lull committing
something where, I don't know,
you're waking up in the middle of the night and just
got to get some code out and maybe sitting
there not really dressed yet or whatever.
Oh no, I forgot about the log.
Okay.
I'm not going to go into details of how I like to work.
Awesome.
This is great.
Yeah, yeah.
It's pretty funny.
But, yeah, it seems like it actually could foster a little bit of team humor, but also connection.
Oh, yeah.
Right?
Rather than just adult commit logs.
Looks fun.
That's it for our main items.
Dan, anything else you want to just throw out there quick?
I would love to, you know, speaking of the latest release of Python 3.8,
which just happened two weeks ago, I think. So at RealPython, we've just released an article
highlighting all the new features in Python 3.8 and kind of going over the, you know, all the nice
and interesting new features that are in there, like the walrus assignment expressions and also
stuff like the syntax warning that's going to, you know, it's a new type of warning that's going to tell you about
maybe some cases where you're using the is comparison instead of the double equals sign
and stuff like that, where previously you would need a linter to highlight that. Now, actually,
Python is going to call you out on that stuff, which is pretty cool. And yeah, that's something
we just published on Unreal Python. Gerard Niha did a fantastic job there. And I found that
personally also very helpful
just getting up to speed
with the latest changes.
Yeah, awesome.
Your articles are great.
Bookicles,
like we got to give them
like a proper name.
They're a little bit longer than ours.
Bookicle, yeah, I like that.
Yeah, of course too.
That's great.
So very nice there.
Cecil, anything for you?
What are you up to these days?
Sure.
I definitely want to call out
the weekly stream that we do.
Me and my buddy,
Brian Clark,
do a very introductory learning Python stream every Wednesday. It's at 11 a.m. Eastern Standard Time. And essentially, we've just been going from the very bare bones all the way up to, you know, covering different features of Python and things like, you know, what's a function and what's a for loop and like, you know, some of those types of things. Again, we just try to be very beginner-friendly,
try to be just open to everyone.
It's a really fun time, right?
Because it's not just me and Brian going back and forth,
talking to each other about Python,
but we get tons of questions from the community,
tons of questions from folks inside of the stream.
Yeah, it's super interactive,
like way more than even webcast or something like that.
It's really cool.
Yeah, super interactive.
It's really cool when they ask a question like,
oh, hey, what if I change this
to this thing?
Or what if I remove this line?
Or what if we try to do things a different way?
You know, we could do all of that on stream.
It gets recorded.
And then now not only are they learning from us teaching them, but we're also learning
too, because now there's just all of these different perspectives and scenarios that
we're trying on live.
Have you heard about this library?
It does it all together or whatever.
Yeah, exactly.
Awesome. Yeah. So I'll definitely throw a link
to that in the show notes. Alright, last
for me, the Python Software Foundation
yearly survey is
out. So this is the biggest survey
that gives us a look inside the trends
and it's in partnership probably with JetBrains.
It was last year. I don't know if it is this year, but I'm guessing
that's the case.
They just do a super good analysis
and yeah, please go fill it out because
it lets us know you know what the world's up to we already did ours so uh it's your turn now
and be sure to get get to that and also i want to announce a new course on anvil i don't know
if you all are familiar with anvil anvil is a web framework but it's not like flask or django
you know some people think should i do anvil should i do a flask django this is really different like
if you've ever tried to build web apps and you're
like, I don't want to do JavaScript,
CSS is like a nightmare,
I don't really want to work with databases,
all this deployment is a challenge,
all that kind of stuff, you're like, I just want to do Python,
maybe for an internal app
or something cool like that for your company.
This is a framework that will
run in the cloud, it will let you
write server-side Python code,
design the UI with a drag-and-drop widget-y type thing,
very much like ASP.NET Web Forms.
That's actually way back in the day.
And the big deal is the front end runs Python in the browser super well.
It is ridiculously cool.
You build a spa, a single-page app in Python,
which is actually kind of a dream. So check it out at talkpython.fm. The course is free. You can a spa, a single page app in Python, which is actually kind of a dream.
So check it out at talkpython.fm slash anvil. The course is free. You can play around with it.
I thought I'd just put this one out here for people to get exposure to the courses.
That actually sounds pretty cool. Do you know if it's doing like a web assembly thing or is
it like translating Python? I had a Meredith, the guy behind the show and another guy on the show,
I'm so sorry, I forgot his name, to talk Python, to talk about Sculpt.
They're using Sculpt, which is a JavaScript implementation of the interpreter.
So it doesn't compile it to JavaScript.
It has like a JavaScript runtime that is like CPython, I believe.
But it's not using WebAssembly.
The reason it's not using WebAssembly is the interaction between the DOM
and WebAssembly is actually very slow.
And this is like a super chatty communication between the DOM and WebAssembly is actually very slow, and this is like a super chatty communication between the
Python bits and the WebUI,
and it's actually slower in WebAssembly
until they can improve that
cross WebAssembly DOM
story. But it's primed
for a good WebAssembly story, isn't it?
It kind of feels like that's what it would be.
But I guess I completely understand, right, because
you'd go from Python to JavaScript, and then
JavaScript to WebAssembly.
There's this whole interpreter
on top of an interpreter on top of an interpreter thing
that's going on. Yeah, yeah. And so if you have like a
fire and forget, like something happens at WebAssembly,
it's fast and good. But if you're like doing super
quick back and forth between the DOM, apparently that's slow.
Alright, so last thing.
Time for a joke. Now, I told you
my lol commits was legit.
I got another lol for you, lolcode.
So lolcode is this official language specification.
Last time I checked, it was on level 2.
1.2 was, no, no, hold on, I think it's at a different level now.
Anyway, it's an official language based on lolcode.
So this meme is passing a little bit in time,
but there's the lolc cats with all the weird,
like cat speak on the images with like a funny cat,
like high world with HAI world,
you know,
and like weird stuff.
So this is like a programming language derived out of that.
And it's a joke,
but you can literally run it.
Like there's a commands for getting started.
You get clone the repository,
you see,
make it,
and then you're ready to lolat it, locode it.
So I just want to call out a few things of the language features here
because they're pretty incredible.
Yeah, we're on the spec 1.2 right now for the language.
So if you have like a comment, you'd have something like I has a var.
And then if you want to have a comment, you say BTW, by the way,
var is null and untyped, things like that.
It has some really funny error handling.
So you have try, catch, but you don't say try and catch. You do the good part, and then the good
part is awesome, thanks. And then the catch part or the accept part is no, oh no. Let's see, the
ifs statements are pretty awesome like oh really yeah really and then
else if is maybe and then the else is no way but the best i think really has got to be the switch
statement so maybe a little not safe work but it's just letters so i'll just say them out so
if you want to like do a switch statement where maybe you have R or Y or G or B as colors, like as strings, you could say color WTF question mark.
Oh, my God.
Quote R.
And then you have your block.
Oh, my God.
Quote Y.
You have your block of code.
And then the default case is OMG WTF.
That's the default in the switch.
So this is just such a crazy language.
But the thing that's even more crazy is somebody built an interpreter or a compiler for it i think what's even crazier
is that there's a spec here and and as we're looking at this spec we're literally like
scrolling and scrolling and scrolling like there is 507 lines of specification here that defines
how this language even works i think i gotta try this out man like this is crazy it's a joke but
you could it's probably turning complete as well yeah apparently this got started in 2007 and it's the latest update to the spec is from 2014 so
it's super cool that this has been maintained and updated since then so how about that a practical
joke for you all yeah is there just in time compiler for that oh yeah i don't know i actually
don't even know what the performance like looks for for low code but yeah it's probably pretty
funny are you gonna port uh talk python.fm to looks for a low code, but it's probably pretty funny.
Are you going to port talkpython.fm to that, the low code?
Yeah, I'm thinking about rewriting the websites,
and this is a real strong contender right now.
Nice, nice.
Because I just be laughing every day.
I'm like, it's a bug, but it's hilarious.
Look at it.
All right, guys.
Well, thank you so much for being on the show.
It's been really good to have you both here.
It's been great.
Thank you.
Yeah, thank you, man.
This has been awesome.
Yeah, bye, guys.
Thank you for listening to Python Bytes. Follow the show on Twitter via at Python Bytes. That's
Python Bytes as in B-Y-T-E-S. And get the full show notes at pythonbytes.fm. If you have a news
item you want featured, just visit pythonbytes.fm and send it our way. We're always on the lookout
for sharing something cool. On behalf of myself and Brian Ocken, this is Michael Kennedy. Thank
you for listening and sharing this podcast with your friends and colleagues.