Every day, TCC volunteers take up one jargon that is used in the tech world and de-jargonize it.

This is aimed at improving the tech vocabulary of the members.

Samples

🀯 De-jargonize This: Build

Let’s de-jargonize the word build today 🧐

We commonly hear this word from developers that β€˜The build is ready to deploy’ or you may hear them saying β€˜I have got some build errors to fix’.

You may be wondering what does this build mean and how is it different from the code the developers write.

Programmers use programming languages which other programmers can understand and write instructions with. These languages are called high level programming languages.

But the computer/machine can not directly understand this language used by the programmer. It needs to be converted into machine readable code.

This process of converting the code written in high level programming language into machine readable and executable code is called compiling.

When you are writing software it is not just one program that can serve all the functionality. There will be multiple programs that need to work together to fulfill the functionality required. These are generally called components.

These components can be written by the same programmer or a different programmer or a different third party altogether. These components needs to work together to provide the desired functionality to the user.

Now, this is where the term β€˜build’ comes into play.

Some process should help to link these dependencies, compile and make these components work together.

That process of bundling these interdependent components, compiling it to machine readable and executable code is known as β€˜Build’.

Hope this clarifies πŸ‘

🀯 De-jargonize This: JSON

There is a high chance you have heard some developers talk about "passing a Jason from the backend to the frontend" and wondered who this Jason was grin

They were not talking about a person but instead, a concept called JSON.

JSON stands for JavaScript Object Notation. It is pronounced like Jason.

What is an Object Notation?

When you are writing software to be used by the real world, you need to model the real world in your programs. For example, if you are building an HR software, you need to model an Employee in your programs.

This modeling is done by using something known as Objects. Remember in this TCC blog about reading code, we spoke about Objects at length?

Very often, we need to pass the objects among multiple systems - like between front-end and back-end, or between our software and another software we integrate with.

For example, we might want to pass a particular Employee object from the backend to the frontend of our software.

When we do that, we need a way or a notation to represent this object so that both the backend and the frontend can understand it. JSON is a notation that helps you to do that.

For example, one could use the following JSON to represent a particular Employee object. Don't miss to read the comments in the following code sample too.

{  // This is where the employee object starts
  "firstName": "John",
  "lastName": "Smith",
  "isAlive": true,
  "age": 27,
  "address": {  //address has many sub-items, so it is an object within the employee object
    "streetAddress": "21 2nd Street",
    "city": "New York",
    "state": "NY",
    "postalCode": "10021-3100"
  },
  "phoneNumbers": [  // Multiple phone numbers, hence an array.  Notice the square-bracket?  This means 'array'
    {
      "type": "home",
      "number": "212 555-1234"
    },
    {
      "type": "office",
      "number": "646 555-4567"
    }
  ],
  "children": [], // No children - Empty array
  "spouse": null
}

// PS: This is shamelessly copied from Wikipedia

One big advantage of JSON is that it is human-readable grin

Is this used only in JavaScript?

No. Initially designed and used for JavaScript code, the JSON format is now recognized in almost all programming languages. It is also the standard for passing data in APIs over the internet using HTTP. Somehow, the name stuck!

That's it for today! Until we meet you with the next jargon,

{
"sender": "Vivek",
"senderRole": "Volunteer",
"receiver": "Passionate Learner",
"message": "Bye! See you later!"
}

I sincerely hope you got my above message smile

🀯 De-jargonize This: API

What is an API?

API stands for Application Programming Interface.

API is an interface that an application exposes so that it can be programmed by something external to the application.

  • The word application refers to a software. Example: Twitter, Facebook, Microsoft Word, Microsoft Windows, etc.
  • The word interface here means a way for an external system to communicate with the application. Today’s world is filled with lots of APIs exposed over the internet, known as Web APIs.
  • The word programming here means changing something in the application, like, adding more records, changing settings, etc.

For example, Twitter (application) exposes an API using which any software can contact Twitter and request Twitter to do things like creating a new tweet, following a person, etc.

Why would an organization making an application expose APIs for it?

Because they want other software to integrate with their application. For example, by exposing web-based APIs, Twitter has made it easy for any other software to integrate with it.

Most of the times, integrations between two softwares (like Linkedin and Twitter) generally add value to the user. For example, when you connect your Linkedin with Twitter, there is an option where Linkedin will automatically send a tweet from your twitter id using the Twitter API. This way, the user need post in two platforms but just one.

Modern web development is all API-based

In the modern web application development, people consider the front-end/UI as a separate application and back-end/Server as a separate application. They expose HTTP based APIs from the server for UI to connect to.

🀯 De-jargonize This: HTTP πŸ”’
🀯 De-jargonize This: Framework πŸ”’
🀯 De-jargonize This: Code Coverage πŸ”’