# Building with Nock

While you will typically prefer to use a high-level language that compiles to Nock (see [Languages](../languages/index.md)), there are times when you may want to code directly using Nock.  This section covers some of the building blocks you'll need in order to do so.

* [Kernels](kernel)
* [Virtualization](virtualization)
* [NockApp and Nockchain](nockapp)
* [Nockasm](nockasm)
