If you've just begun programming, you might come across this word, "syntax." For simplicity, syntax is merely the grammatical rules of a programming language like Python. English also has a syntax, which is its rules of grammar.
Semantics, on the other hand, refers to the underlying meaning. If you know the difference between syntax and semantics, your programming journey would become easier. Let's look at it briefly.
Consider the following statements:
- Print the line "hello world" to the console
puts "hello world"
cout << "hello world";
They all look slightly different, but you can instantly recognize that they all print "hello world" to the console screen. Thus, semantically, they're equivalent, because they all mean the same. The difference between each of the statements is only the language (syntax).
When learning to code, you are given a line of code like
puts "hello world" and told what it does in English. But you're never taught the reverse, which is coming up with an idea in English and then translating it into Python.
Let's look at an example of this:
Let's consider the following English statement:
Take a number from the user, and print the square of it
We can break this down as:
Take a number from the user
Calculate the square of it
Print the squared number
Now, we can translate each line into Python easily:
# Take a number from the user number = input("Enter a number: ") # Calculate the square of it # (Of course, we'll have to convert the string into # a number first) square = int(number)**2 # Print the squared number print("The squared number is: ", square)
See? An easy way to get started with projects of your own is to write down steps in English, and then translate it piecemeal into Python (or any other language of your choice).
As you practice this more, you'll get to a point where you can do all of this mentally for small programs rather than physically writing things down.