Should Programming Language Syntaxes Be Easier?
Have you ever ordered something online and you got something different from what you ordered? Most likely you have, the "What I ordered vs What I got" is a trend for a reason, by copying the quoted text and looking it up, you'll find so many pictures that will make you laugh so hard you just might earn yourself a reprimand from HR, except of course if you're HR ๐.
PROGRAMMING SYNTAXES ARE A CONCERN TO MANY CODE NEWBIES
I've seen several people learning the ropes of software development complain about how difficult software engineering is because of the syntaxes. Many have complained that it should be possible to write code in the same way we write English and have the machine understand it (something akin to what GitHub is working on with Github Copilot). More hilarious is when Python developers complain about this ๐. As far as software development goes, Python is most likely the closest to a human language that a programming language can get, they have it easy in the opinion of most developers.
SPECIFICITY IS KEY IN SOFTWARE DEVELOPMENT
Let's try to understand why programming languages are a bit difficult to make into a human language. Remember my first statement about ordering things online and getting disappointed? well, software programming languages tend to want to avoid that. Programming languages are the way they are in order to ensure that developers are as specific as possible when creating software solutions. If there is any ambiguity in the process of development, that ambiguity is a loophole that can be exploited which is why specificity is key.
OUR DIFFERENT IMAGINATIONS ARE WHY WE NEED SPECIFICITY IN CODE
I want you to visually imagine a nail. Chances are a lot of us imagined nails of different colours, lengths, and sizes. If there's anything we can appreciate in technology, it is the fact that it is universal. Hashnode is accessed from different parts of the world and we typically get the same experience regardless of where we are. Imagine for a second that software programming languages isn't very specific and leaving things to the machine to figure out, we most likely won't have a reliable product. Machines themselves aren't sentient, they only know what we tell them. This is why we need to teach machines to do what we want them to do.
PROGRAMMING HAS TO BE AN EXACT SCIENCE
If we were to create a nail using programming languages, we would most likely define the weight, size, thickness, length, materials and a plethora of other features in order to ensure that the machine gets a clear picture. This is fundamentally why software development is an exact science, if two people do the same things using the same resources, they will get the same outcome.
A lot of work is being done in order to make software development easier, however, we will always have the need for bespoke software solutions because clients typically want something different or usually have some small tweaks they want. The day software development becomes a "one size fits all" is the day all civil engineers build the same colour, size and type of buildings. There are places where buildings look similar, however, it is the exception and not the norm.