Block-based coding, sometimes known as block based-programming, is coding within a programming language where instructions are mainly represented as blocks. Scratch is a block-based programming language.

Why Scratch is a block-based coding language

Scratch uses blocks to represent its scripts, like

when gf clicked
say [Hello World!]

While "say", and "hello world!" are not blocks, but text, the language counts as block based because it is mainly oriented around blocks. However, tosh, which is a language like Scratch but completely typed, is not block-based, but instead text-based.

Text Based Languages

If a language does not involve blocks as a main part of its programming language, but instead is mostly oriented around text, then it is known as a text based language.

Advantages and Disadvantages

Both text-based and block-based languages have advantages and disadvantages. Block-based languages tend to have a pallet of commands to choose from, making memorising commands unneeded, and therefore easy for beginners to start coding. However, it may be slower to code in a block-based language than one where a user can quickly input commands using their keyboard.

It should be noted that some text-based languages are still designed for beginners, for example, Logo, and some block based languages may have unhelpful names for blocks that may make it difficult for beginners to start using

Examples

Languages that are text based include

Languages that are block-based include