Benard Sulejmani

0 %
Benard Sulejmani
WordPress Developer
Front-End Developer
  • Work Types
    Remote, Freelancer
  • Work Hours
    09:00-21:00 (GMT+1)
  • Work Days
    Monday - Saturday
  • Work Space
    1001, Tirana, Albania
Technologies
  • WordPress 6 + eCommerce
  • Elementor PRO + WPBakery
  • CSS3/SASS + JavaScript ES6
  • Bootstrap 4-5 + Foundation
  • PHP 8 + MySQL 8 + cPanel
  • Adobe XD + Figma / Sketch
  • Photoshop + Illustrator (CC)

5 stages process of JS proposals.

16 May, 2023

 

JavaScript proposals should be approved.

 

All TC39 proposals progress through a five-stage process – of course, since we are programmers, it’s 0-based! – Stage 0 through Stage 4. Stage 0 means someone on TC39 thinks it is a worthy idea and plans to champion and work on it. Look stage process here: https://tc39.es/process-document/

That means lots of ideas that non-TC39 members “propose,” through informal means such as social media or blog posts, are really “pre-stage 0.” You have to get a TC39 member to champion a proposal for it to be considered “Stage 0” officially.

Once a proposal reaches “Stage 4” status, it is eligible to be included in the next yearly revision of the language. It can take anywhere from several months to a few years for a proposal to work its way through these stages. TC39’s GitHub repository: https://github.com/tc39/proposals

Anyone, whether on TC39 or not, is welcome to participate in these public discussions and the processes for working on the proposals. However, only TC39 members can attend meetings and vote on the proposals and changes.

So in effect, the voice of a TC39 member carries a lot of weight in where JS will go. Contrary to some established and frustratingly perpetuated myths, there are no multiple versions of JavaScript in the wild. There’s just one JS, the official standard as maintained by TC39 and ECMA.

Back in the early 2000s, when Microsoft maintained a forked and reverse-engineered (and not entirely compatible) version of JS called “JScript,” there were legitimately “multiple versions” of JS. But those days are long gone.

It is outdated and inaccurate to make such claims about JS today. All major browsers and device makers have committed to keeping their JS implementations compliant with this one central specification. Of course, engines implement features at different times.

But it should never be the case that the v8 engine (Chrome’s JS engine) implements a specified feature differently or incompatibly as compared to the Spider Monkey engine (Mozilla’s JS engine). That means you can learn one JS, and rely on that same JS everywhere.

 

Definition of JavaScript Language

 

We can define JavaScript in many different ways. A good definition is that it’s a high-level object-oriented, multi-paradigm programming language. Let’s deconstruct this just a little bit to at least make some sense out of this. And starting with programming language itself, a programming language is basically just a tool that allows us to write code that will instruct a computer to do something.

Then we say that JavaScript is a high-level language, which means that we don’t have to think about a lot of complex stuff such as managing the computer’s memory while it runs or programs. In JavaScript, there are a lot of so-called abstractions over all these small details that we don’t want to worry about. And this makes the language a lot easier to write and to learn.

Next, we say that JavaScript is object-oriented. And all that means is that the language is mostly based on the concept of objects for storing most kinds of data. And of course, we will learn all about object-oriented programming throughout this course.

Finally, JavaScript is also a multi-paradigm language, meaning that it’s so flexible and versatile, that we can use all kinds of different programming styles, such as imperative and declarative programming. And these different styles are just different ways of structuring our code, basically.

Anyway, now that we know what JavaScript actually is, and what role it plays in web development, or in other words, what do we actually use it for? To answer that question, let’s actually look at three core technologies of the web, HTML, CSS, and of course, JavaScript. These three technologies all work together to create beautiful, interactive, and dynamic websites or web applications.

The HTML is responsible for the content of the page. The text, the images, the buttons, and all the contents that you see on the webpage is always written in HTML. The CSS is responsible for the presentation of that content. So basically for styling and for laying out the elements on a webpage. And JavaScript is the real programming language of the internet.

JavaScript allows developers to add dynamic and interactive effects to any webpage. We also use it to manipulate the HTML or the CSS, load data from remote servers, and really build entire applications in the browser, which we then call web applications. Now, we can also use the analogy of nouns, adjectives, and verbs to make this separation of roles a bit easier to understand.

So in this analogy, HTML represents the nouns. For example, saying that the element is a paragraph. And so paragraph is the noun here. The CSS style ‘color: red’ is the adjective, because it describes the noun, like saying the paragraph text is red. And finally, JavaScript is the verb, like saying hide the paragraph, so it allows us to action and to add dynamic effects to pages.

Posted in JavaScript, Language