In computer science, a high-level programming language is a programming language that does not require knowledge of computer hardware. The advantage with high-level programming languages is that programmers only need to understand the syntax (i.e. the type of structure of the code) of the programming language and don't have to understand computer hardware to program well. Low-level programming languages require knowledge of both the syntax and the hardware they are programming for.