uccser/cs-field-guide

View on GitHub
csfieldguide/chapters/content/en/programming-languages/programming-languages.md

Summary

Maintainability
Test Coverage
# Programming Languages

{glossary-link term="program"}Programming{glossary-link end}, sometimes referred to as coding, is a nuts and bolts activity for computer scientists.
While this chapter won't teach you how to program (we've given some links to sites that can do this in the introduction), we are going to look at what a programming language is, and how computer scientists breathe life into a language.
From a programmer's point of view, they type some instructions, and the computer follows them.
But how does the computer know what to do?
Bear in mind that you might be using one of the many {glossary-link term="programming-language"}languages{glossary-link end} such as Python, Java, Scratch, Basic or C#, yet computers only have the hardware to follow instructions in one language: a very simple "machine code" that is difficult for humans to read and write.
Then if you invent a new programming language, how do you tell the computer how to use it?

In this chapter we'll look at what happens when you write and run a program, and how this affects the way that you distribute the program for others to use.