
EmeraldHike
Member
- Joined
- May 10, 2021
- Messages
- 133
- Reaction Score
- 0
- Points
- 21
- #1
What is JavaScript?
Technical people have got to be some of the most challenging types of folks to listen to while trying to learn about technical things. That’s a pretty big statement, but I think I’ve lived long enough to realize that it’s got some merit. I’m sure we can all remember back to high school or college when we had that very, very qualified teacher or professor. While they were teaching, you just couldn’t seem to grasp what they were talking about. And it seems that the smarter they were, the more of a challenge they had at getting their point across.The Challenge
I think the underlying issue with what I’m discussing here is that really technically oriented types gloss over important parts of what they’re conveying. And since we’re talking about JavaScript in this post, I’ll give you an example.ME: Hey, I’m playing around and I want to get that annoying little box to pop up in my browser. How do I do that?
HIM: Just alert it from the console.
Do you see what I’m talking about? Let’s take a closer look at what just happened above. Obviously, I have zero experience in JavaScript and this is why I’m asking such a simple question. If I had taken even the most rudimentary of courses or tutorials on the subject, I would know what the “alert” command was. If I knew that much, I would possibly have some experience with the console. Now, since I don’t know what an “alert” is, I most certainly don’t know what the console is. The fact that the person I asked the question to couldn’t pick up on that is a good example of what I’ve alluded to above. It happens all the time and this is why I say that technical people make tough teachers to learn from. It’s either because they don’t have enough time to think about such trivial matters or they just don’t know how to get so basic anymore.
Let’s just say, there are a lot of assumptions flying around out there and in order to get good at something, we need to start at the beginning. The real beginning.
Some Credentials
Before I go any further, I’m going to give you my credentials. Since I’m just starting out, you already know I’m no expert. I do have a pretty good idea of how to explain things though, especially to beginners.So far, I’ve taken a few classes in JavaScript.
Treehouse
Introduction to Programming
JavaScript Basics
JavaScript Loops, Arrays and Objects
Interactive Web Pages with JavaScript
jQuery Basics
AJAX Basics
Lynda
Foundations of Programming: Fundamentals with Simon Allardice
JavaScript Essential Training with Simon Allardice
JavaScript for Web Designers with Joe Chellman
As you can see, I’ve had my fair share of opportunities to listen as someone explained to me exactly what JavaScript is. I must say, the instructors in these videos did a pretty good job. I now do know what JavaScript is. Not in a theoretical sense or anything, but I know what it is, what it does and what it’s capable of (Well, not really. That’s never ending.).
My Explanation
What I’m going to do here is attempt to explain what JavaScript is in the most simple and basic way, then give you the typical explanation of what it is that you’ll read and hear a thousand times. After that, we’ll call it a day.So, what is it? Well, most simply put, JavaScript is an assistive translational tool. You have a thought in your head and you want that thought to happen on the computer screen. Working from my example above, you want to see the annoying pop-up box – you just don’t know how to make it happen. You can’t wish it were there and you can’t make it appear by wagging your finger at it, but you can command the computer to show it to you while using a language it understands.
ME: Show up you little box!
COMPUTER: I really don’t know what you’re saying. I don’t even have ears. Perhaps if you asked me in a way I understood, we’d both be happier.
ME: Okay, fine. How about:
Code:
alert("Hello! I am an alert box!");
COMPUTER: Ah, now you’re speaking my language.
It’s like learning any language. As an English speaker, if I wanted to ask where the bathroom was and eventually go there while visiting France, I’d need to ask a French person in their language. I’d say something like, “Où sont les toilettes?” If I did that, I’d end up in the bathroom. If I simply said, “Where is the bathroom?”, I’d get a funny look. The same look the computer gave me when I begged it to pop up an alert box.
Again, JavaScript is an assistive translational tool. As is any programming language. Once you understand that fact while you’re programming in JavaScript – you’re simply translating your thoughts into computer-speak – you’ll have an easier time. Some of the fight will be gone. You’ll begin to accept what you’re doing. All you need to do is to learn exactly what that computer-speak is – that’s what all those classes out there are for. They teach you what to do.
Some More Formal Definitions
As promised, I’m now going to go over some of the more popular definitions of what JavaScript is. I’ll pull a few definitions and then discuss them.Wikipedia – JavaScript is a dynamic computer programming language. It is most commonly used as part of Web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed.
W3Schools – JavaScript is the programming language of HTML and the Web. Programming makes computers do what you want them to do.
Mozilla Developer Network – JavaScript (often shortened to JS) is a lightweight, interpreted, object-oriented language with first-class functions, most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB.
People out there like to say that “JavaScript is the programming language of the web” and that “JavaScript is object-oriented.” I think I like the second definition above when it says that “…programming makes computers do what you want them to do.” That one is pretty good. If I had to explain it to a third grader, that’s probably what I’d say. To further assist you in understanding the definitions of JavaScript above, I’m going to break down the key terms.
Key Terms
Programming Language – A programming language is a formal constructed language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express algorithms. (read more)Dynamic Programming Language – You can read all about what makes a computer programming language dynamic versus what makes is static right here.
Interpreted Programming Language – An interpreted language is a programming language for which most of its implementations execute instructions directly, without previously compiling a program into machine-language instructions. The interpreter executes the program directly, translating each statement into a sequence of one or more subroutines already compiled into machine code. (read more)
Object-Oriented Programming Language (OOP) – Object-oriented programming (OOP) is a programming language model organized around objects rather than “actions” and data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data. (read more)
Scripting Language – A scripting language or script language is a programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks that could alternatively be executed one-by-one by a human operator. (read more)
Wrapping It Up
I think I’ve covered most bases here. I think the best thing about writing this type of thing out, for me anyway, is that I have to do research. Every time I look for a definition of something, I have to read it to make sure it fits into what I’m trying to convey. Each time I read it, I learn and that’s what it’s all about.Do you have your own definition of what JavaScript is? Is it super-simple, sort of like what I described it as or is it much more thorough? If you have something, I’d love to hear what it is via the comment form below. Go ahead – show off what you know!