Seriously? I really don’t see the point in this exercise.
I don’t know how long you’ve been coding in various languages or what sorts of background you have, but you start by saying:
What I want to do is identify the parts of the language that overlap with every other language.
That sure sounds like a lot of work.
Also, what language do you use as a source, as being the denotative language that you measure the new language you’re learning against, and why?
All the things you mention are already abstractions from machine language, which is the reason why programming languages exist in the first place.
Things like how a for loop or a switch statement is written or if case matters when defining variables, how comments are used and all that stuff is just different implementation of the same basic principles.
As long as you understand the principles themselves, that is, what the thing does, I really don’t see any benefit in trying to “unlearn” the idiomatic way of using different language constructs and to write it as if it was written in another language just to see how it could be done or as you put it “like I can do in the language I know”. So, the introduction about doing this for every language at least now is narrowed down to one language.
The reason I’m saying this is because what you’re really doing is taking out all the things that makes a language pleasant and consistent to use, just so you can try to write it like you would have in the language you already know, and as a way of learning something new, this is a really backwards approach.
I mean, you’re already using abstractions in the language you know, so if you already know WHAT that abstraction DOES, what’s the point in trying to write it in a cumbersome way in the new language?
How can this be anything but a time-consuming syntactic experiment?
It sure won’t help you to learn how to use the new language and it’s improved features, syntactic sugar or not, because you have to re-learn all that after wasting time trying to write it as the language you already know.
Sorry man, I just really think this is a flawed approach to learning a new programming language.
Remember, in the end it’s all syntactic sugar, all the way down to the zeros and ones.
Good luck anyway, if this gives you a sense of understanding, keep it up!
What I DO consider a worthwhile exercise though, is to write the same programs in different languages, using all the features of each language and write it as elegant as possible. I’ve done that many times, and I always end up with “aha moments” and new ways of thinking about the same things, especially when using languages from different paradigms, like one that’s more functional oriented and one more object oriented language.