re: Explain Build Tools like I'm Five VIEW POST


In programming, there are layers.

The layers on the bottom are the most basic layers possible.

The layers at the top are things you can easily touch and play with. Things that are easy to move and understand.

When you use a build tool, it will take what you made and break it down into the smallest possible pieces for your computer or browser to run.

It is possible to work without them, but at great cost since it takes a long time to do these processes manually. This is why these tools exist.

When you're looking at your code. It's the top-most layer. It's easy to read and to play around with, but it's in a format your browser or computer may not understand by itself.

So, the build tool breaks it down into native languages like JavaScript and HTML for your browser, or deeper languages that can interact with your computer's operating system.


Pardon me, but I don't think Js is a native language, and so do HTML/CSS. A script language needs an interpreter to run. I think in Js's case, interpreter is the build tool.


Just about every language needs an interpreter of some kind. JS is interpreted by the browser. In my layering example, the browser interprets CSS, JS, and HTML. They're native in the browser space.

Ok, I think I misunderstand the term 'native' of yours.

Maybe instead of native, I should have used the word 'abstract'. Build tools break down languages like JSX and Typescript into abstracted primitive versions that a browser can easily interpret.

code of conduct - report abuse