Neon is a high-level, statically typed, garbage collected, imperative programming language intended for teaching and learning the craft of programming. Its design borrows features from many popular languages, yet carefully avoids common errors encountered by beginning programmers in other languages.

Neon arithmetic uses decimal floating point, eliminating surprises that sometimes arise with binary floating point. Symbolic operators are unambiguous and usually have only one meaning. Pointers are supported, but null pointer errors are not possible by design. Names cannot be shadowed, eliminating a common source of confusion.