Coding or programming? Do they mean the same thing? Eminent mathematician and computer scientist Leslie Lamport believes they refer to two different concepts and they cannot be used interchangeably.
Coding is about writing code while programming is coding and thinking. One way to think about this is a recipe, he said. “A program is a recipe, it describes a dish.”
“How do you implement the different ingredients, or details like what kind of bowl or utensils to use,” he added. “Nobody expects you to compile the recipe that makes the bread for you.”
Programming is the thinking part, he stressed, it describes how to arrive at a desired or planned outcome. Coding is about putting the different steps together to get to this outcome.
So young children should be taught programming and coding because just learning one without the other is not sufficient, he argued. It is like learning to type does not mean someone can write, he said at an interview with Techgoondu last week.
Lamport, 79, was among the 17 eminent leaders in science and technology who attended the annual Global Young Scientists Summit (GYSS) held at the Biopolis in Singapore last week. Lamport was a recipient of the prestigious Turing Award in 2013.
A mathematician, Lamport had a distinguished career in computer science while working in companies like SRI International and Digital Equipment Corporation. He is a Distinguished Scientist working at Microsoft Research.
He wishes to encourage programmers to use mathematics as an approach coding. Mathematics requires precision, he explained. “To build real systems you want to get it right, your ideas need to be precise. You cannot start with a fuzzy notion.”
Precision requires thinking. Before writing any code or program, computer scientists have to think about the concepts and the specifications. Getting it right the first time, means there will be fewer bugs to troubleshoot later, he added.
A mathematics-based programming language Lamport designed, called TLA, does exactly this, using mathematics to describe the systems that are being built.
TLA is being used in Microsoft, Amazon and other companies. Lamport is currently promoting this concept by producing video courses and writing technical books.