TechStuff Episode 300 - podcast episode cover

TechStuff Episode 300

May 11, 201139 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

Why do we use programming languages? How many programming languages are there? Why do we need more than one programming language? Tune in for the answers to these questions and more in TechStuff's 300th episode.

Learn more about your ad-choices at https://www.iheartpodcastnetwork.com

See omnystudio.com/listener for privacy information.

Transcript

Speaker 1

Brought to you by the reinvented two thousand twelve Camray. It's ready. Are you get in touch with technology with tex Stuff from how stuff works dot Com. Hello again, everyone, and welcome to the three hundred episode of text Stuff. My name is Chris Poulette and I am an editor here at how stuff works dot com and sitting across from me as usual as senior writer Jonathan Strickland. You know Jonathan, three episodes madness. This is text Stuff, all right.

Now that I've kicked Chris down a well, we can. Oh he climbed up. Man. Dude has got some serious forearm strength. Actually was all the fingertips. Yeah, yeah, yeah, he's a baller. So we're gonna talk today about something that you've had requested pretty much since episode one. Yep, yep. And it's it's an involved topic. We could we could talk about any one of the sub things we're about to talk about for an entire episode of of tex Stuff. So I think we're going to give give this sort

of an overview. Yeah yeah, So we're going to talk today about programming languages, and to really get us started, I have a quote here from C. A. R. Who are h O A R E. Oh, And he says, I conclude that there are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. And yeah, we're gonna talk about programming languages,

and that does apply to programming languages. Now, first of all, you might ask, why do we have programming languages? Hey, Jonathan, Yeah, why don't we have programming languages? Well, I'm glad you asked that, Chris, because I was gonna have to wait around a long time before the emails started coming in. Uh. Yeah. The reason why we have it is because machines understand a very well on the surface, a simple language, but it's one that humans are not able to read easily.

Machine code is not something that humans easily read, right, And ultimately, when you get down to it, a computer understands basically two things on and off. Now, the type of machine code is dependent on the kind of machine. And when we say machine code, that doesn't necessarily just mean computers. No, no, not at all. Yeah, because the first machine codes were really for things like looms, right

looms and player pianos where that's another example. It's a machine code that the coding translated to which notes played when yes, uh, if you will remember a long time ago we talked about how looms were mechanical. Looms were programmed by using punched cards, um. And this was done hundreds of years ago now um. So basically, the loom would follow the instructions on the card. Where there was a hole, it would do one thing, and when there was a non hole, it would not do that thing

right again one or zero exactly. It also led to the first episodes of sabotage, Sabo being a shoe that someone would throw in the loom to break it because they didn't want their jobs taken over by the machines. Had times haven't changed manual weavers who uh did not want to be displaced by an automatic loom unbeweavable. Yes, it wasn't. I thought I could get through that, but

I couldn't. So yeah, machine code is this stuff that that, again, machines can understand humans, humans can understand it, don't get me wrong, It's just it takes so much effort to understand it that it's not efficient for humans to to write in machine code. I know people who can read binary, I'm not one of them, right, Yeah, And there there are people out there who are have what to me would seem a mysterious gift to be able to read and write in machine code in a way that you know,

I just can't comprehend. Um. So programming languages are a way of of addressing that problem. It's it's an attempt to create a language that is easier for humans to uh to comprehend, and to create a set of instructions for a machine that don't require you to think in machine code. Yes, yes, um, I am Actually I have actually been taking a a Python class over the past few weeks, right. Uh, actually that's where it got its name.

I didn't really Yeah. Uh, Python is We'll get into this later, but I just want to set this up. Python is an object oriented programming language. Um. But I'm actually in LESSNSE with the instructors Scott Turnbull, who's a who's a friend, and uh, he was explaining that it's not it's not that you're people are are afraid to

learn programming languages because they seem kind of complex. But it's not that's it's not that you're not smart enough, he says, it's actually that you're not dumb enough because the computer doesn't really understand things. And the computer language is there too to be sort of an interface between you and the computer to give it specific instructions. Because it doesn't know what you're trying to do. You have to be very specific, and that's what the languages are

trying to do. But the thing is that depending on the machine, as Jonathan was saying before, and depending on what you're trying to do. Uh, people keep writing new languages because one language maybe too sophisticated for the particular kind of machine, or as machines become more sophisticated, you might need something to take advantage of that where you

can really use the capabilities of those machines. Yeah, if you look at some of the older programming languages, they just weren't designed to to deal with the operations that modern machines can can execute, and so you end up having to if you're using those older languages, the programs get more and more complex and larger and larger because you have to have more lines of code in order

to facilitate these operations. Um or you have a language that's so complex that it takes you three days just to figure out how to write one line of code to get what you what you want done done. So yeah, it's a little um, it's a little daunting for the layman. Uh. From a high level point of view, there are two main features that programming languages have to have, or that all languages really have, um. And these are not the

only two features, but two main features. One is semantics, which is the meaning of what you are saying, and then the other syntax, which is the form of what you're saying. And the syntax and the semantics together are kind of the set of rules that you have to follow in order for a language to be understandable. And

that really goes for human languages as well. Yes, yeah, all words have to go in a certain order for somebody else to understand them, right, And you can play without a little bit and humans are still able to understand it. For example, so if you speak like Yoda, that's exactly what I was thinking when you said that. Right. If you hear Yoda talk in the Star Wars movies, you know Yoda has his own syntax. He he throws words in in odd odda order all the time, particularly

more in the prequels. I noticed his syntax got funkier the younger he was. As he got older, I guess he cut that crap out anyway, So, uh, nice Frank OSes in the office everyone. So yeah, humans can actually deal with a little variation in syntax. Computers not so much. Computers are not good at adapting to new situations. They have to, you know, you have to be able to program it in a way that it makes sense to the computer, so it can't really interpret if you start

messing with the syntax. There are two main categorizations, I would say for for programming languages. There are low level programming languages and high level programming languages. Yes, Now, a low level programming language is one that is based on mnemonic devices that are easy for a relatively easy for

humans to understand and remember. And they are, but they correspond very closely with machine code, so it's almost like your programming in machine code, but it's just a slight tweak from machine code so that it's not as monumental a task to remember you know, which what is you know, what makes up the letter A as opposed to the you know, the the group of zeros and ones that would normally use that in say binary code. So um, assembly language is an example of a low level computing language.

So if you were to write something in assembly, you'd be writing it in a mnemonic style that closely models machine language. Now, high level programming languages introduce a concept called abstraction. Now, abstraction means you step a little further away from these these specific steps the computer has to go through in order to to execute the operation you're you are telling it to do, and you can get

a little more free with the language. Now, the biggest advancement would be if you created some sort of natural language computer language where you would just type in a sentence and the computer would be able to interpret that as an actual command. So, you know, you would type in, uh, I need you to add these two numbers together, and then I need you to add this set of numbers together, and then I need you to add both sums together, and then I need you to give me an average.

You know, if you just type that in, then the computer, if it had a way of interpreting natural language, would give you the results you wanted. But we aren't really there right. Well, let me let me take this from the opposite side here for just a moment. You don't necessarily want that because hit me with it, because again, as Scott says, programming can be really repetitive, so you're not going to want to type out, um, you know,

I want you to add these two numbers together. And then you know you wanted to actually be as simple as possible, So you don't want it to be literally like that, just that, and I know you know that, but I want to make it sort of clear that it's not you want it to be to express that sentiment in as few words as possible, because you're probably going to have to type out the exact same kind of thing many, many, many times over the course of

writing a program. Yeah, and if you were to write a complicated program in assembly language, you would discover that it's going to be enormous. This is gonna be lines and lines and lines of code because with a language, you are telling the computer what to do step by step. And when I mean what to do, I'm talking about not just telling it which operations to use, but when to access memory, where it has to access it, what

information it has to pull up. I mean every single set of instructions you can think about, you would pretty much have to include there and the computer. If you don't tell it to do something, the computer will not do it. So think of it like a two year old. Yeah, alright, so Chris, you've you've had experience with two year olds. So let's say you tell your two years this is like a Bill Cosby routine. In fact, this is a

Bill Cosby routine. You tell the two year old, all right, you need to go upstairs, take a shower, and go to bed. No, you can't do that because if you just tell the kid to go upstairs, take a shower and go to bed, the kid goes upstairs, gets in the shower fully closed, turns on the water, then turns off the water, and then gets into bed soaking wet.

So what you have to do is say, all right, walk up the stairs, open the door to the bathroom, go inside the bathroom, close the door to the bathroom, take off your clothes, get in the shower, turn on the water, wash shampoo, rents, get out of the shower, etcetera, etcetera. You have to give it every single instruction or else it skips steps or in the case of computers, it may not skip steps. It may just say, well, I don't know what to do because you haven't told me.

Well see I I uh, I don't know that that's necessarily true of all two year olds. I have difficulty weaning mind from the iPad long enough to do anything right. But um, yeah, but you're if you're familiar with the Cosby routine I'm talking about, I am, and that of course, well, you know, being a stand up or sit down comedian. In his case, uh, you know, he exaggerates a tiny bit, but you're you're, you're onto something. And it also reminds me a little bit of the text games when you

have to be very specific. It's like, no, open the

door and go in right. Well, yeah, the text based games that that Chris is talking about, there were these these games that like uh, info games used to do, like games that were all they would give you a paragraph of text that would explain the situation, and then you would type in what you wanted to do next and go left right and there might go left correct, There might be a there might be a very specific way that the game will allow you to move forward.

And if you type in something that's similar to that, like Let's say you type in go north, but the game would only recognize walk north, even though both of those things mean the same thing. You know, if you don't type in the right command right the same thing to us, it means the same thing to us, it doesn't mean the same thing to the computer because it just doesn't it doesn't have that vocabulary. So a similar language, like I said, is more or less the step by

step set of directions for a computer. So that's a low level language. The high level languages, they abstract languages, get a little more free because you have a you have a sort of a step between the programming language you've built a program in and that the way the computer actually executes the code. There's a there's a step in between there, which can vary depending upon which programming

language you're using. Um So, whereas in the first example, you know, I have to go and tell the two year old step by step what needs to happen in order for the desired result that to come out with a high level language, because we've previously defined certain uh

operations and certain data sets. Because that stuff has been defined previously, I might have the freedom to say, go upstairs, take a shower and go to bed, and then the computer because those that set of data and the set of operations have been previously defined will know to follow its step by step, even though I did not lay it all out piece by piece by piece. Yeah, the

more sophisticated languages will let you define those parameters. You might say, I've got I want you to do these fifteen things, and you're gonna have to do these fifteen things seventy five times over the course of this. Well, you might be able to create, uh m, a basically a string of commands and say, when I say do this, that means make all these fifteen things happen, so that it's it's essentially like a shorthand you're yeah, exactly, that's

a better that's even better. Um, so you're going, okay, so every time, So at first you might have to do some some defining. You're gonna have to to explain, uh in the language what you want these these things to do, and then it will be able to execute those those steps. But you know, it hasn't really always been that way. Um. There are many, many, many languages, some of which are are now famous, um, some of which people still need to know because their legacy systems

out there that still run on these languages. Uh. Yeah. I I have a friend who uh um works for as a programming uh programmer, and she basically said, yeah, I work with a language that not only is it older than I am, but it has been mothballed for almost as long as I've been alive. Uh And the only reason they use it is because we're using these computers and this is the language they understand. You happen

to know which one it was? No, I don't, Well, I mean there's not There are thousands of programming languages out there, which is one of the reasons why we can't really do a full episode on programming languages period because there are a lot of flavors, and they don't you know, they take a lot of different approaches to programming. Now, their goal is pretty much the same across the board. The goal is to create a language that is easy for humans to program in in such a way that

they can build applications for computers. But some of these are designed with specific applications in mind. Some of them are things like business applications or banking applications, and or air traffic control systems. Systems that have a very specific set of parameters that you would want to program for, and then the others are more free form, right that the designed for programs that maybe don't have as specific a use scenario. And uh, it's kind of interesting to

talk about the history of these. UM there's actually I wanted to mention before we really get into it. I found a kind of neat timeline. It's an interactive timeline that um you can move your cursor around the timeline. The timeline itself is miniaturized, so when you look at it just looks like a white bar with some gray shading in it. And it turns out the reason for that is because it's an enormous timeline and so when you move your cursor it zooms in. I don't know,

it's got to be like twenty times or something. And or if you to actually read what the the the various languages are, but it said you can find that at www dot l e V E n e Z dot com, slash l A n G so Levinez dot com, slash lang and it's a neat it's a neat time line.

I really do recommend you checking out out if you're interested in seeing sort of the development of programming languages, especially if you want to see which ones were descended from the earliest languages, because that's it's kind of like a family tree, except it's it's laid out horizontally as opposed to vertically. Right now, Um, when i i'm I'm old enough to remember when people used some of the older languages, and so do you know the oldest one

is UM? The the oldest one. The on is credited as the oldest language, even though it was not implemented until for for computer programming. Yes, it is called plunk a cool. Wow, what a catchy name. Plank a cool. It was developed by Conrad Zuza. It was for the Z three computer. Yeah, so program It was created back around so in the so this is a German computer in the forties. It was created but not implemented, so the language was never actually used until two thousands somewhere

around there. This is the Z three came up on in a way earlier podcast that that was before the three hundreds. Oh wait, this is the first of the three hundreds. So if you're talking about the first you know, sort of commercially available UM programming language that wasn't just for a very specific proprietary device, and that's all it was for, because there were some things they're programming languages that are unique to a specific piece of hardware. Yeah,

but you were talking about a different one. I was the first one that that comes to mind when I think of historical languages is for Tran, right, which was we talked about that a little bit in our our epic series on IBM. Yeah. John Bacchus actually helps create the language in nine in n so Actually it wasn't that long after the Z three. I think they actually started developing it even earlier, like in the early fifties. But but yeah, fifty seven was the introduction to the market. Yep, yep.

And it's you know, there are still people who program in FORTRAN. I would imagine, Yeah, there's some legacy systems

out there running on for trend. Yeah, you know. I mean, here's the other thing is that if you create a business or any really if you create any system that's dependent upon a legacy system, it's really hard to move off of that system because you know, the modern systems may not be able to emulate the old system, and so you have to keep supporting something that is otherwise obsolete and perpetually unless you just completely revamp the way

you do things. And that's that's intimidating. It's a tough thing to do. Yeah, I can't imagine anyone booting up their IBM system Stroke three sixty and uh starting to run a Java app on it. I just don't think it's gonna happen. Probably not. UM another one of the languages I was thinking about. UM. There are three really that come to mind, Like when I think of old programming language is tons of others. COBALL is another one, which is the common business oriented language, which is very

business heavy. It was a procedural language that was designed for programming business applications. Uh. And actually COBAL was one of those programming languages that that came into demand again about a little over a decade ago. Do you know why what happened a little over a decade ago? M M. I'm thinking you're probably talking about the major world shaking event that was the Y two K problem exactly. There were a lot of legacy systems that were running Cobal.

They were running Cobal programming, you know, it was it was the systems themselves were programmed in Cobal. And we were coming up on the Y two K problem, which, if you guys don't remember, was the issue of the date, not it was only the date was being expressed as a two digit numbers, which meant that when nine nine became zero zero, that some of these systems might interpret that to mean that the years no longer. It's not two thousand, but is nineteen hundred. But it presupposes the

first two digits were one nine. And that's actually sort of important because, um, you know, not only do programmers look for ways to be very concise. When a lot of people were programming in Cobal when it was first released in ninety nine, Um, you had to be as simple and precise as possible because, uh, you know, a thumb drive, a flash drive has more memory than those machines had at that point. Yeah, you're super computers back

then were pitiful compared to the handheld devices we have today. Yeah, so they had to you know, lopping off the first two digits of the year. Uh, you don't need them, that's two extra digits I don't have to worry about. Well. Yeah, and you gotta remember also, these guys when they were programming, they knew that the field they were in. And when I say these guys, there were female programmers to back in the day. But all of these people they knew back when they were getting into it that this was

a field that was evolving rapidly. Um, there were a lot of different people working on programming languages and and operating systems, and the sky was the limit. I mean, there was nowhere to go but but up and out. I mean it was just brand new frontier. And I don't think anyone thought we're still going to be dependent upon this old system, you know, three or four or five decades from now, where this will be a problem. By then will be on totally different systems and this

stuff will be a long forgotten memory. It's just this is the stepping stone for us to get there. Not thinking, no, there's gonna be companies out there. You still using these old systems because the business, the business reality is that you can't revamp every with every new development, new technological development. Was the old folks, he saying, says, if it ain't broke, don't fix it. And even if it is broken, I'm looking at my laptop, all right. Yeah. The other one

I was thinking about is Pascal episode three. I still have a broken laptop well, which came around around nineteen. I'm just saying it's not working at all. Oh, Pascal, I'm sorry, we're on Pascal. Well. I was just mentioning.

I mean, I'm leaving out tons and tons of languages UM, which was very popular in the seventies and eighties, which you know, as I was growing up, I just heard a lot of people programming in pascal UM and it was just a very very It was actually sort of a descendant UM of four tran and in some ways UM. But you know, also in the seventies, I have this feeling we need to to start tightening up because we're probably getting shorter on time. Uh see the the snow

seat not see um. Yeah see that just a letter c UM started to enter usage. And I remember when I got my Amiga that a lot of people were starting to get into a descendant of C. You know, C plus you got C plus plus yeah. Yeah. See

see we're having around types of language. But yeah, the C language was one of those that was kind of intended as a system programming language for uh, for the PDP, and then it ended up kind of exploding beyond that and some programmers will tell you that it got out of control, that people were using it well beyond what it was supposed to be used for. And that's kind of why we have the development of C plus and

then C plus plus. These were enhancements to that C programming language to take into account new capabilities of machines that CE just did not support. And you know, you could program and see if you wanted to for these these capabilities, but it would mean that your program would have to be that many more lines of code to be able to incorporate all the stuff that you could do now. And C plus and C plus plus meant to try and make that a little more elegant. But

even then you still have programmers saying that's out of control. Um, I do want to backtrack just one second. I want to mention one major programming language that was never really meant to be a big programming which was meant to be a teaching tool. Basic. Yeah. I was going to mention that I did some of my research UM from Britannica and uh it had listed UM fortran and see as UM algorithmic languages and COBAL as a business oriented language.

But Basic was definitely and Pascal too, were both education oriented languages. Yeah. Basic stands for beginners all purpose symbolic instruction code. Yeah, this is this is old by today's standards. Yeah. Yeah. And I found a great quote. It's an anonymous quote, so I don't you know, it's kind of hard to call it a quote in that case. This is the one you're gonna did you already shared with me? Yeah? Yeah, I love this this quote. Though Basic is two computer languages,

what Roman numerals are too arithmetic? The idea of being the Basic teaches you the basic principles of programming, but was not meant to actually design complex programs, right. It was just meant to give you the the the basic essentials. But that didn't stop people from actually programming fairly complex applications in Basic, which meant that you had to create lots and lots of lines of code in order to

create these, um, these these programs. Yeah. My my first experience in computer programming, actually writing computer programs myself, was in Amiga Basic, which I used on my Amigo one thousand, UM and I remember it was. It was every bit as tedious as you might imagine. I did have a lot of friends who coded on Commodore sixty four's and Vick twenties for that matter. Um, and they were pretty much using Basic too. It's a matter of factored. I also can remember the days when you would find basic

code in the back of computer magazines. Oh yeah, here's a great program, and I will teach you how to do this, and this is this is one that will project your birthday indefinitely. Yes, you know stuff like that, you test handy like it would tell you like what day of the week your birthday would fall on from that point forward. That kind of stuff. I mean, that's you know, it sounds kind of silly, but it was

teaching people to the basics of computer programming. Yeah. Absolutely, And there are people who are I've read several accounts that there are many people who are in who are programmers today who write amazing stuff, right that the video games, the three D video games that everybody loves so much. And they started writing basic on their home computer, which was, you know, a tiny little machine, you know, like an

Apple to E or something six four. You've got, Um, you gotta start somewhere, just start somewhere, and it's kind of it's it is pretty fascinating. Did you have a p L on your list. A p L. Yeah, it stands for a programming language. I'm not joking. You know the computer people really like those those uh yeah, those those acronyms that when you when you break it down, you're like, come on, it's it's late in the day on Friday, and I can I forgot what that. Technically,

it's not an acronym. We're going to get someone to write in because acronym has to no, it has it has a name. And I'm because I'm hungry and it's the end of the day, I can't remember what it is. Yeah, we usually do this in the morning, but because this is Madness and episode three hundred, we're actually doing this in the afternoon. Also, I had something else I had to do this morning, so anyway, but yeah, a programming language. It was mostly used for accounting packages and air traffic

control systems. But the thing about a p L is that it had an enormous character set. Now, most programming languages use your basic letters, numbers, and symbols for like the things you find on the keyboard basically as key character exactly. A p L is not like that. It is a whole set of characters that you're not You can look at that keyboard all day long, you are not going to find the symbols that appear in an

line of ap L code. But because it has this enormous character set, it also is able to uh incorporate lots of different operations into a single character. So a program that might take five thousand lines of code mode in some other programming language may only have to take a couple of dozen lines of code in a p

L if you know the character set. But that character I mean, it's a huge learning curve, right, I mean, with this it's almost as difficult, not really, but from a layman's perspective, it's almost as difficult as programming in machine code itself, just because it's so dense. Um. I actually looked at some code for a program that was an early basic program and I and it. I forget how many lines it was, but it was. It was.

It was a lot like a hundred lines and it had been summarized into a single line of a p L code. Yeah, it was. It was. No, I had to take the word for it because I don't read a p L code, so I can't really tell. Also, this was making me think of Jonathan Coulton's song code

Monkey because his his code is not functional or elegant. Well, this is also where hackers come from, right, I mean, besides the physical hacking of machine, usually had actors who would say, I want to make a program that does desired outcome number one, and in order to do that, I'm gonna code it this way. And it may not be the most direct or elegant route. It may be kind of cluji that you make your way through there and you finally get to where you're going, but you

took the path less traveled. Robert Frost would have loved your computer program. But uh yeah, you know that a lot of hackers learned how to program this way. They would have their their set outcome and they would program their way to it, but the code might not be the most elegant. So uh yeah, we we should mention to the object oriented type programming languages, which is one of the more modern I would say phases of programming

and more common today. Um not just to skip over any others, I know there's probably other a couple other of the earlier variety that you would like to mention. I've got one that I'll talk about at the end. But um, but that's but it sort of builds on that idea basically that you are. It's a way to

manage how complex your programming is getting. Yeah, Usually if you were to create let's say you create a program in some and one that's not an object oriented programming language, you have this for example, Yeah, you have the set of data, and the entire program has access to that same set of data. With object oriented programming, you actually specify in which cases certain certain data gets used and

how it is used. So you have very specific methods of dealing with that data and they can only be used in that in that scenario within a program. And this kind of cuts down on the possibility of having these weird coding errors because you you know, because of the rules of the programming language, you cannot misuse data at least in theory. Give a person enough time and there will find a way, right. But you might be

able to speak more to it than I can. Like, my knowledge of programming is really from an academic standpoint, but I don't have a lot of experience with it. So did you want to elaborate anymore? I honestly, that's about as far as I can get in depth for object oriented programming, right right, Well, it's it's hierarchical and it it basically it's a lot more elegant simply because and I don't want to get the idea that I'm a master program or anything like that, but it is

fascinating to be able to build this yourself. It's it does, as you said, get into that hacker uh philosophy, it's not. It's about taking things apart and trying to make something

better with it. And of course those the people who hack into networks are doing using the same kinds of tools for purposes that may or may not be illegal, probably are not necessarily moral, all infiltration and manipulation, but of course you know they're the ones who get all the pressed, so that that that's where the negative connotation for hacker gets in. But yeah, I mean this is these these are the more sophisticated languages it you see today, Um,

you know, stuff like C plus plus uh. Simula actually was the first, according to Britannic in nineteen sixty seven. But you know there are others. You know, Java, Let's say I thought Java was at least a semi object oriented. Yeah, programming language and Python. There are many many others. I know that you are interested in one of them, just as from a historical standpoint, it's a it's a governmental language, is A yes, it is. That was the one that

was going to mention. Yeah. Ada is the programming language. It was commissioned by the Department of Defense in the nineteen eighties, and the reason for commissioning it was they wanted to have, uh, their own computer programming language for their their systems. And Ada is kind of a descendant of the Pascal language. Um, you, miss Lovelace. It's not a lot of people's favorite language. I understand it can be a little tricky at times, um, but you know,

it's it's funny shifting between languages. Uh. You know, I'm also trying to learn Php at the same time, and some of the constructs in PHP are completely removed in Python as I'm learning, and that makes trying to learn two languages simultaneously a little daunting. It's kind of like learning two languages that are related but not perfectly in sync. Like if you were learning say, French and Italian, that

would be fairly easy. The rules, the rules are very similar and right right, but French and Latin might be a little more challenging because you have cases in Latin that are no longer used in modern French speech. So yeah, the further away you get from that common well, in this case, Latin is the common ancestor, Latin is the ancestor to French. But then you can go uh all the way out and say French and Chinese, in which

case there's no, there's no common ground. No, you don't even you're not even using the same symbols to represent words Latin and old fresh in for example, that's for my that's for my old English peeps. I was gonna say, you had to bring the Frissian in it. That loss god kinning, y'all, that's how I roll Old English style. Um so, so how are we doing on time? Where

we need to wrap this up? So yeah, this is a This was our overview, and we will probably at some point go into more depth on specific programming languages, maybe talk about their development and and one exactly it means to program in those languages. Yeah, yeah, that was that. This is another one's topics that's kind of difficult for us to tackle in a lot of depth because there is a lot of there's a lot of breadth to it.

There's a wide for I mean even stuff like HTML, which which is isn't really a programming language, a markup markup language, but it shares some similarities to programming languages because it has sets of instructions that tell a computer

how to do certain things right. And it's for somebody who might be tempted to try programming but be afraid of it, and he really shouldn't be, uh, but it might be a way to get your feet wet, to at least get an idea that, hey, this is what's going on in the back end, but when it's on the front end, it looks completely different. It looks polished. You don't see any of this stuff. What's that's a lot like what actual computer programming is. Like. Yeah, so yeah,

I'll tell you what. Why don't you let us know on Twitter or Facebook if you have specific languages or touch languages, maybe we can revisit it in more detail. Um, but yeah, I would encourage people to at least try it out because it's it can be a lot of fun, and it could be extremely frustrating. But if you like frustrating things, that are fun, programming might be for you. Yeah, just just remember, at least you don't have to worry about punch cards and getting punch cards out of order.

But we talked about punch cards in the past, so that's why I felt good about We felt all right about skipping over that. We didn't talk about compilers either. No, no, no, But there's so much. I mean, there are entire college courses that are based around just the principles of programming language and college degrees exactly. So coming it all up in a half hour podcast or in this case, a

thirty eight minute podcast is a little challenging. So if you guys want to know more about specific programming languages, like let's said, let us know on Twitter or Facebook that are handled. There is text stuff h s W, or you can send us an email and address is tech stuff at how stuff works dot com. Happy three hundred episode Chris, Happy three hundred to you too, Jonathan, and we hope to talk to you guys again three hundred more times really soon for moral news and thousands

of other topics. Is it how stuff works dot com. To learn more about the podcast, click on the podcast icon in the upper right corner. Of our homepage, The How Stuff Works iPhone app has arrived. Download it today on iTunes, brought to you by the reinvented two thousand twelve camera. It's ready, are you

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android