Understanding Code
Published: 2020-11-28 22:31:37

Hey all, I hope that everyone who read or has read by blogs before had a good thanksgiving ( or just a regular thursday if you are not from the US ). During thanksgiving my father was talking to me about coding. He is close to retirement and I think that he is thinking of things to do now that he is going to have more down time. He was wondering what I thought might be a good language to learn to start coding. He doesnt want to actually code but he wants to be able to "understand the logic". 

I thought it was kinda funny, but I had a couple glasses of wine so of course I jumped right in to that conversation. He brought up C++ and Python. Both of which are languages that I am not extremely versed in. Luckily python is pretty easy to understand. We talked about some things that I think are kind of interesting and I am going to share them now as "food for though". I also would like to pose a question or two for the general audience of this blog to maybe think about or voice in on.

So when he said that and mentioned the two languages the first thing I thought about was the possibility that python, being newer and sort of more "hot", would be possibly easier to learn for someone like myself. But my dad is 63 and what might be easier and prettier, therefore possibly simpler to understand for me might not be as easy to understand for him. Things in python like indentation for blocks might seem really intuitive but I dont know how declarative it might be for understanding a code block and scope. 

While I dont know much about C++ I sort of made the assumption that it might be more strict, similar to Java. In a sense I thought that this might be better for someone like my father to learn the logic. While abiding by stricter rules it might be harder at first, but it will ingrain itself more thoroughly. 

At the end of the day I told him that even though I learned Javascript first, which isnt a strict language by many others standards, I can still read a lot of different codes in different languages and figure out what they mean. I think thats what he really wants, to just be somewhat literate in coding so that he can at least somewhat understand what is going on if he were shown some sort of function or whatever.

So I guess the question I would pose is what makes a coding language the most general? What makes a coding language versatile? It seems like a lot of languages are built for a purpose. Not exactly a single purpose but a direction maybe would be a better word. Eventually in my talk with my father I sort of got to this point, it doesnt matter. It doesnt matter what language you learn, because unlike real languages, there are things that are written in whatever language you choose that will be "universal". 

Understanding this pattern I think is what is really needed for understanding what code means is trying to do in any language. Whether or not you can write the code without a lot of referencing to documentation is one thing. But as long as you understand what data structures are in play, how conditionals work and whatnot, it really makes it so that you can understand any language. 

So eventually I had to wonder if you even need to know a language at all? If you can understand what the data structures are, how conditionals work, etc, the rest is often just syntax filler. Of course, this wont always work with more complicated stuff, but you could probably get the gist of what the function or code would do.