Preview Mode Links will not work in preview mode
Welcome to the AI in Education podcast With Dan Bowen and Ray Fleming. It's a weekly chat about Artificial Intelligence in Education for educators and education leaders. Also available through Apple Podcasts and Spotify. "This podcast is co-hosted by an employee of Microsoft Australia & New Zealand, but all the views and opinions expressed on this podcast are their own.”

Nov 22, 2021

In this podcast, with Hour of code coming up, Dan and Lee navigate the world of programming languages from their beginnings to the future.

Join the largest learning event in history, December 6-12, 2021 (hourofcode.com)

Minecraft Hour of Code 2021 | Minecraft Education Edition

________________________________________

TRANSCRIPT For this episode of The AI in Education Podcast
Series: 4
Episode: 13

This transcript was auto-generated. If you spot any important errors, do feel free to email the podcast hosts for corrections.

 

 

 

Hi Lee, how are you?
Hey Dan, I am well. It is good to be back on the what what do we do we call these the airwaves now or what are they called on podcasts?
The pod waves.
Pod waves.
I really really don't know.
We're in the bits and bites which is a good length for today's session. I guess I reckon
it is. is the digital world and today we've got a lot coming up in the next couple of months especially around coding and computer science and STEM. I think in December we got our code which is the global festival of getting kids to to code and spend time looking at coding through various different uh means and ways through code.org and there's a competition I think we launched I think we'll do a separate episode on this so around the Imagine Cup Junior I think you're involved in that Lee and there's a I know there's a girl geek mmies uh are running a um girls in STEM program coming up. I I know we're talking about kids here, but I was on a call earlier on with one of our new colleagues in our team and she was looking at what actual qualifications and certifications to do. You know, she's new to the team so she's trying to pick up some different elements. So, she's doing some fundamentals courses and we had this conversation about programming and languages and things. So, it's a good one for today. Are we going to focus on some programming languages? Lee Well, that's it. You're right. It's a really interesting one. And it's funny you say about that newcomer to your team because when I talk to a lot of people about now kind of getting into the software industry or into the, you know, working at Microsoft or companies like this, we tend to think about the skills being, you know, how to use the UI and how to how to use, you know, build services in Azure or in some other cloud service. We don't really talk about the fact that there's some programming that is needed today in sort of a lot of modern systems. So, it's probably good to have a bit of time to focus on coding and programming.
Yeah, totally. I think This has been quite polarizing say in an education sense. I remember when I was in the UK we looked at changing the new curriculum. Uh so we changed and added computer science and that was gez that must have been seven or eight years ago now and I know they did the same thing in Australia where we looking at the fundamentals of computer science and where we teach now with kids and why it's important and things. Uh you know there's it was quite polarizing with teachers as well and I suppose it's polarizing in industry in some way as well because do we need to teach it to everybody? It's like when you say do you need to teach music to everybody? So
why do you you know as our CTO at Microsoft there and somebody's been involved in various technologies throughout your life
why do you think it's important to code and does do you think everybody needs to code?
It's it's a really good question and and you know I'm guilty like probably many other people when I get out there and I talk about the modern technology organization and how roles are transforming in the IT industry and We we do use that term that like you know the world is running on software and and everything is about you know software development and coding today and I've I've been guilty of going out there and saying you like a basic skill everyone who wants to get into into any industry should learn to code because it doesn't matter what industry you're in. Coding is going to be a valuable skill and then I read an article the other day that kind of said look actually that's really bad advice because coding is is a quite discreet specific set of skills. It's an you know it's it's as unique as perhaps data science world where you know it Not everyone can be a real true data scientist, you know, that requires a a learned set of skills, you know, you go and you learn a a particular capability. So should everyone learn to code? Look, I still think to me, Dan, ke to your views, I think yes. I think that at some point if everyone experiences coding and I reflect back on my time at school and I probably didn't see coding until I was in probably around even university time, but of course I was born in a in an age quite different to now. But I I think even just knowing what it is is what it looks like, how it works. De I think the thing is demystifying it, Dan. You know, making it clear that it's not it is difficult and complex, but it's not magical. It's not something that you should be afraid of or take a disinterest in. I don't know. What do you think? I think it's important.
Yeah. No, I I agree. I kids need to be taught some of the fundamentals on two levels for me. I think it's always been and I know this is polarizing. People will be listening in s sitting on their side of of of the fence. I think it's an empowerment thing for me and also a problem solving. element. So empowering in terms of the fact that I've seen when I look at friends and family who not maybe not interested in technology that much and take things for granted, then they struggle with things like connecting a Bluetooth device or doing something. There's lots of technologies out there, you know, Alexexas and all of the home automation services that that are there and you don't take make the most of if you don't actually set them up properly. You know, at Christmas time is one of my um uh my my my Or I laugh when kids go out and or parents go out, sorry, and buy Xboxes and PlayStations and mobile phones for the kids and they never set it up. They kind of go to the kids, there's your Xbox. It's in a, you know, in in the in the package in there. You know, you're going to be the person to unbox it and set it all up. And we wouldn't set up parental controls. We would set up the Wi-Fi. We wouldn't do the updates. You know, notes to self, if you're listening to this before Christmas and you're buying your kids a new console, do the updates before Christmas Day.
Take it out of the box and get it done. Yeah.
Yeah. And set it all up. There's laziness for people where they now go well I'll let my kids do it because they understand technology or I'll let other people can do it or you know it it really is a disempowering element and and I think to a certain extent consumer technologies haven't helped that um you know when Apple first came out and you couldn't take you know the batteries out and all of this and you couldn't hack those devices up it was a much better user experience uh for for for people so it got my mom into smartphones very easy
but you know it's not that customizable and if you give somebody an Android mobile phone and they used to
Apple these days they they can't handle the fact that you can customize it so much and do so much more with it. Um so there's there's that empowering thing for me and also that problem solving element when you're thinking about coding you look at a large scale problem whether it's agriculture and then you say well how can I break that down into steps and I think that's a
that's a skill that we all need generally it's not just necessarily a computer science But it's about that problem solving, breaking things down into smaller components to to see how things work. I think that's they're my two elements that I feel quite strongly about and coding does help with that.
That's perfect. And the key thing I mean I I couldn't agree more with what you said, but the thing that really is kicks it for me is, you know, when you empowerment, yes, giving people that that approach, but the problem solving piece because that's if I think about how we look at, you know, early career learning and people bring bringing people into the industry. It's less about what language can you speak or you know languages can you program in or what computers have you had experience with. It's how do you solve problems and that's the that's the nature of work I think today is really about problem solving and and computer programming the structured approach to it even object-oriented type programming it's still structured it teaches you to go through a set of steps so I think you're you're you're 100% spot on so maybe build on that Dan and let's be you know we'll talk a bit about our own experiences but why don't you start tell us a bit about well as simple as it make it. What is coding? Like what is programming?
Yeah. So, well, let's let's take it even further back before we even get to there. You know, when when people started to make machines, you know, in the textile industry in the 1800s, they had punch cards to be able to know where the needle had to go through to actually create the the rugs and textiles of the time. And then that technology was used to kind of automate, I suppose, and program, you know, the way that you could create things. And I suppose you can go back through time to find out where uh humanity is actually gone to make things easier in life and and and it's just everything is programming, right?
So if you so yeah it is and so if you think about it the way you described it there the punch card system is in a sense it's a pattern but it's a repeatable pattern and if I kind of in a programming way that sounds I don't know what you think because that's what you on a punch card you'd bang the holes in and you'd make something a pattern that something can interpret
and then you know that every time you put that punch card through well until it got damaged enough or chewed up in the machine it will always do the same thing. So that kind of a think in that that was the thinking was it in the textile world about kind of creating
that's exactly right that you created you know when the industrial revolution came in it was all about mass producing things wasn't it even the way things are laid out on a print printing press was a as a form of programming um but when we start thinking about the real elements of programming and and you know mathematical engines and things like that way back in the in the early 1800s and things and we start thinking about moving from there and then we start moving to Charles Babage's era Love Lace who was one of the first computer programmers uh historically um where you're starting to get machines that can mechanically solve problems. So Charles Babage looked at the textile industry and said well how can we use the same principles to do some mathematical calculations? How can I build my different engine to do some of those calculations? So he'd really focused on that.
Yep.
And then a love list is one of his compatriots there who kind of started to develop program come in per say for that engine. They never actually made that but then there are uh ones which are now made in in London and around the world where they've created those. There's a brilliant exhibition in Sydney where you could see the difference engine and there's all the the cogs going on there and the winding handles together adding and subtract numbers and things which is really really clever. But then I suppose we we had all of the tube based computing moving forward from there and we went through vacuum tubes into transistors and semiconductor and right down to the transistor radio. So all of those different devices throughout the the ages I suppose from any and all of those machine touring as well was working on some of his stuff just before that with Colossus the way they were kind of connecting valves together and doing the electronics and then that becoming smaller and smaller and smaller transistors. We needed to come to a level where rather than physically doing things like punch cards and moving wires we then could start to program with high level code because we're starting to get into the phase of modernday computing.
So yeah. Yeah. And before we jump into the coding bit, I think what's an interesting philosophical question is if you if we trace it back to the the punch card concept where you had a whole or not. That was the sort of the binary decision point. There was two states which led us down the path and which today nearly every computer, you know, aside from quantum computing largely is built on this construct of a binary base 2 set. I wonder if we'd have a if we had a a different way of building computers if we'd never started at that point where it was all about binary and on because you know with vacuum tubes with transistors with it's always about voltage off or on vacuum off or on it's you know it's it's still very simple almost in its principles isn't it? Yeah. And the scientist element in me wants to think that that's the kind of purest form you know if we made it more complicated. Um but but then we've had to build on top of that haven't we to represent things like then we we We came up with some of the coding like forran which is a formula translation um
yep
uh language that IBM created and the basis of HTML these days and and Dr. Grace Hopper do you know what language he was involved in?
Well I I I have recollection but I I'll let you tell us for example I remember in university programming in coal common business orientated languages all acronyms when they started wasn't it and uh and I remember if you had one line at the beginning of that code code incorrectly to compile that language.
Yes,
you'd get pages and pages and pages and pages wrong. If you had one, if you missed something out at the beginning, then you'd get hundreds of pages. Everything was an error. So, it was it was absolutely
terrible memories coming back now. Terrible memories coming back.
And then we had IBM and then the Microsoft story came into it with with MS DOSs and BASIC through Bill Gates and Paul Allen. Uh, which is which is really interesting. Uh, obviously for us from a Microsoft point of a software company and Then you had all of the standards starting to come in then like ASI the American standard code of information interchange where binary could be reflected globally with particular letters and numbers and all that kind of stuff. And then we had the high level languages are starting to become popular around that time. So that's my I suppose my my twominut history.
Yeah. That's a lot of history there. Um and I always find it fascinating. I mean look I get the binary bit and you're absolutely right. I think it's the sort of the purest form of data representation is yes and no. off and on one and zero. But then when I and I and we I don't think we could have the time to get into it, but that evolution of representing binary base 2 into something that we could map into a bit map that to capture the characters of the alphabet. So we think about as you mentioned and then hexadimal as this sort of this base 16 data set which makes no sense to anyone outside of technology but of course when you work in technology and I don't know about you Dan but I can count in base 16. I can go you know my 86 32 128 512 1024 and I could go on add infin item because it's just almost ingrained in my head now that that's the number sequence that computers think in terms of
but the journey we must have gone through over those you know sort of 50und 50 years from binary zeros and ones to that idea of a hexodimal representative and then as you said into languages it's just it's almost incredible to think we get that leap.
Yeah. No absolutely. Do you remember your first kind of coding experiences?
I do. Do I do remember my first coding experiences? So um and you've already mentioned it which is unfortunately cobalt. Um so I did I I I I remember when I was at um I guess it would have been it was in the mid early 80s actually probably I think it was I can't remember the exact year now and and cobalt was clearly a not dead because it still isn't dead today but it was a dying language but it was the principle of when you did computer computer science I think as it would have been back then at school you learned cobalt because that was the b the language of business. So I remember doing cobalt back then that was but that was probably my very first and we should talk more about some of our personal experiences but what was your first I know you've touched on some cobalt yourself but uh yeah anything else
I suppose I came from it from a bit of a hacking point of view I I suppose my first memory was in the 80s with a spectrum when you you know you had to put the tapes in and things and then you'd you'd often land before you loaded the game you'd land in like the version of dot I can't even remember what that is now but and I could I remember you could type in the word beep and then a space and then a number and then you could make you beep. And I was like, you know that and it wasn't mine wasn't the glamorous hello world. It was beep 246 or something and and and when you ran the games a lot of the time you'd see the code on the screen and then you you'd catch glimpses of it and you would I started then looking at games in a different way and then start to hack some of those because so I remember when I was uh like when when the first I don't know when 386s or 286s came out uh which is the computers at the time and people listening to the the the podcast here thinking what is what are they going on about but
I remember there was a game in basic called Gorillas you would would you you fire bananas back and forth at each other you know very basic game but you going in and hacking that up and going well what happens if I did this how could I change the the angles and the sprites and could I make it more effective and I suppose it was I I learned by changing other people's chord that's I got the bug I think I think
that's interesting that so I mean and we should probably talk a bit about the the difference between what you were writing there which was basic which is an interpreted code and binary or assembler which is not because for me so after I moved on to cobalt at uni and or at school time sorry I was a I was a commodore guy not a spectrum guy so I had a commodore what I had a various things but I remember commodore 64 and so I actually started learning 6502 assembler language you know loading and moving onto the stack and moving your bits around
but if I think back on it now and I don't know if you if you reflect back on your spectrum days.
I I learned by reading other people's code and I learned by looking at other people's information and using a disassembler to look at what they did and then almost kind of correlating in my head when that stack object got moved up by one bit then the color changes on the screen. Ah okay make the connection. So I didn't really learn to program I learned to read other people's programs and figure out what it meant and that was by no means a
that was that was the same as me. You just reminded me there of something that I was looking at there was lots of copy protection on games in the 80s on the amigga and things like that and um I remember that I looking the my first view of Assembler was I remember seeing um Assembler code appearing on the screen you could get this thing which would show the code while you running the game and uh forget what it was called it was a piece of hardware you plugged in and you could see where the copy protection was happening so it was I felt like I was hacking no I wasn't hacking I was just watching it but you could see where it would ask for the password or a particular key uh which you had on the box or something at the time and there was a bene a branch if not equal sign and and you could see that if you if you didn't type the right code in it would go back to the beginning and I was like oh that's a loop and and and you know I could see what so it was like I felt like I was hacking watching it but it was uh yeah it was looking at other people's code it's a good point
an assembler is you know for those listening not familiar with it you know you've kind of got binary which is the absolute true language of computers they're where they're operating at their truest nature and then you've got interpreted language is like basic or you know visual basic or um pearl and pascal and other things that we're probably going to touch on. And then you got assembler which is that as close to the wire as any human being probably realistically ever really gets. You know when you're programming an assembler you're almost talking to the computer in its native terms because you as you say you're branching you're loading you're moving on the stack. The stack being the computer's memory of what's happening today. You know what data where the bits are because all you're doing when you're moving numbers on the stack is you're changing a bit from one to zero. But it's that it's the abstraction away from it that makes it just accessible enough for humans. I just remember that so clearly. Not I remember probably more what I didn't understand than what know those moments where you go ah like you said your brain's not equal and I get you get it but um
but it's crazy time do then then for me I moved into the high level languages properly because then school at that point didn't really teach coding. It was about word processing when when I was in school. So it was like using BBC micros and things. Yeah. and and and it was even before that it was like Edward and all these things on the BBC micro and it was awful and you know I it didn't turn me on to it at all
and then uh and then I did did that in university then which was where where I really started enjoying started to understand and there was programming languages at that point which you didn't hear about these days like Pascal you mentioned it earlier
which is really good to help you code and understand you know variables and and statements and tabulation and commenting and it got me into a really good process of writing code but it it wasn't really using industry at that time. I don't you know I didn't see it a lot but but it was really good for me. It was like a it was like a language to help me understand you know and it was it was very much about getting input from people and presenting stuff back and you could make little games at the time um the fighting fantasy books were in Livingston and stuff were popular you know kill the goblin or walk walk east down the passageway and and you know so you'd start to write it was great coding similarly for basic good programming languages to write those things uh where you start to introduce things like looping and and branching so you're going
if this then go to this line and then you know moving around so it was it was really interesting when my when I first started to see high level languages
Pascal's and I didn't do much Pascal to be honest with you I know of it and uh but but of course it's one of those really simple. It's almost the syntax of it is quite logically it's human readable code I think is the best way to describe it because it's very simple to read and understand. Um I was never nearly as cool as you're doing you know the the building games and stuff for me I actually got into in the mid 80s early 80s I got into dbase Ashton Tate dbase which became FoxP pro and then other things and I was writing these database thing databases which you know doesn't seem like programming now but back then that was you know you were writing batch files that was programming
uh you know DOSS you know DOSS BAT files and then you're writing dbase files and writing databases and this isn't like today when you go into SQL you UI to kind of build a database you built the database through code you know you have to execute these things and write programs in dbase and I started doing that in that point and I started to realize that two things first of all I I kind of got a bit of a kick out of building things and seeing them execute on the computer you know I think that's probably why a lot of us are in this industry that magical moment when you build something and the computer responds with what you said it would do and you oh wow this works and and it and I was at I ended up with a job I think in in the early 80s writing some dbase code for it was a vacuum company Kirby vacuums if you ever remember
I was writing some code for them my sister worked there at the time and they'd asked me to come and fix this computer thing
and so I I think that for me was that moment when I went I can do this and it's kind of fun and I think we said this in one of previous podcasts the limits were unseen to me I didn't know how far this thing could go. So the opportunities suddenly in front of me became huge you know like what else could I program this thing to do.
Yeah.
So yeah for me that was it. And then I you know then I did some pearl programming uh when I worked for Tivoli software in the 90s uh pearl bit like Pascal in a very simple interpretable language. Um and that's it until I really got back into Python when I started today you know doing what we do machine learning.
The other thing interesting thing when I was learning coding as well was that it helped me with ma my maths quite a lot. So like I I with you you're talking about the games bit there and I was doing that I was like hacking up other people's codes but then I also remember there was a moment where I think it was using basic again because that was like a great language to get into but when you could start like I think it was quadratic equations you know when you go or even Pythagoras you know some of the some of the um exercises you had to do were were you know signing variables and doing simple things you know like uh a equals b time c and things like that. Suddenly it started to the algebra element started to make uh resonate with me and make connections and I was like okay you know on the order of operations and bodmass or whatever they call in schools these days but you know thinking about the way things happened and stepping through that sort of did a reverse thing and help me with my maths a little bit because I didn't really like algebra but then when when I started to do things I was going oh I could do a program to work out quadratic equations here that isn't that hard now you know set up your variables, you then do the the steps a little bit at a time like we saying about problem solving. Um, and that was that was quite interesting I suppose for me. But then I started to get when I was in uni then started to go into object-oriented programming and that was like
that was very confusing. I remember a lecturer trying to illustrate abstraction and encapsulation and these complicated topics where you you talking about like a cat and saying well if you're going to make a cat you could what what parts could you reuse the eyes, the years and it was blowing my mind that I was like this guy is talking talking nonsense here.
It seems so logical, doesn't it? When you look at programming today and reusable code model, but
but back then it was this like it just didn't make sense that you could what you mean you could build a thing and then come back to it and reuse it and it's efficient coding models. It makes it was kind of hard to get your head around. I think
it was I I really struggled with that and and you know and you had to use with C++ a lot of function or C. Yeah, you you was just all function based and you had to think well where I had to call you end and your code ended up like really small. It was just like class something or other call call function and that was it you know you had like
you know what really threw me
when you're talking about C and that calling the classes
I this is that when and C never never gelled with me C didn't because this idea that so Pearl and Pascal you didn't have to predeclare anything you could just declare on the go you know and create a variable when you wanted to use it and But in C, of course, you had to declare your classes. You had to and declare your variables up front and then you can and and I just no it just I could never get my head around C.
And that that's that's interesting because that's why Python drives me mad. We we started we we toes about programming, but Python used to drive me mad because mad because I was teaching kids it
and you know they would they would do errors all the time because in the other languages like say basic or Pascal and some of the other things and see you'd be you'd have to think about the at the beginning and go okay well I I'm setting up my name and my age say not you put age data birth but you put name and another field and you'd specify them as an integer or a string and you'd know what that is whereas in Python you kind of go oh well
Dan in one minute it's text and the next minute you can change it to a number and it doesn't matter and well it does matter but it doesn't really matter
but it's doable and yeah so you you can set Dan equal to or name equal to Dan and then name equal to 54 and and it would break a lot of the things that that would worry me and the only reason it would worry me is because it took longer to blinking fix when you would have all these errors so you know you'd be all methodical about it right let's set all my variables up
that's true yeah
that's true and and maybe that point I mean you said earlier about the you know the importance of teaching coding because it teaches you that sort of the the process of problem det problem management and problem thinking through But it also teaches you logic and teaches you to think pre-think about your your problem domain before you actually address the problem. Whereas you know Python and other more modern interpretable codes. You don't have to you can kind of start from nowhere and build yourself up to it. Whereas other older structured code you needed to be thinking about it. I have a question for you Dan. I got to go back to this one because because we started our fight C64 versus Spectrum.
Yeah that's right. Yeah.
But something I remember really deeply from the from the C64 era and I don't know if you had the same thing in this Spectrum World was the demo scene era. So out of Finland and Sweden and the the sort of Nordics were amazing. And what was what truly blew my mind was these people who built a computer, you know, Commodore whoever built the computer and these programmers could do more with that computer than the person who built the hardware who who soldered the chips together had ever thought it was possible to do. You know, they were putting scrolling text in the borders, which was
technically impossible on a C64, yet it was possible to do with amazing programming techniques. It just shows you that how important programming is in its relationship to the hardware because programming changes the hardware. Yeah. Did you have a was there a similar thing in
Well, well, I went on to I went to Commodore Amigga, you know, later on and that was like
deep like the demo stuff, you know, that's really it feels really nostalgic for me that because
you know it still goes on now by the way. It still I've well I've seen some of the I every so often I'm on YouTube or whatever. I'll have a look at some of those demos because like they they're quite emotive. You watch some of them and it's just a bit of music and scrolling text and things and then it just got better and better and better and smoother and the graphics the people you the way they used to manipulate graphics and and 3D was phenomenal using you know the the code you know it wasn't no no other um
tools around it I remember um one of the activities I had to do in um in uni where I I had one 3D graphics module and we had to code and and my my lecture assignment was religious and we had to do a church our assignment was we had to do a church the spire on it and rotate it and and I could get it like like about 200 degrees around and then it would explode. Like I I still pass the module, but I just could never work it out, you know, the maths and the the and you know, that was 15 years after all the amazing stuff on that demo scene, you know, is it's amazing stuff. It was amazing. The demos are amazing.
They were certainly amazing. And as I said, I think the key thing and to kind of get us slightly back on topic is to just address that issue that you know whilst the development of computers and hardware has been an amazing innovation in humans capacity for you know innovation in technology it's really actually programming that has broken down the barriers of that hardware to see what's really possible I mean programmers are in many ways the the pioneers of what's possible the hardware builders create the platform and then programmers seem to just take it up
the shoulder of giants exactly so when we look at the programming languages then Let's just do a a quick kind of whistle stop tour around some of these. You've mentioned Python quite a lot and I'm seeing that quite a lot now in you know in school you see it but I'm seeing it a lot in industry you know when I was teaching the school like I said earlier on I thought it was a bit of a jokey language you know is on Raspberry Pies and you know kids are learning it and like I said the variables are all over the shop and then suddenly in Microsoft people are getting paid heaps of money and in our customers because they're actually coding in Python um to do machine learning. This is quite popular now.
Oh, it's it's crazy. You know, one of the things I remember that just threw me when I got into the IoT well, when I was the product manager for IoT and we started to see this real uplift in agriculture sector in the farming industry. Um, and of course now it's, you know, we talk about it's agrich and it's a whole industry of its own, but we were starting to see these farmers and and I don't and I say that with the deepest respect whose lives were nothing to do with programming and code, but getting access to these sensors or putting technology on their farm or just having cameras in the farm to can see things and having to write simple code in order to automate their lives. And that's what it got me thinking was it's not so much even about the industry it's in or anything else.
Why do we program with computers? We do it
to automate our lives or we in industry a lot. We do it to automate processes. We make things simpler. And it makes me think now back to those the punch cards. Why do we build punch cards? Yeah. To automate a process and make it repeatable so you get the same response. And that's we're seeing it now in in as I said in agriculture in all range of other industries and it's um it just shows me how prolific programming has the resurgence of programming has become as a way that we now operate almost every industry you know back to that point every industry.
Yeah. And and when when you're looking at where kids are learning to program these days nowadays you see where they start to do block based programming in Scratch and other tools you know sometimes adults have started programming through that as well. There's a flick switch usually between where you can swap between block coding and Python now because that's quite popular. So you can code in say Minecraft and flick it into Python or you can code directly into Python in Python uh uh you know in in into Minecraft and the other language in there which is really popular uh as JavaScript you know and that's obviously not Java we got to be clear about that this is you know the name you know throws it a little bit but that's very much around your kind of web- based technologies uh you know things like Amazon and Wikipedia and Twitter They're all running in, you know, J on JavaScript. All your browsers run on JavaScript. So, it's a really handy like language to have if you're looking at that web development site, right?
Yeah. Look, and I mean web development, I remember learning about it when it was HTML one and we were learning how to write, you know, pretty code. And then now, of course, when you look at any any website today, any good website, of course, there's HTML structure around it, but it's Angular, it's JavaScript, you know, there's going to be all sorts of stuff in there that maybe even I don't know these days, you know, you have Swift because it's on iOS or other things. It's it's it's quite a rich ecosystem, isn't it, in that web development environment and and I guess different code, different programming structures, different languages make better are better tools for different services, I assume. I mean, I'm not a deep programmer these days, but you know, I hear Angular's much better for that client side side of things in Java or in in
web frontends where you want uh interactable front-end code on the client side that operate that runs on the client, not on the server. Um but it's become very rich and very um you know your choices are are very wide these days aren't you as a programmer.
Yeah definitely and and the other ones I've seen on on the web obviously Ruby on Rails is quite a a popular one as well and it's and it's interesting what you mentioned swift there as well because obviously you know you've got that element with Java the program language for that Java is a program language I'm going mad here but yeah Java is uh useful Android app ecosystem predominantly and Minecraft and things like that and and then Swift is used for like your iOS and your the Apple Watch OS and the Mac OS and things like that. So, it's an interesting one where there some of the proprietary software and hardware uh require their own coding platforms as well. So, there's even though we're saying that it's leveled things up sometimes, you know, Apple have now really tried to focus in on their coding platform and Swift to really drive the maximum out of their hardware as well, you know.
Yeah, of course. And of course that makes a lot of sense to them, you know, and when you what what I remember when um when Zamarind became, you know, some I think Microsoft acquired them and but they started to appear on the market to kind of fix that problem of
that's right,
you know, I want to build something. I don't want to be just on on Android with swift on iOS with Swift. I want to be on Android. I want to be on all the other platforms.
And I still struggle. I mean, Zamarind's a bit to me it's like one of those it's like quantum computing. It's just this idea that it's it's an open- source crossplatform development to let you build on any of those services and runs and it just interprets between them. So it knows what a you know a a toast popup on Android looks like versus an iOS one. You build once and deploy across those. I think those kinds of tools are really they're those moments that just completely change the way programming people think about programming because now it's
just become even easier to reach a broader set of tool sets and not have to be a Swift expert and a you know a net expert and a C expert. I think it's it's it's incredible just how how much that's
definitely yeah the other side of it just I was just thinking as you were talking there the other angle on this angular but the other angle on this is also the coding that happens in the back end I don't know if we can distinguish those two in in another way but what I mean by that is like the SQL coding or bash coding and powershell which we use a lot in Microsoft there's kind of like a there's almost like a functional coding element as well where it it isn't necessarily it is a high level language but it's not as you know it's not like you're creating code to make the Amazon website or or whatever it might be or Netflix which is done in on on a new platform called cotlin the you know you're actually developing databases and actually coding to you know put user permissions across user accounts and things like that as well so there's other element of coding which isn't under there
well and the thing to think about it is if you look back you know in the in the old days when you and I think about programming and you'd write a a game or you'd write a piece of software and you'd basically write it in its entirety in you know C++ or whatever your language at the time was and now of course everything is more distributed object-oriented and separated but the key innovation that's kind of making all that easy to do because yes you've got SQL over here and R over here and Angular over here the big thing is APIs and of course you know we we could do a whole episode on on APIs but the fact that application programming interfaces the way that a program and another program can communicate ate using a set of common languages or common interfaces really changes the way now yeah you build an application run some SQL over here you run some Ruby for the back you know service application framework you've got some swift on the front end you've got Java pulling over here you might have some IoT MQTT functions running over here
and APIs are what ties it all together so
that's really good point actually yeah we we could do an entire episode on APIs as well I suppose but that might shut everybody off apart from the two
yes I think so I think So you know what we should do? We should get back to what you and I do best which is talking about popular culture.
Yeah. So absolutely. So you know like it does evoke a lot of things for different people and it definitely evokes some movies for me when I'm thinking about programming and coding because that was one of the things I don't know if it was a part of the time. It was really driving. There's a lot of movies around in the 80s and the 90s to kind of make you think about um coding and computer science and there's lots of things that when When you look at that, you know, there's entire reels and Reddit posts about where they get it wrong in movies where they p, you know, they they they type in and code just flying through, you know, in things like Jurassic Park and things. There's some classic classic elements there. But in terms of like the things that made positive impact on you when you were when you were growing up, what were the kind of uh popular culture things and movies that were that were driving you?
Look, there's there's probably a lot, but I had to thought about this and so um and we should put it in the in the show notes because I if you go dig around on the internet there are people who spend their entire life debunking the code you see on the screen.
That's what I was talking about. Yeah, exactly.
I've got an interesting one which we'll talk about later on. But so they're out there. So look um okay look so number number one for me if I think back on the time was war games which I think was around 1984ish I guess probably
and I remember watching War Games and if you kind of for those of you older listening mid 80s if you were a computer programmer, if you were into computers, you were kind of not in the cool sect. You were the kind of nerdy kid that was into computers. And I remember watching that and Matthew Brick was a cool kid and he was doing cool things. You know, thermonuclear war was probably not cool, but stopping thermonuclear war was pretty cool.
And I watched that movie and it for me in many ways it kind of legitimized the idea that because I was interested in acoustic couplers and modems and computers and dialing and connecting via it was okay. It was normal because on on the screen and we talk about today in modern thinking around you know you can't be what you can't see but right then I watched war games and thought well that looks a lot like me so I feel legitimized so that's my that's my earliest memory and the one that I think about most what about you what's your first
yeah well I think war games was one for me as well but then I think you you got Tron as well where it they weren't necessarily programming but it was there was a lost fighter was another one as well where you where you I suppose mine was like game orientated angle. I started to get interested in that because I enjoy playing games and they brought me along. But then there was a there was a series of movies and after war games and then and then in early 90s which was all predominantly focused on hacking. So there was like one called hackers, there was sneakers, there was and and it was very much a these cool kids like teenagers or whatever which were trying to hack in or get into systems and things and that. It was it was sort of like the the good and bad side of it all. And that that kind of like started to spur me on because it kind I I kind of that resonated me because I've always wanted to I suppose when I was changing people's code that initial experience for me that was where I was kind of coming from and I think that those things made me and and like it's always the bad isn't it that kind of drives you sometimes you kind of sit there and think wow you know like there's some really interesting things there and often the you know whenever something is invented always the negative side of it drives, you know, even more innovation sometimes, you know, with security and encryption and all that kind of stuff. Um, but that that those kind of genre of movies where they started to push the boundaries
um and and started to, you know, hack into things like with war games and they hacking into the the NSA and whatnot. Um, yeah, it those those films kind of started to drive me, but they were quite superficial though, really. Not really in there.
Well, I mean, there was Yeah, not really. And and as you say, They really kind of still put hacking hackers or whatever they termed that was badge for them into that bucket of almost a bad thing. You know, it would took a long time for hacking to become a legitimized kind of activity. I mean, it was always considered in that n in that 90s era
as hackers were bad people. You know, they were trying to bring down the system. They weren't necessarily working for the system. And then I and and again, everyone will know the movie, but
I think it was 1999, which seems ridiculous now when I say it, but of course, The Matrix. Yes.
Which was the absolute kind of the idea that in fact we are programs
and you know that was this kind of the you know the the if you if you made your head around the matrix the idea that we were all we were just programs in a system we were we were operating within the construct of a computer in of itself they we were the beings within it the programs within it and the you know agent agent Smith or was the uh um Mr. Agent Smith was the bad guy he was a bad program a virus if you like or you know bit of code and I think that was always a you know it's a fascinating idea on the ab action away from it. I won't say that it necessarily inspired me in any way because it's not a inspiring movie, but it's an interesting one. And then the last one I'll sure you got some others, but the one that I wanted to share with you because I watched it recently. I don't know if you saw it. It was on Netflix. It's called The Billion Dollar Code.
I haven't seen it yet. It's what I want to see.
Yeah. So, yeah, it look Netflix series. So, it's kind of dubbed in into English if you want to watch it in in English or you can watch the subtitles, but it's about the the guys that essentially created um and my mind's gone blank now on the name of it, but they built the precursor to uh Google Earth, or at least it was arguably they said they built what Google Earth is, showed it to the people at um uh who built the Oh god, well, I've just had a mind blank. It'll come. I'll put it in the show notes. Um but they showed it to the people that were building the the computer system, silicon graphics computer systems at the time.
Oh yeah. Yeah.
Which ultimately made its way to Google and Google created the Google Earth. And it's a whole story about the kind of the who did what first and who stole what code. But it's it's really about program and what they could have done and how they solve problems and how these code changes the world. How code like Google Earth and data created a world today that is incredibly smaller and different and how we can see the world from anywhere from our desktops here.
Yeah. So, it's a great series you should watch
and there's I will definitely and there's there's also several you know the the one about uh jobs um pirates Silicon Valley one there's a whole heap of social network which have talked about the actual um
uh I times and significant times where companies have been born whether it's the Bill Gates, Paul Allen, Steve Jobs components or uh Mark Zuckerberg. The other interesting one though on a purist note so it's not technically programming but
the one that was really powerful was the imitation game because that was the one which looked at Alan Turin's life and the way he deciphered the enigma machine because obviously all of that was hash and with a colossus machine at Bletchley Clark and so on. and and I suppose the impact of that saving you know the reducing the war by two years and saving up to 14 million lives so important historically to have things like that on record even though it's a dramatization I think I suppose when I'm looking back at popular culture they kind of talked about some of those stories but then also those ones looking forward are the ones I enjoy as well so I like the nostalgia things looking back and thinking about what we could learn from you know I think we can learn lots all the time about the Apple Microsoft um shenanigans and and you know all all through history you know it always repeats itself. So it's always good to to kind of look at those things um uh all the time to refresh your mind and and to kind of make sure you learn going forward but then the things that push you like um Black Mirror and things that allow you to where where some really interesting screenwriters like Charlie Brooken so they know what the technology can do. They they technologically savvy and then they extrapolate the the future onto those things. I really like those movies now, you know, because, you know, I I I don't know whether they're going to be nostalgic for people and what effect they'll have on my kids like War Games had on me. I wonder if it's going to make people more ethically um sound um about users. Who knows?
No, it's a good point actually is the impact they're going to have because you're right. I mean, something like War Games or Pirates of the Silicon Valley, which you know, I've seen and they're not necessarily that old from my youth, but they tell me a story about something that is intrinsically so deeply embedded in my psyche of this world I live in of computers and Microsoft and Apple and the history of all the valley and what went on there. Um, you know, do those other movies that they tell a different narrative around the, you know, the the the imperative of of taking responsibility and ensuring we're building a good future. I don't know. Look, who knows? But, um, there's a couple of other ones, by the way, you should uh add to your viewing lists yourself, Dan, and others because Pirates of Silicon Valley is an awesome show. Just really well acted beautifully done. Um, if you haven't seen it, there's one called Triumph of the Nerds, which is a similar retelling of it, but a bit more of a integrated story, but more than just Apple and Microsoft. And then there's another one which I've actually yet to watch, but I've seen it and I've heard people talk about it. I want to watch it is called Halton Catch Fire, and it's actually about the broader story of Silicon Valley, birth of Silicon Valley. Uh, so the history of Hula Packard and IBM and Apple and Microsoft and and um Sun and all these companies popping up probably a super nerdy drama dramatization, but I heard it's a really good show.
It's all connected, right? You mentioned Sunday and that reminded me of Java as well because there was, you know, it's it all connects. It's always, you know, it's always important to to look at these things and see where it all comes from. So, you talked about the future.
Yes.
Um, we've talked about why programming and where we've gone and where we are at the minute. So, where does the where do you see the future in coding? So, the people listening in today, what what should they start be thinking about in terms of the future, where does it where is it going?
Uh, look, it's a it's a hard question. I mean, so I think a couple of things I'd probably say is what what we said earlier that frankly coding is no longer an activity that people in it do. Coding is now a thing that is changing the way that almost every industry does. So when I talk to to young people or others, anyone about kind of careers in technology, I say look, if you're interested in agriculture, banking, farming, science, research, academia, whatever you're into, programming is going to be some way a tool that's going to help you do it better. So I see that as being I still see that as a fundamental skill set. But of course the big thing that the world I live in is the fact that all of the artificial machine learning evolution we're seeing now is driven largely by an effort of programming. You know we know that it's about data and it's about algorithms and about the models. But those models and those algorithms are coded instructions knowledge representing or code representing knowledge written down. in Python, in R and other things. And so for me, that's, you know, that's the next big sort of leap wave leap we're going to take is just how much pro we to the point we said earlier about how people were cutting, you know, writing uh text outside the borders on the C64 in the 80s for the demo scene. What are those demo scene coders of this generation going to do with AI programming
given the amazing hardware they're getting their hands on today? That that I think that leap is where we're going to see.
I agree. And I think from from my point of view as well. The the nuance in it is also about the the fact that there's a lot of tools and technologies now which are democratized AI and and all of those kind of industries and segments within in those. So you citizen developers are being empowered. So I think there's going to be we're going to see lots of people doing stuff with drag and drop interfaces you know creating machine learning models training things for example and doing stuff. Then underneath that we need people to be a ble to be the power users to be able to take it to the next level. So I think there's going to be more people thinking about coding from the citizen development point of view where they're using power platforms and whatever but you know Unity and those engines that make it so beautiful to create some complex algorithms to shine light on things but the the people who are really going to excel and take things to the next level are going to be developing that. So somebody working in medicine should learn to code and you know there's people probably people thinking to the podcast thinking well really do they Well, maybe 70% don't. They they they need to understand how to use software and get it done. But the ones who are going to cure cancer and the ones that are going to do something that's extra special that moves humanity on are the ones that know to hack the system and get in and go, I don't just want this visualization. I want a better one. If what happens if I correlate this with this, would that give me a better the result, you know. So that's where I that's what I see it because I think sometimes when people are listening into you and I've said it myself, you know, you need it in agriculture and it'll be farmers thinking, "Oh, well, do I really need it?" But they're going to be left behind or they're not going to be on the edge of something special. I think
I think excellent point. It's not everybody. Some people will, but everybody if you I think everybody needs to learn that code is not something to be afraid of. Code is something that can be used. Um, definitely definitely. So, I've got one thing left for you because as you were talking Yeah.
and as we've been chat about it, I went looking around at this whole movie trivia programming thing. Um, and we've talked a bit before about, you know, I'm a Star Wars nerd and and I think Star Wars is an interesting universe,
but I went looking so so that I was going to talk to you about the whole binary evaporators and the language of binary evaporators because I think that's also Oh, go look at No, no, go Google moisture evaporators. I didn't realize just how important the learning the binary language of moisture evaporators actually is. But in the Star Wars law, this is the very f this is the way in which people live on these planets like Tatooine and others is because they can pull moisture out of the air using a binary moisture evaporator which is very similar to those binary load lifters. However, the point I wanted to share with you and we'll put this in the chat in the uh in the show notes. There's a screenshot from Star Wars uh with C3PO doing some talking about something and in the background is a computer screen with some code on it. Yeah. And somebody has gone into that screenshot looked looked at it, zoomed it in, trying to figure it out, and they've determined that it is C64 assembler code. And I kid you not, line three, B& branch if not equal. Dan, you are you are vilified. Your coding knowledge exists and it is referenced in Star Wars. You win today's nerdfest.
Oh, that's brilliant. The binary moisture evaporators are going to be my next search now as well because that's I love that low inside Star Wars. Brilliant. Thanks, Lee.
So, thanks today for listening to this podcast. We've got a a couple more coming up because there's lots of exciting things around um STEM and Imagine Cup uh Junior which I know you're involved in Lee but thanks today for sharing your knowledge on programming and let's see you next time.
It's always a pleasure. Thanks mate.