I have been using MathematicaMathematica for about a year. It is the first language that I have attempted to learn. I'm still very much a newbie, but there are moments I feel more like I am waving than drowning. I started using it because my supervisor uses it and I wanted to be able to use his code to do stuff (and make my own to do even cooler stuff). As with many addictions, at first it left an unpleasant taste, but with time, using MathematicaMathematica started to open up new possibilities and I have come to depend on it.
It has occurred to me that there are a number of reasons why at some stage I would like to learn some new language(s) to complement MathematicaMathematica and further nurture my 'coding brain'. At times I feel slightly handicapped by not really understanding the capabilities/pitfalls of, for example, Do
loops and other constructs that seem common in many languages. Indeed, it would be nice to be able to understand/relate to programmers that don't use MathematicaMathematica.
Although a lot of coding paradigms can be used in MathematicaMathematica, I feel it would be instructive to spend some time learning strictly procedural, object-oriented, etc. programming styles in the context of another language.
Can anyone recommend Which other programming languages should a language or coding platform that could helpMathematica-only user be interested in, so as to broadenappreciate the horizonunderlying programming principles and constructs that one takes for granted with (and doesn't have an exceedingly steep learning curve)Mathematica?
Alternatively, I understand that there are a number of languages that can be implemented or interfaced from within MathematicaMathematica. Would it be a worthwhile trying to learn other languages/coding styles without leaving the notebook environment?